Disjunctive and conjunctive normal forms: basic definitions 1. A literal is a propositional constant or variable or its negation. 2. An elementary disjunction (resp., elementary conjunction) is a disjunction (resp., conjunction) of one or more literals. Examples: p , ¬ q , p ∨ ¬ q , p ∨ ¬ p ∨ q ∨ ¬ r are elementary disjunctions; p , ¬ q , ¬ p ∧ q , ¬ p ∧ q ∧ ¬ r ∧ ¬ p are elementary conjunctions. 3. A disjunctive normal form (DNF) is a disjunction of elementary conjunctions. Examples: p , ¬ q , p ∧ ¬ q , p ∨ ¬ q , ( p ∧ ¬ p ) ∨ ¬ q , ( r ∧ q ∧ ¬ p ) ∨ ( ¬ q ∧ p ) ∨ ( ¬ r ∧ p ). 4. A conjunctive normal form (CNF) is a conjunction of elementary disjunctions. Examples: p , ¬ q , p ∧ ¬ q , Goranko
Disjunctive and conjunctive normal forms: basic definitions 1. A literal is a propositional constant or variable or its negation. 2. An elementary disjunction (resp., elementary conjunction) is a disjunction (resp., conjunction) of one or more literals. Examples: p , ¬ q , p ∨ ¬ q , p ∨ ¬ p ∨ q ∨ ¬ r are elementary disjunctions; p , ¬ q , ¬ p ∧ q , ¬ p ∧ q ∧ ¬ r ∧ ¬ p are elementary conjunctions. 3. A disjunctive normal form (DNF) is a disjunction of elementary conjunctions. Examples: p , ¬ q , p ∧ ¬ q , p ∨ ¬ q , ( p ∧ ¬ p ) ∨ ¬ q , ( r ∧ q ∧ ¬ p ) ∨ ( ¬ q ∧ p ) ∨ ( ¬ r ∧ p ). 4. A conjunctive normal form (CNF) is a conjunction of elementary disjunctions. Examples: p , ¬ q , p ∧ ¬ q , p ∨ ¬ q , Goranko
Disjunctive and conjunctive normal forms: basic definitions 1. A literal is a propositional constant or variable or its negation. 2. An elementary disjunction (resp., elementary conjunction) is a disjunction (resp., conjunction) of one or more literals. Examples: p , ¬ q , p ∨ ¬ q , p ∨ ¬ p ∨ q ∨ ¬ r are elementary disjunctions; p , ¬ q , ¬ p ∧ q , ¬ p ∧ q ∧ ¬ r ∧ ¬ p are elementary conjunctions. 3. A disjunctive normal form (DNF) is a disjunction of elementary conjunctions. Examples: p , ¬ q , p ∧ ¬ q , p ∨ ¬ q , ( p ∧ ¬ p ) ∨ ¬ q , ( r ∧ q ∧ ¬ p ) ∨ ( ¬ q ∧ p ) ∨ ( ¬ r ∧ p ). 4. A conjunctive normal form (CNF) is a conjunction of elementary disjunctions. Examples: p , ¬ q , p ∧ ¬ q , p ∨ ¬ q , p ∧ ( ¬ p ∨ ¬ q ), Goranko
Disjunctive and conjunctive normal forms: basic definitions 1. A literal is a propositional constant or variable or its negation. 2. An elementary disjunction (resp., elementary conjunction) is a disjunction (resp., conjunction) of one or more literals. Examples: p , ¬ q , p ∨ ¬ q , p ∨ ¬ p ∨ q ∨ ¬ r are elementary disjunctions; p , ¬ q , ¬ p ∧ q , ¬ p ∧ q ∧ ¬ r ∧ ¬ p are elementary conjunctions. 3. A disjunctive normal form (DNF) is a disjunction of elementary conjunctions. Examples: p , ¬ q , p ∧ ¬ q , p ∨ ¬ q , ( p ∧ ¬ p ) ∨ ¬ q , ( r ∧ q ∧ ¬ p ) ∨ ( ¬ q ∧ p ) ∨ ( ¬ r ∧ p ). 4. A conjunctive normal form (CNF) is a conjunction of elementary disjunctions. Examples: p , ¬ q , p ∧ ¬ q , p ∨ ¬ q , p ∧ ( ¬ p ∨ ¬ q ), ( r ∨ q ∨ ¬ r ) ∧ ¬ q ∧ ( ¬ p ∨ r ). Goranko
Algorithm for equivalent transformation to CNF/DNF Goranko
Algorithm for equivalent transformation to CNF/DNF Theorem (Conjunctive normal form) Every propositional formula is equivalent to a disjunctive normal form and to a conjunctive normal form. Goranko
Algorithm for equivalent transformation to CNF/DNF Theorem (Conjunctive normal form) Every propositional formula is equivalent to a disjunctive normal form and to a conjunctive normal form. Algorithm transforming a formula into a DNF, respectively CNF: Goranko
Algorithm for equivalent transformation to CNF/DNF Theorem (Conjunctive normal form) Every propositional formula is equivalent to a disjunctive normal form and to a conjunctive normal form. Algorithm transforming a formula into a DNF, respectively CNF: 1. Eliminate all occurrences of ↔ and → using the equivalences A ↔ B ≡ ( A → B ) ∧ ( B → A ) and A → B ≡ ¬ A ∨ B . Goranko
Algorithm for equivalent transformation to CNF/DNF Theorem (Conjunctive normal form) Every propositional formula is equivalent to a disjunctive normal form and to a conjunctive normal form. Algorithm transforming a formula into a DNF, respectively CNF: 1. Eliminate all occurrences of ↔ and → using the equivalences A ↔ B ≡ ( A → B ) ∧ ( B → A ) and A → B ≡ ¬ A ∨ B . 2. Transform to negation normal form by using the relevant equivalences. Goranko
Algorithm for equivalent transformation to CNF/DNF Theorem (Conjunctive normal form) Every propositional formula is equivalent to a disjunctive normal form and to a conjunctive normal form. Algorithm transforming a formula into a DNF, respectively CNF: 1. Eliminate all occurrences of ↔ and → using the equivalences A ↔ B ≡ ( A → B ) ∧ ( B → A ) and A → B ≡ ¬ A ∨ B . 2. Transform to negation normal form by using the relevant equivalences. 3. For a DNF: distribute all conjunctions over disjunctions using p ∧ ( q ∨ r ) ≡ ( p ∧ q ) ∨ ( p ∧ r ) . Goranko
Algorithm for equivalent transformation to CNF/DNF Theorem (Conjunctive normal form) Every propositional formula is equivalent to a disjunctive normal form and to a conjunctive normal form. Algorithm transforming a formula into a DNF, respectively CNF: 1. Eliminate all occurrences of ↔ and → using the equivalences A ↔ B ≡ ( A → B ) ∧ ( B → A ) and A → B ≡ ¬ A ∨ B . 2. Transform to negation normal form by using the relevant equivalences. 3. For a DNF: distribute all conjunctions over disjunctions using p ∧ ( q ∨ r ) ≡ ( p ∧ q ) ∨ ( p ∧ r ) . 4. For a CNF: distribute all disjunctions over conjunctions using p ∨ ( q ∧ r ) ≡ ( p ∨ q ) ∧ ( p ∨ r ) . Goranko
Some useful simplifications Goranko
Some useful simplifications Throughout this process the formulae can be simplified by using commutativity, associativity, and idempotency of ∨ and , as well as: Goranko
Some useful simplifications Throughout this process the formulae can be simplified by using commutativity, associativity, and idempotency of ∨ and , as well as: ◮ p ∨ ¬ p ≡ ⊤ ; p ∧ ¬ p ≡ ⊥ ; Goranko
Some useful simplifications Throughout this process the formulae can be simplified by using commutativity, associativity, and idempotency of ∨ and , as well as: ◮ p ∨ ¬ p ≡ ⊤ ; p ∧ ¬ p ≡ ⊥ ; ◮ p ∧ ⊤ ≡ p ; p ∧ ⊥ ≡ ⊥ ; Goranko
Some useful simplifications Throughout this process the formulae can be simplified by using commutativity, associativity, and idempotency of ∨ and , as well as: ◮ p ∨ ¬ p ≡ ⊤ ; p ∧ ¬ p ≡ ⊥ ; ◮ p ∧ ⊤ ≡ p ; p ∧ ⊥ ≡ ⊥ ; ◮ p ∨ ⊤ ≡ ⊤ ; p ∨ ⊥ ≡ p . Goranko
Transformation to DNF and CNF: example Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) ≡ ( ¬ p ∨ ¬¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) (driving ¬ inside) Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) ≡ ( ¬ p ∨ ¬¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) (driving ¬ inside) ≡ ¬ p ∨ r ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) ≡ ( ¬ p ∨ ¬¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) (driving ¬ inside) ≡ ¬ p ∨ r ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) For a DNF we further distribute ∧ over ∨ and simplify: Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) ≡ ( ¬ p ∨ ¬¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) (driving ¬ inside) ≡ ¬ p ∨ r ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) For a DNF we further distribute ∧ over ∨ and simplify: ≡ ¬ p ∨ r ∨ ((( ¬ p ∨ ¬ q ) ∧ q ) ∨ (( ¬ p ∨ ¬ q ) ∧ p )) Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) ≡ ( ¬ p ∨ ¬¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) (driving ¬ inside) ≡ ¬ p ∨ r ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) For a DNF we further distribute ∧ over ∨ and simplify: ≡ ¬ p ∨ r ∨ ((( ¬ p ∨ ¬ q ) ∧ q ) ∨ (( ¬ p ∨ ¬ q ) ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ( ¬ q ∧ q )) ∨ (( ¬ p ∧ p ) ∨ ( ¬ q ∧ p )) Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) ≡ ( ¬ p ∨ ¬¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) (driving ¬ inside) ≡ ¬ p ∨ r ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) For a DNF we further distribute ∧ over ∨ and simplify: ≡ ¬ p ∨ r ∨ ((( ¬ p ∨ ¬ q ) ∧ q ) ∨ (( ¬ p ∨ ¬ q ) ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ( ¬ q ∧ q )) ∨ (( ¬ p ∧ p ) ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ⊥ ) ∨ ( ⊥ ∨ ( ¬ q ∧ p )) Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) ≡ ( ¬ p ∨ ¬¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) (driving ¬ inside) ≡ ¬ p ∨ r ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) For a DNF we further distribute ∧ over ∨ and simplify: ≡ ¬ p ∨ r ∨ ((( ¬ p ∨ ¬ q ) ∧ q ) ∨ (( ¬ p ∨ ¬ q ) ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ( ¬ q ∧ q )) ∨ (( ¬ p ∧ p ) ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ⊥ ) ∨ ( ⊥ ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ ( ¬ p ∧ q ) ∨ ( ¬ q ∧ p ). Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) ≡ ( ¬ p ∨ ¬¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) (driving ¬ inside) ≡ ¬ p ∨ r ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) For a DNF we further distribute ∧ over ∨ and simplify: ≡ ¬ p ∨ r ∨ ((( ¬ p ∨ ¬ q ) ∧ q ) ∨ (( ¬ p ∨ ¬ q ) ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ( ¬ q ∧ q )) ∨ (( ¬ p ∧ p ) ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ⊥ ) ∨ ( ⊥ ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ ( ¬ p ∧ q ) ∨ ( ¬ q ∧ p ). For a CNF we distribute ∨ over ∧ and simplify: Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) ≡ ( ¬ p ∨ ¬¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) (driving ¬ inside) ≡ ¬ p ∨ r ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) For a DNF we further distribute ∧ over ∨ and simplify: ≡ ¬ p ∨ r ∨ ((( ¬ p ∨ ¬ q ) ∧ q ) ∨ (( ¬ p ∨ ¬ q ) ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ( ¬ q ∧ q )) ∨ (( ¬ p ∧ p ) ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ⊥ ) ∨ ( ⊥ ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ ( ¬ p ∧ q ) ∨ ( ¬ q ∧ p ). For a CNF we distribute ∨ over ∧ and simplify: ≡ ( ¬ p ∨ r ∨ ¬ p ∨ ¬ q ) ∧ ( ¬ p ∨ r ∨ q ∨ p ) Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) ≡ ( ¬ p ∨ ¬¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) (driving ¬ inside) ≡ ¬ p ∨ r ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) For a DNF we further distribute ∧ over ∨ and simplify: ≡ ¬ p ∨ r ∨ ((( ¬ p ∨ ¬ q ) ∧ q ) ∨ (( ¬ p ∨ ¬ q ) ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ( ¬ q ∧ q )) ∨ (( ¬ p ∧ p ) ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ⊥ ) ∨ ( ⊥ ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ ( ¬ p ∧ q ) ∨ ( ¬ q ∧ p ). For a CNF we distribute ∨ over ∧ and simplify: ≡ ( ¬ p ∨ r ∨ ¬ p ∨ ¬ q ) ∧ ( ¬ p ∨ r ∨ q ∨ p ) ≡ ( ¬ p ∨ r ∨ ¬ q ) ∧ ( ⊤ ∨ r ∨ q ) Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) ≡ ( ¬ p ∨ ¬¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) (driving ¬ inside) ≡ ¬ p ∨ r ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) For a DNF we further distribute ∧ over ∨ and simplify: ≡ ¬ p ∨ r ∨ ((( ¬ p ∨ ¬ q ) ∧ q ) ∨ (( ¬ p ∨ ¬ q ) ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ( ¬ q ∧ q )) ∨ (( ¬ p ∧ p ) ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ⊥ ) ∨ ( ⊥ ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ ( ¬ p ∧ q ) ∨ ( ¬ q ∧ p ). For a CNF we distribute ∨ over ∧ and simplify: ≡ ( ¬ p ∨ r ∨ ¬ p ∨ ¬ q ) ∧ ( ¬ p ∨ r ∨ q ∨ p ) ≡ ( ¬ p ∨ r ∨ ¬ q ) ∧ ( ⊤ ∨ r ∨ q ) ≡ ( ¬ p ∨ r ∨ ¬ q ) ∧ ⊤ Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) ≡ ( ¬ p ∨ ¬¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) (driving ¬ inside) ≡ ¬ p ∨ r ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) For a DNF we further distribute ∧ over ∨ and simplify: ≡ ¬ p ∨ r ∨ ((( ¬ p ∨ ¬ q ) ∧ q ) ∨ (( ¬ p ∨ ¬ q ) ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ( ¬ q ∧ q )) ∨ (( ¬ p ∧ p ) ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ⊥ ) ∨ ( ⊥ ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ ( ¬ p ∧ q ) ∨ ( ¬ q ∧ p ). For a CNF we distribute ∨ over ∧ and simplify: ≡ ( ¬ p ∨ r ∨ ¬ p ∨ ¬ q ) ∧ ( ¬ p ∨ r ∨ q ∨ p ) ≡ ( ¬ p ∨ r ∨ ¬ q ) ∧ ( ⊤ ∨ r ∨ q ) ≡ ( ¬ p ∨ r ∨ ¬ q ) ∧ ⊤ ≡ ¬ p ∨ r ∨ ¬ q . Goranko
Transformation to DNF and CNF: example ( p ∧ ¬ r ) → ( p ↔ ¬ q ) ≡ ( p ∧ ¬ r ) → (( p → ¬ q ) ∧ ( ¬ q → p )) (eliminating ↔ ) ≡ ¬ ( p ∧ ¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( ¬¬ q ∨ p )) (eliminating → ) ≡ ( ¬ p ∨ ¬¬ r ) ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) (driving ¬ inside) ≡ ¬ p ∨ r ∨ (( ¬ p ∨ ¬ q ) ∧ ( q ∨ p )) For a DNF we further distribute ∧ over ∨ and simplify: ≡ ¬ p ∨ r ∨ ((( ¬ p ∨ ¬ q ) ∧ q ) ∨ (( ¬ p ∨ ¬ q ) ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ( ¬ q ∧ q )) ∨ (( ¬ p ∧ p ) ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ (( ¬ p ∧ q ) ∨ ⊥ ) ∨ ( ⊥ ∨ ( ¬ q ∧ p )) ≡ ¬ p ∨ r ∨ ( ¬ p ∧ q ) ∨ ( ¬ q ∧ p ). For a CNF we distribute ∨ over ∧ and simplify: ≡ ( ¬ p ∨ r ∨ ¬ p ∨ ¬ q ) ∧ ( ¬ p ∨ r ∨ q ∨ p ) ≡ ( ¬ p ∨ r ∨ ¬ q ) ∧ ( ⊤ ∨ r ∨ q ) ≡ ( ¬ p ∨ r ∨ ¬ q ) ∧ ⊤ ≡ ¬ p ∨ r ∨ ¬ q . (Note that this is a DNF, too.) Goranko
The rule of Propositional Resolution Goranko
The rule of Propositional Resolution A ∨ C , B ∨ ¬ C RES A ∨ B Goranko
The rule of Propositional Resolution A ∨ C , B ∨ ¬ C RES A ∨ B The formula A ∨ B is called a resolvent of A ∨ C and B ∨ ¬ C , denoted Res ( A ∨ C , B ∨ ¬ C ). Goranko
The rule of Propositional Resolution A ∨ C , B ∨ ¬ C RES A ∨ B The formula A ∨ B is called a resolvent of A ∨ C and B ∨ ¬ C , denoted Res ( A ∨ C , B ∨ ¬ C ). Exercise : Show that the Resolution rule is logically sound. That is, if both premises are valid then the conclusion is valid. Goranko
The rule of Propositional Resolution A ∨ C , B ∨ ¬ C RES A ∨ B The formula A ∨ B is called a resolvent of A ∨ C and B ∨ ¬ C , denoted Res ( A ∨ C , B ∨ ¬ C ). Exercise : Show that the Resolution rule is logically sound. That is, if both premises are valid then the conclusion is valid. Moreover, RES preserves satisfiability: Exercise : Show that if the set of premises is (simultaneously) satisfiable, then it is satisfiable together with the conclusion. Goranko
Clausal normal forms Goranko
Clausal normal forms • A clause is essentially an elementary disjunction l 1 ∨ . . . ∨ l n , but written as a (possibly empty) set of literals { l 1 , . . . , l n } . Goranko
Clausal normal forms • A clause is essentially an elementary disjunction l 1 ∨ . . . ∨ l n , but written as a (possibly empty) set of literals { l 1 , . . . , l n } . • The empty clause {} is a clause containing no literals. Goranko
Clausal normal forms • A clause is essentially an elementary disjunction l 1 ∨ . . . ∨ l n , but written as a (possibly empty) set of literals { l 1 , . . . , l n } . • The empty clause {} is a clause containing no literals. • A unit clause is a clause containing only one literal. Goranko
Clausal normal forms • A clause is essentially an elementary disjunction l 1 ∨ . . . ∨ l n , but written as a (possibly empty) set of literals { l 1 , . . . , l n } . • The empty clause {} is a clause containing no literals. • A unit clause is a clause containing only one literal. • A clausal form is a (possibly empty) set of clauses, written as a list: C 1 . . . C k . It represents the conjunction of these clauses. Goranko
Clausal normal forms • A clause is essentially an elementary disjunction l 1 ∨ . . . ∨ l n , but written as a (possibly empty) set of literals { l 1 , . . . , l n } . • The empty clause {} is a clause containing no literals. • A unit clause is a clause containing only one literal. • A clausal form is a (possibly empty) set of clauses, written as a list: C 1 . . . C k . It represents the conjunction of these clauses. Thus, every CNF can be re-written in a clausal form, and therefore every propositional formula is equivalent to one in a clausal form. Goranko
Clausal normal forms • A clause is essentially an elementary disjunction l 1 ∨ . . . ∨ l n , but written as a (possibly empty) set of literals { l 1 , . . . , l n } . • The empty clause {} is a clause containing no literals. • A unit clause is a clause containing only one literal. • A clausal form is a (possibly empty) set of clauses, written as a list: C 1 . . . C k . It represents the conjunction of these clauses. Thus, every CNF can be re-written in a clausal form, and therefore every propositional formula is equivalent to one in a clausal form. Example : the clausal form of the CNF-formula ( p ∨ ¬ q ∨ ¬ r ) ∧ ¬ p ∧ ( ¬ q ∨ r ) is { p , ¬ q , ¬ r }{¬ p }{¬ q , r } . Goranko
Clausal normal forms • A clause is essentially an elementary disjunction l 1 ∨ . . . ∨ l n , but written as a (possibly empty) set of literals { l 1 , . . . , l n } . • The empty clause {} is a clause containing no literals. • A unit clause is a clause containing only one literal. • A clausal form is a (possibly empty) set of clauses, written as a list: C 1 . . . C k . It represents the conjunction of these clauses. Thus, every CNF can be re-written in a clausal form, and therefore every propositional formula is equivalent to one in a clausal form. Example : the clausal form of the CNF-formula ( p ∨ ¬ q ∨ ¬ r ) ∧ ¬ p ∧ ( ¬ q ∨ r ) is { p , ¬ q , ¬ r }{¬ p }{¬ q , r } . Note that the empty clause {} is not satisfiable (being an empty disjunction), while the empty set of clauses ∅ is satisfied by any truth assignment (being an empty conjunction). Goranko
Clausal Propositional Resolution rule The Propositional Resolution rule can be rewritten for clauses: { A 1 , . . . , C , . . . , A m } { B 1 , . . . , ¬ C , . . . , B n } CL − RES { A 1 , . . . , A m , B 1 , . . . , B n } . Goranko
Clausal Propositional Resolution rule The Propositional Resolution rule can be rewritten for clauses: { A 1 , . . . , C , . . . , A m } { B 1 , . . . , ¬ C , . . . , B n } CL − RES { A 1 , . . . , A m , B 1 , . . . , B n } . The clause { A 1 , . . . , A m , B 1 , . . . , B n } is called a resolvent of the clauses { A 1 , . . . , C , . . . , A m } and { B 1 , . . . , ¬ C , . . . , B n } . Goranko
Clausal Propositional Resolution rule The Propositional Resolution rule can be rewritten for clauses: { A 1 , . . . , C , . . . , A m } { B 1 , . . . , ¬ C , . . . , B n } CL − RES { A 1 , . . . , A m , B 1 , . . . , B n } . The clause { A 1 , . . . , A m , B 1 , . . . , B n } is called a resolvent of the clauses { A 1 , . . . , C , . . . , A m } and { B 1 , . . . , ¬ C , . . . , B n } . Example { p , q , ¬ r } {¬ q , ¬ r } { p , ¬ r , ¬ r } , Goranko
Clausal Propositional Resolution rule The Propositional Resolution rule can be rewritten for clauses: { A 1 , . . . , C , . . . , A m } { B 1 , . . . , ¬ C , . . . , B n } CL − RES { A 1 , . . . , A m , B 1 , . . . , B n } . The clause { A 1 , . . . , A m , B 1 , . . . , B n } is called a resolvent of the clauses { A 1 , . . . , C , . . . , A m } and { B 1 , . . . , ¬ C , . . . , B n } . Example { p , q , ¬ r } {¬ q , ¬ r } { p , ¬ r , ¬ r } , {¬ p , q , ¬ r } { r } {¬ p , q } , Goranko
Clausal Propositional Resolution rule The Propositional Resolution rule can be rewritten for clauses: { A 1 , . . . , C , . . . , A m } { B 1 , . . . , ¬ C , . . . , B n } CL − RES { A 1 , . . . , A m , B 1 , . . . , B n } . The clause { A 1 , . . . , A m , B 1 , . . . , B n } is called a resolvent of the clauses { A 1 , . . . , C , . . . , A m } and { B 1 , . . . , ¬ C , . . . , B n } . Example { p , q , ¬ r } {¬ q , ¬ r } { p , ¬ r , ¬ r } , {¬ p , q , ¬ r } { r } {¬ p , q } , {¬ p } { p } {} . Goranko
Some remarks Goranko
Some remarks Note that two clauses can have more than one resolvent, e.g.: { p , ¬ q }{¬ p , q } { p , ¬ q }{¬ p , q } { p , ¬ p } , {¬ q , q } . Goranko
Some remarks Note that two clauses can have more than one resolvent, e.g.: { p , ¬ q }{¬ p , q } { p , ¬ q }{¬ p , q } { p , ¬ p } , {¬ q , q } . However, it is wrong to apply the Propositional Resolution rule for both pairs of complementary literals simultaneously and obtain { p , ¬ q }{¬ p , q } {} . Goranko
Some remarks Note that two clauses can have more than one resolvent, e.g.: { p , ¬ q }{¬ p , q } { p , ¬ q }{¬ p , q } { p , ¬ p } , {¬ q , q } . However, it is wrong to apply the Propositional Resolution rule for both pairs of complementary literals simultaneously and obtain { p , ¬ q }{¬ p , q } {} . Sometimes, the resolvent can (and should) be simplified, by removing duplicated literals on the fly: { A 1 , . . . , C , C , . . . , A m } ⇒ { A 1 , . . . , C , . . . , A m } . Goranko
Some remarks Note that two clauses can have more than one resolvent, e.g.: { p , ¬ q }{¬ p , q } { p , ¬ q }{¬ p , q } { p , ¬ p } , {¬ q , q } . However, it is wrong to apply the Propositional Resolution rule for both pairs of complementary literals simultaneously and obtain { p , ¬ q }{¬ p , q } {} . Sometimes, the resolvent can (and should) be simplified, by removing duplicated literals on the fly: { A 1 , . . . , C , C , . . . , A m } ⇒ { A 1 , . . . , C , . . . , A m } . For instance: { p , ¬ q , ¬ r }{ q , ¬ r } instead of { p , ¬ q , ¬ r }{ q , ¬ r } { p , ¬ r } { p , ¬ r , ¬ r } Goranko
Propositional resolution as a deductive system Goranko
Propositional resolution as a deductive system The underlying idea of Propositional Resolution: in order to prove the validity of a logical consequence A 1 , . . . , A n | = B , show that there is no truth assignment which falsifies it Goranko
Propositional resolution as a deductive system The underlying idea of Propositional Resolution: in order to prove the validity of a logical consequence A 1 , . . . , A n | = B , show that there is no truth assignment which falsifies it, i.e., show that the formulae A 1 , . . . , A n and ¬ B cannot be satisfied simultaneously . Goranko
Propositional resolution as a deductive system The underlying idea of Propositional Resolution: in order to prove the validity of a logical consequence A 1 , . . . , A n | = B , show that there is no truth assignment which falsifies it, i.e., show that the formulae A 1 , . . . , A n and ¬ B cannot be satisfied simultaneously . That is done by transforming the formulae A 1 , . . . , A n and ¬ B to a clausal form, and then using repeatedly the Propositional Resolution rule in attempt to derive the empty clause {} . Goranko
Propositional resolution as a deductive system The underlying idea of Propositional Resolution: in order to prove the validity of a logical consequence A 1 , . . . , A n | = B , show that there is no truth assignment which falsifies it, i.e., show that the formulae A 1 , . . . , A n and ¬ B cannot be satisfied simultaneously . That is done by transforming the formulae A 1 , . . . , A n and ¬ B to a clausal form, and then using repeatedly the Propositional Resolution rule in attempt to derive the empty clause {} . Since {} is not satisfiable, its derivation means that A 1 , . . . , A n and ¬ B cannot be satisfied together. Goranko
Propositional resolution as a deductive system The underlying idea of Propositional Resolution: in order to prove the validity of a logical consequence A 1 , . . . , A n | = B , show that there is no truth assignment which falsifies it, i.e., show that the formulae A 1 , . . . , A n and ¬ B cannot be satisfied simultaneously . That is done by transforming the formulae A 1 , . . . , A n and ¬ B to a clausal form, and then using repeatedly the Propositional Resolution rule in attempt to derive the empty clause {} . Since {} is not satisfiable, its derivation means that A 1 , . . . , A n and ¬ B cannot be satisfied together. Then, the logical consequence A 1 , . . . , A n | = B holds. Goranko
Propositional resolution as a deductive system The underlying idea of Propositional Resolution: in order to prove the validity of a logical consequence A 1 , . . . , A n | = B , show that there is no truth assignment which falsifies it, i.e., show that the formulae A 1 , . . . , A n and ¬ B cannot be satisfied simultaneously . That is done by transforming the formulae A 1 , . . . , A n and ¬ B to a clausal form, and then using repeatedly the Propositional Resolution rule in attempt to derive the empty clause {} . Since {} is not satisfiable, its derivation means that A 1 , . . . , A n and ¬ B cannot be satisfied together. Then, the logical consequence A 1 , . . . , A n | = B holds. Alternatively, after finitely many applications of the Propositional Resolution rule, no new applications of the rule remain possible. Goranko
Propositional resolution as a deductive system The underlying idea of Propositional Resolution: in order to prove the validity of a logical consequence A 1 , . . . , A n | = B , show that there is no truth assignment which falsifies it, i.e., show that the formulae A 1 , . . . , A n and ¬ B cannot be satisfied simultaneously . That is done by transforming the formulae A 1 , . . . , A n and ¬ B to a clausal form, and then using repeatedly the Propositional Resolution rule in attempt to derive the empty clause {} . Since {} is not satisfiable, its derivation means that A 1 , . . . , A n and ¬ B cannot be satisfied together. Then, the logical consequence A 1 , . . . , A n | = B holds. Alternatively, after finitely many applications of the Propositional Resolution rule, no new applications of the rule remain possible. If the empty clause is not derived by then, it cannot be derived at all, and hence the A 1 , . . . , A n and ¬ B can be satisfied together, Goranko
Propositional resolution as a deductive system The underlying idea of Propositional Resolution: in order to prove the validity of a logical consequence A 1 , . . . , A n | = B , show that there is no truth assignment which falsifies it, i.e., show that the formulae A 1 , . . . , A n and ¬ B cannot be satisfied simultaneously . That is done by transforming the formulae A 1 , . . . , A n and ¬ B to a clausal form, and then using repeatedly the Propositional Resolution rule in attempt to derive the empty clause {} . Since {} is not satisfiable, its derivation means that A 1 , . . . , A n and ¬ B cannot be satisfied together. Then, the logical consequence A 1 , . . . , A n | = B holds. Alternatively, after finitely many applications of the Propositional Resolution rule, no new applications of the rule remain possible. If the empty clause is not derived by then, it cannot be derived at all, and hence the A 1 , . . . , A n and ¬ B can be satisfied together, so the logical consequence A 1 , . . . , A n | = B does not hold. Goranko
Propositional resolution: how to construct a satisfying assignment? Suppose the Propositional Resolution applied to a given input set of clauses ends with a set of non-empty clauses (such that no more clauses can be derived from it). Goranko
Propositional resolution: how to construct a satisfying assignment? Suppose the Propositional Resolution applied to a given input set of clauses ends with a set of non-empty clauses (such that no more clauses can be derived from it). Question: How to construct a satisfying assignment for that set of clauses? Goranko
Propositional resolution derivation: Example 1 Check whether p → q , q → r | = p → r holds. Goranko
Propositional resolution derivation: Example 1 Check whether p → q , q → r | = p → r holds. First, transform p → q , q → r , ¬ ( p → r ) to clausal form: Goranko
Propositional resolution derivation: Example 1 Check whether p → q , q → r | = p → r holds. First, transform p → q , q → r , ¬ ( p → r ) to clausal form: C 1 = {¬ p , q } , C 2 = {¬ q , r } , C 3 = { p } , C 4 = {¬ r } . Goranko
Propositional resolution derivation: Example 1 Check whether p → q , q → r | = p → r holds. First, transform p → q , q → r , ¬ ( p → r ) to clausal form: C 1 = {¬ p , q } , C 2 = {¬ q , r } , C 3 = { p } , C 4 = {¬ r } . Now, applying Propositional Resolution successively: Goranko
Propositional resolution derivation: Example 1 Check whether p → q , q → r | = p → r holds. First, transform p → q , q → r , ¬ ( p → r ) to clausal form: C 1 = {¬ p , q } , C 2 = {¬ q , r } , C 3 = { p } , C 4 = {¬ r } . Now, applying Propositional Resolution successively: C 5 = Res ( C 1 , C 3 ) = { q } ; Goranko
Propositional resolution derivation: Example 1 Check whether p → q , q → r | = p → r holds. First, transform p → q , q → r , ¬ ( p → r ) to clausal form: C 1 = {¬ p , q } , C 2 = {¬ q , r } , C 3 = { p } , C 4 = {¬ r } . Now, applying Propositional Resolution successively: C 5 = Res ( C 1 , C 3 ) = { q } ; C 6 = Res ( C 2 , C 5 ) = { r } ; Goranko
Propositional resolution derivation: Example 1 Check whether p → q , q → r | = p → r holds. First, transform p → q , q → r , ¬ ( p → r ) to clausal form: C 1 = {¬ p , q } , C 2 = {¬ q , r } , C 3 = { p } , C 4 = {¬ r } . Now, applying Propositional Resolution successively: C 5 = Res ( C 1 , C 3 ) = { q } ; C 6 = Res ( C 2 , C 5 ) = { r } ; C 7 = Res ( C 4 , C 6 ) = {} . Goranko
Propositional resolution derivation: Example 1 Check whether p → q , q → r | = p → r holds. First, transform p → q , q → r , ¬ ( p → r ) to clausal form: C 1 = {¬ p , q } , C 2 = {¬ q , r } , C 3 = { p } , C 4 = {¬ r } . Now, applying Propositional Resolution successively: C 5 = Res ( C 1 , C 3 ) = { q } ; C 6 = Res ( C 2 , C 5 ) = { r } ; C 7 = Res ( C 4 , C 6 ) = {} . The derivation of the empty clause completes the proof. Goranko
Propositional resolution derivation: Example 2 Check whether ( ¬ p → q ) , ¬ r � p ∨ ( ¬ q ∧ ¬ r ) holds. Goranko
Propositional resolution derivation: Example 2 Check whether ( ¬ p → q ) , ¬ r � p ∨ ( ¬ q ∧ ¬ r ) holds. First, transform ( ¬ p → q ) , ¬ r , ¬ ( p ∨ ( ¬ q ∧ ¬ r )) to clausal form: Goranko
Propositional resolution derivation: Example 2 Check whether ( ¬ p → q ) , ¬ r � p ∨ ( ¬ q ∧ ¬ r ) holds. First, transform ( ¬ p → q ) , ¬ r , ¬ ( p ∨ ( ¬ q ∧ ¬ r )) to clausal form: C 1 = { p , q } , C 2 = {¬ r } , C 3 = {¬ p } , C 4 = { q , r } . Goranko
Recommend
More recommend