Propositional Logic
(命題論理)
Discrete Mathematics I
4th lecture, Oct. 9, 2015
http://www.sw.it.aoyama.ac.jp/2015/Math1/lecture4.html
Martin J. Dürst
© 2005-15 Martin
J. Dürst Aoyama Gakuin
University
Today's Schedule
- Summary of last lecture
- Last week's homework
- Laws for logical operations
- From truth table to logical formula
- Normal forms and their simplification
- Karnaugh map
- This week's homework
50th Anniversary Celebration
The College of Science and Engineering (理工学部) will celebrate its 50th
Anniversary on October 10th (Saturday, Sagamihara Festival).
I strongly recommend attending the following events:
- 研究室公開 (10:00~15:00)
- 記念展示 (10:00~16:30)
- 特別講演 (世界を照らす LED、15:10-16:10)
- 学科同窓会交流会 (情テクは 16:30~17:30)
About Moodle
If you have not yet registered for "Discrete Mathematics I" at http://moo.sw.it.aoyama.ac.jp, you
must come to the front immediately after this lecture.
Summary of Last Lecture
- Prepositions: sentences which are objectively either correct (true) or
wrong (false)
- Conjunction (and, ∧), disjunction (or, ∨), and
negation (not, ¬) are the three basic logical (Boolean) operations
- ¬ has higher precedence than ∧, which has higher precedence than
∨
- Truth tables can be used to
- Define logical operations
- Evaluate a Boolean formula for all values of its variables
- Prove the equivalence of two Boolean formulæ
Overview of Logical Operations
|
disjunction |
conjunction |
negation |
or |
and |
not |
precedence |
low |
middle |
high |
A |
B |
A ∨ B |
A ∧ B |
¬B |
F |
F |
F |
F |
T |
F |
T |
T |
F |
F |
T |
F |
T |
F |
|
T |
T |
T |
T |
Questions about the Laws
- Which laws look familiar from other areas of Mathematics?
commutative laws (+, ×), associative laws (+, ×),
distributive law (× distributes over +, but not + over ×!)
- Which law is specific to two-valued logic?
law of excluded middle
- Which laws look (almost) obvious?
idempotent laws, double negative, law of
(non)contradiction, properties of true and false
- Which laws look difficult?
absorption laws, De Morgan's laws
Rewriting Logical Formulæ (simplification)
(A ∨ ¬B) ∧ B = (A ∧
B) ∨ (¬B ∧ B) = (A
∧ B) ∨ F = A
∧ B
¬(A ∨ ¬B) =
¬A ∧ ¬¬B = ¬A ∧
B
Application: Proof of absorption law from other laws
A ∧ (A ∨ B) = (A∨F) ∧
(A∨B) =
A ∨ F∧B = A
∨ F = A
The Duality Principle for Logical Operations
When looking at the laws of logical operations, we see the following:
If we exchange all instances of ∧ and ∨, and T and F, we get another
law.
Examples:
T ∧ A = A; dual: F ∨
A = A
(¬A∨B) ∧ C =
C∧¬A ∨ B∧C; dual: ¬A∧B ∨ C =
(C∨¬A) ∧ (B∨C)
This is true in general. It can be proved using the truth tables for ∧ and
∨.
This is the duality principle.
It is very useful for remembering the laws of logical operations.
From a Truth Table to a Logical Formula
Assume we are given a truth table (boolean function) such as the
following:
A |
B |
C |
? |
F |
F |
F |
F |
F |
F |
T |
T |
F |
T |
F |
F |
F |
T |
T |
T |
T |
F |
F |
T |
T |
F |
T |
F |
T |
T |
F |
T |
T |
T |
T |
F |
Can you find a logical formula for this truth table?
Is there a way to find a logical formula for every truth table (boolean
function)?
Normal Forms
Disjunctive normal form:
Disjunction of conjunction (of negation) of variables
Conjunctive normal form:
Conjunction of disjunction (of negation) of variables
Properties of Normal Forms
- Easy to construct
- Possible to construct for any truth table (Boolean function)
- Low depth (→fast logical circuit)
- Possibly long formula (→circuit may need lots of space)
Construction of Normal Forms
For disjunctive normal form
[conjunctive normal form is given
in [], based on duality principle]
- Look only at the rows in the truth table where the result is T [F]
- For each of these rows, construct the conjunction [disjunction] of all the variables
(A, B, C,...)
- If the variable's value in a row is F [T], then add a negation to this
variable in this row
- Construct the disjunction
[conjunction] of all the
formula created
Example of Normal Form
A |
B |
C |
? |
Disjunctive Normal
Form |
Conjunctive Normal
Form |
F |
F |
F |
T |
¬A ∧ ¬B ∧
¬C |
|
F |
F |
T |
T |
¬A ∧ ¬B ∧
C |
|
F |
T |
F |
F |
- |
A ∨ ¬B ∨
C |
F |
T |
T |
F |
- |
A ∨ ¬B ∨
¬C |
T |
F |
F |
F |
- |
¬A ∨ B ∨
C |
T |
F |
T |
T |
A ∧ ¬B ∧
C |
|
T |
T |
F |
F |
- |
¬A ∨ ¬B ∨
C |
T |
T |
T |
T |
A ∧ B ∧
C |
|
DNF: ¬A∧¬B∧¬C ∨
¬A∧¬B∧C ∨
A∧¬B∧C ∨
A∧B∧C
CNF: (A∨¬B∨C) ∧
(A∨¬B∨¬C) ∧
(¬A∨B∨C) ∧
(¬A∨¬B∨C)
Reason for Correctness
The constructed normal form is correct because:
- Each of the terms (rows) is a conjunction [disjunction]. Therefore, the term
is only T [F] if all variables match (with or
without negation). All other terms are F [T].
- The overall formula is a disjunction [conjunction]. Therefore, if any of
the terms is T [F], the overall result is T [F]. Otherwise, it is F [T].
Simplification of Normal Forms
Normal forms can get very long. It helps to simplify them. There are two
methods:
- Manipulate (transform) the normal form
- Karnaugh map
Both methods do the same, but with different tools (formulæ vs. a
diagram).
The Karnaugh map keeps the structure of the normal form
(disjunction of conjunction (of negation) for Disjunctive NF).
Using a different structure may allow a shorter formula.
Manipulation of normal form
- Try to use any laws/properties to simplify the normal form.
- Most frequent simplification step:
- Look for two terms where only the presence/absence of negation for
one variable differs.
- Use a distributive law (backwards), an idempotent law, and a property
of true and false to eliminate the variable.
(Commutative laws and associative laws are usually also needed. But
their use is not made explicit.)
- Example: A∧B∧C ∨
A∧¬B∧C ⇒
A∧C∧ (B ∨ ¬B) ⇒
A∧C
- This corresponds to the graphical grouping in the Karnaugh map
Example for three-variable normal form:
A∧B∧C ∨
A∧¬B∧C ∨
¬A∧¬B∧C ∨
¬A∧¬B∧¬C ⇒ A∧C ∨
¬A∧¬B
Attention: There is no single solution to simplification. Different
simplification paths with different steps may lead to different results.
Karnaugh Map Construction
Creating a simplification of a conjunctive normal form:
- Create a two-dimensional truth table. Each dimension uses (roughly) half
of the variables.
(3 variables: 4×2; 4 variables: 4×4; 5 variables: 8×4;...)
- Think about this table as a torus:
The rightmost field in each row is the left neigbor of the leftmost
field.
The bottommost field in each column is the top neighbor of the topmost
field.
- Arrange the truth values in each direction so that only one variable's
value differs from row to row and from column to column.
- Concentrate on the fields with a T (fields with F can be left blank)
- Surround any two neighboring (according to step 2) fields with a
line.
- Combine any neighboring groups of two fields from step 5 by surrounding
them with a differently colored line. Extend this to groups of eight
fields, and so on.
- Select a minimal number of groups so that all Ts are included. The groups
can overlap. There may be several equally minimal solutions.
- Each surrounded group corresponds to a term a simplified formula.
Construct this formula as follows: Eliminating variables that are both T
and F for fields in the group. Keep the variables that have an uniform
value, adding a negation if that value is false.
The same procedure can be used to create a disjunctive normal form (based on
the duality principle).
Karnaugh Map Example
|
A=F
B=F |
A=T
B=F |
A=T
B=T |
A=F
B=T |
C=F
D=F |
T |
T |
F |
T |
C=T
D=F |
F |
T |
T |
F |
C=T
D=T |
F |
T |
T |
F |
C=F
D=T |
F |
F |
F |
T |
This Week's Homework
Submit the solutions to the following two problems to Moodle as assignment
Boolean
Functions and Normal Forms.
Deadline: Thursday October 15, 2015, 22:00.
Format: Start with example, use plain text only;
use Windows
Notepad or another plain text editor
Keep the format, only replace the question marks
Caution: NO Microsoft Word, Microsoft
Excel,...
File name: solution4.txt
Homework Problem Two: Normal Forms
- Create a truth table for a Boolean function with four variables
(A, B, C, D).
- Decide on the result (truth value, T or F) for each row of the truth
table with a random function.
- As a random function, use e.g. a coin toss.
- Decide which side of the coin corresponds to which truth value
(e.g. Japanese 500-yen coin: 500 side → true; flower side → false)
- Toss the coin as many times as necessary (16
times).
- Your Boolean function will be different from the Boolean function of all
other students.
- If your Boolean function is the same as that of another student, there
will be some deduction.
- Calculate the two normal forms and a simplified formula for your Boolean
function.
提出: 10月15日 (木)、22:00 (厳守)、Moodle にて。形式は例に準拠 (プレーンテキスト,
メモ帳など)。ファイル名は solution4.txt
。
Glossary
- idempotent law
- べき等律 (冪等律)
- commutative law
- 交換律
- distributive law
- 分配律
- distribute
- 分配する
- absorption law
- 吸収律
- double negative
- 二重否定
- simplification
- 簡略化
- law of excluded middle
- 排中律
- law of (non)contradiction
- 矛盾律
- properties of true and false
- 真偽の性質
- De Morgan's law
- ド・モルガンの法則
- simplification
- 単純化
- duality principle
- 双対原理
- dual
- 双対
- normal form
- 標準形
- disjunctive normal form
- 加法標準形 (選言標準形、変数の (否定の) 積の和)
- conjunctive normal form
- 乗法標準形 (連言標準形、変数の (否定の) 和の積)
- property
- 性質
- low depth
- 深さが浅い
- (logical, electronic) circuit
- 回路
- term
- 項
- manipulate
- 操作する
- transform
- 変換
- Karnaugh map
- カルノー図表
- torus
- トーラス (ドーナツ型)
- format
- 形式
- plain text
- プレーンテキスト
- notepad (Windows application)
- メモ帳
- deduction
- 減点