2001年12月31日 作成 ブール 代数 (その 2) >> 目次 (作成日順)
2007年 3月 1日 補遺  



 今回は、f (p∨q) が f (p)+f (q)−f (p)・f (q) になることを証明する。

 まず、ド・モルガン の法則を思い出してほしい (以下に記述してある)。

  (1) ¬(p∧q)≡¬p∨¬q
  (2) ¬(p∨q)≡¬p∧¬q

 さて、ド・モルガン の法則を使って、両辺の否定を求める。

 ¬(p∨q)≡¬p∧¬q ⇒ ¬{¬(p∨q)}≡¬(¬p∧¬q) ⇒ p∨q≡¬(¬p∧¬q).

 次に、ブール 代数の以下の 2つを使う。

  (1) f (¬p)=1−f (p)
  (2) f (p∧q)=f (p)・f (q)

  さて、以上の式を使って、証明は以下の順に行う。

  (1) 「p∨q」 は 「∧」 を使った式に変換できる。

   f (p∨q)=f {¬(¬p∧¬q}=1−f (¬p∧¬q).

  (2) 次に、「∧」 を使った式は、f (p)・f (q) に変換できる。

  1−f (¬p)・f (¬q)=1−{1−f (p)}・{1−f (q)}=f (p)+f (q)−f (p)・f (q).

  したがって、f (p∨q)=f (p)+f (q)−f (p)・f (q).

 単純に言い切ってしまえば、2つの集合の 「結び (∪)」 のなかから、(ダブっている) 「交わり (∩)」 を排除した式である、と思えばよい [ ベン 図を描いてみれば、可視的に (直感的に) 理解できる ]。

 こんな (ブール 代数の) 証明をやって、(実地の技術として) 役に立つとは思えない、と思っている人々がいるなら、考え直したほうがいい。なぜなら、この ブール 代数は RDB の internals (「AND」 あるいは 「OR」 を使った複合検索のために生成される traversal-table) が使っている。「思考の訓練 (数学のための数学) のために」 「ベーシックス」 を綴っているのではないことを忘れないでほしい。□

 



[ 補遺 ] (2007年 3月 1日)

 「佐藤正美の問わず語り (論証表の作りかた)」 で、以下の論法が間違いであることを述べました。

  [ 前提 ] すべての A は、C である。
  [ 前提 ] すべての B は、C である。
  [ 結論 ] すべての B は、A である。

 
 その間違いを集合論を使って証明しましたが、ブール 代数を使って、間違いを証明することもできます。
 以上の (妥当ではない) 推論を論理式で記述すれば、以下の形になります。

  { (A ⇒ C) ∧ (B ⇒ C) } = B ⇒ A.

 妥当な推論は、以下の形です。

  { (A ⇒ C) ∧ (B ⇒ C) } = { (A ∨ B) ⇒ C }.

 さて、この論理式が正しいことを ブール 代数を使って証明できますか。
 以下に証明を示します。

 左辺は、以下のようになります。

  { (A ⇒ C) ∧ (B ⇒ C) } = { f (A ⇒ C)・f (B ⇒ C) }
                 = (1 − a + ac) (1 − b + bc)
                 = 1 − a − b + ab + ac + bc − abc.

 右辺は、以下のようになります。

  { (A ∨ B) ⇒ C) } = 1 − f (A ∨ B) + f (A ∨ B)・f (C)
             = 1 − (a + b − ab) + (a + b − ab) c
             = 1 − a − b + ab + ac + bc − abc.

 左辺と右辺が同じ式になるので、左辺と右辺は同値です。
 頭のなかで考えている思考 (論理) が計算式として機械的に演算できるというのは妙趣ですね。




  << もどる HOME すすむ >>
  ベーシックス