論理和

論理和
または
論理和のベン図
意味×+y{\displaystyle x+y}
真理値表1110{\displaystyle (1110)}
論理ゲート
正規形
分離的×+y{\displaystyle x+y}
接続詞×+y{\displaystyle x+y}
ジェガルキン多項式×y×y{\displaystyle x\oplus y\oplus xy}
ポストの格子
0保存はい
1保存はい
単調はい
アフィンいいえ
自己双対いいえ
ベンBC{\displaystyle \scriptstyle A\lor B\lor C}

論理学において、選言(論理和論理和論理加法包含選言とも呼ばれる)は、通常 と表記され、「または」と読み上げられる論理接続詞です。例えば、英語の文「it is sunny or it is warm」は、 が「it is sunny」を、 が「it is warm」をそれぞれ略すと仮定すると、選言式 を用いて論理的に表すことができます。 {\displaystyle \lor }SW{\displaystyle S\lor W}S{\displaystyle S}W{\displaystyle W}

古典論理では、選言には真理関数的意味論が与えられており、それによれば、論理式はと の両方が偽でない限り真となる。この意味論では、選言式は、その選言の両方が真である場合に真となるため、排他的選言とは対照的に、選言の包括的解釈である。古典的な証明理論的扱いは、選言導入選言除去などの規則によって与えられることが多い。選言には、アリストテレスの海戦論証ハイゼンベルク不確定性原理、および古典的な選言と自然言語における最も近い同等物との間の多数の不一致などの問題に動機付けられて、数多くの非古典的な扱いも与えられている。[ 1 ] [ 2 ]ϕψ{\displaystyle \phi \lor \psi }ϕ{\displaystyle \phi }ψ{\displaystyle \psi }

選言のオペランド選言である。[ 3 ]

包含的および排他的論理和

論理和は論理式の一方または両方が真であるときに論理和式が真となることを意味するため、包含的論理和と呼ばれます。これは、引数のどちらか一方が真であり、両方が真ではないときに真となる排他的論理和(排他的論理和、またはXORと呼ばれます)とは対照的です。

または が包含的か排他的かを明確にする必要がある場合、英語話者は「 and/or 」というフレーズを使うことがあります。論理的には、このフレーズは「 or 」と同じですが、両方が真であることを明確に示しています。

表記

論理学および関連分野では、論理和は通常、挿入演算子(Unicode U+2228LOGICAL OR)を用いて表記される。[ 1 ]代替表記法としては、主に電子工学で使用されるや、多くのプログラミング言語で使用される などがある。英語のor も時々使用され、多くの場合大文字で用いられる。Jan Łukasiewiczによる論理の前置表記法では、演算子は であり、これはポーランド語のalternatywa (英語:alternative)の略である。[ 4 ]{\displaystyle \lor }+{\displaystyle +}|{\displaystyle \vert }||{\displaystyle \vert \!\vert }A{\displaystyle A}

数学では、任意の数の要素の論理和は、より大きな⋁(Unicode U+22C1N-ARY LOGICAL OR)を使用した反復二項演算として表すことができます。 [ 5 ]a1,,an{\displaystyle a_{1},\ldots ,a_{n}}

i=1nai=a1a2an1an{\displaystyle \bigvee _{i=1}^{n}a_{i}=a_{1}\lor a_{2}\lor \ldots a_{n-1}\lor a_{n}}

古典的な選言

セマンティクス

論理の意味論において、古典的な選言は、両方の引数が偽でない限り真理値を返す真理関数演算である。その意味的エントリは、標準的に以下のように与えられる。[ a ]

ϕψ{\displaystyle \models \phi \lor \psi }     または         、         または両方ϕ{\displaystyle \models \phi }ψ{\displaystyle \models \psi }

この意味論は次の真理表に対応する:[ 1 ]

A{\displaystyle A}B{\displaystyle B}AB{\displaystyle A\lor B}
FFF
FTT
TFT
TTT

他の演算子によって定義される

論理和が基本式ではない古典的な論理システムでは、基本式and ( ) とnot ( ) を使って次のように定義できます。{\displaystyle \land }¬{\displaystyle \lnot }

AB=¬((¬A)(¬B)){\displaystyle A\lor B=\neg ((\neg A)\land (\neg B))}

あるいは、次のように定義するのではなく、 ()を意味するものとして定義することもできる。[ 6 ]{\displaystyle \to }

AB=(¬A)B{\displaystyle A\lor B=(\lnot A)\to B}

後者は次の真理値表で確認できます。

A{\displaystyle A}B{\displaystyle B}¬A{\displaystyle \neg A}¬AB{\displaystyle \neg A\rightarrow B}AB{\displaystyle A\lor B}
FFTFF
FTTTT
TFFTT
TTFTT

また、次の点のみで定義することもできます。 {\displaystyle \to }

AB=(AB)B{\displaystyle A\lor B=(A\to B)\to B}

これは次の真理値表で確認できます。

A{\displaystyle A}B{\displaystyle B}AB{\displaystyle A\rightarrow B}(AB)B{\displaystyle (A\rightarrow B)\rightarrow B}AB{\displaystyle A\lor B}
FFTFF
FTTTT
TFFTT
TTTTT

プロパティ

論理和には次の特性が適用されます。

  • 結合性[ 7 ]a(bc)(ab)c{\displaystyle a\lor (b\lor c)\equiv (a\lor b)\lor c}
  • 可換性:abba{\displaystyle a\lor b\equiv b\lor a}
  • 分配性(a(bc))((ab)(ac)){\displaystyle (a\land (b\lor c))\equiv ((a\land b)\lor (a\land c))}
(a(bc))((ab)(ac)){\displaystyle (a\lor (b\land c))\equiv ((a\lor b)\land (a\lor c))}
(a(bc))((ab)(ac)){\displaystyle (a\lor (b\lor c))\equiv ((a\lor b)\lor (a\lor c))}
(a(bc))((ab)(ac)){\displaystyle (a\lor (b\equiv c))\equiv ((a\lor b)\equiv (a\lor c))}
  • べき等性:aaa{\displaystyle a\lor a\equiv a}
  • 単調性:(ab)((ca)(cb)){\displaystyle (a\rightarrow b)\rightarrow ((c\lor a)\rightarrow (c\lor b))}
(ab)((ac)(bc)){\displaystyle (a\rightarrow b)\rightarrow ((a\lor c)\rightarrow (b\lor c))}
  • 真理値保存: すべての変数に真理値「真」が割り当てられる解釈は、論理和の結果として真理値「真」を生成します。
  • 偽りの保持: すべての変数に「偽」の真理値が割り当てられる解釈は、論理和の結果として「偽」の真理値を生成します。

コンピュータサイエンスにおける応用

OR論理ゲート

論理和に対応する演算子は、ほとんどのプログラミング言語に存在します。

ビット演算

論理和はビット演算でよく使用されます。例:

  • 0または0 = 0
  • 0または1 = 1
  • 1または0 = 1
  • 1または1 = 1
  • 1010 または 1100 = 1110

演算子orを使用すると、関連するビットが1 に設定された定数フィールドをフィールドに接続することにより、ビットフィールドor内のビットを 1 に設定できます。たとえば、x = x | 0b00000001は最後のビットを強制的に 1 に設定し、他のビットは変更しません。

論理演算

多くの言語では、2 つの異なる演算子を提供することでビットごとの論理和と論理和を区別しています。C 以降の言語では、ビットごとの論理和は単一のパイプ演算子 ( ) を使用して実行され|、論理和は二重のパイプ||演算子 ( ) を使用して実行されます。

論理和は通常、短絡的に行われます。つまり、最初の(左)オペランドが と評価された場合、2番目の(右)オペランドは評価されません。したがって、論理和演算子は通常、シーケンスポイントtrueを構成します。

並列(同時実行)言語では、両辺を短絡させることが可能です。つまり、両辺は並列に評価され、一方が真値で終了すると、もう一方は中断されます。そのため、この演算子は並列またはと呼ばれます。

ほとんどの言語では論理和式の型はブール型(つまり またはtrueの値しか取れない)ですが、一部の言語( PythonJavaScriptfalseなど)では、論理和演算子はオペランドの1つを返します。つまり、最初のオペランドが真の値に評価された場合は最初のオペランドを返し、そうでない場合は2番目のオペランドを返します。[ 8 ] [ 9 ]これにより、エルビス演算子の役割を果たすことができます。

構成的選言

カリー・ハワード対応は、構成主義的な形式の論理和をタグ付き和集合型に関連付けます。[ 10 ]

集合論

集合論における和集合の元の帰属関係は、論理和によって定義される。このため、論理和は、結合法則可換法則分配法則ド・モルガンの法則など、集合論的和集合と同じ恒等式の多くを満たし、論理積は積集合と、論理否定は補集合と一致する。[ 11 ]xAB(xA)(xB){\displaystyle x\in A\cup B\Leftrightarrow (x\in A)\vee (x\in B)}

自然言語

自然言語における選言は、古典論理におけるの解釈と厳密には一致しません。特に、古典論理における選言は包括的であるのに対し、自然言語における選言は、以下の英語の例のように、しばしば排他的に理解されます。[ 1 ]{\displaystyle \lor }

  • メアリーはリンゴかナシを食べています。

この推論は、アルフレッド・タルスキのように、含意として理解されることもある。タルスキは、自然言語の選言は古典的解釈と非古典的解釈の間で曖昧であると示唆した。近年の語用論の研究は、この推論が、古典的に振る舞う意味表示に基づいて、会話的含意として導出できることを示している。しかし、ハンガリー語のvagy... vagyフランス語のsoit... soitといった選言構文は、本質的に排他的であり、本来であれば包括的な解釈を強いられる文脈において文法性を失わせると主張されてきた。[ 1 ]

古典論理からの同様の逸脱は、自由選択選言選言的先行詞の単純化といった事例においても指摘されている。これらの事例では、特定の様相演算子が選言の連言的な解釈を引き起こす。排他性の場合と同様に、これらの推論は、選言の非古典的な解釈から生じる含意と含意の両方として分析されてきた。[ 1 ]

  • リンゴかナシを食べてもいいですよ。
{\displaystyle \rightsquigarrow }リンゴとナシを食べることはできます(ただし、両方食べることはできません)

多くの言語では、論理積表現が疑問文の形成に役割を果たします。

  • メアリーは哲学者ですか、それとも言語学者ですか?

例えば、上記の英語の例は、メアリーが哲学者か言語学者のどちらであるかを問う極性疑問文として解釈できる一方で、メアリーの職業はどちらであるかを問う代替疑問文としても解釈できます。これらの場合における選言の役割は、代替意味論探究的意味論といった非古典的論理を用いて分析されており、これらは自由選択推論や単純化推論の説明にも用いられています。[ 1 ]

英語では、他の多くの言語と同様に、選言は等位接続詞によって表現されます。他の言語では選言の意味を様々な方法で表現しますが、選言自体が言語的に普遍的であるかどうかは不明です。ディルバル語マリコパ語など多くの言語では、選言は動詞の接尾辞を用いて示されます。例えば、以下のマリコパ語の例では、選言は接尾辞šaaによって示されています。[ 1 ]

ジョンシュ

ジョン-NOM

ビルシュ

ビル-NOM

vʔaawuumšaa

3 -come- PL - FUT - INFER

Johnš Billš vʔaawuumšaa

John-NOM Bill-NOM 3-come-PL-FUT-INFER

「ジョンかビルが来るよ。」

参照

注記

  1. ^古典的システム全体にわたる一般性のため、この項目では評価パラメータを省略しています。ここでの二重回転式記号は 「意味的に含意する」という意味です。{\displaystyle \models }
  • ジョージ・ブールは、通常の数学との類推に忠実に従い、x + yの定義の必要条件として、xとyが互いに排他的であることを前提とした。ジェヴォンズ、そしてその後のほぼすべての数理論理学者は、様々な根拠に基づき、相互排他性を必要としない形での論理的加法の定義を主張した。

参考文献

  1. ^ a b c d e f g h Aloni, Maria (2016)、「Disjunction」、Zalta, Edward N. (ed.)、The Stanford Encyclopedia of Philosophy (Winter 2016 ed.)、Metaphysics Research Lab、Stanford University 、 2020年9月3日閲覧。
  2. ^ 「Disjunction | logic」ブリタニカ百科事典2020年9月3日閲覧。
  3. ^ Beall, Jeffrey C. (2010). Logic: the basics (第1版). ロンドン: Routledge. p. 57. ISBN 978-0-203-85155-5
  4. ^ Józef Maria Bocheński (1959)、 A Précis of Mathematical Logic、フランス語版とドイツ語版からオットー・バード訳、北オランダ、ドルトレヒト: D. Reidel、passim。
  5. ^ Weisstein, Eric W. "OR" . MathWorld--A Wolfram Web Resource . 2024年9月24日閲覧
  6. ^ワリッキ、ミハウ (2016).数理論理学の入門。世界科学。 p. 150.土井10.1142/9783ISBN 978-9814343879
  7. ^ハウソン、コリン (1997).木による論理:記号論理入門. ロンドン; ニューヨーク: ラウトレッジ. p. 38. ISBN 978-0-415-13342-5
  8. ^ 「Python 3.12.1 ドキュメント - Python 言語リファレンス - 6.11 ブール演算」 。 2023年12月25日閲覧
  9. ^ 「JavaScriptリファレンス - 式と演算子 - 論理AND (&&)」 . 2023年9月25日. 2023年12月25日閲覧
  10. ^マルクス・ヴィニシウス・ミデナ・ラモス;デ・ケイロス、ルイ JGB (2015)。 「文脈自由言語理論の定式化」。ペルナンブコ連邦大学: 6. arXiv : 1505.00061
  11. ^エビングハウス、ハインツ=ディーター (2021). Einführung in die Mengenlehre (ドイツ語) (第 5 版)。スプリンガー。 p. 32.ISBN 978-3-662-63865-1