Title: A framework for eager encoding
1A framework for eager encoding
- Daniel Kroening ETH, Switzerland
- Ofer Strichman Technion, Israel
(Executive summary) (submitted to Formal Aspects
of Computing)
2- A generic framework for reducing decidable logics
to propositional logic (beyond NP). - Instantiating the framework for a specific logic
L, requires a deductive system for L that meets
several criteria. - Linear arithmetic, EUF, arrays etc all have it.
3- A proof rule
- A proof step (Rule, Antecedent, Proposition)
- Definition (Proof-step Constraint) let A1Ak be
the Antecedents and p the Proposition of step.
Then
Boolean encoding
4- A proof P (s1,, sn) is a set of Proof Steps,
- in which the Antecedence relation is acyclic
- The Proof Constraint c(P) induced by P is the
conjunction of the constraints induced by its
steps
5- Propositional skeleton
- Theorem 1 For every formula ? and any sound
proof P, ? is satisfiable ) ?sk Æ c(P) is
satisfiable.
6Complete proofs
- Definition (Complete proofs) A proof P is called
complete with respect to ? if
7Sufficient condition for completeness 1
- Notation A assumption, B a proposition.
denotes P proves B from A. - Let ? be an unsatisfiable formula
-
- Theorem 2 A proof P is complete with respect to
? if for every full assignment ?
TL(?) Theory Literals corresponding to ?
Not constructive!
8- Projection of a variable x a set of proof steps
that eliminate x and maintains satisfiability. - Strong projection of a variable x a projection
of x that maintains - The projected consequences from each minimal
unsatisfiable core of literals is unsatisfiable. -
9Example strong projection
Consider the formula
U2
U1
Now strongly project x1
- Both sub-formulas are unsatisfiable and do not
contain x1.
10- Let ?C be a conjunction of ?s literals.
- A proof construction procedure eliminate all
variables in ?C through strong projection. - Theorem 3 The constructed proof is complete
for ?.
11- Goal for a given logic L,
- Find a strong projection procedure.
- Construct P
- Generate c(P)
- Check ?sk Æ c(P)
12Example Disjunctive Linear Arithmetic S02
e1 e2 e3
e4
?C x1 - x2 lt 0, x1 - x3 lt 0, -x1 2x3 x2 lt
0, -x3 lt -1
A proof P by (Strong) projection
e1 ? e3 ? e5
x1
e2 ? e3 ? e6
e4 ? e5 ? false
x3
4. Solve ? ?sk Æ c(P)
13What now ?
- It is left to show a strong projection method for
each logic we are interested in integrating. - Current eager procedures are far too wasteful.
Need to find better ones.
14Optimizations
- Optimizations that were previously published in
the eager encoding series can all be
interpreted in this framework. - Conjunction Matrices
- Simplifications and early detection
- Cross-theory learning
15Cross-theory learning
- ?C (T1)
- ?C (T2)
- From T1 we learn z1 z2 which we propagate to
T2 - In T2 we get a contradiction on z1 gt 2, z21, z1
z2 - This results in a conflict clause
- Which represents cross-theory learning
16Projection (by example)(Starting from a
conjunction of literals)
- Indeed,
- x1? var(x4 gt x4)
- ? (x2 gt x3) Æ (x4 gt x4) is equisatisfiable to ?
17? (x1 - x2 lt 0) ? (x1 - x3 lt 0) ? ((-x1 2x3
x2 lt 0) ? (-x3 lt -1))
?c (x1 - x2 lt 0) ? (x1 - x3 lt 0) ? (-x1 2x3
x2 lt 0) Æ (-x3 lt -1) ? (x1,x2,x3) Choose x1 ?
(x2,x3) Strong-project P (R, (2x3 0),
(x1 - x2 lt 0), (-x1 2x3 x2 lt 0), (R, (x2
x3 0), (x1 - x2 lt 0), (-x1 2x3 x2 lt
0) ?c (2x3 0) ? (x2 x3 0) ? (-x3 lt
-1)
18Example
- c(step) e(x5) Æ e(x 0) ! e(5 0)
19Example
- Prove validity of x ? 5 Ç x 0 by using atoms
only
20Example (contd)
?sk Æ c(P) is unsatisfiable hence ? is valid
21Sufficient condition for completeness 2
For a partial assignment ? s.t. ? ² ?, ? is
minimal if 8v. ?nv 2 ?
- ? - an unsatisfiable formula.
- A - the set of minimal assignments that satisfy
?sk. A proof P is complete with respect to ? if
8? 2 A,
22Sufficient condition for completeness 3
- ? - an unsatisfiable formula
- A - the set of minimal assignments that satisfy
?sk. A proof P is complete with respect to ? if
8? 2 A, for some unsatisfiable core TLuc(?) µ
TL(?)
23Proof-graph of P
A
A,B sets of propositions
P proves B using A
A
B
24(No Transcript)