Proof Theory
Historical Perspective and Current Research
DTAI seminars
Jo Devriendt
Contents ...
Disclaimer ...
What is a proof?
- List of true axioms
 - List of inferred lemma's
	
- Contains statement to be proven
 
 
Informally
- Axiom: All men are mortal
 - 
Axiom: Socrates is a man
	
- Inferred lemma: Socrates is mortal
 
 
What is a proof?
In this presentation:
propositional refutation
- Propositional theory T
 - Derived propositions φ
	
- Inconsistent proposition (⊥ or 0 ≥ 1 or 1=0)
 
 
a \Rightarrow b
a⇒b
\neg c
¬c
a
a
b \Rightarrow c
b⇒c
b
b
\bot
⊥
c
c
What is a proof system?
- Language to write statements
 - Syntactical inference rules
 
Informally
- Propositional clauses
 - Resolution rule
 
\frac{C \vee p \;\;\;\; D \vee \neg p}{C \vee D}
C∨DC∨pD∨¬p
C = a \vee \neg b \vee c
C=a∨¬b∨c
Resolution proof system
Resolution proof system

Extended resolution proof system
- Resolution:
 - Variable introduction:
 
\frac{C \vee p \;\;\;\; D \vee \neg p}{C \vee D}
C∨DC∨pD∨¬p
\frac{}{\neg p \vee C \;\;\;\; \forall l \in C:\; \neg l \vee p}
¬p∨C∀l∈C:¬l∨p
Cutting plane proof system
- Linear inequalities:
 - Inference rules:
 

a_1x_1+a_2x_2+a_3x_3 \geq A  \;\;\;\; a_i,A \in \mathbb{Z}, x_i \mapsto \mathbb{Z}
a1x1+a2x2+a3x3≥Aai,A∈Z,xi↦Z
Cutting plane proof system

- -2x + y ≥ 0 (axiom)
 - x + -2y ≥ -2 (axiom)
 - 2x + y ≥ 2 (axiom)
 - 2x + -4y ≥ -4 (2*2)
 - -3y ≥ -4 (1+4)
 - -y ≥ -1 (rounding of 5)
 - 2x ≥ 1 (3+6)
 - x ≥ 1 (rounding of 7)
 - -2x ≥ -1 (1+6)
 - -x ≥ 0 (rounding of 9)
 - 0 ≥ 1 (8+10)
 
Polynomial calculus proof system
- Polynomials:
 - Inference rules:
 
x\bar{y}+z=0 \;\;\;\; x,\bar{y},z \mapsto \mathbb{F}
xy¯+z=0x,y¯,z↦F

Polynomial calculus proof system
Propositional context:
- = GF(2)
 - true = 0
 - false = 1
 - Derive 1=0
 
\mathbb{F}
F
x \vee \neg y \vee z \; \leftrightarrow \; x\bar{y}z=0
x∨¬y∨z↔xy¯z=0
Comparison of proof systems (1)
- 
proof system A p-simulates proof system B 
iff there exists a polytime algorithm transforming B-proofs in A-proofs- A ≥ B
 - A "is at least as strong as" B
 
 - RES ≤ CUTPLANE ≤ ERES
 - RES ≤ POLYCALC
 
RES ≤ CUTPLANE

\frac{x + (1-y) + z \geq 1 \;\;\;\; (1-y)+(1-z)\geq 1}{x+(2-2y)\geq 2}
x+(2−2y)≥2x+(1−y)+z≥1(1−y)+(1−z)≥1
x \geq 0
x≥0
\frac{\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;}{2x+(2-2y)\geq 2}
2x+(2−2y)≥2
\frac{\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;}{x+(1-y)\geq 1}
x+(1−y)≥1
(b) Corresponding cutting plane derivation
RES ≤ POLYCALC


Comparison of proof systems (2)
- Proof size: number of steps in proof
 - Lower bounds exist!
	
- Pigeonhole formula
		
- exponential lower bound - RES and POLYCALC
 - poly proof exists - CUTPLANE and ERES
 
 - Tseitin formula
		
- exponential lower bound - RES
 - poly proof exists - POLYCALC and ERES
 
 
 - Pigeonhole formula
		
 
Comparison of proof systems (3)
- RES < CUTPLANE ≤ ERES
 - RES < POLYCALC
 
Combinatorial solvers with "learning"
are
Proof generators
- SAT, SMT, PB, CP
 - Lower bound on runtime complexity by lower bound on proof size!
 
What proofs are generated?
Conflict Driven Clause Learning
while(true){
  if(theory contains ⊥){
    return UNSAT
  }else if(model found){
    return SAT
  }
  branch
  (reasoned) propagate
  while(conflict){
    resolve conflict clause to learned clause
    backjump
    add learned clause to theory
    (reasoned) propagate
  }
}Conflict Driven Clause Learning
CDCL "p-simulates" RES
- Reason clause for each propagation
 - Conflict clause is unsat
	
- can be resolved with reason clauses
 - constructs resolution proof
 
 
Where are the stronger proof systems?
- 
Polynomial calculus
	
- PolyBoRi
 
 - 
Cutting planes
	
- IntSat
 
 - 
Extended resolution
	
- GlucosER
 
 
IntSat
- Solves integer program (set of "cutting planes")
 - Treats clauses as pseudoboolean cp
 - Reason cp
 - Learned cp derived from conflict cp
	
- linear combinations
 - roundings
 
 
IntSat
- x + y - z ≥ 3 (theory)
 - x + y + z ≥ 6 (theory)
 - 2 ≥ y (branch)
 - 2 ≥ x (branch)
 - 1 ≥ z (propagation from 1)
 - z ≥ 2 (propagation from 2)
 - CONFLICT!
 - derive 2x+2y ≥ 9 (derived from 1+2)
 - learn x+y ≥ 5 (rounded from 8)
 
- Learned cp prevents conflicts!
 - Learned cp is stronger than x≥3 v y≥3
 - But...
 
IntSat
Problematic learned cp's
x+y+2z \leq 2
x+y+2z≤2
y - 2z \leq 0
y−2z≤0
0 \leq x
0≤x
1 \leq y
1≤y
x+2y \leq 2
x+2y≤2
Does not avoid conflict...
Conflict over z!
2z \leq 1
2z≤1
1 \leq 2z
1≤2z
(z is integer)
Proposed learned constraint:
Branching
choices
IntSat
- Solves integer program (set of "cutting planes")
 - Treats clauses as pseudoboolean cp
 - Reason cp
 - Learned cp derived from conflict cp
	
- linear combinations
 - roundings
 
 - Also backup CDCL!
	
- Reason clause
 - Conflict clause
 - Learned clause
 
 - Forgets learned clause
after backjump 
IntSat
while(true){
  if(theory contains 0≥1){
    return UNSAT
  }else if(model found){
    return SAT
  }
  branch on variable bound
  (reasoned) propagate
  while(conflict){
    add learned cutting plane to theory
    resolve conflict clause to learned clause
    backjump on learned clause
    (reasoned) propagate
  }
}Structure-based Extended Resolution in CP
- Introduce partial sums for linear terms:
- Only when needed ("lazy")
 - Connection to ERES!
 
 - Exploit bounds on partial sums in reason clauses
 
\sum_{0\leq i \leq n} a_ix_i = [\sum_{0\leq i \leq n-1} a_ix_i] + a_nx_n
∑0≤i≤naixi=[∑0≤i≤n−1aixi]+anxn
Structure-based Extended Resolution in CP
- Adding [x+y] as a variable to the CP engine allows for shorter learned clauses.
	
- ([x+y] ≥ 5) instead of (x≥3 v y≥3)
 
 - IntSat seems to generalize this!
 
- [x+y] - z ≥ 3 (theory)
 - [x+y] + z ≥ 6 (theory)
 - 2 ≥ x (branch)
 - 2 ≥ y (branch)
 - 1 ≥ z (propagation from 1)
 - z ≥ 2 (propagation from 2)
 - CONFLICT!
 - derive [x+y] ≥ 5 (from negation of 3 and 4)
 
IDP4: Maybe both?
while(true){
  if(theory contains 0≥1 or ⊥){
    return UNSAT
  }else if(model found){
    return SAT
  }
  branch on atom / variable bound
  (reasoned) propagate
  while(conflict){
    add learned cutting plane to theory
    add learned clause to theory
    backjump on strongest of learned clause 
        and learned cutting plane
    (reasoned) propagate
  }
}Questions?
Thanks for your attention!
Literature references available upon request
On Proof Theory
By krr
On Proof Theory
DTAI presentation
- 1,725