論理変数と基本公式

この節では論理変数を導入し論理式の取扱いについて説明する.

論理代数(スイッチング代数,ブール代数)とは,集合\({0,1}\)(すなわち,二つの値(\(0,1\)
のみを取り扱う)と,3種類の演算 論理積,論理和,否定から構成されている代数系
のことである.\(0,1\)の値しか取らない論理変数を導入すると,下記の基本公式が成立していることがわかる.(公理、定理、律とか区分されていあるが、ここでは数学的な厳密性は問わないこととする.

(1a)\(x+1=1\)  (1a)\(x\cdot 0=0\)吸収則
(2a)\(x+0=x\)(2b)\(x\cdot 1=x\)吸収則
(3a)\(x+x=x\)(3b)\(x\cdot x=x\)同一則
(4a)\((x+y)+z=x+(y+z)\)(4b)\(x\cdot y=y\cdot x\)交換則
(5a)\((x+y)+z=x+(y+z)\)(5b)\((x \cdot y) \cdot z= x \cdot (y \cdot z)\)結合則
(6a)\(x+\overline{x}=1\)(6b)\(x\cdot\overline{x}=0\)相補性
(7a)\(x\cdot(y+z)=x\cdot y + x\cdot z\)(7b)\(x+y\cdot z=(x+y)(x+z)\)分配則
論理演算の基本公式

これらの基本公式式が成立することは,すべての論理変数(Logical Variable)に取りうる値の組合せの全てを代入し,左辺と右辺の値を計算により求めることにより証明できる.表1.は公式(7a)の証明をその一例として示している.すべての公式は対になっており,AND演算とOR演算を入れ換え,0と1を入れ換えることによって,一方の式(a)から他方の式(b)を得ることができる.このような関係を持っている二つの式を双対(dual)と呼んでいる.

xyzy+zx(y+z)\(x\cdot y\)\(x\cdot z\)\(x\cdot y + x\cdot z\)
00000000
00110000
01010000
01110000
10000000
10111011
11011101
11111111
公式(7a)の証明

式(7a)において左辺の\(\cdot\)を\(+\)に、右辺の\(+\)を\(\cdot\)に置き換えると、(7b)が得られることが容易にわかる。更に,次の式も基本公式として扱うことができる.

(8a)\(x+x\cdot y =x\)(8b)\(x\cdot(x+y)=x\)吸収則
(9a)\(x+\overline{x}\cdot y = x+y\)(9b)\(x(\overline{x}+y)=x\cdot y\)

(8a), (9a)が成立することは容易に示すことができる.以下、(9a)を例に取り説明する.

(6a)と(2b)より,(9a)式の右辺は \(x+y=(x+\overline{x})(x+y)\)とできる.

展開すると,

右辺\(=x\cdot x+ xy+\overline{x}x+\overline{x}y\)

  \(=x+xy+\overline{x}y\)

  \(=x(1+y)+\overline{x}y\)

  \(=x+\overline{x}y\)

∴左辺\(=\)右辺

(9b)が成立することの証明は別なアプローチで行ってみる.\(x,y\)の値の取りうる組み合わせについて下の表にまとめている.これより左辺\(=\)右辺が証明されている.

\(x\)\(\bar{x}\)\(y\)\(\bar{x}+y\)\(x(\bar{x}+y)\)\(x\cdot y\)
010100
011100
100000
101111