ブール論理
[Wikipedia|▼Menu]
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この記事は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方
出典検索?: "ブール論理" ? ニュース ・ 書籍 ・ スカラー ・ CiNii ・ J-STAGE ・ NDL ・ dlib.jp ・ ジャパンサーチ ・ TWL(2023年8月)

ブール論理(ブールろんり、: Boolean logic)は、古典論理のひとつで、その名称はブール代数ないしその形式化を示したジョージ・ブールに由来する。

リレーなどによる「スイッチング回路の理論」として1930年代に再発見され(論理回路#歴史を参照)、間もなくコンピュータに不可欠な理論として広まり、今日では一般的に使われている。

本項目では、集合代数を用いて、集合、ブール演算、ベン図真理値表などの基本的解説とブール論理の応用について解説する。ブール代数の記事ではブール論理の公理を満足する代数的構造の型を説明している。ブール論理はブール代数で形式化され2値の意味論を与えられた命題論理とみることができる。
用語共通部分 A AND B(紫の部分)、和集合 A OR B(色が付いている部分全体)、A XOR B(紫以外の色が付いている部分)。四角い外枠は「普遍集合; universe」

Xを集合としたとき:

元(element; 要素)とは、集合のメンバーを意味する。これを ∈ {\displaystyle \in } で表す。集合の元でないものは ∉ {\displaystyle \notin } で表す。

普遍集合(universe; 全集合)とは、集合 X であり、1 で表される場合がある。ここで universe(通常の意味は宇宙)という言葉が使われるのは「全ての元を考慮している」ことを意味しており、必ずしも「全ての元が存在する」必要があるわけではない。

空集合(empty set, null set)とは、元を持たない集合であり、 ∅ {\displaystyle \varnothing } または 0 で表される。

単項演算子(unary operator)は1つの集合に適用される。単項演算子としては論理否定(NOT)のみがある。補集合をとる働きがある。

二項演算子(binary operator)は2つの集合に適用される。基本的な演算子には論理和(OR)と論理積(AND)がある。これらは和集合共通部分をとる。これらから導出される二項演算子として XOR(排他的OR)などもある。

部分集合(subset)は A ⊆ B {\displaystyle A\subseteq B} で表され、集合 A の全ての元が集合 B にも含まれることを意味する。

真部分集合(proper subset)は A ⊂ B {\displaystyle A\subset B} で表され、集合 A の全ての元が集合 B にも含まれ、かつ両集合は等しくないことを意味する。

上位集合(superset)は A ⊇ B {\displaystyle A\supseteq B} で表され、集合 B の全ての元が集合 A にも含まれることを意味する。

真上位集合(proper superset)は A ⊃ B {\displaystyle A\supset B} で表され、集合 B の全ての元が集合 A にも含まれ、かつ両集合が等しくないことを意味する。

30までの自然数を普遍集合とし、2の倍数の集合、3の倍数の集合、5の倍数の集合の関係を表した図

集合 A には普遍集合の中の全ての偶数(2の倍数)が含まれ、集合 B には同じ普遍集合の中の全ての 3 の倍数が含まれるとする。そのとき、これらの集合の共通部分(A AND B の集合の全ての元)は、その普遍集合の中の全ての6の倍数が含まれる。

集合 A の補集合(NOT A に含まれる全ての元)は、その普遍集合の全ての奇数となる。
演算の連鎖

たかだか2つの集合に対してブール演算を行い、その演算によって形成された新たな集合と別の集合に対して新たなブール演算を適用することができる。上の例で言えば、普遍集合の全ての 5 の倍数を含む集合 C を新たに定義する。ここで「集合 A AND B AND C」は、その普遍集合の全ての30の倍数を含む。記述を単純化するため、集合 A と B の共通部分を AB と記したり、6の倍数の集合を導入したりする。そうすると「集合 AB AND C」は、同様に全ての30の倍数を含む。このようなステップをさらに進めていくこともでき、この演算の結果として集合 ABC を定義することもできる。
括弧の使用

任意個の論理積(AND)の連鎖には曖昧さは全くないが、AND と OR と NOT が組み合わされると曖昧な場合が出てくる。そのような場合に演算の順序を明確化するために括弧を使うこともある。通常、最も内側の括弧内の演算が最初に実行され、順次外側に移っていく。
論理演算の法則

2つの二項演算子の記号を ∧ / ∩ {\displaystyle \land /\cap } (論理積/AND/共通部分)と ∨ / ∪ {\displaystyle \lor /\cup } (論理和/OR/和集合)とし、単項演算子の記号を ¬ {\displaystyle \lnot } / ~ (論理否定/NOT/補集合)とする。また、値 0 (偽/空集合)と 1 (真/普遍集合)も使用する。ブール代数とブール論理では以下のような法則が成り立つ。

a ∨ ( b ∨ c ) = ( a ∨ b ) ∨ c {\displaystyle a\lor (b\lor c)=(a\lor b)\lor c} a ∧ ( b ∧ c ) = ( a ∧ b ) ∧ c {\displaystyle a\land (b\land c)=(a\land b)\land c} 結合法則
a ∨ b = b ∨ a {\displaystyle a\lor b=b\lor a} a ∧ b = b ∧ a {\displaystyle a\land b=b\land a} 交換法則
a ∨ ( a ∧ b ) = a {\displaystyle a\lor (a\land b)=a} a ∧ ( a ∨ b ) = a {\displaystyle a\land (a\lor b)=a} 吸収法則
a ∨ ( b ∧ c ) = ( a ∨ b ) ∧ ( a ∨ c ) {\displaystyle a\lor (b\land c)=(a\lor b)\land (a\lor c)} a ∧ ( b ∨ c ) = ( a ∧ b ) ∨ ( a ∧ c ) {\displaystyle a\land (b\lor c)=(a\land b)\lor (a\land c)} 分配法則
a ∨ ¬ a = 1 {\displaystyle a\lor \lnot a=1} a ∧ ¬ a = 0 {\displaystyle a\land \lnot a=0} 可補束
a ∨ a = a {\displaystyle a\lor a=a} a ∧ a = a {\displaystyle a\land a=a} 等冪性
a ∨ 0 = a {\displaystyle a\lor 0=a} a ∧ 1 = a {\displaystyle a\land 1=a} 有界性
a ∨ 1 = 1 {\displaystyle a\lor 1=1} a ∧ 0 = 0 {\displaystyle a\land 0=0}
¬ 0 = 1 {\displaystyle \lnot 0=1} ¬ 1 = 0 {\displaystyle \lnot 1=0} 0 と 1 は相補的
¬ ( a ∨ b ) = ¬ a ∧ ¬ b {\displaystyle \lnot (a\lor b)=\lnot a\land \lnot b} ¬ ( a ∧ b ) = ¬ a ∨ ¬ b {\displaystyle \lnot (a\land b)=\lnot a\lor \lnot b} ド・モルガンの法則
¬ ¬ a = a {\displaystyle \lnot \lnot a=a} 対合

最初の3つの法則がを定義し、最初の5つの法則がブール代数を定義する。
真理値表

0 と 1 という2つの値のみを使ったブール論理で、それらの値の共通部分と和集合を真理値表で定義すると次のようになる:

∩ {\displaystyle \cap } 01
000
101

∪ {\displaystyle \cup } 01
001
111



複数の入力や他のブール演算を使った、もっと複雑な真理値表も作成できる。

真理値表は論理学にも応用でき、0 を偽、1 を真、 ∩ {\displaystyle \cap } を AND、 ∪ {\displaystyle \cup } を OR、¬ を NOT に読み替える。

記号

ブール論理の表記に使われる記号は、目的や学術分野、あるいは文化圏などによってさまざまである。まず、英単語にもとづく AND、OR、NOT といった一群がある。数学者技術者は OR の代わりに +、AND の代わりに ⋅ {\displaystyle \cdot } を使うことが多い(これらの演算子は他の代数的構造での加算や乗算と性質が似ており、通常の代数に詳しい者にとっては選言標準形を理解しやすいため)。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:21 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef