論理演算(ろんりえんざん、logical operation)は、論理式において、論理演算子などで表現される論理関数(ブール関数)を評価し(正確には、関数適用を評価し[1])、変数(変項)さらには論理式全体の値を求める演算である。
非古典論理など他にも多くの論理の体系があるが、ここでは古典論理のうちの命題論理、特にそれを形式化したブール論理に話を絞る。従って対象がとる値は真理値の2値のみに限られる。また、その真理値の集合(真理値集合)と演算(演算子)はブール代数を構成する。
コンピュータのプロセッサやプログラミング言語で多用されるものに、ブーリアン型を対象とした通常の論理演算の他に、ワード等のビット毎に論理演算を行なう演算があり、ビット演算という。
なお、証明論的には、公理と推論規則に従って論理式を変形(書き換え)する演算がある(証明論#証明計算の種類)。 ここでは1出力の関数のみを扱う。2出力以上の関数は、(実装はともかく)論理的には1出力の関数を並べるだけであり自明と言ってよいであろう。以下では、真理値の記号は {0, 1} とする。 1入力1出力のブール関数は以下の4通りのみであり、その中でトリビアルでない、興味があるものはNOTだけであろう。 2つの入力 P、Q に対し、以下の16通りが全てである。 この節、および以降に続く節では、和に ∨、積に ∧ の記号を使う。 矛盾 恒真 論理積 否定論理積 非含意 含意 (条件式) 逆非含意 逆含意 排他的論理和 同値 (必要十分条件) 論理和 否定論理和 以上の演算に対して成り立っている定理として、以下のようなものがある。(証明論的には(「命題論理の証明論」)、以下の等式のいくつかに相当する公理 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
演算の種類
1入力
入力がなんであれ、常に 0 を出力する
入力がなんであれ、常に 1 を出力する
入力がなんであれ、入力と同じ値をそのまま出力する
入力が 0 であれば 1 を、入力が 1 であれば 0 を出力する。すなわち入力の反転(「否定」とも言う)を出力する (NOTあるいはinversion、以下では ¬ の記号を使う)
2入力
記法等価式真理値表ベン図
⊥ {\displaystyle \bot } P ∧ {\displaystyle \wedge } ¬P
記法等価式真理値表ベン図
⊤ {\displaystyle \top } P ∨ {\displaystyle \vee } ¬P
記法等価式真理値表ベン図
P ∧ {\displaystyle \wedge } Q
P & Q
P AND QP ↛ {\displaystyle \not \rightarrow } ¬Q
¬P ↚ {\displaystyle \not \leftarrow } Q
¬P ↓ {\displaystyle \downarrow } ¬Q
記法等価式真理値表ベン図
P ↑ Q
P | Q
P NAND QP → ¬Q
¬P ← Q
¬P ∨ {\displaystyle \lor } ¬Q
記法等価式真理値表ベン図
P ↛ {\displaystyle \not \rightarrow } Q
P ⊅ {\displaystyle \not \supset } QP & ¬Q
¬P ↓ Q
¬P ↚ {\displaystyle \not \leftarrow } ¬Q
記法等価式真理値表ベン図
P → Q
P ⊃ {\displaystyle \supset } QP ↑ ¬Q
¬P ∨ {\displaystyle \lor } Q
¬P ← ¬Q
記法等価式真理値表ベン図
P ↚ {\displaystyle \not \leftarrow } Q
P ⊄ {\displaystyle \not \subset } QP ↓ ¬Q
¬P & Q
¬P ↛ {\displaystyle \not \rightarrow } ¬Q
記法等価式真理値表ベン図
P ← {\displaystyle \leftarrow } Q
P ⊂ {\displaystyle \subset } QP ∨ {\displaystyle \lor } ¬Q
¬P ↑ Q
¬P → ¬Q
記法等価式真理値表ベン図
P ↮ {\displaystyle \not \leftrightarrow } Q
P ≢ {\displaystyle \not \equiv } Q
P ⊕ {\displaystyle \oplus } Q
P XOR QP ↔ {\displaystyle \leftrightarrow } ¬Q
¬P ↔ {\displaystyle \leftrightarrow } Q
¬P ↮ {\displaystyle \not \leftrightarrow } ¬Q
記法等価式真理値表ベン図
P ↔ {\displaystyle \leftrightarrow } Q
P ≡ Q
P XNOR Q
P IFF QP ↮ {\displaystyle \not \leftrightarrow } ¬Q
¬P ↮ {\displaystyle \not \leftrightarrow } Q
¬P ↔ {\displaystyle \leftrightarrow } ¬Q
記法等価式真理値表ベン図
P ∨ {\displaystyle \lor } Q
P OR QP ← {\displaystyle \leftarrow } ¬Q
¬P → Q
¬P ↑ ¬Q
記法等価式真理値表ベン図
P ↓ Q
P NOR QP ↚ {\displaystyle \not \leftarrow } ¬Q
¬P ↛ {\displaystyle \not \rightarrow } Q
¬P & ¬Q
定理
べき等則
交換則
結合則
分配則
吸収則
ド・モルガンの法則
その他
その他
注^ たとえば、三角関数の sin などといった関数それ自体が「関数」であり、sin(3.14) などのように関数と実引数とを結びつけること and・or 結びつけたものを「関数適用」と言う。