Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive...

71
Classical Propositional Logic Peter Baumgartner http://users.cecs.anu.edu.au/~baumgart/ Ph: 02 6218 3717 Data61/CSIRO and ANU July 2017 1 / 71

Transcript of Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive...

Page 1: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Classical Propositional Logic

Peter Baumgartner

http://users.cecs.anu.edu.au/~baumgart/

Ph: 02 6218 3717

Data61/CSIRO and ANU

July 2017

1 / 71

Page 2: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Classical Logic and Reasoning ProblemsA1: Socrates is a human

A2: All humans are mortalTranslation into first-order logic:A1: human(socrates)

A2: ∀X (human(X )→ mortal(X ))

Reasoning problemsWhich of the following statements hold true? (|= means “entails”)

1. {A1, A2} |= mortal(socrates)2. {A1, A2} |= mortal(apollo)3. {A1, A2} 6|= mortal(socrates)4. {A1, A2} 6|= mortal(apollo)5. {A1, A2} |= ¬mortal(socrates)6. {A1, A2} |= ¬mortal(apollo)

Topics of these lectures

I What do these statements exactly mean?I Algorithms/procedures for reasoning problems like the above

Next: some applications2 / 71

Page 3: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

“Application”: Mathematical Theorem Proving

First-Order Logic

Can express (mathematical) structures, e.g. groups

∀x 1 · x = x ∀x x · 1 = x (N)

∀x x−1 · x = 1 ∀x x · x−1 = 1 (I)

∀x , y , z (x · y) · z = x · (y · z) (A)

Reasoning

I Object level: It follows ∀x (x · x) = 1→ ∀x , y x · y = y · xI Meta-level: the word problem for groups is decidable

Automated Reasoning

Computer program to provide the above conclusions automatically

3 / 71

Page 4: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Application: Compiler Validation

Problem: prove equivalence of source and target program

1: y := 1

2: if z = x*x*x

3: then y := x*x + y

4: endif

1: y := 1

2: R1 := x*x

3: R2 := R1*x

4: jmpNE(z,R2,6)

5: y := R1+1

To prove: (indexes refer to values at line numbers; index 0 =initial values)

From y1 = 1 ∧ z0 = x0 ∗ x0 ∗ x0 ∧ y3 = x0 ∗ x0 + y1

and y ′1 = 1 ∧ R12 = x ′0 ∗ x ′0 ∧ R23 = R12 ∗ x ′0 ∧ z ′0 = R23

∧ y ′5 = R12 + 1 ∧ x0 = x ′0 ∧ y0 = y ′0 ∧ z0 = z ′0

it follows y3 = y ′5

4 / 71

Page 5: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Application: Constraint Solving

The n-queens problem:

Given: An n × n chessboard

Question: Is it possible to place n queens so that no queenattacks any other?

A solution for n = 8

p[1] = 6

p[2] = 3

p[3] = 5

p[4] = 8

p[5] = 1

p[6] = 4

p[7] = 2

p[8] = 7

5 / 71

Page 6: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Application: Constraint Solving

Formalization in sorted first-order logic:

n : Z (Declaration of n)

p : Z 7→ Z (Declaration of p)

n = 8

∀i : Z j : Z (1 ≤ i ∧ i ≤ n ∧ i + 1 ≤ j ∧ j < n⇒p(i) 6= p(j) ∧ p(i) + i 6= p(j) + j ∧ p(i)− i 6= p(j)− j)

(Queens)

p(1) = 1 ∨ p(1) = 2 ∨ · · · ∨ p(1) = 8 (p(1) ∈ {1, . . . , n}). . .

p(8) = 1 ∨ p(8) = 2 ∨ · · · ∨ p(8) = 8 (p(n) ∈ {1, . . . , n})Logic: Integer arithmetic, quantifiers, “free” symbol p

Task: Find a satisfying interpretation I (a model) andevaluate I (p(1)), . . . , I (p(n)) to read off the answer

6 / 71

Page 7: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Application: System Analysis

p[1] = 6

p[2] = 3

p[3] = 5

p[4] = 8

p[5] = 1

p[6] = 4

p[7] = 2

p[8] = 7

I The n-queens has variable symmetry: mappingp[i ] 7→ p[n + 1− i ] preserves solutions, for any n

I Therefore, it is justified to add (to the formalization) aconstraint p[1] < p[n], for search space pruning

I But how can we know that the problem has symmetries?This is a theorem proving task!

7 / 71

Page 8: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Application: System Analysis

We need two “copies” (Queens p) and (Queens q) of the constraint:

n : Z (Declaration of n)

p, q : Z 7→ Z (Declaration of p, q)

perm : Z 7→ Z (Declaration of perm)

∀i : Z j : Z (1 ≤ i ∧ i ≤ n ∧ i + 1 ≤ j ∧ j < n⇒p(i) 6= p(j) ∧ p(i) + i 6= p(j) + j ∧ p(i)− i 6= p(j)− j)

(Queens p)

∀i : Z j : Z (1 ≤ i ∧ i ≤ n ∧ i + 1 ≤ j ∧ j < n⇒q(i) 6= q(j) ∧ q(i) + i 6= q(j) + j ∧ q(i)− i 6= q(j)− j)

(Queens q)

∀i : Z perm(i) = n + 1− i (Def. permutation)

Logic: Integer arithmetic, quantifiers, “free” symbol pTask: Prove logical consequence

(Queens p) ∧ (∀i : Z q(i) = p(perm(i)))⇒ (Queens q)

8 / 71

Page 9: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Issues

I Previous slides gave motivation: logical analysis of systems

System can be “anything that makes sense” and can be describedusing logic (group theory, computer programs, . . .)

I Propositional logic is not very expressive; but it admits completeand terminating (and sound, and “fast”) reasoning procedures

I First-order logic is expressive but not too expressive; it admitscomplete (and sound, and “reasonably fast”) reasoning procedures

I So, reasoning with it can be automated on computer. BUTI How to do it in the first place: suitable calculi?I How to do it efficiently: search space control?I How to do it optimally: reasoning support for specific theories like

equality and arithmetic?

I The lecture will touch on some of these issues and explain basicapproaches to their solution

9 / 71

Page 10: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Contents

Lectures 1 – 5: Propositional logic: syntax, semantics, reasoningalgorithms, important properties(Slides in part thanks to Aaron Bradley)

Lecture 6–10: First-order logic: syntax, semantics, reasoningprocedures, important properties

10 / 71

Page 11: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Propositional Logic(PL)

PL Syntax

Atom truth symbols >(“true”) and ⊥(“false”)

propositional variables P,Q,R,P1,Q1,R1, · · ·Literal atom α or its negation ¬αFormula atom or application of a

logical connective to formulae F ,F1,F2¬F “not” (negation)

F1 ∧ F2 “and” (conjunction)

F1 ∨ F2 “or” (disjunction)

F1 → F2 “implies” (implication)

F1 ↔ F2 “if and only if” (iff)

Speaking formally, formulas are defined inductively

11 / 71

Page 12: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Example:

formula F : (P ∧ Q) → (> ∨ ¬Q)

atoms: P,Q,>literal: ¬Qsubformulas: P ∧ Q, > ∨ ¬Qabbreviation (leave parenthesis away)

F : P ∧ Q → > ∨ ¬Q

12 / 71

Page 13: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

PL Semantics (meaning)

Formula F + Interpretation I = Truth value

(true, false)Interpretation

I : {P 7→ true,Q 7→ false, · · · }

Evaluation of F under I :

F ¬F0 1

1 0

where 0 corresponds to value false

1 true

F1 F2 F1 ∧ F2 F1 ∨ F2 F1 → F2 F1 ↔ F2

0 0 0 0 1 1

0 1 0 1 1 0

1 0 0 1 0 0

1 1 1 1 1 1

13 / 71

Page 14: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Example:

F : P ∧ Q → P ∨ ¬QI : {P 7→ true,Q 7→ false}

P Q ¬Q P ∧ Q P ∨ ¬Q F

1 0 1 0 1 1

1 = true 0 = false

F evaluates to true under I

14 / 71

Page 15: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Inductive Definition of PL’s SemanticsI |= F if F evaluates to true under I (“I satisfies F”)

I 6|= F false under I (“I falsifies F”)

Base Case:I |= >I 6|= ⊥I |= P iff I [P] = true

I 6|= P iff I [P] = false

Inductive Case:I |= ¬F iff I 6|= F

I |= F1 ∧ F2 iff I |= F1 and I |= F2I |= F1 ∨ F2 iff I |= F1 or I |= F2I |= F1 → F2 iff, if I |= F1 then I |= F2I |= F1 ↔ F2 iff, I |= F1 and I |= F2,

or I 6|= F1 and I 6|= F2

Note:I 6|= F1 → F2 iff I |= F1 and I 6|= F2

15 / 71

Page 16: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Example:

F : P ∧ Q → P ∨ ¬QI : {P 7→ true, Q 7→ false}1. I |= P since I [P] = true

2. I 6|= Q since I [Q] = false

3. I |= ¬Q by 2 and ¬4. I 6|= P ∧ Q by 2 and ∧5. I |= P ∨ ¬Q by 1 and ∨6. I |= F by 4 and → Why?

Thus, F is true under I .

NotationExtend interpretation I to formulas F :

I [F ] =

{true if I |= F

false otherwise (I 6|= F )

16 / 71

Page 17: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Inductive Proofs

Induction on the structure of formulasTo prove that a property P holds for every formula F it suffices toshow the following:

Induction start: show that P holds for every base case formula A

Induction step: Assume that P holds for arbitrary formulas F1 andF2 (induction hypothesis).

Show that P follows for every inductive case formulabuilt with F1 and F2

ExampleLemma 1 Let F be a formula, and I and J be interpretations.If I [P] = J[P] for every propositional variable P occurring in Fthen I [F ] = J[F ] (equivalently: J |= F iff J |= F ).

17 / 71

Page 18: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Example

Lemma 1 Let F be a formula, and I and J be interpretations.If I [P] = J[P] for every propositional variable P occurring in Fthen I [F ] = J[F ].

Proof. Assume I [P] = J[P] for every propositional variable Poccurring in F . We have to show I [F ] = J[F ]

Induction startIf F = > or F = ⊥ then trivially I [F ] = J[F ].Otherwise F = P for some propositional variable P. Trivially Poccurs in F and hence by assumption I [F ] = I [P] = J[P] = J[F ].

18 / 71

Page 19: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Example

Lemma 1 Let F be a formula, and I and J be interpretations.If I [P] = J[P] for every propositional variable P occurring in Fthen I [F ] = J[F ].

Induction stepCase 1: F = ¬G for some formula G .If I [F ] = true then

I [F ] = true iff

I [¬G ] = true iff (F = ¬G )

I [G ] = false iff (Semantics of ¬)

J[G ] = false iff (Induction hypothesis)

J[¬G ] = true iff (Semantics of ¬)

J[F ] = true (F = ¬G )

If I [F ] = false: analogously

19 / 71

Page 20: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Example

Lemma 1 Let F be a formula, and I and J be interpretations.If I [P] = J[P] for every propositional variable P occurring in Fthen I [F ] = J[F ].

Induction stepCase 2: F = G ∧ H for some formulas G and H.If I [F ] = true then

I [F ] = true iff

I [G ∧ H] = true iff (F = G ∧ H)

I [G ] = true and I [H] = true iff (Semantics of ∧)

J[G ] = true and J[H] = true iff (Induction hypothesis 2x)

J[G ∧ H] = true iff (Semantics of ∧)

J[F ] = true (F = G ∧ H)

If I [F ] = false: analogouslyCases 3, 4 and 5 for ∨, → and ↔: analogously

20 / 71

Page 21: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Satisfiability and Validity

F satisfiable iff there exists an interpretation I such that I |= F .F valid iff for all interpretations I , I |= F .

F is valid iff ¬F is unsatisfiable

Method 1: Truth Tables

Example F : P ∧ Q → P ∨ ¬QP Q P ∧ Q ¬Q P ∨ ¬Q F

0 0 0 1 1 1

0 1 0 0 0 1

1 0 0 1 1 1

1 1 1 0 1 1

Thus F is valid.

21 / 71

Page 22: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Example F : P ∨ Q → P ∧ Q

P Q P ∨ Q P ∧ Q F

0 0 0 0 1 ← satisfying I

0 1 1 0 0 ← falsifying I

1 0 1 0 0

1 1 1 1 1

Thus F is satisfiable, but invalid.

22 / 71

Page 23: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Examples

Which of the following formulas is satisfiable, which is valid?

1. F1 : P ∧ Q

satisfiable, not valid

2. F2 : ¬(P ∧ Q)

satisfiable, not valid

3. F3 : P ∨ ¬Psatisfiable, valid

4. F4 : ¬(P ∨ ¬P)

unsatisfiable, not valid

5. F5 : (P → Q) ∧ (P ∨ Q) ∧ ¬Qunsatisfiable, not valid

23 / 71

Page 24: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Method 2: Semantic Argument (“Tableau Calculus”)Proof rules

I |= ¬FI 6|= F

I 6|= ¬FI |= F

I |= F ∧ G

I |= F

I |= G←and

I 6|= F ∧ G

I 6|= F | I 6|= G↖or

I |= F ∨ G

I |= F | I |= G

I 6|= F ∨ G

I 6|= F

I 6|= G

I |= F → G

I 6|= F | I |= G

I 6|= F → G

I |= F

I 6|= G

I |= F ↔ G

I |= F ∧ G | I 6|= F ∨ G

I 6|= F ↔ G

I |= F ∧ ¬G | I |= ¬F ∧ G

I |= F

I 6|= F

I |= ⊥

24 / 71

Page 25: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Example 1: Prove

F : P ∧ Q → P ∨ ¬Q is valid.

Let’s assume that F is not valid and that I is a falsifyinginterpretation.

1. I 6|= P ∧ Q → P ∨ ¬Q assumption

2. I |= P ∧ Q 1 and →3. I 6|= P ∨ ¬Q 1 and →4. I |= P 2 and ∧5. I 6|= P 3 and ∨6. I |= ⊥ 4 and 5 are contradictory

Thus F is valid.

25 / 71

Page 26: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Example 2: Prove

F : (P → Q) ∧ (Q → R) → (P → R) is valid.

Let’s assume that F is not valid.

1. I 6|= F assumption

2. I |= (P → Q) ∧ (Q → R) 1 and →3. I 6|= P → R 1 and →4. I |= P 3 and →5. I 6|= R 3 and →6. I |= P → Q 2 and of ∧7. I |= Q → R 2 and of ∧

26 / 71

Page 27: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Two cases from 6

8a. I 6|= P 6 and →9a. I |= ⊥ 4 and 8a are contradictory

and

8b. I |= Q 6 and →

Two cases from 7

9ba. I 6|= Q 7 and →10ba. I |= ⊥ 8b and 9ba are contradictory

and

9bb. I |= R 7 and →10bb. I |= ⊥ 5 and 9bb are contradictory

Our assumption is incorrect in all cases — F is valid.

27 / 71

Page 28: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Example 3: Is

F : P ∨ Q → P ∧ Q valid?

Let’s assume that F is not valid.

1. I 6|= P ∨ Q → P ∧ Q assumption

2. I |= P ∨ Q 1 and →3. I 6|= P ∧ Q 1 and →

Two options

4a. I |= P 2 or

5a. I 6|= Q 3

4b. I |= Q 2

5b. I 6|= P 3

We cannot derive a contradiction. F is not valid.

Falsifying interpretation:I1 : {P 7→ true, Q 7→ false} I2 : {Q 7→ true, P 7→ false}We have to derive a contradiction in both cases for F to be valid.

28 / 71

Page 29: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Equivalence

F1 and F2 are equivalent (F1 ⇔ F2)

iff for all interpretations I , I |= F1 ↔ F2

To prove F1 ⇔ F2 show F1 ↔ F2 is valid.

F1 implies F2 (F1 ⇒ F2)

iff for all interpretations I , I |= F1 → F2

F1 ⇔ F2 and F1 ⇒ F2 are not formulae!

29 / 71

Page 30: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Proposition 1 (Substitution Theorem)

Assume F1 ⇔ F2. If F is a formula with at least one occurrence ofF1 as a subformula then F ⇔ F ′, where F ′ is obtained from F byreplacing some occurrence of F1 in F by F2.

Proof.(Sketch) By induction on the formula structure. For the inductionstart, if F = F1 then F ′ = F2, and F ⇔ F ′ follows from F1 ⇔ F2.The proof of the induction step is similar to the proof of Lemma1.

Proposition 1 is relevant for conversion of formulas into normalform, which requires replacing subformulas by equivalent ones

30 / 71

Page 31: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Normal Forms

1. Negation Normal Form (NNF)

Negations appear only in literals. (only ¬, ∧ , ∨ )

To transform F to equivalent F ′ in NNF use recursivelythe following template equivalences (left-to-right):

¬¬F1 ⇔ F1 ¬> ⇔ ⊥ ¬⊥ ⇔ >¬(F1 ∧ F2) ⇔ ¬F1 ∨ ¬F2¬(F1 ∨ F2) ⇔ ¬F1 ∧ ¬F2

}De Morgan’s Law

F1 → F2 ⇔ ¬F1 ∨ F2

F1 ↔ F2 ⇔ (F1 → F2) ∧ (F2 → F1)

Example: Convert F : ¬(P → ¬(P ∧ Q)) to NNF

F ′ : ¬(¬P ∨ ¬(P ∧ Q)) → to ∨F ′′ : ¬¬P ∧ ¬¬(P ∧ Q) De Morgan’s Law

F ′′′ : P ∧ P ∧ Q ¬¬

F ′′′ is equivalent to F (F ′′′ ⇔ F ) and is in NNF31 / 71

Page 32: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

2. Disjunctive Normal Form (DNF)

Disjunction of conjunctions of literals∨i

∧j

`i ,j for literals `i ,j

To convert F into equivalent F ′ in DNF,transform F into NNF and thenuse the following template equivalences (left-to-right):

(F1 ∨ F2) ∧ F3 ⇔ (F1 ∧ F3) ∨ (F2 ∧ F3)

F1 ∧ (F2 ∨ F3) ⇔ (F1 ∧ F2) ∨ (F1 ∧ F3)

}dist

Example: ConvertF : (Q1 ∨ ¬¬Q2) ∧ (¬R1 → R2) into DNF

F ′ : (Q1 ∨ Q2) ∧ (R1 ∨ R2) in NNF

F ′′ : (Q1 ∧ (R1 ∨ R2)) ∨ (Q2 ∧ (R1 ∨ R2)) dist

F ′′′ : (Q1 ∧ R1) ∨ (Q1 ∧ R2) ∨ (Q2 ∧ R1) ∨ (Q2 ∧ R2) dist

F ′′′ is equivalent to F (F ′′′ ⇔ F ) and is in DNF32 / 71

Page 33: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

3. Conjunctive Normal Form (CNF)

Conjunction of disjunctions of literals∧i

∨j

`i ,j for literals `i ,j

To convert F into equivalent F ′ in CNF,transform F into NNF and thenuse the following template equivalences (left-to-right):

(F1 ∧ F2) ∨ F3 ⇔ (F1 ∨ F3) ∧ (F2 ∨ F3)

F1 ∨ (F2 ∧ F3) ⇔ (F1 ∨ F2) ∧ (F1 ∨ F3)

Relevance: DPLL and Resolution both work with CNF

33 / 71

Page 34: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Davis-Putnam-Logemann-Loveland (DPLL) Algorithm

Decides the satisfiability of PL formulae in CNF, or clause sets

ClauseA (propositional) clause is a disjunction of literals

ConventionA formula in CNF is taken as a set of clauses. Example:

(A ∨ B) ∧ (C ∨ ¬A) ∧ (D ∨ ¬C ∨ ¬A) ∧ (¬D ∨ ¬B) CNF

{A ∨ B , C ∨ ¬A , D ∨ ¬C ∨ ¬A , ¬D ∨ ¬B} Clause Set

Typical Application: Proof by RefutationTo prove the validity of

Axiom1 ∧ · · · ∧ Axiomn ⇒ Conjecture

it suffices to prove that the CNF of

Axiom1 ∧ · · · ∧ Axiomn ∧ ¬Conjecture

is unsatisfiable34 / 71

Page 35: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

DPLL Interpretations

DPLL works with trees whose nodes are labelled with literals

ConsistencyNo branch contains the labels A and ¬A, for no A

Every branch in a tree is taken as a (consistent) set of its literals

A consistent set of literals S is taken as an interpretation:

I if A ∈ S then (A 7→ true) ∈ I

I if ¬A ∈ S then (A 7→ false) ∈ I

I if A /∈ S and ¬A /∈ S then (A 7→ false) ∈ I

Example

{A,¬B,D} stands for

I : {A 7→ true, B 7→ false, C 7→ false, D 7→ true}ModelA model for a clause set N is an interpretation I such that I |= N

35 / 71

Page 36: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

DPLL as a Semantic Tree Method

(1) A ∨ B (2) C ∨ ¬A (3) D∨¬C∨¬A (4) ¬D ∨ ¬B

{} 6|= A ∨ B

{} |= C ∨ ¬A{} |= D ∨ ¬C ∨ ¬A{} |= ¬D ∨ ¬B

〈empty tree〉

I A Branch stands for an interpretation

I Purpose of splitting: satisfy a clause that is currently falsified

I Close branch if some clause is plainly falsified by it (?)

36 / 71

Page 37: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

DPLL as a Semantic Tree Method

(1) A ∨ B (2) C ∨ ¬A (3) D∨¬C ∨ ¬A (4) ¬D ∨ ¬B

{A} |= A ∨ B

{A} 6|= C ∨ ¬A{A} |= D ∨ ¬C ∨ ¬A{A} |= ¬D ∨ ¬B

A ¬A

I A Branch stands for an interpretation

I Purpose of splitting: satisfy a clause that is currently falsified

I Close branch if some clause is plainly falsified by it (?)

37 / 71

Page 38: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

DPLL as a Semantic Tree Method

(1) A ∨ B (2) C ∨ ¬A (3) D ∨ ¬C ∨ ¬A (4) ¬D∨¬B

{A,C} |= A ∨ B

{A,C} |= C ∨ ¬A{A,C} 6|= D ∨ ¬C ∨ ¬A{A,C} |= ¬D ∨ ¬B

?

A

C ¬C

¬A

I A Branch stands for an interpretation

I Purpose of splitting: satisfy a clause that is currently falsified

I Close branch if some clause is plainly falsified by it (?)

38 / 71

Page 39: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

DPLL as a Semantic Tree Method

(1) A ∨ B (2) C ∨ ¬A (3) D ∨ ¬C ∨ ¬A (4) ¬D ∨ ¬B

{A,C ,D} |= A ∨ B

{A,C ,D} |= C ∨ ¬A{A,C ,D} |= D ∨ ¬C ∨ ¬A{A,C ,D} |= ¬D ∨ ¬B

Model {A,C ,D} found.

A

C ¬C

D ¬D

¬A

?

?

I A Branch stands for an interpretation

I Purpose of splitting: satisfy a clause that is currently falsified

I Close branch if some clause is plainly falsified by it (?)

39 / 71

Page 40: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

DPLL as a Semantic Tree Method

(1) A ∨ B (2) C ∨ ¬A (3) D ∨ ¬C ∨ ¬A (4) ¬D ∨ ¬B

{B} |= A ∨ B

{B} |= C ∨ ¬A{B} |= D ∨ ¬C ∨ ¬A{B} |= ¬D ∨ ¬B

Model {B} found.

A

C ¬C

D ¬D

¬A

¬B

?

? ?B

I A Branch stands for an interpretation

I Purpose of splitting: satisfy a clause that is currently falsified

I Close branch if some clause is plainly falsified by it (?)

40 / 71

Page 41: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

DPLL Pseudocode

1 function DPLL(N)2 %% N is a set of clauses3 %% returns true if N satisfiable, false otherwise4 while N contains a unit clause {L}5 N := simplify(N, L)6 if N = {} then return true7 if ⊥ ∈ N then return false8 L := choose-literal(N) %% any literal that occurs in N - ”decision literal”9 if DPLL(simplify(N, L))

10 then return true11 else return DPLL(simplify(N, ¬L));

1 function simplify(N, L) %% also called unit propagation2 remove all clauses from N that contain L

3 delete ¬L from all remaining clauses %% possibly get empty clause ⊥4 return the resulting clause set

41 / 71

Page 42: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Simplify Examples

1 function simplify(N, L) %% also called unit propagation2 remove all clauses from N that contain L

3 delete ¬L from all remaining clauses %% possibly get empty clause ⊥4 return the resulting clause set

simplify({A ∨ ¬B, C ∨ ¬A, D ∨ ¬C ∨ ¬A, ¬D ∨ ¬B}, A)

= { C , D ∨ ¬C , ¬D ∨ ¬B}

simplify({ C , D ∨ ¬C , ¬D ∨ ¬B}, C )

= { D , ¬D ∨ ¬B}

simplify({ D , ¬D ∨ ¬B}, D)

= { ¬B}

42 / 71

Page 43: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Making DPLL Fast – Overview

Conflict Driven Clause Learning (CDCL) solvers extend DPLL

Lemma learning: add new clauses to the clause set as branches getclosed (“conflict driven”)

Goal: reuse information that is obtained in onebranch for subsequent derivation steps.

Backtracking: replace chronological backtracking by“dependency-directed backtracking”, aka“backjumping”: on backtracking, skip splits that arenot necessary to close a branch

Randomized restarts: every now and then start over, with learnedclauses

Variable selection heuristics: what literal to split on. E.g., useliterals that occur often

Make unit-propagation fast: 2-watched literal technique

43 / 71

Page 44: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Making DPLL Fast

2-watched literal techniqueA technique to implement unit propagation efficiently

I In each clause, select two (currently undefined) “watched”literals.

I For each variable A, keep a list of all clauses in which A iswatched and a list of all clauses in which ¬A is watched.

I If an undefined variable is set to false (or to true), check allclauses in which A (or ¬A) is watched and watch anotherliteral (that is true or undefined) in this clause if possible.

I As long as there are two watched literals in a n-literal clause,this clause cannot be used for unit propagation, because n− 1of its literals have to be false to provide a unit conclusion.

I Important: Watched literal information need not be restoredupon backtracking.

44 / 71

Page 45: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

2-Watched Literals Example

In an n-literal clause, n − 1 literals must be assigned false before itcan unit-propagate. Defer unit propagation until this is the case.

Invariant: if clause is not satisfied, watched literals are undefined.Only clauses violating the invariant can unit-propagate

Clause ¬A ∨ ¬B ∨ ¬C ∨ ¬D ∨ E (watched literals underlined)

1. Assignments developed in this order C − D − A

2. Watched literal ¬A is false find another literal to watch

Clause ¬A ∨ ¬B ∨ ¬C ∨ ¬D ∨ E

3. Extend with decision literal C − D − A − B

4. Imposible to watch two literals now E is unit-propagated

5. Now have C − D − A − B − EMaintains invariant

Invariant is maintained in case of backtracking to ¬B:Then have C − D − A − ¬B

45 / 71

Page 46: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Lemma Learning

Baumgartner/Fuchs/Tinelli Lemma Learning in the Model Evolution Calculus

Lemma Learning in DPLL

9

A ¬A

B

(1)

"Avoid making thesame mistake twice"

w/o Lemma

. . .

B ∨ ¬A (1)D ∨ ¬C (2)

¬D ∨ ¬B ∨ ¬C (3)

46 / 71

Page 47: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Lemma Learning

Baumgartner/Fuchs/Tinelli Lemma Learning in the Model Evolution Calculus

Lemma Learning in DPLL

9

A ¬A

C ¬C

B

D

* (3)

(1)

(2)

"Avoid making thesame mistake twice"

w/o Lemma

. . .

B ∨ ¬A (1)D ∨ ¬C (2)

¬D ∨ ¬B ∨ ¬C (3)

47 / 71

Page 48: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Lemma Learning

Baumgartner/Fuchs/Tinelli Lemma Learning in the Model Evolution Calculus

Lemma Learning in DPLL

9

A ¬A

C ¬C

B

D

* (3)

(1)

(2)

"Avoid making thesame mistake twice"

w/o Lemma

. . .

B ∨ ¬A (1)D ∨ ¬C (2)

¬D ∨ ¬B ∨ ¬C (3)

48 / 71

Page 49: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Lemma Learning

Baumgartner/Fuchs/Tinelli Lemma Learning in the Model Evolution Calculus

Lemma Learning in DPLL

9

A ¬A

C ¬C

B

D

* (3)

(1)

(2)

Lemma Candidates by Resolution:

"Avoid making thesame mistake twice"

w/o Lemma

. . .

B ∨ ¬A (1)D ∨ ¬C (2)

¬D ∨ ¬B ∨ ¬C (3)

¬D ∨ ¬B ∨ ¬C

49 / 71

Page 50: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Lemma Learning

Baumgartner/Fuchs/Tinelli Lemma Learning in the Model Evolution Calculus

Lemma Learning in DPLL

9

A ¬A

C ¬C

B

D

* (3)

(1)

(2)

Lemma Candidates by Resolution:

D ∨ ¬C

¬B ∨ ¬C

"Avoid making thesame mistake twice"

w/o Lemma

. . .

B ∨ ¬A (1)D ∨ ¬C (2)

¬D ∨ ¬B ∨ ¬C (3)

¬D ∨ ¬B ∨ ¬C

50 / 71

Page 51: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Lemma Learning

Baumgartner/Fuchs/Tinelli Lemma Learning in the Model Evolution Calculus

Lemma Learning in DPLL

9

A ¬A

C ¬C

B

D

* (3)

(1)

(2)

Lemma Candidates by Resolution:

¬C ∨ ¬A

D ∨ ¬C

¬B ∨ ¬C B ∨ ¬A

"Avoid making thesame mistake twice"

w/o Lemma

. . .

B ∨ ¬A (1)D ∨ ¬C (2)

¬D ∨ ¬B ∨ ¬C (3)

¬D ∨ ¬B ∨ ¬C

51 / 71

Page 52: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Lemma Learning

Baumgartner/Fuchs/Tinelli Lemma Learning in the Model Evolution Calculus

Lemma Learning in DPLL

9

A ¬A

C ¬C

B

D

* (3)

(1)

(2)

Lemma Candidates by Resolution:

¬C ∨ ¬A

D ∨ ¬C

¬B ∨ ¬C B ∨ ¬A

With Lemma"Avoid making thesame mistake twice"

w/o Lemma

. . .

B ∨ ¬A (1)D ∨ ¬C (2)

¬D ∨ ¬B ∨ ¬C (3)

¬D ∨ ¬B ∨ ¬C

52 / 71

Page 53: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Lemma Learning

Baumgartner/Fuchs/Tinelli Lemma Learning in the Model Evolution Calculus

Lemma Learning in DPLL

9

A ¬A

C ¬C

B

D

* (3)

(1)

(2)

Lemma Candidates by Resolution:

¬C ∨ ¬A

D ∨ ¬C

¬B ∨ ¬C B ∨ ¬A

With Lemma

A ¬A

"Avoid making thesame mistake twice"

w/o Lemma

. . .

B ∨ ¬A (1)D ∨ ¬C (2)

¬D ∨ ¬B ∨ ¬C (3)

¬D ∨ ¬B ∨ ¬C

53 / 71

Page 54: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Lemma Learning

Baumgartner/Fuchs/Tinelli Lemma Learning in the Model Evolution Calculus

Lemma Learning in DPLL

9

A ¬A

C ¬C

B

D

* (3)

(1)

(2)

Lemma Candidates by Resolution:

¬C ∨ ¬A

D ∨ ¬C

¬B ∨ ¬C B ∨ ¬A

With Lemma

A ¬A

¬C(¬C ∨ ¬A)

"Avoid making thesame mistake twice"

w/o Lemma

. . .

B ∨ ¬A (1)D ∨ ¬C (2)

¬D ∨ ¬B ∨ ¬C (3)

¬D ∨ ¬B ∨ ¬C

54 / 71

Page 55: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Further Information

The ideas described so far heve been implemented in the SATchecker zChaff:

Lintao Zhang and Sharad Malik. The Quest for Efficient BooleanSatisfiability Solvers, Proc. CADE-18, LNAI 2392, pp. 295–312,Springer, 2002.

Other OverviewsRobert Nieuwenhuis, Albert Oliveras, Cesare Tinelli. Solvin SATand SAT Modulo Theories: From an abstractDavis-Putnam-Logemann-Loveland precedure to DPLL(T), pp937–977, Journal of the ACM, 53(6), 2006.

Armin Biere and Marijn Heule and Hans van Maaren and TobyWalsh. Handbook of Satisability, IOS Press, 2009.

55 / 71

Page 56: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

The Resolution Calculus

DPLL and the refined CDCL algorithm are the practically bestmethods for PL

The resolution calculus (Robinson 1969) has been introduced as abasis for automated theorem proving in first-order logic. We willsee it in detail in the first-order logic part of this lecture

Refined versions are still the practically best methods for first-orderlogic

The resolution calculus is best introduced first for propositionallogic

56 / 71

Page 57: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

The Propositional Resolution Calculus

Propositional resolution inference rule

C ∨ A ¬A ∨ D

C ∨ D

Terminology: C ∨ D: resolvent; A: resolved atom

Propositional (positive) factoring inference rule

C ∨ A ∨ A

C ∨ A

Terminology: C ∨ A: factor

These are schematic inference rules:C and D – propositional clausesA – propositional atom“∨” is considered associative and commutative

57 / 71

Page 58: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Derivations

Let N = {C1, . . . ,Ck} be a set of input clauses

A derivation (from N) is a sequence of the form

C1, . . . ,Ck︸ ︷︷ ︸Inputclauses

,Ck+1, . . . ,Cn, . . .︸ ︷︷ ︸Derivedclauses

such that for every n ≥ k + 1

I Cn is a resolvent of Ci and Cj , for some 1 ≤ i , j < n, or

I Cn is a factor of Ci , for some 1 ≤ i < n.

The empty disjunction, or empty clause, is written as

A refutation (of N) is a derivation from N that contains

58 / 71

Page 59: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Sample Refutation

1. ¬A ∨ ¬A ∨ B (given)

2. A ∨ B (given)

3. ¬C ∨ ¬B (given)

4. C (given)

5. ¬A ∨ B ∨ B (Res. 2. into 1.)

6. ¬A ∨ B (Fact. 5.)

7. B ∨ B (Res. 2. into 6.)

8. B (Fact. 7.)

9. ¬C (Res. 8. into 3.)

10. (Res. 4. into 9.)

59 / 71

Page 60: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Soundness and Completeness

Important properties a calculus may or may not have:

Soundness: if there is a refutation of N then N is unsatisfiable

Deduction completeness:if N is valid then there is a derivation of N

Refutational completeness:if N is unsatisfiable then there is a refutation of N

The resolution calculus is sound and refutationally complete, butnot deduction complete

60 / 71

Page 61: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Soundness of Propositional Resolution

Theorem 2Propositional resolution is sound

Proof.Let I be an interpretation. To be shown:

1. for resolution: I |= C ∨ A, I |= D ∨ ¬A ⇒ I |= C ∨ D

2. for factoring: I |= C ∨ A ∨ A ⇒ I |= C ∨ A

Ad (1): Assume premises are valid in I . Two cases need to beconsidered:(a) A is valid in I , or (b) ¬A is valid in I .

a) I |= A⇒ I |= D ⇒ I |= C ∨ D

b) I |= ¬A⇒ I |= C ⇒ I |= C ∨ D

Ad (2): even simpler

61 / 71

Page 62: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Completeness of Propositional Resolution

Theorem 3Propositional Resolution is refutationally complete

I That is, if a propositional clause set is unsatisfiable, thenResolution will derive the empty clause eventually

I More precisely: If a clause set is unsatisfiable and closed underthe application of the Resolution and Factoring inferencerules, then it contains the empty clause

I Perhaps easiest proof: semantic tree proof technique (seewhiteboard)

I This result can be considerably strengthened, somestrengthenings come for free from the proof

62 / 71

Page 63: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Semantic Trees(Robinson 1968, Kowalski and Hayes 1969)

Semantic trees are a convenient device to represent interpretationsfor possibly infinitely many atoms

Applications

I To prove the completeness of the propositional resolutioncalculus

I Characterizes a specific, refined resolution calculus

I To prove the compactness theorem of propositional logic.Application: completeness proof of first-order logic Resolution.

63 / 71

Page 64: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Trees

A tree

I is an acyclic, connected, directed graph, where

I every node has at most one incoming edge

A rooted tree has a dedicated node, called root that has noincoming edge

A tree is finite iff it has finitely many vertices (and edges) only

In a finitely branching tree every node has only finitely many edges

A binary tree every node has at most two outgoing edges. It iscomplete iff every node has either no or two outgoing edges

64 / 71

Page 65: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

A path P in a rooted tree is a possibly infinite sequence of nodesP = (N0,N1, . . .), where N0 is the root, and Ni is a directsuccessor of Ni−1, for all i = 1, . . . , n

A path to a node N is a finite path of the form (N0,N1, . . . ,Nn)such that N = Nn; the value n is the length of the path

The node Nn−1 is called the immediate predecessor of NEvery node N0,N1, . . . ,Nn−1 is called a predecessor of NA (node-)labelled tree is a tree together with a labelling function λthat maps each of its nodes to an element in a given set

Let L be a literal. The complement of L is the literal

L :=

{¬A if L is the atom A

A if L is the negated atom ¬A.

65 / 71

Page 66: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Semantic Trees

A semantic tree B (for a set of atoms D) is a labelled, complete,rooted, binary tree such that

1. the root is labelled by the symbol >2. for every inner node N , one successor of N is labeled with the

literal A, and the other successor is labeled with the literal¬A, for some A ∈ D

3. for every node N , there is no literal L such that L ∈ I(N )and L ∈ I(N ), where

I(N ) = {λ(Ni ) | N0,N1, . . . , (Nn = N ) is a path to Nand 1 ≤ i ≤ n}

66 / 71

Page 67: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Semantic Trees

Atom SetFor a clause set N let the atom set (of N) be the set of atomsoccurring in clauses in N

A semantic tree for N is a semantic tree for the atom set of N

Path SemanticsFor a path P = (N0,N1, . . .) let

I(P) = {λ(Ni ) | i ≥ 0}

be the set of all literals along PComplete Semantic TreeA semantic tree for D is complete iff for every A ∈ D and everybranch P it holds that

A ∈ I(P) or ¬A ∈ I(P)

67 / 71

Page 68: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Interpretation Induced by a Semantic Tree

Every path P in a complete semantic tree for Dinduces an interpretation IP as follows:

IP [A] =

{true if A ∈ IPfalse if ¬A ∈ IP

A complete semantic tree can be seen as an enumeration of allpossible interpretations for N (it holds IP 6= IP ′ whenever P 6= P ′)

68 / 71

Page 69: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Failure Node

If a clause set N is unsatisfiable (not satisfiable) then, bydefinition, every interpretation I falsifies some clause in N, i.e.,I 6|= C for some C ∈ NThis motivates the following definition:

Failure NodeA node N in a semantic tree for N is a failure node, if

1. there is a clause C ∈ N such that IN 6|= C , and

2. for every predecessor N ′ of N it holds:

there is no clause C ∈ N such that IN ′ 6|= C

69 / 71

Page 70: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Open, Closed

A path P in a semantic tree for N is closed iff P contains a failurenode, otherwise it is open

A semantic tree B for M is closed iff every path is closed,otherwise B is open

Every closed semantic tree can be turned into a finite closed oneby removing all subtrees below all failure nodes

RemarkThe construction of a (closed or open) finite semantic tree is thecore of the propositional DPLL procedure above. Our mainapplication now, however, is to prove compactness of propositionalclause logic

70 / 71

Page 71: Classical Propositional Logicusers.cecs.anu.edu.au/~baumgart/teaching/COMP4630-8670...Inductive Proofs Induction on the structure of formulas To prove that a property Pholds for every

Compactness

Theorem 4A (possibly infinite) clause set N is unsatisfiable iff there is aclosed semantic tree for N

Proof.See whiteboard

Corollary 5 (Compactness)

A (possibly infinite) clause set N is unsatisfiable iff some finitesubset of N is unsatisfiable

Proof.The if-direction is trivial. For the only-if direction, Theorem 4 givesus a finite unsatisfiable subset of N as identified by the finitelymany failure nodes in the semantic tree.

71 / 71