Propositional Logic, Normal Forms
(命題論理、標準形)
Discrete Mathematics I
4th lecture, October 10, 2025
https://www.sw.it.aoyama.ac.jp/2025/Math1/lecture4.html
Martin J. Dürst

© 2005-25 Martin
J. Dürst Aoyama Gakuin
University
Today's Schedule
- Summary of last lecture
- Last lecture's homework
- Laws for logical operations
- From truth table to logical formula
- Normal forms and their simplification
- Karnaugh map
- This week's homework
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: high: ¬, medium: ∧, low: ∨
- Representation of formulæ as trees
- 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 Basic Logical Operations
| operation name |
disjunction |
conjunction |
negation |
| function name |
or |
and |
not |
| precedence |
low |
medium |
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 Homework:
Propositions: True or False
- Solve the quiz Homework:
Truth Table 1
- Solve the quiz Homework:
Truth Table 2
- Use highschool texts or the Web to find out about other laws for logical
operations.
- Bring highlighter pens to the next lecture (ideally green and blue)
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 laws are specific to two-valued logic?
law of excluded middle, law of noncontradiction
- 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
Use of 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
Pairs of Laws
When looking at the laws of logical operations, we see many laws that come
in pairs:
Examples:
- T∨A = T and F∧A = F
- T∧A = A and
F∨A = A
- A∨¬A = T and
A∧¬A = F
- Idempotent laws, commutative laws, associative laws, distributive laws,
De Morgan's laws, absorption laws
The only exception is the double negative
This suggests some general principle
The Duality Principle for Logical Operations
When looking at the laws of logical operations, we see the following:
If we start with a true formula and exchange all instances of ∧/∨, and
T/F, we obtain another true formula.
(Caution: We may have to adjust parentheses; e.g. for the distributive law)
The new formula is called the dual of the old formula.
This is true in general. If a formula is true, its dual is also true. This
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.
Application example:
The dual of (¬A∨B) ∧ C =
C∧¬A ∨ B∧C is: ¬A∧B ∨ C =
(C∨¬A) ∧ (B∨C)
The dual of (A∧T) ∨ (A∧B)
= A is (A∨F) ∧
(A∨B) = A
From a Truth Table to a Logical Formula
Assume we are given a Boolean function as a truth table, for example:
| 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 conjunctions (of negations) of
variables
- Example: A∧¬B ∨
¬A∧B
- Conjunctive normal form (CNF):
- Conjunction of disjunctions (of negations) of
variables
- Example: (A∨B) ∧ (¬A∨¬B)
Construction of Normal Forms
For disjunctive normal form [conjunctive normal form is given in [], based on the duality
principle]
- Look only at the rows in the truth table where the result is T [F]
- If for all rows, the result is F [T], the overall result is F
[T]
- 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)
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 (see lecture
5))
- Possibly long formula (→circuits may need lots of space)
Simplification of Normal Forms
Normal forms can be 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
(for disjunctive normal form: disjunction of conjunctions (of negations)).
Using a different structure may allow an even shorter formula.
(example: (A∧B∨C)∧D)
Simplification by Rewriting
- Try to use any laws/properties to simplify the normal form.
- Most frequent simplification step:
- Example: A∧B∧C ∨
A∧¬B∧C ⇒
A∧C∧ (B ∨ ¬B) ⇒
A∧C∧ T ⇒ A∧C
- Look for two terms where only the presence/absence of negation for
one variable differs.
- Use a distributive law (backwards), the law of the excluded middle or
of (non)contradiction, 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.)
- 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 may be more than one solution to simplification. Different
simplification paths with different steps may lead to different (but
equivalent) 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 |
Final result: ¬B∧¬C∧¬D ∨
A∧C ∨
¬A∧B∧¬C
Karnaugh Map Construction
Creating a simplification of a disjunctive normal
form [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 [F] (fields with F [T] 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
[Fs] are included. The groups can overlap. There
may be several equally minimal solutions. If there are uncovered Ts [Fs], surround them to make
them groups of 1.
- 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 F [T].
This Week's Homework
Submit the solutions to the following two problems to Moodle as assignment
Boolean
Formulæ and Normal Forms.
Deadline: Thursday October 16, 2025, 22:00.
Format: Start with template,
use plain text only; use a plain text editor (such as Microsoft Notepad)
Keep all text, formatting, and character encoding (UTF-8)
Replace all the question marks; do not replace/translate anything else, do
not remove spaces or empty lines
For operators,... use the symbols already used in the template
Caution: NO Microsoft Word, Microsoft
Excel,...
File name: solution4.txt
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 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 a deduction.
- Calculate the two normal forms and a simplified formula for your Boolean
function.
提出: 10月16日 (木)、22:00 (厳守)、Moodle にて。形式は雛形に厳守
(プレーンテキスト, ?
のところだけ埋めて、残りを全部そのまま残す)。ファイル名は
solution4.txt。
Glossary
- idempotent law
- べき等律 (冪等律)
- commutative law
- 交換律
- 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
- 減点