logic and computation –cs 2800 fall 2019
TRANSCRIPT
![Page 1: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/1.jpg)
Logic and Computation – CS 2800Fall 2019
Lecture 12Propositional logic continued
CNF, DNF, complete Boolean bases
Stavros Tripakis
![Page 2: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/2.jpg)
Discuss homework 02 survey
• How many courses are you taking?• How many hours per course would you like to be spending, ideally?— Including everything: attending lectures, reading,
homeworks, projects, piazza, …
• How many of those hours on homework?
Tripakis Logic and Computation, Fall 2019 2
![Page 3: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/3.jpg)
Outline
• Properties of Boolean operators: read and assimilate Section 3.3 of lecture notes!
• Normal forms, DNF and CNF• Complete Boolean bases
Tripakis Logic and Computation, Fall 2019 3
![Page 4: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/4.jpg)
Properties of Boolean operators
• Review lecture notes, section 3.3
Tripakis Logic and Computation, Fall 2019 4
![Page 5: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/5.jpg)
Normal forms, CNF, DNF
Tripakis Logic and Computation, Fall 2019 5
![Page 6: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/6.jpg)
Negation Normal Form (NNF)
• “Push” all negations all the way to the leaves of the syntax tree of the formula (literals)
• Eliminate double negations• Examples:
Tripakis Logic and Computation, Fall 2019 6
![Page 7: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/7.jpg)
Negation Normal Form (NNF)
• “Push” all negations all the way to the leaves of the syntax tree of the formula (literals)
• Eliminate double negations• Examples:
Tripakis Logic and Computation, Fall 2019 7
![Page 8: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/8.jpg)
Disjunctive Normal Form (DNF)
• A formula is in DNF if it is a disjunction of conjunctions of literals
• Literal = either a variable or a negated variable• Examples: which formulas below are in DNF?
Tripakis Logic and Computation, Fall 2019 8
![Page 9: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/9.jpg)
Conjunctive Normal Form (CNF)
• A formula is in CNF if it is a conjunction of disjunctions of literals
• A disjunction of literals is also called a clause• Examples: which formulas below are in CNF?
Tripakis Logic and Computation, Fall 2019 9
![Page 10: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/10.jpg)
Can we transform any Boolean formula into DNF?• Yes • Brute‐force method:
1. Build the truth table of the formula2. For each row that gives “T”, generate a conjunction of
literals3. Take the disjunction of all conjunctions generated in
step 2
Tripakis Logic and Computation, Fall 2019 10
![Page 11: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/11.jpg)
Can we transform any Boolean formula into DNF?• Yes • Brute‐force method:
1. Build the truth table of the formula2. For each row that gives “T”, generate a conjunction of
literals3. Take the disjunction of all conjunctions generated in step 2
• Our example: • Is this method efficient? No: it’s exponential!• Does there exist a fundamentally better (polynomial) method?
• No: if there were, I could solve the SAT problem in polynomial time – how?
Tripakis Logic and Computation, Fall 2019 11
![Page 12: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/12.jpg)
Sometimes there are better (shorter) DNFs• Consider function f:• What DNF does the brute‐force method give?
• Is there a better DNF?
Tripakis Logic and Computation, Fall 2019 12
![Page 13: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/13.jpg)
How long can the DNF get in the worst case?• Consider this CNF formula (4 clauses):
• Quiz: What’s the minimal number of conjunctions needed for the corresponding DNF?— A: 1 D: 8— B: 3 E: 16— C: 6 F: 64
Tripakis Logic and Computation, Fall 2019 13
![Page 14: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/14.jpg)
Can we transform any Boolean formula into CNF?• Yes • Brute‐force method: the dual of the method for DNF
1. Build the truth table of the formula2. For each row that gives “F”, generate a conjunction of
literals, and then negate it, obtaining a clause3. Take the conjunction of all clauses generated in step 2
• Is this method efficient? No: it’s exponential!• Does there exist a fundamentally better (polynomial) method? — Yes! Tseytin transformation.
Tripakis Logic and Computation, Fall 2019 14
![Page 15: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/15.jpg)
Tseytin transformation by example
Tripakis Logic and Computation, Fall 2019 15
Note: 𝑎 ⋅ 𝑏 𝑎𝑏 𝑎 ∧ 𝑏, 𝑎 𝑏 𝑎 ∨ 𝑏, 𝑎 𝑎
![Page 16: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/16.jpg)
Tseytin transformation by example
Tripakis Logic and Computation, Fall 2019 16
![Page 17: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/17.jpg)
Uses of CNF and DNF
• CNF: standard input format for SAT solvers (DIMACS format)— Avoids irrelevant details on parsing, simplification, etc— Efficient (polynomial) transformations to CNF exist (Tseytin
transformation)
• Minimizing DNF has many applications:— Logic synthesis, reliability, …
• Several other “normal” (“canonical”) forms: binary‐decision diagrams (BDDs), …— E.g., see course CS‐4830 on model‐checking
Tripakis Logic and Computation, Fall 2019 17
![Page 18: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/18.jpg)
Complete Boolean bases
Tripakis Logic and Computation, Fall 2019 18
![Page 19: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/19.jpg)
Boolean functions• Boolean function = truth table
• How many Boolean functions of arity N are there?— Arity N => truth table has 2 rows— Each row can have 2 possible values (T/F)— 2 possible functions!
Tripakis Logic and Computation, Fall 2019 19
![Page 20: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/20.jpg)
Boolean functions• How many Boolean functions of arity 2 are there?
— 2 2 16 possible functions— We have only seen some of those:
Tripakis Logic and Computation, Fall 2019 20
Can you think of a few more?
![Page 21: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/21.jpg)
Boolean functions
• How many Boolean functions of arity 3 are there?— 2 2 256 possible functions
• How many Boolean functions of arity 4 are there?— 2 2 65536 possible functions
• How many Boolean functions of arity 5 are there?— 2 2 4294967296 possible functions
Tripakis Logic and Computation, Fall 2019 21
Can we represent all those functions with the basic functions we have seen
(and, or, not, …) ?
![Page 22: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/22.jpg)
Complete Boolean base
• Can we define all Boolean functions using some basic Boolean functions (and, or, not, …)?
• Yes: e.g., use DNF. DNF only uses • We say that the set is a complete Boolean base
• Is there a smaller complete Boolean base? (with fewer functions)
• Yes! is one, and is another
Tripakis Logic and Computation, Fall 2019 22
![Page 23: Logic and Computation –CS 2800 Fall 2019](https://reader031.vdocument.in/reader031/viewer/2022012507/6183a82116e6131e057d703a/html5/thumbnails/23.jpg)
Next time
• Formula simplification• Equational proofs
• Read Chapter 3 until the end
Tripakis Logic and Computation, Fall 2019 23