# 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 # 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

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

 A B disjunction conjunction negation or and not precedence low middle high 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

1. Solve the quiz Propositions: True or False
2. Solve the quiz Truth Table 1
3. Solve the quiz Truth Table 2
4. Use highschool texts or the Web to research about laws for logical operations.

# List of Laws for Logical Operations

1. Idempotent laws: AA = A,   AA = A
2. Commutative laws: AB = BA,   AB = BA
3. Associative laws: (AB) ∧ C = A ∧ (BC),   (AB) ∨ C = A ∨  (BC)
4. Distributive laws: A ∧ (BC) =  AB ∨ AC,
ABC =  (AB) ∧ (AC)
5. Absorption laws: A ∧ (AB) = A,   A ∨ AB = A
6. Double negative: ¬¬A = A
7. Law of excluded middle: A∨¬A = T
8. Law of (non)contradiction: A∧¬A = F
9. Properties of true and false: T∧A = A,   T∨A = T,   F∧A = F,   F∨A = A
10. De Morgan's laws: ¬(AB) = ¬A∨¬B,   ¬(AB) = ¬A∧¬B

• 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 = (AB) ∨ (¬BB) = (AB) ∨ F = AB

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

Application: Proof of absorption law from other laws

A ∧ (AB) = (AF) ∧ (AB) = 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
AB) ∧ C = C∧¬ABC; dual: ¬ABC = (C∨¬A) ∧ (BC)

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 ∨ ¬AB
Conjunctive normal form (CNF):
Conjunction of disjunction (of negation) of variables
Example: (AB) ∧ (¬A∨¬B)

# Construction of Normal Forms

For disjunctive normal form [conjunctive normal form is given in [], based on duality principle]

1. Look only at the rows in the truth table where the result is T [F]
2. For each of these rows, construct the conjunction [disjunction] of all the variables (A, B, C,...)
3. If the variable's value in a row is F [T], then add a negation to this variable in this row
4. 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∧¬BCA∧¬BCABC

CNF: (A∨¬BC) ∧ (A∨¬B∨¬C) ∧ (¬ABC) ∧ (¬A∨¬BC)

# 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: ABCA∧¬BCAC∧ (B ∨ ¬B) ⇒ AC∧ T ⇒ AC
• This corresponds to the graphical grouping in the Karnaugh map

Example for three-variable normal form: ABCA∧¬BC ∨ ¬A∧¬BC ∨ ¬A∧¬B∧¬CAC ∨ ¬A∧¬B

Attention: There may be more than one solution to simplification. Different simplification paths with different steps may lead to different results.

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:

1. 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;...)
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.
3. Arrange the truth values in each direction so that only one variable's value differs from row to row and from column to column.
4. Concentrate on the fields with a T (fields with F can be left blank)
5. Surround any two neighboring (according to step 2) fields with a line.
6. 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.
7. Select a minimal number of groups so that all Ts are included. The groups can overlap. There may be several equally minimal solutions.
8. 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.

Keep the format and character encoding (UTF-8), 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 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.

# Glossary

idempotent law
べき等律 (冪等律)
commutative law

distributive law

distribute

absorption law

double negative

simplification

law of excluded middle

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
プレーンテキスト