LA coMEdIA AnIMAdA dE PRIME TIME
2. LA AnIMAcIón
2.2. Animación tradicional vs. Animación experimental experimental
The aim of this section is to describe how the ElementaryDPLL(T ) procedure can be transposed into a proof-search process for sequents of theLKp(T ) calculus.
Again, a complete and successful run of DPLL(T ) is a sequence of transitions ∅kφ ⇒∗UNSAT, which ensures that the set of clauses φ is inconsistent modulo the theory. Hence, we are devising a proof-search process aiming at building anLKp(T ) proof-tree for sequents of the form φ0`, where φ0 represents the set of clauses φ as a sequent calculus structure, in the following sense:
Definition 47 (Representation of clauses as formulae) An LKp(T ) formula C0 represents a DPLL(T ) clause {lj}j=1...p if C0 = l1∨−. . . ∨−lp.
A set of formulae φ0 represents a set of clauses φ if there is a bijection f from φ to φ0 such that
for all clauses C in φ, f(φ) represents C. ※
Remark 46 If C0 represents C, then ](C0) ≤ 2](C) (there are fewer symbols ∨− than there are literals in C).
Note, here that we carefully use the negative disjunction connective to translate DPLL(T ) clauses. This is crucial not only to mimic DPLL(T ) without duplicating formulae but more generally to control the search space. Again coming back to the DPLL(T ) transition sequence
∅kφ ⇒∗∆kφ and its intuitive counterpart in sequent calculus, we have to formalise the notion of incomplete proof-tree together with the notion of “filling its holes”:
Definition 48 (Incomplete proof-tree, extension of an incomplete proof-tree) An incomplete proof-tree in LKp(T ) is a tree labelled with sequents,
• whose leaves are tagged as either open or closed;
• whose open leaves are labelled with sequents without focus or right-hand side;
• and such that every node that is not an open leaf, together with its children, forms an instance of the LKp(T ) rules.
The size of a incomplete proof-tree is its number of nodes.
An incomplete proof-tree π0 is an extension of π, if there is a tree (edge and nodes preserving) homomorphism from π to π0. It is an n-extension of π, if moreover the difference of size between π0
and π is less than or equal to n. ※
Remark 47 A incomplete proof-tree that has no open leaf is (isomorphic to) a well-formed com-pleteLKp(T ) proof of the sequent labelling its root. In that case, we say the proof-tree is complete.
The intuition that an intermediate DPLL(T ) state describes an “interface” between a incom-plete proof-tree and the comincom-plete proof-trees that should be plugged into its holes, is formalised as follows:
Definition 49 (Correspondence)
An incomplete proof-tree π corresponds to a DPLL(T ) state ∆kφ if:
• the length of ∆::J∆K is the number of open leaves of π;
• if ∆i is the ith element of ∆::J∆K, then the sequent labelling the i
th open leaf of π (taken left-to-right) is of the form ∆0, φ0 `∆i , where:
– φ0 represents φ (in the sense of Definition47);
– for all l ∈ ∆0, l ∈ ∆i
– for all l ∈ ∆i, ∆0 |=T l.1
A incomplete proof-tree π corresponds to the state UNSAT if it has no open leaf. ※ Remark 48 In the general case, different incomplete proof-trees might correspond to a same DPLL(T ) state (just like different DPLL(T ) runs may reach that state from the initial one).
Note that we do not require anything from the conclusion of a incomplete proof-tree corres-ponding to ∆kφ: just as our correspondence says nothing about the DPLL(T ) transitions taking place after ∆kφ (nor about the trees to be plugged into the open leaves), it says nothing about the transitions taking place before ∆kφ (nor about the incomplete proof-tree, except for its open leaves).
If an incomplete proof-tree π corresponds to a DPLL(T ) state ∆kφ where there is no decision literals in ∆, then there is exactly one open leaf in π, and it is labelled by a sequent of the form
∆0, φ0 `∆ , where φ0 represents φ and Cloφ(∆) =Cloφ(∆0).
To the initial state ∅kφ of a run of theDPLL(T ) procedure corresponds the incomplete proof-tree consisting of one node (both root and open leaf) labelled with the sequent φ0 ` , where φ0 represents φ.
The simulation theorem below provides a systematic way of interpreting any DPLL(T ) trans-ition as a completion of incomplete proof-trees that preserves the correspondence given in Defini-tion49and controls the growth of the proof trees.
Theorem 49 (Simulation of DPLL(T ) in LKp(T )) If ∆kφ ⇒ S2is a valid DPLL(T ) transition, and π1 is an incomplete proof tree in LKp(T ) corresponding to ∆kφ, then there exists a (2](φ) + 3)-extension π2 of π1that corresponds to S2.
Proof: By case analysis on the nature of the transition, completing the leftmost open leaf of π1:
• Decide: ∆kφ ⇒ ∆, ldkφ where l 6∈ ∆, l⊥ 6∈ ∆, l ∈lit(φ).
Let π1 be an incomplete proof-tree corresponding to ∆kφ. The leftmost leaf (corresponding to ∆) is of the form ∆0, φ0 `∆ where φ0 represents φ and Cloφ(∆) =Cloφ(∆0).
We extend π1into π2by replacing the leftmost leaf by the following (incomplete) proof-tree:
∆0, l, φ0 `∆;l
∆0, φ0 `∆ l⊥
∆0, l⊥, φ0 `∆;l⊥
∆0, φ0 `∆l
∆0, φ0 `∆
1The last two conditions entail in particular that Cloφ(∆0) = Cloφ(∆i).
Note that we use here the analytic cut rule of LKp(T ). π2 is a 3-extension of π1 that cor-responds to ∆, ldkφ. Indeed, we have ∆, ld::J∆, l
d
K = (∆, l) :: (∆, l
⊥) ::J∆K and Cloφ(∆, l) = Cloφ(∆0, l) and Cloφ(∆, l⊥) =Cloφ(∆0, l⊥). The two new leaves are tagged as open.
• Propagate: ∆kφ, C ∨ l ⇒ ∆, lkφ, C ∨ l where ∆ |= ¬C, l 6∈ ∆, l⊥6∈ ∆.
Let π1be an incomplete proof-tree corresponding to ∆kφ, C ∨ l. The open leaf corresponding to ∆ is of the form ∆0, φ0, C0 `∆ where φ0represents φ, C0represents C ∨l andCloφ,C∨l(∆) = Cloφ,C∨l(∆0). Let C = l1∨ . . . ∨ ln. From ∆ |= ¬C we get ∀i, l⊥i ∈ ∆ ⊆ Cloφ,C∨l(∆) = Cloφ,C∨l(∆0).
We extend π1 into π2by replacing this leaf by the following (incomplete) proof-tree:
∆0, l, φ0, C0 `∆;l
∆0, φ0, C0 `∆l⊥
∆0, φ0, C0 `∆ [l⊥]
∆0, φ0, C0 `∆ [li⊥]
li∈C
··
··(∧+).
∆0, φ0, C0 `∆[C0⊥]
∆0, φ0, C0 `∆
The top-right rules can be applied since l⊥i ∈ ∆ and ∆0, li |=T and the new leaves are closed.
The top-left leaf is tagged as open.
Noticing that ∆, l ::J∆, lK = (∆, l) :: J∆K, we get that π2 is a ](C0) + 3-extension of π1 that corresponds to ∆, lkφ, C ∨ l (and note that ](C0) ≤ 2](φ)).
• Fail: ∆kφ, C ⇒ UNSAT with ∆ |= ¬C and there is no decision literal in ∆.
Let π1 be an incomplete proof-tree corresponding to ∆kφ, C. Since there are no decision literals in ∆, π1 has exactly one open leaf, and it is labelled by ∆0, φ0, C0 `∆ where φ0 represents φ, C0 represents C andCloφ,C(∆) =Cloφ,C(∆0). Let C = l1∨ . . . ∨ ln.
From ∆ |= ¬C we get ∀i, li⊥∈ ∆ ⊆Cloφ,C(∆) =Cloφ,C(∆0).
We extend π1 into π2by replacing the open leaf by the following (complete) proof-tree:
∆0, φ0, C0 `∆[l⊥i ]
li∈C
··
··∧+.
∆0, φ0, C0 `∆[C0⊥]
∆0, φ0, C0 `∆
The top rules can be applied since l⊥i ∈ ∆ and ∆0, li |=T. All the leaves are closed. π2 is a ](C0) + 1-extension of π1 that is complete, and therefore corresponds to theUNSAT state of theDPLL(T ) run (and note that ](C0) ≤ 2](φ)).
• Backtrack: ∆1, ld, ∆2kφ, C ⇒ ∆1, l⊥kφ, C if ∆1, l, ∆2|= ¬C and no decision literal is in ∆2.
Let π1 be an incomplete proof-tree corresponding to ∆1, ld, ∆2kφ, C. The open leaf corres-ponding to ∆1, ld, ∆2is of the form ∆0, φ0, C0 `∆1,l,∆2 where φ0 represents φ, C0 represents C andCloφ(∆1, l, ∆2) =Cloφ(∆0). Let C = l1∨ . . . ∨ ln.
From ∆1, l, ∆2|= ¬C we get ∀i, li⊥∈ ∆1, l, ∆2⊆Cloφ,C(∆1, l, ∆2) =Cloφ,C(∆0).
We extend π1 into π2by replacing this leaf by the following (complete) proof-tree:
∆0, φ0, C0 `∆1,l,∆2 [l⊥i ]
li∈C
··
··∧+.
∆0, φ0, C0 `∆1,l,∆2 [C0⊥]
∆0, φ0, C0 `∆1,l,∆2
The top rules can be applied since l⊥i ∈ ∆1, l, ∆2 and ∆0, li|=T.
Noticing that J∆1, ld, ∆2K = (∆1, l⊥) ::J∆1K, we get that π2 is a ](C0) + 1-extension of π1
that corresponds to ∆1, l⊥kφ, C (and note that ](C0) ≤ 2](φ)).
• PropagateT: ∆kφ ⇒ ∆, lkφ where l ∈Cloφ(∆) and l 6∈ ∆, l⊥6∈ ∆.
Let π1 be an incomplete proof-tree corresponding to ∆kφ. The open leaf corresponding to
∆ is of the form ∆0, φ0 `∆ where φ0 represents φ andCloφ(∆) =Cloφ(∆0). We extend π1
into π2 by replacing this leaf by the following (incomplete) proof-tree:
∆0, φ0 `∆,l
∆0, φ0 `∆
Noticing thatCloφ(∆) =Cloφ(∆, l), π2 is a 1-extension of π1 that corresponds to ∆, lkφ.
• FailT: ∆kφ ⇒UNSAT with ∆ |=T and there is no decision literal in ∆.
Let π1be an incomplete proof-tree corresponding to ∆kφ. Since there are no decision literals in ∆, π1has exactly one open leaf, and it is labelled by ∆0, φ0 `∆ where φ0represents φ and Cloφ(∆) =Cloφ(∆0).
We extend π1 into π2by replacing the open leaf by the following (complete) proof-tree:
∆0, φ0|=T
∆0, φ0 `∆
Here, π2 is a 1-extension of π1 that is complete and corresponds to UNSAT state of the DPLL(T ) run.
• BacktrackT: ∆1, ld, ∆2kφ ⇒ ∆1, l⊥kφ if ∆1, l, ∆2|=T and no decision literal is in ∆2. Let π1be an incomplete proof-tree corresponding to ∆1, ld, ∆2kφ. The open leaf correspond-ing to ∆1, ld, ∆2 is of the form ∆0, φ0 `∆1,l,∆2 where φ0 represents φ andCloφ(∆1, l, ∆2) = Cloφ(∆0).
We extend π1 into π2by replacing this leaf by the following (complete) proof-tree:
∆0, φ0 |=T
∆0, φ0 `∆1,l,∆2
Noticing that J∆1, ld, ∆2K = (∆1, l⊥) ::J∆1K, we get that π2 is a 1-extension of π1 that corresponds to ∆1, l⊥kφ state of theDPLL(T ) run.
Corollary 50 If ∅kφ ⇒nUNSAT and φ0 represents φ then there is an complete proof in LKp(T ) of φ0 ` , of size smaller than (2](φ) + 3)n.