「ド・モルガンの法則」の版間の差分

削除された内容 追加された内容
Insanity (会話 | 投稿記録)
双対性の説明(いらなかったかも)、本が好きの記号を変更、ほかformatting
1行目:
'''ド・モルガンの法則'''(ド・モルガンのほうそく、De Morgan's laws)とは、[[数理論理学]]や[[集合論]]において、論理積(集合の積、共通分)と論理和(集合の和、合併)、否定(補集合)操作の間に成り立つ関係性(ド・モルガンの双対性とよばれる)を記述する定理であり、数学者の[[オーガスタス・ド・モルガン]]にちなんでこの名前がついている。
 
この関係性は、真・偽を反転させ、論理和・論理積の定義を交換した論理体系が元の論理体系と同一視できることを指しているので、'''ド・モルガンの[[双対性]]'''とよばれることもある。
 
== 概要 ==
6 ⟶ 8行目:
: <math>\neg (P \land Q) = \neg P \lor \neg Q</math>
 
[[C言語などプログラミング言語]]的に表現すれの記号を使って書けば、P, Q がどんな式であろうと
: <code>!(P || Q) == !P && !Q</code>
: <code>!(P && Q) == !P || !Q</code>
が成立するということである。
 
同じことを集合の言葉を用いて言い換えると、
29 ⟶ 32行目:
の否定
「私の身長は 160 cm 以上であり、かつ私の体重は 50 kg 以上」ではない
の真偽が、次の命題と等しいことを、ド・モルガンの法則は主張している。
「私の身長は 160 cm 未満であるか、または私の体重は 50 kg 未満」である
同じようにして
38 ⟶ 41行目:
 
== 述語論理におけるド・モルガンの法則 ==
上のド・モルガンの法則の拡張として、[[一階述語論理]]におけるド・モルガンの法則があも拡張でき:A

A(x) を変数 x についての言明とすると
* 「全てのxに対しA(x)」の否定は「あるxが存在して¬A(x)」
* 「あるxが存在してA(x)」の否定は「全てのxに対し¬A(x)」
と表現できる。
 
「全てのxに対し〜」、「あるxに対し〜」を表す記号<math>\forall, \exists</math>を使って書くと
* <math>\neg\forall x~A(x) \Leftrightarrow \exists x~\neg A(x)</math>
* <math>\neg\exists x~A(x) \Leftrightarrow \forall x~\neg A(x)</math>
となる。
 
具体例を挙げると、
* 「全ての人が冷蔵庫を持っている」の否定は「ある人は冷蔵庫を持っていない」(すなわち、「冷蔵庫を持っていない人が少なくとも一人いる」)
* 「ある人が冷蔵庫を持っている」(すなわち、「冷蔵庫を持っている人が少なくとも一人いる」)の否定は「全ての人が、冷蔵庫を持っていない」(すなわち、「誰ひとりとして冷蔵庫を持っていない」)
「全てのxに対し〜」や「などであるxに対し〜」を表。また、後述量化子記号<math>\forall x, \exists x</math>を使るよと、に部分否定や全否定の言い換えも述語論理におけるド・モルガンの法則は次のように書けを表現していると考えられ
* <math>\neg\forall x~A(x) \Leftrightarrow \exists x~\neg A(x)</math>
* <math>\neg\exists x~A(x) \Leftrightarrow \forall x~\neg A(x)</math>
命題論理におけるド・モルガンの法則を認めれば以下のようにして述語論理版のド・モルガンの法則を確かめることができる。
 
命題論理におけるド・モルガンの法則を認めればから、以下のようにして述語論理版のに拡張されたド・モルガンの法則を確かめることができる。
今xが1から100までの数を表す変数だとする。このとき「全てのxに対しA(x)」であるとは、「A(1)かつA(2)かつ… A(100)」を意味する。これを否定すると
 
¬A(1)または¬「A(2)かつ... A(100)」
xが1から100までの数を表す変数だとする。このとき「全てのxに対しA(x)」であるとは、「A(1) かつ A(2) かつ …… かつ A(100)」を意味する。これ否定するとは、命題論理のド・モルガンの法則から
となり、「A(2)かつ… A(100)」の否定について同様の操作を行い、これを続ければ「¬A(1)または¬A(2)または… ¬A(100)」がえられる。これは「あるxに対し¬A(x)」を意味している。また逆に、「あるxに対しA(x)」は「A(1)またはA(2)または… A(100)」ということだが、これの否定は
¬A(1)かつ または ¬「A(2)または... かつ A(3) かつ … かつ A(100)」
となり、さらに「A(2) かつ A(3) かつ … A(100)」の否定について同様の操作を行い、くりかえすれを続ければとにより、「¬A(1) または ¬A(2) または または ¬A(100)」がえられる。これは「あるxに対し¬A(x)」を意味している。また逆に、「あるxに対しA(x)」は「A(1)またはA(2)または… A(100)」ということだが、これの否定はと等しい。
 
また、逆に、「あるxに対しA(x)」は「A(1)またはA(2)または… A(100)」ということだが、これの否定は
¬A(1)または かつ ¬「A(2)かつ... または … A(100)」
であり、これをつづけて「全てのxに対し¬A(x)」が得られる。
 
59 ⟶ 72行目:
 
=== 全否定と部分否定 ===
[[全否定]]や[[部分否定]]をどう言い換えるかという問題は述語論理におけるド・モルガンの法則に関係する。例えばx 本を表す変数だ扱う問題して、「xが好きだ」という言明をA(x)と書くこと質的すると、「全ての本が好きだ」「全てのxに対しA(x)」とな同じである。
 
たとえば、「…という本が好きだ」という言明を表すのに、「…」を本を表す変数として、
(''…'')'''が好き'''
という記号を用いることにする。
 
この記号を使って「全ての本が好きだ」という言明を述語論理で表現すると、
「全ての''本''に対し、(''本'')'''が好き'''」
となる。
 
部分否定の言明「'''全ての本が好きだというわけではない'''」を述語論理で表現すると
(全ての''本''に対し、(''本'')'''が好き''') ''の否定''
ド・モルガンの法則により、
ある''本''に対し、((''本'')'''が好き''' ''の否定'')
すなわち「'''好きでない本がある'''」、「'''嫌いな本がある'''」と言い換えられることがわかる。
 
他方、全否定「'''すべての本が嫌いだ'''」は
これの部分否定「すべての本を好きだというわけではない」は「全てのxに対しA(x)」の否定であり、ド・モルガンの法則によってこれは「あるxに対し¬A(x)」、すなわち「好きでない本もある」となる。他方、全否定「すべての本が嫌いだ」は「全てのxに対し¬A(x)」を指し、ド・モルガンの法則によってこれは『ある本を好きだ』の否定だということになる。
全ての''本''に対し ((''本'')'''が好き''' ''の否定'')
を指し、ド・モルガンの法則によって
(ある''本''に対し (''本'')'''が好き''') ''の否定''
「'''好きな本がある'''」の否定、つまり「'''好きな本はない'''」であることが分かる。
 
{{DEFAULTSORT:ともるかんのほうそく}}