3 ブール代数

3.1 公理

まず、ブール代数の公理を示します。ブール代数は、 の特徴をもっています。0と1だけからなる代数系であり,これはコンピューター 内部で行われている演算そのものです。演算子もコンピューター内部の回路と 一致しています。それでは、ブール代数の公理を以下に示します。

公理 3.1 (ブール代数)  

  交換法則 $\displaystyle \hspace{3mm}$ $\displaystyle A+B=B+A,$ $\displaystyle \hspace{10mm}$ $\displaystyle A \cdot B = B \cdot A$ (1)
  分配法則   $\displaystyle A \cdot(B + C)=(A \cdot B)+(A \cdot C),$   $\displaystyle A+(B \cdot C) = (A+B) \cdot (A+C)$ (2)
  単位元   $\displaystyle A+0=A,$   $\displaystyle A \cdot 1 = A$ (3)
  補元   $\displaystyle A + \bar{A}=1,$   $\displaystyle A \cdot \bar{A}= 0$ (4)

これで、ブール代数が定義できました。それにしても、通常の数の演算と似て いますね。しかし、良く見ると少し異なります。 これらの違いによーく気をつけてください。さらに、演算について重要なこと を付け加えておきます。それは、加法と乗法、補元の演算の結果は、必ず元の 変数の集合$ \{0,1\}$に含まれることです。このことをこれらの演算について 閉じていると言います。閉じていることの確認は、[*]節を見てください。

ブール代数には、この公理から直ちにに分かる重要な性質があります。この公 理の加法の$ +$と乗法の$ \cdot$0$ 1$をそれぞれ入れ替えても、同じ公理 になります。このことから次に示す双対の原理が成り立ちます。これは便利な もので、上手に使うと計算が楽になります。あるいは定理を憶えるのも半分で すみます。

定理 3.1 (双対の原理)   ブール代数では、元の式の$ +$$ \cdot$0$ 1$ を交換してできる式を元 の式の「双対」(dual)と呼びます。ブール代数において、ある定理が成 り立つならば、その定理の双対もまた成り立たちます。

ブール代数においては加法と乗法は対等です。しかし、普通には、数の演算同 様に乗法は加法に先立って計算されます。さらに、括弧を用いて、演算順序の 変更も可能です。要するに、計算順序は普通の数の演算と同じと考えてよいで す。そのため乗法の記号$ \cdot$が省略されたり、加法よりも乗法を演算順序 を優先することを暗黙の了解事項として書かれている場合があります。このよ うなことは可能です。しかし、双対の原理を考慮すると、加法と乗法の演算順 序は対等とし、括弧で演算順序を決めて、さらに乗法の記号もちゃんと書いた ほうが考えやすいと思います。


3.2 真理値表とMIL記号

先に述べたように、ブール代数の変数の集合は$ {0,1}$です。そして、演算子 は$ +$$ \cdot$$ \bar{}$です。変数も演算子も少ないので、すべての組み合 わせを表にすることは簡単です。それを表4から 6に示します。このように、変数の全ての組み合 わせを示して、その演算結果を示すものを真理値表と言います。これら基本演 算子の動作をする回路記号(MIL記号)も図68にしめします。

これらの表で示した演算は、全て公理から導くことができます。直接公理から 導けないものは、後で示す定理を使えば簡単に導くことが出来ます。定理も公 理から導いたので、この表の演算の根拠は公理にあります。

これら基本演算に加えて、よく使われる論理回路の素子を図 912に、その真理値表を表 710に示します。

図 6: OR素子
\includegraphics[keepaspectratio, scale=0.4]{figure/OR.eps}
図 7: AND素子
\includegraphics[keepaspectratio, scale=0.4]{figure/AND.eps}
図 8: NOT素子
\includegraphics[keepaspectratio, scale=0.4]{figure/NOT.eps}

  • 4. ORの真理値表
  • 5. ANDの真理値表
  • 6. NOTの真理値表
  • 表 4: ORの真理値表
    $ A$ $ B$ $ A+B$
    0 0 0
    0 1 1
    1 0 1
    1 1 1
    表 5: ANDの真理値表
    $ A$ $ B$ $ A \cdot B$
    0 0 0
    0 1 0
    1 0 0
    1 1 1
    表 6: NOTの真理値表
    $ A$ $ \bar{A}$
    0 1
    1 0

    図 9: NOR素子
    \includegraphics[keepaspectratio, scale=0.4]{figure/NOR.eps}
    図 10: NAND素子
    \includegraphics[keepaspectratio, scale=0.4]{figure/NAND.eps}
    図 11: XOR素子
    \includegraphics[keepaspectratio, scale=0.4]{figure/XOR.eps}
    図 12: 一致素子
    \includegraphics[keepaspectratio, scale=0.4]{figure/ichi.eps}

  • 7. NORの真理値表
  • 8. NANDの真理値表
  • 9. XORの真理値表
  • 10. 一致の真理値表
  • 表 7: NORの真理値表
    $ A$ $ B$ $ \overline{A+B}$
    0 0 1
    0 1 0
    1 0 0
    1 1 0
    表 8: NANDの真理値表
    $ A$ $ B$ $ \overline{A \cdot B}$
    0 0 1
    0 1 1
    1 0 1
    1 1 0
    表 9: XORの真理値表
    $ A$ $ B$ $ A \oplus B$
    0 0 0
    0 1 1
    1 0 1
    1 1 0
    表 10: 一致の真理値表
    $ A$ $ B$ $ A \odot B$
    0 0 1
    0 1 0
    1 0 0
    1 1 1

    3.3 ブール代数の諸定理

    公理から導かれる諸定理を以下に書き出します。これらは、全て公理を用いて 証明可能であることを念頭に入れておいてください。皆さんは、公理は言うに 及ばず、以下の定理も証明をしないで自由に使って計算しても良いです。

    定理 3.2 (演算の諸定理)  

      結合則 $\displaystyle \hspace{3mm}$ $\displaystyle A+(B+C)=(A+B)+C, \hspace{20mm}$   $\displaystyle A \cdot(B \cdot C) = (A \cdot B) \cdot C$ (5)
      吸収則   $\displaystyle A+(A \cdot B)=A,$   $\displaystyle A \cdot (A+B)=A$ (6)
      巾等律   $\displaystyle A+A=A,$   $\displaystyle A \cdot A=A$ (7)
          $\displaystyle A+1=1,$   $\displaystyle A \cdot 0 = 0$ (8)
          $\displaystyle A+(\bar{A}+B)=1,$   $\displaystyle A \cdot (\bar{A} \cdot B)=0$ (9)
          $\displaystyle (A+\bar{B}) \cdot (\bar{A}+B)=(A \cdot B)+(\bar{A} \cdot \bar{B}),$   $\displaystyle (A \cdot \bar{B}) + (\bar{A} \cdot B)=(A + B) \cdot (\bar{A} + \bar{B})$ (10)
      ド・モルガン   $\displaystyle \overline{(A+B)}=\bar{A} \cdot \bar{B},$   $\displaystyle \overline{(A \cdot B)}=\bar{A} + \bar{B}$ (11)

    定理 3.3 (二重否定)  

    $\displaystyle \bar{\bar{A}}=A$ (12)

    定理 3.4   $ A+\bar{B}=1$かつ $ A \cdot \bar{B}=0$ならば、$ A=B$である。

    ここで示した全ての定理を公理を用いて証明することは、紙の無駄なので、2 つだけ例を示します。式(8)と非常に有用なド・モルガンの法則で ある式(11)を証明します。

    【証明】 1   $ A+1=1$を証明します。

    $\displaystyle A+1$ $\displaystyle =(A+1)\cdot 1$   [公理:式(3)]    
      $\displaystyle =(A+1) \cdot (A+\bar{A})$   [公理:式(4)]    
      $\displaystyle =A+(1 \cdot \bar{A})$   [公理:式(2)]    
      $\displaystyle =A+(\bar{A} \cdot 1)$   [公理:式(1)]    
      $\displaystyle =A+\bar{A}$   [公理:式(3)]    
      $\displaystyle =1$   [公理:式(4)]    

    これで証明できました。式(8)のもう一方は、双対の原理に より成り立つのは明らかです。

    公理のみを使って、ド・モルガンの法則を証明するには、多くのページが必要 です。そこでこの法則については、真理値表で証明します。公理を用いての証 明に興味ある人は、図書館にあるフィスターの本 [#!Logical_Design_of_digital_computers!#]でも読んでください。

    【証明】 2 (ド・モルガンの法則)   $ \overline{(A+B)}=\bar{A} \cdot \bar{B}$を証明します。左辺と 右辺の真理値表が等しいことを示します。この式の左辺と右辺の真理値表は表 11のようになります。この式が成り立つことがわかった でしょう。この式が証明できたので、双対の原理により、 $ \overline{(A \cdot
B)}=\bar{A} + \bar{B}$も成り立つといえます。


    表 11: ド・モルガンの法則の真理値表。 これより、 $ \overline{(A+B)}=\bar{A} \cdot \bar{B}$が確認できる。
    $ A$ $ B$ $ A+B$ $ \overline{(A+B)}$ $ \bar{A}$ $ \bar{B}$ $ (\bar{A} \cdot \bar{B})$
    0 0 0 1 1 1 1
    0 1 1 0 1 0 0
    1 0 1 0 0 1 0
    1 1 1 0 0 0 0


    ホームページ: Yamamoto's laboratory
    著者: 山本昌志
    Yamamoto Masashi
    平成19年8月22日


    no counter