
論理学において、論理結合子(論理演算子、文結合子、または文演算子とも呼ばれる)は、算術結合子と同様に、1つ以上の論理変数または式を結合または変更する演算子である。そして算術式を結合または否定します。たとえば、命題論理の構文では、二項結合子(「または」を意味する)は、2つの論理式を結合するために使用できます。そして複雑な式を生成する。
代数学とは異なり、論理結合子ごとに多くの記号が用いられます。「論理結合子」の表に例を示します。
一般的な論理結合子には、否定、選言、連言、含意、同値関係などがあります。古典論理の標準的な体系では、これらの結合子は真理関数として解釈されますが、非古典論理ではさまざまな代替解釈がなされます。これらの古典的な解釈は、英語の「not」、「or」、「and」、「if」などの自然言語表現の意味に似ていますが、同一ではありません。自然言語の結合子と古典論理の結合子との間の相違が、自然言語の意味に対する非古典的なアプローチの動機となっています。
形式言語では、真理関数は固定された記号で表され、整形式の文が単一の解釈を持つことを保証します。これらの記号は、論理結合子、論理演算子、命題演算子、または古典論理では真理関数結合子と呼ばれます。真理関数結合子を用いて他の整形式式を結合することで新しい整形式式を構築できる規則については、「整形式式」を参照してください。
論理結合子は、0個以上のステートメントを連結するために使用できるため、n項論理結合子について話すことができます。ブール定数のTrueとFalseは、ヌル項演算子と考えることができます。否定は単項結合子であり、以下同様です。
一般的に使用される論理結合子には、次のものがあります。[ 1 ]
例えば、 「雨が降っている」という文の意味は、)そして私は屋内にいます()は、論理結合子で結合されると変換されます。
常に真である式と常に偽である式を結合子とみなすこともよくあります(この場合、それらは空項です)。
この表は用語をまとめたものです。
一部の著者は接続詞として文字を使用した。接続詞(ドイツ語の「und」は「and」)とヒルベルトの初期作品(1904年)では、選言(ドイツ語の「oder」は「または」)を表す。[ 16 ]否定の場合、接続詞として、代替拒否の場合、選言の場合、暗示として、1929年にウカシェヴィチで二条件付きで。
逆含意のような論理的接続詞は実際には引数を入れ替えた実質条件文と同じであるため、逆含意の記号は冗長である。いくつかの論理計算(特に古典論理)では、本質的に異なる複合命題が論理的に同値である。冗長性のより自明でない例は、次の古典的な同値性である。そしてしたがって、古典論理システムでは条件演算子「" もし "「(いいえ)そして」「(または)既に使用されているか、または使用する可能性がある」「否定と選言を1つずつ持つ複合語の構文糖としてのみ使用される。」
入力の真偽値を関連付けるブール関数は16個あります。そして4桁のバイナリ出力を持つ。[ 17 ]これらは、古典論理のバイナリ論理結合子の可能な選択肢に対応する。古典論理の異なる実装では、機能的に完全な結合子の異なる部分集合を選択できる。
一つのアプローチは、最小限の集合を選択し、上記の実質条件文の例のように、他の結合子を何らかの論理形式で定義することです。古典論理において、引数の数が2を超えない最小限の機能的に完全な演算子の集合は次のとおりです。
別のアプローチとしては、特定の便利で機能的に完全ではあるものの、最小ではない集合の、同等の権利を持つ結合子を用いる方法がある。このアプローチでは、より多くの命題公理が必要となり、論理形式間の各同値関係は、公理であるか、定理として証明可能でなければならない。
しかし、直観主義論理では状況はより複雑です。その5つの論理結合子{∧, ∨, →, ¬, ⊥}のうち、否定「¬」だけが他の論理結合子に還元できます(詳しくは「偽(論理)」§ 「偽、否定、矛盾」を参照)。連言、選言、実質条件文はいずれも、他の4つの論理結合子から構成される同等の形式を持ちません。
古典論理の標準的な論理結合子は、自然言語の文法にもおおよそ相当するものが存在する。英語では、多くの言語と同様に、こうした表現は典型的には文法的な接続詞である。しかし、補文標識、動詞の接尾辞、助詞といった形をとることもある。自然言語における結合子の意味は、自然言語の論理構造を研究する分野である形式意味論における主要な研究テーマの一つである。
自然言語の接続詞の意味は、古典論理における最も近い対応物と完全に一致するわけではありません。特に、選言は多くの言語で排他的解釈を受けることがあります。この事実を、自然言語の意味論が非古典的である証拠と捉える研究者もいます。しかし、排他性に関する語用論的な説明を提示することで、非古典的であるかのような錯覚を生み出し、古典的意味論を維持しようとする研究者もいます。このような説明では、排他性は通常、スカラー含意として扱われます。選言に関連する問題としては、自由選択推論、ハーフォードの制約、選択問題における選言の役割などが挙げられます。
自然言語と古典論理の間に見られるその他の明らかな相違点としては、実質含意のパラドックス、ロバ照応、反事実条件文の問題などが挙げられる。これらの現象は、自然言語の条件文の指示対象を、厳密条件文、可変厳密条件文、および様々な動的演算子を含む論理演算子と同一視する動機付けとなっている。
以下の表は、英語の接続詞に対する、古典的に定義可能な標準的な近似値を示しています。
論理結合子の中には、その結合子を含む定理で表現できる性質を持つものがある。論理結合子が持ちうる性質には、次のようなものがある。
古典論理と直観主義論理では、「="」記号は、論理複合の対応する含意「...→...」と「...←...」の両方が定理として証明できることを意味し、「≤」記号は、論理複合の「...→...」が命題変数の対応する「...→...」結合子の結果であることを意味します。多値論理の中には、同値性と順序(含意)の定義が互換性のないものがある場合があります。
古典論理、多値論理のほとんどの種類、および直観主義論理では、論理積と論理和はともに結合法則、交換法則、冪等法則を満たす。論理積と論理和の分配法則、および吸収法則についても同様である。
古典論理学および多値論理学の一部の形態では、論理積と論理和は双対であり、否定は自己双対である。直観主義論理学においても、否定は自己双対である。
必要な括弧の数を減らす方法として、優先順位ルールを導入することができます。¬は∧より優先順位が高く、∧ は∨より優先順位が高く、∨ は→ より優先順位が高いです。たとえば、は。
以下に、論理演算子の一般的な優先順位を示す表を示します。[ 18 ] [ 19 ]
しかし、すべてのコンパイラが同じ順序を使用するわけではありません。たとえば、論理和が含意または双含意よりも優先順位が低い順序も使用されています。[ 20 ]論理和と論理和の優先順位が指定されていない場合もあり、括弧を使用して式に明示的に指定する必要があります。優先順位の順序は、非原子式を解釈するときにどの接続子が「主接続子」であるかを決定します。
16個の論理結合子は、部分順序付けによって次のハッセ図を生成することができる。部分順序は次のように定義される。いつでも保持すると、
論理結合子は、コンピュータ科学や集合論で用いられる。
論理演算子に対する真理関数的アプローチは、デジタル回路では論理ゲートとして実装されます。事実上すべてのデジタル回路(主な例外はDRAM )は、 NAND、NOR、NOT、および伝送ゲートで構成されています。詳細については、「コンピュータサイエンスにおける真理関数」を参照してください。ビットベクトル(有限ブール代数に対応)上の論理演算子は、ビット単位の演算です。
しかし、コンピュータプログラミングにおける論理結合子のすべての使用法がブール意味論を持つわけではありません。たとえば、P ∧ QおよびP ∨ Qに対して遅延評価が実装される場合があるため、式PまたはQのいずれか、あるいは両方に副作用がある場合、これらの結合子は可換ではありません。また、ある意味で実質条件結合子に対応する条件文は、本質的に非ブールです。なぜなら、の場合、前件P が偽であれば後件Q は実行されないからです(ただし、複合式全体としては成功 ≈ 「真」となります)。これは、古典論理の見解よりも、実質条件文に関する直観主義や構成主義の見解に近いものです。if (P) then Q;
論理結合子は、集合論の基本演算を定義するために使用され、[ 21 ]次のように定義されます。
この集合の等価性の定義は、外延性の公理と同等である。