Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
11 views39 pages

Lec 07 CNF

This document covers the concepts of Negation Normal Form (NNF) and Conjunctive Normal Form (CNF) in propositional logic, emphasizing the need for simpler structures in logical formulas. It discusses the transformation of formulas into these normal forms, including the removal of certain connectives and the use of Tseitin's encoding to avoid exponential growth in formula size. The document also includes exercises and theorems related to the derivation and validity of these normal forms.

Uploaded by

itachiisgenius
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views39 pages

Lec 07 CNF

This document covers the concepts of Negation Normal Form (NNF) and Conjunctive Normal Form (CNF) in propositional logic, emphasizing the need for simpler structures in logical formulas. It discusses the transformation of formulas into these normal forms, including the removal of certain connectives and the use of Tseitin's encoding to avoid exponential growth in formula size. The document also includes exercises and theorems related to the derivation and validity of these normal forms.

Uploaded by

itachiisgenius
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 39

CS228 Logic for Computer Science 2021

Lecture 7: Conjunctive Normal Form

Instructor: Ashutosh Gupta

IITB, India

Compile date: 2021-01-15

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 1
Normal forms

I Grammar of propositional logic is too complex.

I If one builds a tool, one will prefer to handle fewer connectives and simpler structure

I We transform given formulas into normal forms before handling them.

We will look at the following two normal forms


I Negation normal form
I Conjunctive normal forms

Commentary: Building a software for handling formulas with the complexity is undesirable. We aim to reduce the complexity by applying transformations to obtain a
normalized form. The normalization results in standardization and interoperability of tool.
cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 2
Removing ⊕, ⇒, and ⇔.

Please note the following equivalences that remove ⊕, ⇒, and ⇔ from a formula.
I (p ⇒ q) ≡ (¬p ∨ q)
I (p ⊕ q) ≡ (p ∨ q) ∧ (¬p ∨ ¬q)
I (p ⇔ q) ≡ ¬(p ⊕ q)

For the ease of presentation, we will assume you can remove them at will.

Commentary: Removing ⇒ is common and desirable. The removal of ⊕ and ⇔, however, blows up the formula size. Their straight up removal is not desirable. We can
avoid the blow up in some contexts. However, in our presentation we will skip the issue.
cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 3
Topic 7.1

Negation normal form

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 4
Negation normal form(NNF)

Definition 7.1
A formula is in NNF if ¬ appears only in front of the propositional variables.

Theorem 7.1
For every formula F , there is a formula F 0 in NNF such that F ≡ F 0 .

Proof.
Due to the standard equivalences, we can always push ¬ under the logical connectives.

Example 7.1
Consider ¬(q ⇒ ((p ∨ ¬s) ⊕ r ))
≡ q ∧ ¬((p ∨ ¬s) ⊕ r ) ≡ q ∧ (¬(p ∨ ¬s) ⊕ r ) ≡ q ∧ ((¬p ∧ ¬¬s) ⊕ r ) ≡ q ∧ ((¬p ∧ s) ⊕ r )
I There are negations hidden inside ⊕, ⇒, and ⇔.
Sometimes users want to also remove the symbols, while producing NNF.
Often we assume that the formulas are in NNF.
cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 5
Exercise : NNF

Exercise 7.1
Convert the following formulas into NNF
I ¬(p ⇒ q) I ¬((p ⇒ q) ⇒ (p ⇒ q))
I ¬(¬((s ⇒ ¬(p ⇔ q))) ⊕ (¬q ∨ r )) I ¬¬¬p

Exercise 7.2
In the above exercises, remove ⇒, ⇔, and ⊕ before turning the above into NNF.

Exercise 7.3
Let us suppose we have access to the parse tree of a formula, which is represented as a directed
acyclic graph (DAG) (not as a tree). Write an algorithm that produces negation normal form
(NNF) of the formula in linear time in the size of the DAG. You may assume the costs of reading
from and writing to a map data structure are constant time.

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 6
Formal derivation for NNF

Theorem 7.2
Let F 0 be the NNF of F . If we have Σ ` F , then we can derive Σ ` F 0 .

Proof.
We combine the following pieces of proofs for each step of the transformation.
I Derivations for Substitutions.
I Derivations for pushing negations inside connectives.
Therefore, we have the derivations.

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 7
Topic 7.2

Conjunctive normal form

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 8
Some terminology

I Propositional variables are also referred as atoms


I A literal is either an atom or its negation
I A clause is a disjunction of literals.

Since ∨ is associative, commutative, and absorbs multiple occurrences, a clause may be referred
as a set of literals.
Example 7.2
I p is an atom but ¬p is not.
I ¬p and p both are literals.
I p ∨ ¬p ∨ p ∨ q is a clause.
I {p, ¬p, q} is the same clause.

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 9
Conjunctive normal form(CNF)
Definition 7.2
A formula is in CNF if it is a conjunction of clauses.
Since ∧ is associative, commutative and absorbs multiple occurrences, a CNF formula may be
referred as a set of clauses

Example 7.3
I ¬p and p both are in CNF.
I (p ∨ ¬q) ∧ (r ∨ ¬q) ∧ ¬r in CNF.
I {(p ∨ ¬q), (r ∨ ¬q), ¬r } is the same CNF formula.
I {{p, ¬q}, {r , ¬q}, {¬r }} is the same CNF formula.

Exercise 7.4
a. Write a formal grammar for CNF
b. How can we represent true and false using CNF formulas?
cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 10
CNF conversion

Theorem 7.3
For every formula F there is another formula F 0 in CNF s.t. F ≡ F 0 .

Proof.
Let us suppose we have
I removed ⊕, ⇒, ⇔ using the standard equivalences,
I converted the formula in NNF with removal of ⇒, ⇔, and ⊕, and
I flattened ∧ and ∨.
...

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 11
CNF conversion (contd.)
Proof(contd.)
Now the formulas have the following form with literals at leaves.


.. ∧
After the push formula size grows!
.. ∨
Why should the method terminate? .. .. ..

Since ∨ distributes over ∧, we can always push ∨ inside ∧.


Eventually, we will obtain a formula that is CNF.
Example 7.4 Are we done?
Conversion to CNF
(p ⇒ (¬q ∧ r )) ∧ (p ⇒ ¬q)≡ (¬p ∨ (¬q ∧ r )) ∧ (¬p ∨ ¬q)≡ (¬p ∨ ¬q) ∧ (¬p ∨ r ) ∧ (¬p ∨ ¬q)
Commentary: The above is a good example of an algorithm that has intuitively clear but formally non-trivial termination argument.
cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 12
CNF conversion terminates
Theorem 7.4
The procedure of converting a formula into CNF terminates.

Proof.
For a formula F , let ν(F ) , the maximum height of ∨ to ∧ alternations in F .
Consider a formula F (G ) such that m ^
_ ni
G= Gij .
i=0 j=0
After the push we obtain F (G 0 ), where
n1
^ nm _
^ m
G0 = ... Giji
j1 =0 jm =0 i=0
| {z }
Observations ν( )<ν(G )

I G 0 is either the top formula or the parent connective is ∧


I Gij is either a literal or an ∨ formula ...
We need to apply flattening to keep F (G 0 ) in the form(like the previous proof).
cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 13
CNF conversion terminates (contd.)

(contd.)
Due to König lemma, the procedure terminates.[König lemma slides are at the end.](why?)

Exercise 7.5
Consider a set of balls that are labelled with positive numbers. We can replace a k labelled ball
with any number of balls with labels less than k. Using König lemma, show that the process
always terminates.
Hint: in the above exercise, the bag is the subformulas of F (G ).

Exercise 7.6
Show F 0 obtained from the procedure may be exponentially larger than F .

Commentary: It is slightly involved to see the application of König lemma on our theorem. We can understand the application via the above exercise. In the above
exercise, we are removing balls with large labels and replacing with balls that have smaller labels. This process will eventually hit label 1 for all balls. Once the balls with
label 1 are removed, we can not add any more balls. In a similar way in our theorem, we are removing subformulas with larger ν and replacing with many subformulas
with smaller ν. Therefore, the process will terminate. The formal constructions are left for the exercise.
cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 14
Formal derivation for CNF

Theorem 7.5
Let F 0 be the CNF of F . If we have Σ ` F , then we can derive Σ ` F 0 .

Proof.
We combine the following pieces of proofs for each step of the transformations.
I Derivations for NNF
I Derivations for substitutions that remove ⇒, ⊕, and ⇔
I Derivations for substitutions that flatten ∧ and ∨
I Derivations for substitutions that apply distributivity
Therefore, we have the derivations.

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 15
Conjunctive normal form(CNF) more notation

I A unit clause contains only one literal.


I A binary clause contains two literals.
I A ternary clause contains three literals.
I We extend the definition of clauses to the empty set of literals. Say, ⊥ is the empty clause.

Example 7.5
I (p ∧ q ∧ ¬r ) has three unit clauses
I (p ∨ ¬q ∨ ¬s) ∧ (p ∨ q) ∧ ¬r has a ternary, a binary, and a unit clause

Exercise 7.7
a. Give a linear time algorithm to prove validity of a CNF formula
b. What is the interpretation of empty set of clauses?

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 16
Topic 7.3

Tseitin’s encoding

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 17
CNF is desirable

I Fewer connectives

I Simple structure

I Many problems naturally encode into CNF.


We will see this in couple of lectures.

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 18
How do we get to CNF?

I The transformation using distributivity explodes the formula

I Is there a way to avoid the explosion?

I Yes! there is a way.

Tseitin’s encoding
But, with a cost.

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 19
Teseitin’s encoding : intuition

Example 7.6
Consider formula p ∨ (q ∧ r ), which is not in CNF.

We replace offending (q ∧ r ) by a fresh x and add clauses to encode that x behaves like (q ∧ r ).

(p ∨ x) ∧ (x ⇒ (q ∧ r ))
After simplification,
(p ∨ x) ∧ (¬x ∨ q) ∧ (¬x ∨ r )

Exercise 7.8
Ideally, we should have introduced (x ⇔ (q ∧ r )). Why is the above with implication correct?

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 20
Tseitin’s encoding (Plaisted-Greenbaum optimization included)

By introducing fresh variables, Tseitin’s encoding can translate every formula into an
equisatisfiable CNF formula without exponential explosion.

1. Assume input formula F is NNF without ⊕, ⇒, and ⇔.


2. Find a G1 ∧ · · · ∧ Gn that is just below an ∨ in F (G1 ∧ · · · ∧ Gn )
3. Replace F (G1 ∧ .. ∧ Gn ) by F (p) ∧ (¬p ∨ G1 ) ∧ .. ∧ (¬p ∨ Gn ), where p is a fresh variable
4. goto 2

Exercise 7.9
Modify the encoding such that it works without the assumptions at step 1

Commentary: If you read wikipedia about the encoding, you will find that Tseitin’s encoding adds more clauses. The above translation includes Plaisted-Greenbaum
optimization. Solve the above exercise to understand the difference. Hint: Download sat solver $wget http://fmv.jku.at/limboole/limboole1.1.tar.gz look for function
tseitin in file limboole.c
cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 21
Example: linear cost of Tseitin’s encoding
Example 7.7
Consider formula (p1 ∧ · · · ∧ pn ) ∨ (q1 ∧ · · · ∧ qm )
Using distributivity, we obtain the following CNF containing mn clauses.
^
(pi ∨ qj )
i∈1..n, j∈1..m

Using Tseitin’s encoding, we obtain the following CNF containing m + n + 1 clauses, where x
and y are the fresh Boolean variables.
^ ^
(x ∨ y ) ∧ (¬x ∨ pi ) ∧ (¬y ∨ qj )
i∈1..n j∈1..m

Exercise 7.10
Give a model to the original formula that is not a model of the transformed formula
cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 22
Tseitin’s encoding preserves satisfiability
Let us prove one direction of the equisatisfiability.
Theorem 7.6
if m |= F (p) ∧ (¬p ∨ G1 ) ∧ · · · ∧ (¬p ∨ Gn ) then m |= F (G1 ∧ · · · ∧ Gn )

Proof.
Assume m |= F (p) ∧ (¬p ∨ G1 ) ∧ · · · ∧ (¬p ∨ Gn ). We have three cases.

First case m |= p:
I Therefore, m |= Gi for all i ∈ 1..n.
I Therefore, m |= G1 ∧ · · · ∧ Gn .
I Due to the substitution theorem, m |= F (G1 ∧ · · · ∧ Gn ).

Second case m 6|= p and m 6|= G1 ∧ · · · ∧ Gn :


I Due to the substitution theorem, m |= F (G1 ∧ · · · ∧ Gn )
...
cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 23
Tseitin’s encoding preserves satisfiability(contd.)

Proof(contd.)
Third case m 6|= p and m |= G1 ∧ · · · ∧ Gn :
I Since F (G1 ∧ · · · ∧ Gn ) is in NNF, p occurs only positively in F (p).
I Therefore, m[p 7→ 1] |= F (p)(why?).
I Since p does not occur in Gi s, m[p 7→ 1] |= G1 ∧ · · · ∧ Gn .
I Due to the substitution theorem, m[p 7→ 1] |= F (G1 ∧ · · · ∧ Gn )
I Therefore, m |= F (G1 ∧ · · · ∧ Gn ).

We leave the other direction of equisatisfiability as the following exercise.


Exercise 7.11
Show if 6|= F (p) ∧ (¬p ∨ G1 ) ∧ .. ∧ (¬p ∨ Gn ) then 6|= F (G1 ∧ .. ∧ Gn )

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 24
Topic 7.4

Disjunctive normal form

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 25
Disjunctive normal form(DNF)

Definition 7.3
A formula is in DNF if it is a disjunction of conjunctions of literals.

Theorem 7.7
For every formula F there is another formula F 0 in DNF s.t. F ≡ F 0 .

Proof.
Proof is similar to CNF.

Exercise 7.12
a. Give the formal grammar of DNF
b. Give a linear time algorithm to prove satisfiability of a DNF formula

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 26
Topic 7.5

Problems

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 27
Monotonic NNF

Definition 7.4
If m |= F , let pos(F , m) be the set of literals that are true in m and appear in F .

Example 7.8
pos(¬p2 ∧ (p1 ∨ p2 ), {p1 7→ 1, p2 7→ 0}) = {p1 , ¬p2 }

Exercise 7.13
Show that if m |= F and pos(m, F ) ⊆ pos(m0 , F ) then m0 |= F .

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 28
CNF and DNF

Exercise 7.14
Give an example of a non-trivial formula that is both CNF and DNF

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 29
CNF

Exercise 7.15
Convert the following formulas into CNF with/without introducing fresh variables
1. ¬((p ⇒ q) ⇒ ((q ⇒ r ) ⇒ (p ⇒ r )))
2. (p ⇒ (¬q ⇒ r )) ∧ (p ⇒ ¬q) ⇒ (p ⇒ r )
3. (p ⇒ q) ∨ (q ⇒ ¬r ) ∨ (r ⇒ q) ⇒ ¬(¬(q ⇒ p) ⇒ (q ⇔ r ))

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 30
P=NP argument

Exercise 7.16
What is wrong with the following proof of P=NP? Give counterexample.

Tseitin’s encoding does not explode and proving validity of CNF formulas has a linear time
algorithm. Therefore, we can convert every formula into CNF in polynomial time and check
validity in linear time. As a consequence, we can check satisfiability of F in linear time by
checking validity of ¬F in linear time.

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 31
Validity**

Exercise 7.17
Give a procedure like Tseitin’s encoding that converts a formula into another equi-valid DNF
formula. Prove correctness of your transformation.

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 32
Algebraic normal form(ANF)**

ANF formulas are defined using the following grammar.

A ::=> | ⊥ | p
C ::=A ∧ C |A
ANF ::=C ⊕ ANF |C

Exercise 7.18
a. Give an efficient algorithm to covert any formula into equivalent ANF formula.
b. Give an efficient algorithm to covert any formula into equisatisfiable ANF formula.

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 33
CNF vs. DNF***

Exercise 7.19
Give a class of Boolean functions that can be represented using linear size DNF formula but can
only be represented by an exponential size CNF formula.

Exercise 7.20
Give a class of Boolean functions that can be represented using linear size CNF formula but can
only be represented by an exponential size DNF formula.

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 34
Probability of satisfiability***

Exercise 7.21
a. What is the probability that the conjunction of a random multiset of literals of size k over n
Boolean variables is unsatisfiable?
b. What is the probability that the conjunction of a random set of literals of size k over n
Boolean variables is unsatisfiable?

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 35
And invertor graphs (AIG)**

AIG formulas are defined using the following grammar.

A ::=A ∧ A|¬A|p

Exercise 7.22
Give heuristics to minimize the number of inverters in an AIG formula without increasing the size
of the formula.

Commentary: Example of such heuristics: Local Two-Level And-Inverter Graph Minimization without Blowup. Robert Brummayer and Armin Biere, 2006.

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 36
Topic 7.6

Supporting slides

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 37
König’s Lemma
Theorem 7.8
For an infinite connected graph G , if degree of each node is finite then there is an infinite simple
path in G from each node.

Proof.
We construct an infinite simple path v1 , v2 , v3 , ... as follows.
base case:
Choose any v1 ∈ G .Let G1 , G .
induction step:
1. Assume path v1 , .., vi and an infinite connected graph Gi such that vi ∈ Gi and v1 ..vi−1 6∈ Gi .
2. In Gi , there is a neighbour vi+1 ∈ Gi of vi such that infinite nodes are reachable from vi+1
without visiting vi .(why?)
3. Let S be the reachable nodes. Let Gi+1 , Gi |S .

Exercise 7.23
Prove that any finitely-branching infinite tree must have an infinite branch.
cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 38
End of Lecture 7

cbna CS228 Logic for Computer Science 2021 Instructor: Ashutosh Gupta IITB, India 39

You might also like