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

 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

# 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 = (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.

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

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 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∧¬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].

# 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: ABCA∧¬BCAC∧ (B ∨ ¬B) ⇒ 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 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:

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;...)
2. 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.
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 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).

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.

# 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