introduction to propositional logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf ·...

94
Introduction to Propositional Logic Jinbo Huang Australian National University Jinbo Huang Introduction to Propositional Logic

Upload: others

Post on 25-Jun-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Introduction to Propositional Logic

Jinbo Huang

Australian National University

Jinbo Huang Introduction to Propositional Logic

Page 2: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Overview

I Syntax and semantics

I Reasoning methods

Jinbo Huang Introduction to Propositional Logic

Page 3: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Propositional Logic: Ingredients

Burglary ∨ Earthquake → Alarm

Variables

I A,B ,C , . . .

I Burglary ,Earthquake,Alarm, . . .

Connectives

I ¬ (not, negation)

I ∧ (and, conjunction)

I ∨ (or, disjunction)

I → (implication)

I ↔ (biconditional)

Jinbo Huang Introduction to Propositional Logic

Page 4: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Propositional Logic: Sentences

Every variable is a sentence

If α and β are sentences, so are

I ¬(α)

I (α) ∧ (β)

I (α) ∨ (β)

I (α)→ (β)

I (α)↔ (β)

Parentheses omitted where no confusion arises

Jinbo Huang Introduction to Propositional Logic

Page 5: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Propositional Sentences

Burglary ∨ Earthquake → Alarm

(A ∨ B) ∧ (A ∨ ¬B)→ A

¬(A ∧ B)↔ (¬A ∨ ¬B)

Jinbo Huang Introduction to Propositional Logic

Page 6: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Semantics: Worlds

World, interpretation, evaluation, truth assignment,variable instantiation

I Map from variables to {true, false} / {1, 0}I ω1(A) = 1, ω1(B) = 0, ω1(C ) = 1, . . .

I ω2(A) = 0, ω2(B) = 1, ω2(C ) = 1, . . .

I 2n possible worlds for n variables

Jinbo Huang Introduction to Propositional Logic

Page 7: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Semantics: Truth of Sentences, Models

Given world ω, ω |= α: α evaluates to 1 under ω

I ω |= X iff ω(X ) = 1

I ω |= ¬α iff ω 6|= α

I ω |= α ∧ β iff ω |= α and ω |= β

I ω |= α ∨ β iff ω |= α or ω |= β

I α→ β ≡ ¬α ∨ βI α↔ β ≡ (α→ β) ∧ (β → α)

ω |= α: ω is a model of α, ω satisfies α

Jinbo Huang Introduction to Propositional Logic

Page 8: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Truth of Sentences

Burglary ∨ Earthquake → Alarm

I ω1 = {Burglary ,Earthquake,Alarm}

I ω2 = {Burglary ,Earthquake,Alarm}

Jinbo Huang Introduction to Propositional Logic

Page 9: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Sentences as Boolean Functions

Each sentence is a function

I Plug in values (1/0) for variables

I Get value (1/0) for whole sentence

Function depends only on the mapping, notcomposition of sentence

Different sentences can define same function

I A ∨ (B ∧ C )

I (A ∨ B) ∧ (A ∨ C )

Jinbo Huang Introduction to Propositional Logic

Page 10: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Sentences as Boolean Functions

Set of models determines function

For n variables

I # possible sentences infinite

I # possible worlds 2n

I # possible sets of models 22n

I # possible functions 22n

Jinbo Huang Introduction to Propositional Logic

Page 11: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Completeness of Connectives

Is every Boolean function represented by somesentence?

Depends on the connectives allowed

Not if only {∧,∨} allowed, e.g.

I Cannot express ¬A

I Proof by noting monotonicity

Jinbo Huang Introduction to Propositional Logic

Page 12: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Completeness of Connectives: {∧,∨,¬}

Function ≡ set of models

{ABC ,ABC ,ABC}I ¬A ∧ B ∧ C

I A ∧ ¬B ∧ C

I A ∧ B ∧ C

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

Set of models ⇒ sentence using only {∧,∨,¬}

Jinbo Huang Introduction to Propositional Logic

Page 13: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Completeness of Connectives: {∧,¬}

Can express ∨ using {∧,¬}

A ∨ B ≡ ¬(¬A ∧ ¬B)

Similarly, {∨,¬} is complete

A ∧ B ≡ ¬(¬A ∨ ¬B)

Jinbo Huang Introduction to Propositional Logic

Page 14: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Completeness of Connectives: {↑}

NAND: A ↑ Bdef= ¬(A ∧ B)

∧,∨,¬ can be expressed with ↑ alone

I A ∧ B ≡ (A ↑ B) ↑ >I A ∨ B ≡ (A ↑ >) ↑ (B ↑ >)

I ¬A ≡ A ↑ >

>: true

⊥: false

Similarly, {↓} (NOR alone) is complete

Jinbo Huang Introduction to Propositional Logic

Page 15: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Useful Identities

DeMorgan’s

I ¬(A ∧ B) ≡ ¬A ∨ ¬B

I ¬(A ∨ B) ≡ ¬A ∧ ¬B

Distribution

I A ∧ (B ∨ C ) ≡ (A ∧ B) ∨ (A ∧ C )

I A ∨ (B ∧ C ) ≡ (A ∨ B) ∧ (A ∨ C )

Jinbo Huang Introduction to Propositional Logic

Page 16: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Reasoning Tasks

Satisfiability (SAT)

I Given α, does α have a model?

I ∃ω, ω |= α

Validity

I Given α, is α 1 in all worlds?

I ∀ω, ω |= α

I Reducible to SAT: α is valid iff ¬α is not SAT

Jinbo Huang Introduction to Propositional Logic

Page 17: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Reasoning Tasks

Entailment

I Given α and β, is β 1 whenever α is 1?

I α |= β: models(α) ⊆ models(β)

I Reducible to validity: α |= β iff α→ β is valid

Equivalence

I α ≡ β: models(α) = models(β)

I Reducible to entailment: α |= β and β |= α

Jinbo Huang Introduction to Propositional Logic

Page 18: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

How is Logic Useful?

Knowledge base ∆

I okX → (A↔ ¬B)

I okY → (B ↔ ¬C )

Is AC normal?

I Is it possible for okX and okY to be both 1?

I Is (A ∧ ¬C ∧ okX ∧ okY ∧∆) SAT?

Jinbo Huang Introduction to Propositional Logic

Page 19: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

How is Logic Useful?

Diagnosis

I Is observation normal?

I What components might be broken?

Verification

I Does circuit/program correctly implementspecification?

I Can some “bad” behavior happen?

Planning

I Is there sequence of actions to reach goal?

Jinbo Huang Introduction to Propositional Logic

Page 20: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Reasoning Methods: Is α SAT?

Semantic reasoning

I Search for ω such that ω |= α

Syntactic reasoning (inference, proof)

I Create new sentences from α by applyingsyntactic rules

I Stop when proof of UNSAT is producedI Rules should be sound and complete

I UNSAT proof will be produced iff α is not SAT

Jinbo Huang Introduction to Propositional Logic

Page 21: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Negation Normal Form (NNF)

{∧,∨,¬} only

¬ applied to variables only

NNF

I (A ∧ ¬B) ∨ C

I (A ∨ B) ∧ (B ∨ ¬C )

Not NNF

I A→ (B ∨ C )

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

Jinbo Huang Introduction to Propositional Logic

Page 22: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Conversion to NNF

Eliminate connectives other than ∧,∨,¬I Always possible by completeness of {∧,∨,¬}

Push ¬ all the way to variables

I Always possible by DeMorgan’s laws

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

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

Jinbo Huang Introduction to Propositional Logic

Page 23: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Conjunctive Normal Form (CNF)

Literal: variable or its negation

I A,¬A,B ,¬B ,C ,¬C , . . .

Clause: disjunction (∨) of literals

I A ∨ ¬B ∨ C

I A,¬B ,C (unit clauses)

CNF: conjunction (∧) of clauses

I Often regard as set of clauses

Jinbo Huang Introduction to Propositional Logic

Page 24: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Conversion to CNF

Start with NNF

Push ∨ all the way to literals

I Always possible by distribution laws

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

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

Potential issue?

Jinbo Huang Introduction to Propositional Logic

Page 25: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Conversion to CNF: Complexity

Can get too many clauses

I Can be exponential in size of original formula

CNF1 ∨ CNF2

I Result has |CNF1| · |CNF2| clauses

CNF1 ∨ CNF2 ∨ . . . ∨ CNFn

I If CNFi each has 2 clauses, result has 2n clauses

Exponential worst case inevitable

Jinbo Huang Introduction to Propositional Logic

Page 26: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Conversion to CNF: Polynomial Method

Do not insist on equivalence

Convert ∆ to ∆′

I ∆′ is in CNF

I ∆′ has extra variables

I |∆′| is polynomial in |∆|

How can ∆′ be useful if ∆′ 6≡ ∆?

I All we need is SAT(∆) ≡ SAT(∆′)

Jinbo Huang Introduction to Propositional Logic

Page 27: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Conversion to CNF: Polynomial Method

∆ = ∆1 ∨∆2, assume ∆1,∆2 already in CNF

I ∆1 = g1 ∧ g2 ∧ . . . ∧ gpI ∆2 = h1 ∧ h2 ∧ . . . ∧ hq

Original conversion of ∆1 ∨∆2 produces pq clauses

Introduce new variable X , let ∆′ have followingclauses

I X ∨ g1,X ∨ g2, . . . ,X ∨ gpI ¬X ∨ h1,¬X ∨ h2, . . . ,¬X ∨ hq

|∆′| = p + q

Jinbo Huang Introduction to Propositional Logic

Page 28: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Conversion to CNF: Preservation of SAT

∆′ with new variable X

I X ∨ g1,X ∨ g2, . . . ,X ∨ gpI ¬X ∨ h1,¬X ∨ h2, . . . ,¬X ∨ hq

SAT(∆ = ∆1 ∨∆2) ⇒ SAT(∆′)

I ∃ω, ω |= ∆

I ω |= ∆1 or ω |= ∆2, assume former

I ∀i , ω |= giI Let ω′(X ) = 0 and ω′ = ω otherwise

I ω′ |= ∆′

Jinbo Huang Introduction to Propositional Logic

Page 29: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Conversion to CNF: Preservation of SAT

∆′ with new variable X

I X ∨ g1,X ∨ g2, . . . ,X ∨ gpI ¬X ∨ h1,¬X ∨ h2, . . . ,¬X ∨ hq

SAT(∆′) ⇒ SAT(∆ = ∆1 ∨∆2)

I ∃ω′, ω′ |= ∆′

I ω′(X ) = 0 or ω′(X ) = 1, assume former

I ∀i , ω′ |= giI ω′ |= ∆1

I ω′ |= ∆

Jinbo Huang Introduction to Propositional Logic

Page 30: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Conversion to CNF

Any sentence can be put in CNF (using extravariables) in polynomial time preserving SAT

Will assume input to reasoning task is in CNF

Jinbo Huang Introduction to Propositional Logic

Page 31: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Reasoning Methods: Is α SAT?

Semantic reasoning

I Search for ω such that ω |= α

Syntactic reasoning (inference, proof)

I Create new sentences from α by applyingsyntactic rules

I Stop when proof of UNSAT is producedI Rules should be sound and complete

I UNSAT proof will be produced iff α is not SAT

Jinbo Huang Introduction to Propositional Logic

Page 32: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Syntactic Reasoning: Resolution

A ∨ ¬B ∨ C , ¬C ∨ D ∨ ¬E

A ∨ ¬B ∨ D ∨ ¬E

g ∨ X , ¬X ∨ h

g ∨ h

New clause called resolvent

If g = h = ∅, empty clause ∅ is generated

Jinbo Huang Introduction to Propositional Logic

Page 33: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Resolution

Repeat until saturation or generation of ∅I Will always terminate as # clauses is finite

Sound and complete

I CNF ∆ is SAT iff ∅ is not generated

Jinbo Huang Introduction to Propositional Logic

Page 34: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Resolution: Soundness

Generation of ∅ ⇒ UNSAT(∆)

g∨X , ¬X∨hg∨hI (ω |= g ∨ X ) and (ω |= ¬X ∨ h) ⇒

(ω |= g ∨ h)

I (ω |= ∆) ⇒ (ω |= all added clauses)

I (ω |= X ) and (ω |= ¬X ) impossible

I SAT(∆) ⇒ no ∅

Jinbo Huang Introduction to Propositional Logic

Page 35: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Resolution: Completeness

UNSAT(∆) ⇒ generation of ∅

No ∅ ⇒ SAT(∆)

Consider all clauses at termination, repeat fori = 1, . . . , n

I Set ω(Xi) to either 1/0 without any clausebeing falsified by assignments so far

I Will always succeed

ω |= all clauses; hence SAT(∆)

Jinbo Huang Introduction to Propositional Logic

Page 36: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Resolution: Completeness

Can always set ω(Xi) to 1/0 without any clausefalsified by assignments so far, because otherwise

I ∃ Xi ∨ g , ¬Xi ∨ h, g and h are falsified

I But g ∨ h exists (due to saturation), so failuremust have occurred earlier

I Base case is the first iteration (i = 1), whichcannot fail because there are no X and ¬X

Jinbo Huang Introduction to Propositional Logic

Page 37: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Resolution

Will always prove SAT/UNSAT

Purely syntactic, not directly concerned withexistence of models

How well does it work in practice?

Jinbo Huang Introduction to Propositional Logic

Page 38: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Resolution: Practical Considerations

Can generate exponential # resolvents

Many may not contribute to proof (i.e., ∅)

How do we decide which resolvents to generate?

Let’s come back to this issue

Jinbo Huang Introduction to Propositional Logic

Page 39: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Reasoning Methods: Is α SAT?

Semantic reasoning

I Search for ω such that ω |= α

Syntactic reasoning (inference, proof)

I Create new sentences from α by applyingsyntactic rules

I Stop when proof of UNSAT is producedI Rules should be sound and complete

I UNSAT proof will be produced iff α is not SAT

Jinbo Huang Introduction to Propositional Logic

Page 40: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Semantic Reasoning: Searching for Model

{A ∨ B ,B ∨ C} (alternative notation A forcompactness)

Is formula SAT?

8 assignments to ABC : enumerate & check, untilmodel found, e.g., A = B = C = 1

Exponential in # variables in worst case (fine, butcan try to do better in average case)

Jinbo Huang Introduction to Propositional Logic

Page 41: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Search

{A ∨ B ,B ∨ C}

Jinbo Huang Introduction to Propositional Logic

Page 42: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Conditioning

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

'&

$%

'&

$%

Jinbo Huang Introduction to Propositional Logic

Page 43: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Conditioning

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

Simplifies formula

I false literal disappears from clause

I true literal makes clause disappear

Leaves of search tree

I empty clause generated: formula falsified

I all clauses gone: formula satisfied

Not necessarily 2n leaves, even in case of UNSAT

Jinbo Huang Introduction to Propositional Logic

Page 44: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Early Backtracking

Backtrack as soon as empty clause generated

Can we do even better?

What about unit clauses?{A ∨ B ,B ∨ C}|A {B ,B ∨ C}

B must be true, no need for two branches

Setting B = 1 may lead to more unit clauses, repeattill no more (or till empty clause)

Known as unit propagation

Jinbo Huang Introduction to Propositional Logic

Page 45: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Algorithm: DPLL

Same kind of search tree, each node augmentedwith unit propagation

I multiple assignments in one levelI decision & implications

I may not need n levels to reach leaf

What (completely) determines search tree?

Jinbo Huang Introduction to Propositional Logic

Page 46: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

DPLL: Variable Ordering

Can have huge impact on efficiency

Example: unit propagation lookahead, as in satz

I short clauses are good, more likely to result inunit propagation

I tentatively try each variable, count new binaryclauses generated

I select variable with highest score:w(X ) · w(X ) · 1024 + w(X ) + w(X )

Generally different orders down different branches:dynamic ordering

Jinbo Huang Introduction to Propositional Logic

Page 47: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Enhancement

Given variable ordering, search tree is fixed

How can we possibly reduce search tree further?

Backtrack earlier

Backtracking occurs (only) when empty clausegenerated

Empty clause generated (only) by unit propagation

Jinbo Huang Introduction to Propositional Logic

Page 48: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Empowering Unit Propagation

Unit propagation determined by set of clauses

More clauses ⇒ (potentially) more propagation,earlier empty clause (backtrack), smaller search tree

What clauses to add?

I not already in CNF

I logically entailed by CNF (or correctness lost)

I empower UP

Jinbo Huang Introduction to Propositional Logic

Page 49: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Clause Learning

∆|A

A,BB ,CA,X ,YA,X ,ZA,Y ,ZA,X ,ZA,Y ,Z

∆|A

A,B

B ,C

A,

X ,Y

A,

X ,Z

A,

Y ,Z

A,

X ,Z

A,

Y ,Z

∆|A,B

A,BB ,CA,

X ,Y

A,

X ,Z

A,

Y ,Z

A,

X ,Z

A,

Y ,Z

∆|A,B,C

A,BB ,CA,

X ,Y

A,

X ,Z

A,

Y ,Z

A,

X ,Z

A,

Y ,Z

∆|A,B,C ,X

A,BB ,CA,X ,

Y

A,X ,ZA,

Y ,Z

A,X ,ZA,

Y ,Z

I Conflict in level 3: ∆|A,B,C ⇒ XI B ,C irrelevant: ∆|A ⇒ XI What clause would have allowed UP to derive

X in level 0? A ∨ X (A→ X )Jinbo Huang Introduction to Propositional Logic

Page 50: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Clause Learning

∆|A

A,BB ,CA,X ,YA,X ,ZA,Y ,ZA,X ,ZA,Y ,ZA,X

∆|A

A,B

B ,C

A,

X ,Y

A,

X ,Z

A,

Y ,Z

A,

X ,Z

A,

Y ,Z

A,

X

A ∨ X satisfies criteria

I not in CNF

I entailed by CNF

I empowers UP

Learn clause in level 3

Backtrack to level 0, start over

How to learn? How far tobacktrack?

Jinbo Huang Introduction to Propositional Logic

Page 51: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Implication Graph

1 : A,B2 : B ,C3 : A,X ,Y4 : A,X ,Z5 : A,Y ,Z6 : A,X ,Z7 : A,Y ,Z

8 : A,X

8 : A,X

Jinbo Huang Introduction to Propositional Logic

Page 52: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Conflict Analysis

1 : A,B2 : B ,C3 : A,X ,Y4 : A,X ,Z5 : A,Y ,Z6 : A,X ,Z7 : A,Y ,Z

I Cut: roots (decisions) on one side, sink(contradiction) on other

I Arrows across cut together responsible forcontradiction

I Conflict set: tail points of arrows

Jinbo Huang Introduction to Propositional Logic

Page 53: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Conflict SetConflict Clause

1 : A,B2 : B ,C3 : A,X ,Y4 : A,X ,Z5 : A,Y ,Z6 : A,X ,Z7 : A,Y ,Z

I Cut 1: {A,X} ⇒ A ∨ X

I Cut 2: {A,Y } ⇒ A ∨ Y

I Cut 3: {A,Y ,Z} ⇒ A ∨ Y ∨ Z (existing)Which clause to learn?

Jinbo Huang Introduction to Propositional Logic

Page 54: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Unique Implication Point (UIP)

Prefer shorter explanation

I shorter clause closer to unit, more empowering

Never need > 1 node from latest level

I latest decision + history always suffices

UIP: lies on all paths from decision to contradiction

Jinbo Huang Introduction to Propositional Logic

Page 55: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

1-UIP Learning

Work from sink backwardsStop when conflict set includes a UIP, and no othernodes, of latest level: 1-UIP clause (A ∨ Y )

I 2-UIP, 3-UIP, . . ., All-UIP

Empirically shown effective, most common choice

Jinbo Huang Introduction to Propositional Logic

Page 56: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Backtracking to Assertion Level

Learned clause: A ∨ Y

I becomes unit (Y ) when erasing current level

I asserting clause: UP will assert Y(empowerment)

Jinbo Huang Introduction to Propositional Logic

Page 57: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Backtracking to Assertion Level

Backtrack as far as possible, as long as UP remainsempowered

Assertion level: 2nd highest level in learned clause,or -1 if learned clause is unit

I A0 ∨ B1 ∨ C1 ∨ X4: aLevel = 1

I X4: aLevel = −1

I learned unit clause asserted before any decision

Empirically shown effective, most common choice

Jinbo Huang Introduction to Propositional Logic

Page 58: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Clause Learning: Putting It Together

repeatif no free variablereturn SAT

pick free variable X and set either X or Xif contradictionif level < 0return UNSAT

learn clausebacktrack anywhere learned clause 6= ∅

I Will terminate because learned clause must benew, |clauses| finite

Jinbo Huang Introduction to Propositional Logic

Page 59: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Efficient Unit Propagation

Need to detect unit clauses

Naively, keep track of clause lengths: when settingX , decrement lengths of clauses that contain X

I inefficient when CNF is large

Pick 2 literals to watch in each clause

I watch A,B in A ∨ B ∨ C ∨ D

I clause cannot be unit unless A or B is set

I do nothing when C or D is assigned

Scales to millions of clauses in practice

Jinbo Huang Introduction to Propositional Logic

Page 60: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Clause Learning and Resolution

Each learning step corresponds to a sequence ofresolutions

Each learned clause is the final resolvent of thatsequence

Jinbo Huang Introduction to Propositional Logic

Page 61: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Syntactic and Semantic ReasoningCombined

Searching for model and performing resolutions atthe same time

Terminates as soon as either thread terminates

Solves our earlier issue with resolution (as purelysyntactic method)

I Search behavior guides generation of resolvents

Addition of new clauses also influences search

I Aim for “positive feedback loop”

Jinbo Huang Introduction to Propositional Logic

Page 62: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

SAT Resources

I SAT conferences, www.satisfiability.org

I SAT competitions, www.satcompetition.org

I SAT Live, www.satlive.org

I Handbook of satisfiability

Jinbo Huang Introduction to Propositional Logic

Page 63: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Propositional Reasoning Beyond SAT

SAT answers a single query

Repeated queries on same knowledge base ∆?

I E.g., abnormality of different observations

I Each SAT query can be expensive

I Can we do some expensive work once, so thatfuture queries can all be answered quickly?

Compile ∆ into tractable form

Jinbo Huang Introduction to Propositional Logic

Page 64: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Multiple Queries

Jinbo Huang Introduction to Propositional Logic

Page 65: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

What to Compile To

Jinbo Huang Introduction to Propositional Logic

Page 66: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Target Compilation Forms

Representations of Boolean functions

Systematic space of normal forms

Satisfy different sets of properties

Support different sets of operations

Jinbo Huang Introduction to Propositional Logic

Page 67: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Reasoning by Knowledge Compilation

Identify forms that support desired operations

Pick most succinct one

Compile knowledge into target form

Perform reasoning

Jinbo Huang Introduction to Propositional Logic

Page 68: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Negation Normal Form (NNF)

AND/OR circuit over literals

Jinbo Huang Introduction to Propositional Logic

Page 69: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Negation Normal Form (NNF)

Any Boolean function can be represented in NNF(completeness)

Impose conditions/properties over NNF

Obtain subsets/restrictions of NNF

Consider only complete subsets

Jinbo Huang Introduction to Propositional Logic

Page 70: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Decomposability

Jinbo Huang Introduction to Propositional Logic

Page 71: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Decomposable NNF (DNNF)

Jinbo Huang Introduction to Propositional Logic

Page 72: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Determinism

Jinbo Huang Introduction to Propositional Logic

Page 73: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Smoothness

Jinbo Huang Introduction to Propositional Logic

Page 74: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Deterministic DNNF (d-DNNF)

Jinbo Huang Introduction to Propositional Logic

Page 75: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Flatness

Jinbo Huang Introduction to Propositional Logic

Page 76: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Simple Disjunction

Jinbo Huang Introduction to Propositional Logic

Page 77: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Simple Conjunction

Jinbo Huang Introduction to Propositional Logic

Page 78: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

CNF, DNF

Jinbo Huang Introduction to Propositional Logic

Page 79: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Prime Implicates (PI)

Conjunction of clauses

Includes every entailed clause

No clause subsumes another

Can obtain by running resolution to saturation,removing subsumed clauses

Jinbo Huang Introduction to Propositional Logic

Page 80: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Prime Implicants (IP)

Disjunction of terms

Includes every entailing term

No term subsumes another

Can obtain by process dual to resolution

Jinbo Huang Introduction to Propositional Logic

Page 81: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

PI,IP

Jinbo Huang Introduction to Propositional Logic

Page 82: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Decision

Decision node: true, false, or following fragmentwhere α, β are decision nodes

Jinbo Huang Introduction to Propositional Logic

Page 83: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Decision

Jinbo Huang Introduction to Propositional Logic

Page 84: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Decision Drawn Compactly

Jinbo Huang Introduction to Propositional Logic

Page 85: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Binary Decision Diagrams (BDD)

Jinbo Huang Introduction to Propositional Logic

Page 86: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

BDD

Jinbo Huang Introduction to Propositional Logic

Page 87: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Test-once

Jinbo Huang Introduction to Propositional Logic

Page 88: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Free BDDs (FBDD)

Jinbo Huang Introduction to Propositional Logic

Page 89: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Ordering

Jinbo Huang Introduction to Propositional Logic

Page 90: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Ordered BDDs (OBDD)

Jinbo Huang Introduction to Propositional Logic

Page 91: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Succinctness

F at least as succinct as G , F ≤ G , if

∀∆ ∈ G , ∃∆′ ∈ F , ∆′ ≡ ∆, |∆′| polynomial in |∆|

F more succinct than G , F < G , if F ≤ G , G 6≤ F

Jinbo Huang Introduction to Propositional Logic

Page 92: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Succinctness

Jinbo Huang Introduction to Propositional Logic

Page 93: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

Further Topics

Operations supported by each form

Compiling knowledge into these forms

Reasoning with these forms

Jinbo Huang Introduction to Propositional Logic

Page 94: Introduction to Propositional Logicusers.cecs.anu.edu.au/~jinbo/logic/propositional-handout.pdf · Jinbo Huang Introduction to Propositional Logic. Resolution Will always prove SAT/UNSAT

THE END

Jinbo Huang Introduction to Propositional Logic