情報数学 I

第六回 (2013年11月15日)

論理回路と記号論理

Martin J. Dürst

http://www.sw.it.aoyama.ac.jp/2013/Math1/lecture6.html

AGU

© 2005-13 Martin J. Dürst 青山学院大学

今日の目次

前回の修正

(A ∨ ¬B) ∧ B = (AB) ∨ (¬BB) = (AB) ∨ F = AB

今回の主な目的

前回の復習

前回の宿題

第一問: 二つの変数 (例: A, B) で可能な論理関数を全て表に列挙し、その関数毎にできるだけ簡単な式を見つけてください。
正解 ([] 内はこれから導入する演算)
[本年度のために削除]
第二問:

四つの変数 (例: A, B, C, D) の論理関数を一つ、サイコロ等を使って作ってください。
その論理関数の二つの標準形と一つ以上の単純化を計算しなさい

 

XOR, NAND, NOR

Boolean functions other than and, or, not used frequently in programs and electronic circuits:

Logic Circuits

Boolean functions can be calculated (evaluated) using logic circuits

The relationship between logic formulæ and electric (electronic) circuits was established by Claude Shannon in his 1938 master thesis

The components of a logic circuit are called "gates"

Gates are connected with wires

The output of one gate is the input of another gate

In case of logic circuits, 1 and 0 are often used rather than true and false

Gates Used in Logic Circuits

NOT gate AND gate OR gate
 

 

 

   
XOR gate NAND gate NOR gate
 

 

 

   

Example of a Logic Circuit

Half adder (to add two binary numbers, two half adders per binary digit (bit) are necessary)

input output
A B S (sum) C (carry)
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0

How to Write Logic Circuits

Properties of NAND and NOR

It is possible to implement all boolean functions using only NAND [or only NOR]

Proof:

We know that we can write any boolean function using only ∧, ∨, and ¬ (e.g. using a normal form)

If we can write these three boolean operations using only NAND [or only NOR], our proof is complete.

¬ A = NAND(A) [NOR(A)]

AB = ¬¬(AB) = NAND(¬(AB)) = NAND(NAND(A, B))
        [= ¬¬(AB) = ¬(¬A ∨ ¬B) = NOR(¬A, ¬B) = NOR(NOR(A), NOR(B))]

AB = ¬¬(AB) = ¬(¬A ∧ ¬B) = NAND(¬A, ¬B) = NAND(NAND(A), NAND(B))
        [= ¬¬(AB) = NOR(¬(AB)) = NOR(NOR(A, B))]

Q.E.D.

 

記号論理

(symbolic logic)

論理に大切な演算子

同値と含意の真理表

A B AB AB
F F T T
F T F T
T F F F
T T T T

「同値である」と「ならば」の性質

  1. 含意の除去: AB = ¬AB = ¬(A∧¬B)
  2. 同値の除去: AB = (AB)∧(BA) = (AB)∨(¬A∧¬B)
  3. 推移律: ((AB) ∧ (BC)) ⇒ (AC),
    ((AB) ∧ (BC)) ⇒ (AC)
  4. 背理法: A→¬A = ¬A
  5. 対偶: AB = ¬B→¬A
  6. 同値の性質: AB = ¬A↔¬B, ¬(AB) = (A↔¬B)
  7. 含意の性質: T→A = A, F→A = T, A→T = T, A→F = ¬A

(「=」と「↔」などの使い分けに注意)

 

恒真と恒偽

今週の宿題

提出方法:

課題:

二つの変数 (例: A, B) で可能な論理関数を全て表に列挙し、それぞれの関数を NAND (又は NOR) の短い式だけで書きなさい。

発展問題: NAND と NOR 以外に一つの論理関数からすべての論理関数を作れるものはあるか調べなさい。例えば → ではどうでしょうか。

Glossary

exclusive or
排他的論理和
encryption
暗号化
cryptography
暗号学
(electronic) circuit
(電子) 回路
logic circuit
論理回路
master thesis
修士論文
gate
ゲート
half adder
半加算器
bit (binary digit)
ビット
variable name
変数名
implement
実装する