Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Extended resolution as Certi�cates for
Propositional Logic
Chantal Keller
Inria � École Polytechnique - LIX
June, 10th 2013
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 1 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Motivation
Observations:
many di�erent automatic theorem provers based on di�erentparadigms
should be able to explain their results: give proof witness
Claim: no need for hundreds of checkers!
a standard for proof witnesses
provers should be able to transform their reasoning into suchwitnesses
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 2 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Motivation
Observations:
many di�erent automatic theorem provers based on di�erentparadigms
should be able to explain their results: give proof witness
Claim: no need for hundreds of checkers!
a standard for proof witnesses
provers should be able to transform their reasoning into suchwitnesses
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 2 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Which standard?
For propositional logic: extended resolution
the base of the standard proposed for SAT and SMT[Besson et al. � PxTP'11]
easily extendable (eg. quanti�ers [Deharbe et al. � PxTP'11])
already related to most existing proof systems
easy to generate from DPLL with backjumping
easy to check by a certi�ed tool (eg. SMTCoq, zCha� inIsabelle)
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 3 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Which provers?
For propositional logic:
DPLL with backjumping
clausal BDDs
Contribution:
tableaux provers
full BDDs
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 4 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Outline
1 Boolean unsatis�ability and extended resolution
2 Tableaux
3 BDDs
4 Conclusion
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 5 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
The CNF SAT problem
Decide propositional satis�ability of sets of clauses:
x ∨ y x ∨ y ∨ z x ∨ z z
Proof witnesses
If satis�able: assignment of the variables to > or ⊥ (givescounter-examples)If unsatis�able: proof by resolution of the empty clause(equivalent to provability)
Resolution rule:
x ∨ C x ∨ D
C ∨ D
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 6 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Example
Unsatis�ability of: x ∨ y x ∨ y ∨ z x ∨ z z
x ∨ y
x ∨ y ∨ z z
x ∨ y
x
x ∨ z z
x
�
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 7 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
The general SAT problem
Replace variables with propositional formulas:
(a⇒ b)∧
a b
Proof witness for unsatis�ability
proof by extended resolution of the empty clause
nodes are resolutions
leaves are initial clauses or extension rules
Extension of y , y1 ⇒ y2:
y ∨ y1 ∨ y2 y ∨ y1 y ∨ y2
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 8 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Example
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
two initial clauses: g and b
proof witness:
f ∨ a ∨ b
g ∨ f g
f
a ∨ b
g ∨ a g
a
b b
�
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 9 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Outline
1 Boolean unsatis�ability and extended resolution
2 Tableaux
3 BDDs
4 Conclusion
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 10 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
The method
Unsatis�ability of: (a⇒ b)∧
a b:
(a⇒ b)∧a
b
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 11 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
The method
Unsatis�ability of: (a⇒ b)∧
a b:
(a⇒ b)∧a
b
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 11 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
The method
Unsatis�ability of: (a⇒ b)∧
a b:
(a⇒ b)∧a
b
a⇒ b
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 11 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
The method
Unsatis�ability of: (a⇒ b)∧
a b:
(a⇒ b)∧a
b
a⇒ b
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 11 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
The method
Unsatis�ability of: (a⇒ b)∧
a b:
(a⇒ b)∧a
b
a⇒ b
a
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 11 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
The method
Unsatis�ability of: (a⇒ b)∧
a b:
(a⇒ b)∧a
b
a⇒ b
a
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 11 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
The method
Unsatis�ability of: (a⇒ b)∧
a b:
(a⇒ b)∧a
b
a⇒ b
a
a b
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 11 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
The method
Unsatis�ability of: (a⇒ b)∧
a b:
(a⇒ b)∧a
b
a⇒ b
a
a b
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 11 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
The method
Unsatis�ability of: (a⇒ b)∧
a b:
(a⇒ b)∧a
b
a⇒ b
a
a b
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 11 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
The method
Unsatis�ability of: (a⇒ b)∧
a b:
(a⇒ b)∧a
b
a⇒ b
a
a b
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 11 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
The method
Unsatis�ability of: (a⇒ b)∧
a b:
(a⇒ b)∧a
b
a⇒ b
a
a b
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 11 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
a
a b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
a
a b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
a
a b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
a
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
a
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
a
a b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
a
a b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
a
a b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
a
a b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
a
a b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
a
a b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
(a⇒ b)∧
a
b
a⇒ b
a
a b
Unsatis�ability of: (a⇒ b)∧
a b
let f , a⇒ b and g , f∧
a
build the proof step by step:
↪→ linear transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 12 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Outline
1 Boolean unsatis�ability and extended resolution
2 Tableaux
3 BDDs
4 Conclusion
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 13 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
BDDs
Canonical representation of a Boolean formula:
choose an order for the variables
nodes are succesive Shannon expansions of the variables
F ⇔ if a then F{a← >} else F{a← ⊥}merge isomorphic subtrees and eliminate some variables
BDD of (a⇒ (b ∨ c)) ∧ (a ∨ b ∨ c) with a > b > c :
b
c
0 1
BDD of an unsatis�able formula: 0
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 14 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Build the BDD little by little and simplify at the same time
Example of implication:
a a a
Γ1 Γ2 ∆1 ∆2 Γ1 ⇒ ∆1 Γ2 ⇒ ∆2
⇒
a
∆
a
Γ1 Γ2 Γ1 ⇒ ∆ Γ2 ⇒ ∆
⇒
0⇒ ∆ 1 1⇒ ∆ ∆ Γ⇒ 0 ¬Γ Γ⇒ 1 1
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 15 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Example
Unsatis�ability of (a⇒ b) ∧ a ∧ b:
a a
a
a
b
b
b
b
0
0
0
0
0
0
0
1
1
1
1
imp
negand
and
elim elim
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 16 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Set of clauses representing a BDD
Shannon expansion at each node:
a
Γ1 Γ2
PΓ
PΓ1 PΓ2
PΓ∨a∨PΓ1 PΓ∨a∨PΓ1 PΓ∨ a∨PΓ2 PΓ∨ a∨PΓ2
Leaves:
0P0 P0
1P1 P1.
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 17 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Example
BDD and set of clauses for a variable:
a
0 1
Pa
P0 P1
Pa∨a∨P0 Pa∨a∨P0 Pa∨a∨P1 Pa∨a∨P1 P0 P1
For an unsatis�able formula:
0P0 P0
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 18 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Transformation into a resolution tree
Idea of the algorithm:
start with the BDDs of the variables and the correspondingsets of clauses
at each application of a connective f ? g , transform the sets ofclauses representing f and g into the set of clausesrepresenting f ? g using extended resolution
these transformations correspond to pieces of certi�cates
put together, they prove the negation of the initial formula,and it only remains to resolve with it
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 19 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Example
Negation of a variable:
a
0 1
Pa
P0 P1
Pa ∨ a ∨ P0 Pa ∨ a ∨ P0
Pa ∨ a ∨ P1 Pa ∨ a ∨ P1
P0 P1
a
1 0
P ′a
P ′1 P ′
0
P ′a ∨ a ∨ P ′
1 P ′a ∨ a ∨ P ′
1
P ′a ∨ a ∨ P ′
0 P ′a ∨ a ∨ P ′
0
P ′0 P ′
1
pose P ′a , ¬Pa, P ′
0 , ¬P1, P′1 , ¬P0
by extension P ′a ∨ Pa and P ′
a ∨ Pa (idem for P ′0 and P ′
1)
the 6 new clauses are obtained by resolution
↪→ polynomial transformation
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 20 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Example
Negation of a variable:
a
0 1
Pa
P0 P1
Pa ∨ a ∨ P0 Pa ∨ a ∨ P0
Pa ∨ a ∨ P1 Pa ∨ a ∨ P1
P0 P1
a
1 0
P ′a
P ′1 P ′
0
P ′a ∨ a ∨ P ′
1 P ′a ∨ a ∨ P ′
1
P ′a ∨ a ∨ P ′
0 P ′a ∨ a ∨ P ′
0
P ′0 P ′
1
pose P ′a , ¬Pa, P ′
0 , ¬P1, P′1 , ¬P0
by extension P ′a ∨ Pa and P ′
a ∨ Pa (idem for P ′0 and P ′
1)
the 6 new clauses are obtained by resolution
↪→ polynomial transformationExtended resolution as Certi�cates for Propositional Logic Chantal Keller 20 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Outline
1 Boolean unsatis�ability and extended resolution
2 Tableaux
3 BDDs
4 Conclusion
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 21 / 22
Boolean unsatis�ability and extended resolution Tableaux BDDs Conclusion
Conclusion and perspectives
Extended resolution is theoretically suited for certi�cates:
three major paradigms can return such certi�cates inpolynomial time: DPLL with backjumping, tableaux and BDDs
remind: e�cient certi�ed checking
Validation
instrument existing provers with these algorithms
evaluate the e�ciency
Perspectives
cope with enhancements implemented by these provers
extensions to more expressive logics and other provers
Extended resolution as Certi�cates for Propositional Logic Chantal Keller 22 / 22