論理和
数理論理学において論理和(ろんりわ、英語: Logical disjunction)とは、与えられた複数の命題のいずれか少なくとも一つが真であることを示す論理演算である。離接(りせつ)、選言(せんげん)とも呼び、ORとよく表す。
二つの命題 P, Q に対する論理和を P ∨ Q と書き、「P または Q」と読む。後述のように、日常会話における「または」とは意味が異なる。
例
- 「私の身長は 160 cm 以上である」
- 「私の体重は 50 kg 以上である」
の二つの命題の論理和は、
- 「私の身長は 160 cm 以上か、または私の体重は 50 kg 以上である(両方成り立っていてもよい)」
日常会話において「または」と言った場合、排他的論理和(exclusive OR, XOR)を意味する場合が多い。例えば、レストランにおいて「コーヒーまたは紅茶が付きます」と言えば、通常どちらか一方のみであることを意味する。排他的論理和と明確に区別するために、通常の論理和を「包含的論理和」(inclusive OR)と呼ぶこともある。
性質
P ∨ Q は否定と論理積を用いた ¬(¬P ∧ ¬Q) と同じである。従って、論理和は否定と論理積で表せる。
- P ∨ Q ⇔ ¬(¬P ∧ ¬Q)
また、論理積は論理和と否定で表せる。
- P ∧ Q ⇔ ¬(¬P ∨ ¬Q)
この二つをド・モルガンの法則という。
真理値表
命題 P | 命題 Q | P ∨ Q |
---|---|---|
真 | 真 | 真 |
真 | 偽 | 真 |
偽 | 真 | 真 |
偽 | 偽 | 偽 |
表記法
論理和(OR) は、中置記法により表記される。
論理学
[math]\or[/math]を使用して [math]P \or Q[/math] と書く。
電子工学
+ 記号を使用して [math]A + B[/math] と書く。
プログラミング言語
C言語などでは、単なる論理和は||
、ビット単位の論理和は|
で表され、
z = x | y;
のように使用される。(注:2|4
の値は 6
である一方、2||4
の値は 1
である。)
Perlでも、単なる論理和は||
、ビット単位の論理和は|
で表され、
$z = $x | $y;
のように使用される。(注: 2|4
の値は 6
である一方、 2||4
の値は C言語の場合とは異なり 2
である。)
VBScriptでは、「Or
」で表され、
z = x Or y
のように使用される。
各プログラミング言語における論理和の表記と意味は、短絡評価と密接な関係がある。
関連項目
符号位置
記号 | Unicode | JIS X 0213 | 文字参照 | 名称 |
---|---|---|---|---|
∨ | U+2228 |
- |
∨ ∨ ∨ |
論理和 |