§A3.13ド・モルガン則の一般形

最終更新

ド・モルガン則は、論理演算、集合演算、量化子に現れる否定をどのように一つの形で捉えるのでしょうか。本記事では、三つの場面の否定規則を並べて対応を確かめます。その対応を基に、入れ子になった量化子を外側から順に入れ替え、最も内側の述語まで否定する手順を身に付けます。

1 三つの場面に同じ形で現れる

論理演算、集合演算、量化子について、否定を内側へ移す規則を並べます。

場面 否定・補集合を外へ出した形 内側へ移した形
論理演算 ¬(P∧Q)\lnot(P \land Q) ¬P∨¬Q\lnot P \lor \lnot Q
論理演算 ¬(P∨Q)\lnot(P \lor Q) ¬P∧¬Q\lnot P \land \lnot Q
集合演算 A∩B‾\overline{A \cap B} A‾∪B‾\overline{A} \cup \overline{B}
集合演算 A∪B‾\overline{A \cup B} A‾∩B‾\overline{A} \cap \overline{B}
量化子 ¬ ∀x P(x)\lnot\,\forall x\, P(x) ∃x ¬P(x)\exists x\, \lnot P(x)
量化子 ¬ ∃x P(x)\lnot\,\exists x\, P(x) ∀x ¬P(x)\forall x\, \lnot P(x)

どの行でも、否定を内側へ移すと、∧\landと∨\lor、∩\capと∪\cup、∀\forallと∃\existsがそれぞれ入れ替わります。論理演算の二つの行は§A3.2 定理 2.1、集合演算の二つの行は§A3.3 公式 5.1、量化子の二つの行は§A3.8 定理 2.1で示した規則です。

集合演算の行は、条件と真理集合の対応によって論理演算の行から得られます。範囲がn≥1n\geq 1個の要素からなる有限集合{a1,…,an}\{a_1,\dots,a_n\}である場合、∀x P(x)\forall x\,P(x)はP(a1)∧⋯∧P(an)P(a_1)\land\cdots\land P(a_n)であり、∃x P(x)\exists x\,P(x)はP(a1)∨⋯∨P(an)P(a_1)\lor\cdots\lor P(a_n)です。このため、量化子の規則も論理演算の規則と同じ形になります。範囲が無限集合である場合には、量化された命題を有限個の論理演算へ展開することはできません。その場合にも、次に示す意味によって量化子の規則が成り立ちます。

なお、添字の集合で表される一般の族に対する集合演算(⋂i∈IAi\bigcap_{i \in I} A_iなど)には、本記事では立ち入りません。「集合論入門」が扱います。

2 量化子についての規則

定理 2.1 (量化子のド・モルガン則).XXを対象の範囲とし、P(x)P(x)をXX上の述語とする。このとき

¬ ∀x∈X P(x)≡∃x∈X ¬P(x),¬ ∃x∈X P(x)≡∀x∈X ¬P(x)\lnot\,\forall x\in X\,P(x)\equiv\exists x\in X\,\lnot P(x),\qquad \lnot\,\exists x\in X\,P(x)\equiv\forall x\in X\,\lnot P(x)

が成り立つ。

証明.∀x∈X P(x)\forall x\in X\,P(x)が偽であることは、P(x)P(x)が偽となるx∈Xx\in Xが少なくとも一つ存在することと同値である。したがって、¬ ∀x∈X P(x)\lnot\,\forall x\in X\,P(x)は∃x∈X ¬P(x)\exists x\in X\,\lnot P(x)と同値である。

∃x∈X P(x)\exists x\in X\,P(x)が偽であることは、すべてのx∈Xx\in XについてP(x)P(x)が偽であることと同値である。したがって、¬ ∃x∈X P(x)\lnot\,\exists x\in X\,P(x)は∀x∈X ¬P(x)\forall x\in X\,\lnot P(x)と同値である。▨

3 入れ子になった量化子の否定は、外側から順に処理する

量化子が入れ子になった命題では、最も外側の量化子から順に定理 2.1を適用します。否定記号が一つの量化子を通るたびに量化子の種類が替わり、最後に内側の述語が否定されます。

¬ ∀x ∃y P(x,y)≡∃x ¬ ∃y P(x,y)≡∃x ∀y ¬P(x,y).\lnot\,\forall x\,\exists y\,P(x,y) \equiv\exists x\,\lnot\,\exists y\,P(x,y) \equiv\exists x\,\forall y\,\lnot P(x,y).

第1の同値変形では最も外側の∀x\forall xだけが∃x\exists xに替わり、否定記号が∃y\exists yの直前へ移ります。第2の同値変形では∃y\exists yが∀y\forall yに替わり、否定記号がP(x,y)P(x,y)の直前へ移ります。量化子の位置は交換しないため、変数の順序はx,yx,yのままです。∃x ∀y\exists x\,\forall yを∀y ∃x\forall y\,\exists xと書き換えると、元の命題の否定とは異なる主張になります。

4 例:連続であることの否定を作る

例 4.1.f ⁣:R→Rf\colon\mathbb R\to\mathbb Rとa∈Ra\in\mathbb Rを取る。ffが点aaで連続であることは

∀ε>0 ∃δ>0 ∀x∈R(∣x−a∣<δ⇒∣f(x)−f(a)∣<ε)\forall\varepsilon>0\ \exists\delta>0\ \forall x\in\mathbb R \bigl(|x-a|<\delta\Rightarrow |f(x)-f(a)|<\varepsilon\bigr)

と書き表される。三つの量化子に定理 2.1を外側から順に適用すると、否定は

∃ε>0 ∀δ>0 ∃x∈R¬(∣x−a∣<δ⇒∣f(x)−f(a)∣<ε)\exists\varepsilon>0\ \forall\delta>0\ \exists x\in\mathbb R \lnot\bigl(|x-a|<\delta\Rightarrow |f(x)-f(a)|<\varepsilon\bigr)

となる。条件文の否定¬(A⇒B)≡A∧¬B\lnot(A\Rightarrow B)\equiv A\land\lnot Bと、∣f(x)−f(a)∣<ε|f(x)-f(a)|<\varepsilonの否定を用いると、これは

∃ε>0 ∀δ>0 ∃x∈R(∣x−a∣<δ∧∣f(x)−f(a)∣≥ε)\exists\varepsilon>0\ \forall\delta>0\ \exists x\in\mathbb R \bigl(|x-a|<\delta\land |f(x)-f(a)|\geq\varepsilon\bigr)

と同値である。

この例では、∀∃∀\forall\exists\forallが∃∀∃\exists\forall\existsに替わり、量化子の順序は保たれています。量化子をすべて処理したあとに、条件文と不等号の否定を計算しています。

例題

条件と何を求めるかを確認してから、式と答えの対応を見比べてください。

次の否定(補集合)を、否定記号を内側へ押し込んだ形で書け。¬\neg は述語の直前にしか現れない形(補集合は Aᵢ の直前にしか現れない形)にすること。

解法の型¬∀x\neg\forall x P ≡\equiv∃x\exists x¬P\neg P、¬∃x\neg\exists x P ≡\equiv∀x\forall x¬P\neg P、¬(A\neg(A∧\land B) ≡\equiv¬A\neg A∨\lor¬B\neg B、¬(A\neg(A∨\lor B) ≡\equiv¬A\neg A∧\land¬B\neg B、¬(A\neg(A⇒\Rightarrow B) ≡\equiv A ∧\land¬B\neg B。量化子の並び順は変えず、各記号だけを反転する

  1. 次の命題の否定を、否定記号を内側へ押し込んだ形(¬\neg が述語の直前にしか現れない形)で書け。

    ¬(∀x ∀y (P(x)⇒Q(x,y)))\lnot \Bigl( \forall x\, \forall y\, \bigl(P(x) \Rightarrow Q(x, y)\bigr) \Bigr)
  2. 次の集合の補集合を、補集合を内側へ押し込んだ形で書け。

    ⋂n=1∞An‾\overline{\bigcap_{n=1}^{\infty} A_n}
  3. 次の集合の補集合を、補集合を内側へ押し込んだ形で書け。

    ⋃n=1∞An‾\overline{\bigcup_{n=1}^{\infty} A_n}
  4. 次の命題の否定を、否定記号を内側へ押し込んだ形(¬\neg が述語の直前にしか現れない形)で書け。

    ¬(∃x ∀y ∀z (P(x)∧(Q(x,y)∨R(y,z))))\lnot \Bigl( \exists x\, \forall y\, \forall z\, \bigl(P(x) \land (Q(x, y) \lor R(y, z))\bigr) \Bigr)
  5. 次の命題の否定を、否定記号を内側へ押し込んだ形(¬\neg が述語の直前にしか現れない形)で書け。

    ¬(∃x ∃y ∀z ((P(x)∧Q(x,y))∨¬R(y,z)))\lnot \Bigl( \exists x\, \exists y\, \forall z\, \bigl((P(x) \land Q(x, y)) \lor \lnot R(y, z)\bigr) \Bigr)
  6. 次の命題の否定を、否定記号を内側へ押し込んだ形(¬\neg が述語の直前にしか現れない形)で書け。

    ¬(∃x ∀y (P(x)⇒Q(x,y)))\lnot \Bigl( \exists x\, \forall y\, \bigl(P(x) \Rightarrow Q(x, y)\bigr) \Bigr)
  7. 次の命題の否定を、否定記号を内側へ押し込んだ形(¬\neg が述語の直前にしか現れない形)で書け。

    ¬(∀x ∀y ∀z ((P(x)∧Q(x,y))∨¬R(y,z)))\lnot \Bigl( \forall x\, \forall y\, \forall z\, \bigl((P(x) \land Q(x, y)) \lor \lnot R(y, z)\bigr) \Bigr)
  8. 次の命題の否定を、否定記号を内側へ押し込んだ形(¬\neg が述語の直前にしか現れない形)で書け。

    ¬(∀x ∃y ∃z ((P(x)⇒Q(x,y))∧(R(y,z)∨¬P(x))))\lnot \Bigl( \forall x\, \exists y\, \exists z\, \bigl((P(x) \Rightarrow Q(x, y)) \land (R(y, z) \lor \lnot P(x))\bigr) \Bigr)
  9. 次の命題の否定を、否定記号を内側へ押し込んだ形(¬\neg が述語の直前にしか現れない形)で書け。

    ¬(∀x ∀y (P(x)⇒(Q(x,y)⇒R(y))))\lnot \Bigl( \forall x\, \forall y\, \bigl(P(x) \Rightarrow (Q(x, y) \Rightarrow R(y))\bigr) \Bigr)
  10. 次の命題の否定を、否定記号を内側へ押し込んだ形(¬\neg が述語の直前にしか現れない形)で書け。

    ¬(∀x ∀y ∃z (P(x)⇒(Q(x,y)⇒R(y,z))))\lnot \Bigl( \forall x\, \forall y\, \exists z\, \bigl(P(x) \Rightarrow (Q(x, y) \Rightarrow R(y, z))\bigr) \Bigr)

演習

問題を解いてから「解答・解説」を開けます。

次の否定(補集合)を、否定記号を内側へ押し込んだ形で書け。¬\neg は述語の直前にしか現れない形(補集合は Aᵢ の直前にしか現れない形)にすること。

演習を読み込み中…

前提記事