論理演算

論理演算(ろんりえんざん、logical operation)は、論理式において、論理演算子などで表現される論理関数(ブール関数)を評価し(正確には、関数適用を評価し[1])、変数(変項)さらには論理式全体の値を求める演算である。

非古典論理など他にも多くの論理の体系があるが、ここでは古典論理のうちの命題論理、特にそれを形式化したブール論理に話を絞る。従って対象がとる値は真理値の2値のみに限られる。また、その真理値の集合(真理値集合)と演算(演算子)はブール代数を構成する。

コンピュータのプロセッサプログラミング言語で多用されるものに、ブーリアン型を対象とした通常の論理演算の他に、ワード等のビット毎に論理演算を行なう演算があり、ビット演算という。

なお、証明論的には、公理推論規則に従って論理式を変形(書き換え)する演算がある(証明論#証明計算の種類)。

演算の種類

ここでは1出力の関数のみを扱う。2出力以上の関数は、(実装はともかく)論理的には1出力の関数を並べるだけであり自明と言ってよいであろう。以下では、真理値の記号は {0, 1} とする。

1入力

1入力1出力のブール関数は以下の4通りのみであり、その中でトリビアルでない、興味があるものはNOTだけであろう。

  • 入力がなんであれ、常に 0 を出力する
  • 入力がなんであれ、常に 1 を出力する
  • 入力がなんであれ、入力と同じ値をそのまま出力する
  • 入力が 0 であれば 1 を、入力が 1 であれば 0 を出力する。すなわち入力の反転(「否定」とも言う)を出力する (NOTあるいはinversion、以下では ¬ の記号を使う)

2入力

2つの入力 PQ に対し、以下の16通りが全てである。

この節、および以降に続く節では、に ∨、に ∧ の記号を使う。

矛盾
記法 等価式 真理値表 ベン図
{\displaystyle \bot } P {\displaystyle \wedge } ¬P
  Q
0 1
P 0    0   0 
1    0   0 


恒真
記法 等価式 真理値表 ベン図
{\displaystyle \top } P {\displaystyle \vee } ¬P
  Q
0 1
P 0    1   1 
1    1   1 


論理積
記法 等価式 真理値表 ベン図
P {\displaystyle \wedge } Q
P & Q
P AND Q
P {\displaystyle \not \rightarrow } ¬Q
¬P {\displaystyle \not \leftarrow } Q
¬P {\displaystyle \downarrow } ¬Q
  Q
0 1
P 0    0   0 
1    0   1 


否定論理積
記法 等価式 真理値表 ベン図
PQ
P | Q
P NAND Q
P → ¬Q
¬PQ
¬P {\displaystyle \lor } ¬Q
  Q
0 1
P 0    1   1 
1    1   0 


非含意
記法 等価式 真理値表 ベン図
P {\displaystyle \not \rightarrow } Q
P {\displaystyle \not \supset } Q
P & ¬Q
¬PQ
¬P {\displaystyle \not \leftarrow } ¬Q
  Q
0 1
P 0    0   0 
1    1   0 


含意 (条件式)
記法 等価式 真理値表 ベン図
PQ
P {\displaystyle \supset } Q
P ↑ ¬Q
¬P {\displaystyle \lor } Q
¬P ← ¬Q
  Q
0 1
P 0    1   1 
1    0   1 


命題 P
記法 等価式 真理値表 ベン図
P                   
  Q
0 1
P 0    0   0 
1    1   1 


否定 P
記法 等価式 真理値表 ベン図
¬P                   
  Q
0 1
P 0    1   1 
1    0   0 


逆非含意
記法 等価式 真理値表 ベン図
P {\displaystyle \not \leftarrow } Q
P {\displaystyle \not \subset } Q
P ↓ ¬Q
¬P & Q
¬P {\displaystyle \not \rightarrow } ¬Q
  Q
0 1
P 0    0   1 
1    0   0 


逆含意
記法 等価式 真理値表 ベン図
P {\displaystyle \leftarrow } Q
P {\displaystyle \subset } Q
P {\displaystyle \lor } ¬Q
¬PQ
¬P → ¬Q
  Q
0 1
P 0    1   0 
1    1   1 


命題 Q
記法 等価式 真理値表 ベン図
Q                   
  Q
0 1
P 0    0   1 
1    0   1 


否定 Q
記法 等価式 真理値表 ベン図
¬Q                   
  Q
0 1
P 0    1   0 
1    1   0 


排他的論理和
記法 等価式 真理値表 ベン図
P {\displaystyle \not \leftrightarrow } Q
P {\displaystyle \not \equiv } Q
P {\displaystyle \oplus } Q
P XOR Q
P {\displaystyle \leftrightarrow } ¬Q
¬P {\displaystyle \leftrightarrow } Q
¬P {\displaystyle \not \leftrightarrow } ¬Q
  Q
0 1
P 0    0   1 
1    1   0 


同値 (必要十分条件)
記法 等価式 真理値表 ベン図
P {\displaystyle \leftrightarrow } Q
PQ
P XNOR Q
P IFF Q
P {\displaystyle \not \leftrightarrow } ¬Q
¬P {\displaystyle \not \leftrightarrow } Q
¬P {\displaystyle \leftrightarrow } ¬Q
  Q
0 1
P 0    1   0 
1    0   1 


論理和
記法 等価式 真理値表 ベン図
P {\displaystyle \lor } Q
P OR Q
P {\displaystyle \leftarrow } ¬Q
¬PQ
¬P ↑ ¬Q
  Q
0 1
P 0    0   1 
1    1   1 


否定論理和
記法 等価式 真理値表 ベン図
PQ
P NOR Q
P {\displaystyle \not \leftarrow } ¬Q
¬P {\displaystyle \not \rightarrow } Q
¬P & ¬Q
  Q
0 1
P 0    1   0 
1    0   0 


定理

以上の演算に対して成り立っている定理として、以下のようなものがある。(証明論的には(「命題論理の証明論」)、以下の等式のいくつかに相当する公理 and・or 推論規則が採用される)

p p p p p p {\displaystyle {\begin{aligned}p\lor p&\equiv p\\p\land p&\equiv p\\\end{aligned}}}

p q q p p q q p {\displaystyle {\begin{aligned}p\lor q&\equiv q\lor p\\p\land q&\equiv q\land p\\\end{aligned}}}

p ( q r ) ( p q ) r p ( q r ) ( p q ) r {\displaystyle {\begin{aligned}p\lor (q\lor r)&\equiv (p\lor q)\lor r\\p\land (q\land r)&\equiv (p\land q)\land r\\\end{aligned}}}

p ( q r ) ( p q ) ( p r ) p ( q r ) ( p q ) ( p r ) {\displaystyle {\begin{aligned}p\lor (q\land r)&\equiv (p\lor q)\land (p\lor r)\\p\land (q\lor r)&\equiv (p\land q)\lor (p\land r)\\\end{aligned}}}

p ( p q ) p p ( p q ) p {\displaystyle {\begin{aligned}p\lor (p\land q)&\equiv p\\p\land (p\lor q)&\equiv p\\\end{aligned}}}

¬ ( p q ) ( ¬ p ) ( ¬ q ) ¬ ( p q ) ( ¬ p ) ( ¬ q ) {\displaystyle {\begin{aligned}\lnot (p\lor q)&\equiv (\lnot p)\land (\lnot q)\\\lnot (p\land q)&\equiv (\lnot p)\lor (\lnot q)\\\end{aligned}}}

  • その他

p 0 p p 0 0 p 1 1 p 1 p p ( ¬ p ) 1 p ( ¬ p ) 0 ¬ ( ¬ p ) p {\displaystyle {\begin{aligned}&p\lor 0\equiv p\\&p\land 0\equiv 0\\&p\lor 1\equiv 1\\&p\land 1\equiv p\\&p\lor (\lnot p)\equiv 1\\&p\land (\lnot p)\equiv 0\\&\lnot (\lnot p)\equiv p\\\end{aligned}}}

その他

その他の話題

完全性

(詳細は英語版記事 en:Functional completeness を参照のこと)以上の演算のうち、ごく少数の種類の演算の組み合わせによって、任意の演算を「実装」することができる。そのような演算の組の性質を functional completeness という。∨ と ∧ だけでは完全ではなく、必ず ¬ も必要である。一方 ¬ があれば、∨ と ∧ はどちらか一方でも良い。さらに興味深いものとして、¬ と ∨ あるいは ∧ の組合せである、否定論理積NAND)や否定論理和NOR)は、それ一つだけで完全である。なお、→ の記号が使われることが多い「ならば」(imply、論理包含)は微妙な点があり(たとえば、演算子だけでなく定数入力を必要とする)、英語版Wikipediaの Implicational propositional calculus の記事(en:Implicational propositional calculus)では「virtual completeness」と表現している。

  1. ^ たとえば、三角関数の sin などといった関数それ自体が「関数」であり、sin(3.14) などのように関数と実引数とを結びつけること and・or 結びつけたものを「関数適用」と言う。

関連項目

一般
Traditional
logic(英語版)
述語論理
素朴集合論
集合論
モデル理論
証明論
計算理論
再帰理論
  • 表示
  • 編集
典拠管理データベース: 国立図書館 ウィキデータを編集
  • ドイツ