Propositional Logic, Normal Forms
(命題論理、標準形)
Discrete Mathematics I
4th lecture, October 11, 2019
https://www.sw.it.aoyama.ac.jp/2019/Math1/lecture4.html
Martin J. Dürst
© 200519 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
Schedule for the Next Few Weeks
 October 11 (today): Propositional Logic, Normal Forms
 October 18: No lecture (overseas conference)
 October 25: Logic Circuits, Axioms for Basic Logic
 November 1: No lectures (Aoyama Festival)
 November 8: Sets
 November 15: Predicate Logic and Quantifiers
About Moodle
If you have still not registered for "Discrete Mathematics I" at https://moo.sw.it.aoyama.ac.jp, you
must come to the front immediately after this lecture.
Summary of Last Lecture
 Propositions: sentences which are objectively either correct (true) or
wrong (false)
 Basic logical (Boolean) operations:
Conjunction (and, ∧), disjunction (or, ∨), negation (not, ¬)
 Precedence: highest: ¬, lower: ∧, lowest: ∨
 Use of truth tables:
 Definition of logical operations
 Evaluation of a Boolean formula for all values of its variables
 Proof of the equivalence of two Boolean formulæ (next lecture)
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 
Last Week's Homework
 Solve the quiz Propositions:
True or False
 Solve the quiz Truth Table
1
 Solve the quiz Truth Table
2
 Use highschool texts or the Web to research about laws for logical
operations.
List of Laws for Logical Operations
 Idempotent laws: A∧A = A,
A∨A = A
 Commutative laws: A∧B = B∧
A,
A∨B = B∨A
 Associative laws:
(A∧B) ∧ C = A ∧ (B∧C),
(A∨B) ∨ C = A ∨
(B∨C)
 Distributive laws: A ∧ (B∨C) =
A∧B ∨ A∧C,
A ∨ B∧C =
(A∨B) ∧ (A∨C)
 Absorption laws:
A ∧ (A∨B) = A,
A ∨ A∧B = A
 Double negative: ¬¬A = A
 Law of excluded middle: A∨¬A = T
 Law of (non)contradiction: A∧¬A = F
 Properties of true and false: T∧A = A,
T∨A = T, F∧A = F,
F∨A = A
 De Morgan's
laws:
¬(A∧B) = ¬A∨¬B,
¬(A∨B) = ¬A∧¬B
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 twovalued 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.
(We may have to adjust parentheses.)
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 called 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 Boolean function as at ruth table, e.g.:
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 Boolean function (truth
table)?
Two Normal Forms
The easiest way to create a logical formula for a Boolean function is to use
a normal form. There are two normal forms.
 Disjunctive normal form
(DNF):
 Disjunction of
conjunction (of negation) of variables
 Example: A∧¬B ∨
¬A∧B
 Conjunctive normal form
(CNF):
 Conjunction of
disjunction (of negation) of variables
 Example: (A∨B) ∧
(¬A∨¬B)
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
formulæ created
Example of Normal Forms
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].
Properties of Normal Forms
 Easy to construct
 Possible to construct for any Boolean function (truth table)
 Low depth (→fast logical circuit)
 Possibly long formula (→circuit may need lots of space)
Simplification of Normal Forms
Normal forms can get very long. It helps to simplify them. There are two
methods:
 Rewrite (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 Normal Form).
Using a different structure may allow a shorter formula.
Simplification by Rewriting
 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∧ T ⇒ A∧C
 This corresponds to the graphical grouping in the Karnaugh map
Example for threevariable normal form:
A∧B∧C ∨
A∧¬B∧C ∨
¬A∧¬B∧C ∨
¬A∧¬B∧¬C ⇒ A∧C ∨
¬A∧¬B
Attention: There may be more than one solution to simplification. Different
simplification paths with different steps may lead to different results.
Karnaugh Map Example

A=F 
A=T 
A=F 
B=F 
B=T 
C=F 
D=F 
T 
T 
F 
T 
C=T 
F 
T 
T 
F 
D=T 
F 
T 
T 
F 
C=F 
F 
F 
F 
T 
Karnaugh Map Construction
Creating a simplification of a disconjunctive normal
form:
 Create a twodimensional 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 of 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
condisjunctive normal form (based on the duality
principle).
This Week's Homework
Submit the solutions to the following two problems to Moodle as assignment
Boolean
Formulæ and Normal Forms.
Deadline: Thursday October 17, 2019, 22:00.
Format: Start with template, use plain text
only; use Microsoft
Notepad or another plain text editor
Keep the format and character encoding (UTF8), only replace the question
marks
For operators,... use the symbols already used in the template
Caution: NO Microsoft Word, Microsoft
Excel,...
File name: solution4.txt
Caution: Next week, I will be traveling. Replies to email may take one full
day or longer.
Homework Problem One: All Boolean Functions of Two Variables
 List all the possible Boolean functions of two variables A and
B in a table.
Use one row for each Boolean function.
 For each function, find the/a simplest formula (using ¬, ∧, and
∨).
 Example answer (incomplete):
A = F
B = F 
A =
F
B = T 
A =
T
B = F 
A =
T
B = T 
simplest formula 
F 
F 
F 
F 
F 
F 
F 
F 
T 
A ∧
B 
F 
F 
T 
F 
? 
? 
? 
? 
? 
? 
 Explanation: An independent truth table for the Boolean function in the
third row of the above table looks as below. Parts with the same color
represent the same information. Overall there are 16 Boolean functions of
two variables.
A 
B 
A ∧
B 
F 
F 
F 
F 
T 
F 
T 
F 
F 
T 
T 
T 
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 500yen 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 a deduction.
 Calculate the two normal forms and a simplified formula for your Boolean
function.
提出: 10月17日 (木)、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
 形式
 template
 雛形
 plain text
 プレーンテキスト
 notepad (Windows application)
 メモ帳
 deduction
 減点