Logic Circuits, Axioms for Basic Logic
(論理回路, 基本論理の公理化)
Discrete Mathematics I
5th lecture, Oct. 17, 2014
http://www.sw.it.aoyama.ac.jp/2014/Math1/lecture5.html
Martin J. Dürst
© 2005-14 Martin
J. Dürst Aoyama Gakuin
University
Today's Schedule
- Leftovers and summary of last lecture
- Last week's homework
- XOR, NAND, NOR, and logical circuits
- Axioms for basic logic
- Equivalence and implication
- This week's homework
Leftovers from Last Lecture
Karnaugh map
Summary of Last Lecture
- There are many laws for logical operations. These laws can be used to
manipulate and simplify logical formulæ and to prove additional laws.
- Most laws come in pairs that are related by the duality principle.
- Each logical function can be represented in normal form:
- Disjunctive normal form: Disjunction of conjunction (of negation) of
variables
- Conjunctive normal form: Conjunction of disjunction (of negation) of
variables
- Normal forms can be simplified by symbol manipulation or by using a
Karnaugh map
Last Week's Homework
124 Submissions (out of 140 students)
Grading is manual and will take some time.
Homework Problem One
List all the possible Boolean functions of two variables A and
B in a table. Use one row for each Boolean function. Find the
simplest formula.
- [都合により削除]
Last Week's Homework: Problem Two
[都合により削除]
XOR, NAND, and NOR
Boolean functions other than and, or, and
not used frequently in programs and electronic circuits:
- XOR: Exclusive or
- defined as true if either A or
B is true, but not both
- written A xor B , A ⊕
B
- widely used in encryption, cryptography
- NAND:
- defined as ¬(A ∧ B)
- written as NAND(A, B) or A ⊼
B
- widely used in electronic circuits and flash memory
- NOR
- defined as ¬(A ∨ B)
- written as NOR(A, B) or A ⊽
B
- widely used in electronic circuits and flash memory
Truth Table for XOR, NAND, and NOR
|
|
XOR |
NAND |
NOR |
A |
B |
A ⊕ B |
A ⊼ B |
A ⊽ B |
F |
F |
F |
T |
T |
F |
T |
T |
T |
F |
T |
F |
T |
T |
F |
T |
T |
F |
F |
F |
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 a gate is the input of (an)other gate(s)
- For logic circuits, 1 and 0 are often used in place of 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 |
C (carry) |
S (sum) |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
How to Write Logic Circuits
- Input from the left, output to the right
- Write variable name or formula for each input/output
- Make clear where crossing lines (wires) touch and where not
- AND, NAND, OR, and NOR gates may use more than two inputs
Property of NAND and NOR
Theorem: 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 ¬
(using normal forms)
If we can write these three boolean operations using only NAND [or only
NOR], our proof is complete.
¬ A = NAND(A) [NOR(A)] (if the number of operands is fixed at two,
then A⊼A [A⊽A])
A ∧ B = ¬¬(A ∧
B) = NAND(¬(A ∧ B)) =
NAND(NAND(A, B))
[= ¬¬(A ∧ B) =
¬(¬A ∨ ¬B) = NOR(¬A, ¬B) =
NOR(NOR(A), NOR(B))]
A ∨ B = ¬¬(A ∨
B) = ¬(¬A ∧ ¬B) = NAND(¬A,
¬B) = NAND(NAND(A), NAND(B))
[= ¬¬(A ∨
B) = NOR(¬(A ∨ B)) = NOR(NOR(A,
B))]
Q.E.D.
Comment: This is a constructive proof. It is often used for theorems of the
form "it is possible...".
Comment: This property is important because it is easier to construct a
logical circuit where all the gates are the same.
Axiomatization
- An axiom is a theorem that is assumed to be true, without proof.
- One goal of mathematics is to create rich, beautiful (and useful)
theories from very few axioms.
- In lecture 2, we introduced the Peano Axioms
for the arithmetic of natural numbers.
All provable properties of natural numbers can be proven from these very
few axioms.
- Can we find axioms for basic logic?
- Desired properties for axioms:
- Consistent: No contradictions
- Minimal: Impossible to remove any axiom
- Complete: Possible to derive any true theorem
- Simple: Low number of axioms and operators, short
- Obvious to humans
Axiomatizations of Basic Logic
- Standard axioms:
A∨B=B∨A [+D];
A∧(B∨¬B)=A [+D];
A∨(B∧C)=(A∨B)∧(A∨C)
[+D]
- Huntington axioms (1904):
A∨F = A [+D];
A∨B=B∨A [+D];
A∨(B∧C)=(A∨B)∧(A∨C)
[+D]; A∨¬A=T [+D]
- Huntington axioms (1933):
A∨B=B∨A;
A∨(B∨C)=(A∨B)∨C;
¬(¬A∨B)∨¬(¬A∨¬B)=A
- Robbins axioms (proposed 1933, proved automatically 1996):
A∨B=B∨A;
A∨(B∨C)=(A∨B)∨C;
(¬(¬(A∨B)∨¬(A∨¬B))=A
- Sheffer axioms (1913?):
(A⊼A)⊼(A⊼A)=A;
A⊼(B⊼(B⊼B))=A⊼A;
(A⊼(B⊼C))⊼(A⊼(B⊼C))=((B⊼B)⊼A)⊼((C⊼C)⊼A)
- Wolfram axiom (found automatically 2002):
(A⊼B)⊼C)⊼(A⊼((A⊼C)⊼A))=C
Comment: [+D] indicates that the dual is also an axiom
Evaluations of Axiomatizations
|
Consistent? |
Minimal? |
Complete? |
Simple? |
Obvious? |
Axioms |
Operators |
Overall Length |
Standard |
yes |
yes |
yes |
6 |
3 |
very long |
yes |
Huntington 1904 |
yes |
yes |
yes |
8 |
3 |
very long |
yes |
Huntington 1933 |
yes |
yes |
yes |
3 |
2 |
short |
no |
Robbins |
yes |
yes |
yes |
3 |
2 |
short |
no |
Sheffer |
yes |
yes |
yes |
3 |
1 |
long |
no |
Wolfram |
yes |
yes |
yes |
1 |
1 |
very short |
no |
Conclusion: For natural number arithmetic (Peano axioms) and for plane
geometry (Euclid's axioms), there are axiom systems that are both simple and
obvious. However, for basic logic, there are axiom systems that are simple, and
axiom systems that are obious, but there is no axiom system that is both.
Logical Operations Important for Symbolic Logic
- Equivalence: A ↔ B (read: A is
equivalent to B)
If and only if A and B have the same value (both T or
both F), then A ↔ B is T.
- Implication: A → B (read: A implies
B)
If A is Tand B is F, then A →
B is F, otherwise A → B is T.
Truth Table for Equivalence and Implication
|
|
Equivalence |
Implication |
A |
B |
A ↔ B |
A → B |
F |
F |
T |
T |
F |
T |
F |
T |
T |
F |
F |
F |
T |
T |
T |
T |
Example of Implication
A: "I will pass Discrete Mathematics I."
B: "I will travel to Okinawa in March 2015."
A → B: "Me passing Discrete Mathematics I implies
that I will travel to Okinawa in March 2015."
or: "If I will pass Discrete Mathematics I, I will travel to Okinawa in March
2015."
Laws of Implication and Equivalence
- Rewriting (removing) implication: A→B =
¬A∨B = ¬(A∧¬B)
- Rewriting (removing) equivalence: A↔B =
(A→B)∧(B→A) =
(A∧B)∨(¬A∧¬B)
- Transitive laws: ((A→B) ∧
(B→C)) ⇒ (A→C),
((A↔B) ∧ (B↔C)) ⇒
(A↔C)
- Reductio ad absurdum: A→¬A = ¬A
- Contraposition: A→B =
¬B→¬A
- Properties of equivalence: A↔B =
¬A↔¬B, ¬(A↔B) =
(A↔¬B)
- Properties of implication: T→A = A,
F→A = T, A→T = T, A→F =
¬A
Caution:
There is a difference between "→" and "⇒".
"→" is an operator of boolean/symbolic logic, which can be manipulated
like any other operator (e.g. +, -, ×, ÷ in basic arithmetic).
"⇒" tells us humans that we can replace formulæ that match the form on
its left side with formulæ that match its right side.
The same difference exists between "↔" and "=".
This Week's Homework
Deadline: October 23, 2014 (Thursday), 19:00.
Format: A4 single page (using both sides is okay; NO cover
page), easily readable handwriting (NO printouts), name (kanji
and kana) and student number at the top right
Where to submit: Box in front of room O-529 (building O, 5th floor)
Problem One
For each of the 16 boolean functions of two Boolean variables A
and B (same as problem 1 of last week), find the shortest formula
using only NAND.
You can use NAND with an arbitrary number of arguments, but you cannot use T or
F.
Hint: Start with simple formulæ using NAND and check which function they
represent.
Problem Two
Draw logic circuits of the following three Boolean formulæ:
- A ∧ B ∨ ¬C
- NOR(G, XOR(H, K), H)
- NAND(E, ¬F) ∧ G
Problem Three
(no need to submit/提出不要)
Create examples for implication and think about why the truth table for
implication is the way it is.
(含意の例を作って、含意の真理表と実例を比較して含意を身に着ける。)
今週の宿題の要点
- 締切: 10月23日 (木) 19:00
- 提出場所: O 棟 529号室の前の箱
- 形式: A4 一枚 (両面可; 表紙なし)、名前
(漢字、ふりがな)
と学生番号を右上に、読みやすい手書き
Glossary
- grading
- 採点 (作業)
- exclusive or
- 排他的論理和
- encryption
- 暗号化
- cryptography
- 暗号学
- (electronic) circuit
- (電子) 回路
- logic circuit
- 論理回路
- master thesis
- 修士論文
- gate
- ゲート
- half adder
- 半加算器
- bit (binary digit)
- ビット
- variable name
- 変数名
- implement
- 実装する
- theorem
- 定理
- constructive proof
- 構成的証明
- axiomatization
- 公理化
- complete(ness)
- 完全 (性)
- consisten(t/cy)
- 一貫 (した・性)
- contradiction
- 矛盾
- obvious(ness)
- 明白な・自明性
- symbolic logic
- 記号論理
- equivalence
- 同値
- x is equivalent to y
- x と y が同値である
- implication
- 含意
- x implies y
- x ならば y
- pass (some course)
- (ある科目を) 合格する
- rewriting (removing) implication
- 含意の除去
- rewriting (removing) equivalence
- 同値の除去
- transitive laws
- 推移律
- reductio ad absurdum
- 背理法
- contraposition
- 対偶
- properties of equivalence
- 同値の性質
- properties of implication
- 含意の性質
-