Multi-Linear Strategy Extraction for QBF Expansion Proofs via Local - - PowerPoint PPT Presentation
Multi-Linear Strategy Extraction for QBF Expansion Proofs via Local - - PowerPoint PPT Presentation
Multi-Linear Strategy Extraction for QBF Expansion Proofs via Local Soundness Matthias Schlaipfer Friedrich Slivovsky Georg Weissenbacher Florian Zuleger July 6, 2020 Outline 1. Motivation 2. QBF: Semantics and expansion proofs 3. Local
Outline
- 1. Motivation
- 2. QBF: Semantics and expansion proofs
- 3. Local soundness of ∀-Exp+Res
- 4. Circuit extraction in multi-linear time
- 5. Conclusion
Matthias Schlaipfer 1
Motivation
Motivation
❼ Strategy Extraction
❼ Strategy: witness of unsatisfiability, universal variable assignments ❼ Practically useful, e.g. program synthesis ❼ Better understanding of proof systems: strategy extraction for Q-resolution has led to new lower bound techniques ❼ Expansion-based solvers faster on certain classes of problems
❼ Local soundness
❼ Inductive correctness argument at the inference level ❼ Previous proofs “global”, or via a detour to FOL (not multi-linear time) ❼ Existing “local” proof is not polynomial time ❼ Allows for proof/strategy isomorphism a la Curry-Howard and Craig interpolation
Matthias Schlaipfer 2
QBF
QBF
We consider QBFs in PCNF
Q1vi . . . Qnvn
- quantifier prefix
. ϕ
- matrix
with Qi ∈ {∀, ∃}, dom(vi) = {0, 1}.
Example ∃x1∀u∃x2.(x1 ∨ u ∨ x2) ∧ (x1 ∨ u ∨ ¬x2) ∧ (¬x1 ∨ ¬u ∨ x2) ∧ (¬x1 ∨ ¬u ∨ ¬x2)
Matthias Schlaipfer 3
QBF game semantics
❼ Players assign variables following the order of the quantifier prefix ❼ Existential player tries to satisfy the matrix ❼ Universal player tries to falsify the matrix Example
∃x1∀u∃x2.(x1 ∨ u ∨ x2) ∧ (x1 ∨ u ∨ ¬x2) ∧ (¬x1 ∨ ¬u ∨ x2) ∧ (¬x1 ∨ ¬u ∨ ¬x2) ∃x1∀u∃x2.(¬u ∨ x2) ∧ (¬u ∨ ¬x2) x1 = 1 ∃x1∀u∃x2.(x2) ∧ (¬x2) u = 1 ⊥ ⊥ x2 = 0 x2 = 1 ∃x1∀u∃x2.(u ∨ x2) ∧ (u ∨ ¬x2) x1 = 0 ∃x1∀u∃x2.(x2) ∧ (¬x2) u = 0 ⊥ ⊥ x2 = 0 x2 = 1
x1 u1 x2 ⊥ ⊥ u1 x2 ⊥ ⊥
1 1 1 1
Matthias Schlaipfer 4
QBF game semantics
❼ Players assign variables following the order of the quantifier prefix ❼ Existential player tries to satisfy the matrix ❼ Universal player tries to falsify the matrix Example
∃x1∀u∃x2.(x1 ∨ u ∨ x2) ∧ (x1 ∨ u ∨ ¬x2) ∧ (¬x1 ∨ ¬u ∨ x2) ∧ (¬x1 ∨ ¬u ∨ ¬x2) ∃x1∀u∃x2.(¬u ∨ x2) ∧ (¬u ∨ ¬x2) x1 = 1 ∃x1∀u∃x2.(x2) ∧ (¬x2) u = 1 ⊥ ⊥ x2 = 0 x2 = 1 ∃x1∀u∃x2.(u ∨ x2) ∧ (u ∨ ¬x2) x1 = 0 ∃x1∀u∃x2.(x2) ∧ (¬x2) u = 0 ⊥ ⊥ x2 = 0 x2 = 1
x1 u1 x2 ⊥ ⊥ u1 x2 ⊥ ⊥
1 1 1 1
Matthias Schlaipfer 4
QBF game semantics
❼ Players assign variables following the order of the quantifier prefix ❼ Existential player tries to satisfy the matrix ❼ Universal player tries to falsify the matrix Example
∃x1∀u∃x2.(x1 ∨ u ∨ x2) ∧ (x1 ∨ u ∨ ¬x2) ∧ (¬x1 ∨ ¬u ∨ x2) ∧ (¬x1 ∨ ¬u ∨ ¬x2) ∃x1∀u∃x2.(¬u ∨ x2) ∧ (¬u ∨ ¬x2) x1 = 1 ∃x1∀u∃x2.(x2) ∧ (¬x2) u = 1 ⊥ ⊥ x2 = 0 x2 = 1 ∃x1∀u∃x2.(u ∨ x2) ∧ (u ∨ ¬x2) x1 = 0 ∃x1∀u∃x2.(x2) ∧ (¬x2) u = 0 ⊥ ⊥ x2 = 0 x2 = 1
x1 u1 x2 ⊥ ⊥ u1 x2 ⊥ ⊥
1 1 1 1
Matthias Schlaipfer 4
QBF game semantics
❼ Players assign variables following the order of the quantifier prefix ❼ Existential player tries to satisfy the matrix ❼ Universal player tries to falsify the matrix Example
∃x1∀u∃x2.(x1 ∨ u ∨ x2) ∧ (x1 ∨ u ∨ ¬x2) ∧ (¬x1 ∨ ¬u ∨ x2) ∧ (¬x1 ∨ ¬u ∨ ¬x2) ∃x1∀u∃x2.(¬u ∨ x2) ∧ (¬u ∨ ¬x2) x1 = 1 ∃x1∀u∃x2.(x2) ∧ (¬x2) u = 1 ⊥ ⊥ x2 = 0 x2 = 1 ∃x1∀u∃x2.(u ∨ x2) ∧ (u ∨ ¬x2) x1 = 0 ∃x1∀u∃x2.(x2) ∧ (¬x2) u = 0 ⊥ ⊥ x2 = 0 x2 = 1
x1 u1 x2 ⊥ ⊥ u1 x2 ⊥ ⊥
1 1 1 1
Matthias Schlaipfer 4
QBF game semantics
❼ Players assign variables following the order of the quantifier prefix ❼ Existential player tries to satisfy the matrix ❼ Universal player tries to falsify the matrix Example
∃x1∀u∃x2.(x1 ∨ u ∨ x2) ∧ (x1 ∨ u ∨ ¬x2) ∧ (¬x1 ∨ ¬u ∨ x2) ∧ (¬x1 ∨ ¬u ∨ ¬x2) ∃x1∀u∃x2.(¬u ∨ x2) ∧ (¬u ∨ ¬x2) x1 = 1 ∃x1∀u∃x2.(x2) ∧ (¬x2) u = 1 ⊥ ⊥ x2 = 0 x2 = 1 ∃x1∀u∃x2.(u ∨ x2) ∧ (u ∨ ¬x2) x1 = 0 ∃x1∀u∃x2.(x2) ∧ (¬x2) u = 0 ⊥ ⊥ x2 = 0 x2 = 1
x1 u1 x2 ⊥ ⊥ u1 x2 ⊥ ⊥
1 1 1 1
Matthias Schlaipfer 4
Strategies
x1 u x2 ⊥ ⊥ 1 u x2 ⊥ ⊥ 1 1 1 fu(x1) = x1 A strategy . . . ❼ . . . represents a set of assignments determined by its paths ❼ . . . represents functions: one for each universal variable ❼ . . . is winning for the universal player when all paths falsify the matrix ϕ We refer to strategies by P and Q
Matthias Schlaipfer 5
Expansion proofs (∀-Exp+Res)
- 1. Instantiation of universal variables:
(∀-exp) {l[τ] | l ∈ C, l is existential}
- 2. Resolution on existential variables
C1 ∨ xσ C2 ∨ ¬xσ (res) C1 ∨ C2 Example ∃x1∀u∃x2.x1 ∨ u ∨ x2
∀-exp
− − − → x1 ∨ x0/u
2
, we write x1 ∨ x¬u
2
∃x1∀u∃x2.(x1 ∨ u ∨ x2) ∧ (x1 ∨ u ∨ ¬x2) ∧ (¬x1 ∨ ¬u ∨ x2) ∧ (¬x1 ∨ ¬u ∨ ¬x2) (∀-exp) x1 ∨ x¬u
2
(∀-exp) x1 ∨ ¬x¬u
2
(res) x1 (∀-exp) ¬x1 ∨ xu
2
(∀-exp) ¬x1 ∨ ¬xu
2
(res) ¬x1 (res)
- Matthias Schlaipfer
6
Expansion proofs (∀-Exp+Res)
- 1. Instantiation of universal variables:
(∀-exp) {l[τ] | l ∈ C, l is existential}
- 2. Resolution on existential variables
C1 ∨ xσ C2 ∨ ¬xσ (res) C1 ∨ C2 Example ∃x1∀u∃x2.x1 ∨ u ∨ x2
∀-exp
− − − → x1 ∨ x0/u
2
, we write x1 ∨ x¬u
2
∃x1∀u∃x2.(x1 ∨ u ∨ x2) ∧ (x1 ∨ u ∨ ¬x2) ∧ (¬x1 ∨ ¬u ∨ x2) ∧ (¬x1 ∨ ¬u ∨ ¬x2) (∀-exp) x1 ∨ x¬u
2
(∀-exp) x1 ∨ ¬x¬u
2
(res) x1 (∀-exp) ¬x1 ∨ xu
2
(∀-exp) ¬x1 ∨ ¬xu
2
(res) ¬x1 (res)
- Matthias Schlaipfer
6
Expansion proofs (∀-Exp+Res)
- 1. Instantiation of universal variables:
(∀-exp) {l[τ] | l ∈ C, l is existential}
- 2. Resolution on existential variables
C1 ∨ xσ C2 ∨ ¬xσ (res) C1 ∨ C2 Example ∃x1∀u∃x2.x1 ∨ u ∨ x2
∀-exp
− − − → x1 ∨ x0/u
2
, we write x1 ∨ x¬u
2
∃x1∀u∃x2.(x1 ∨ u ∨ x2) ∧ (x1 ∨ u ∨ ¬x2) ∧ (¬x1 ∨ ¬u ∨ x2) ∧ (¬x1 ∨ ¬u ∨ ¬x2) (∀-exp) x1 ∨ x¬u
2
(∀-exp) x1 ∨ ¬x¬u
2
(res) x1 (∀-exp) ¬x1 ∨ xu
2
(∀-exp) ¬x1 ∨ ¬xu
2
(res) ¬x1 (res)
- Matthias Schlaipfer
6
Expansion proofs (∀-Exp+Res)
- 1. Instantiation of universal variables:
(∀-exp) {l[τ] | l ∈ C, l is existential}
- 2. Resolution on existential variables
C1 ∨ xσ C2 ∨ ¬xσ (res) C1 ∨ C2 Example ∃x1∀u∃x2.x1 ∨ u ∨ x2
∀-exp
− − − → x1 ∨ x0/u
2
, we write x1 ∨ x¬u
2
∃x1∀u∃x2.(x1 ∨ u ∨ x2) ∧ (x1 ∨ u ∨ ¬x2) ∧ (¬x1 ∨ ¬u ∨ x2) ∧ (¬x1 ∨ ¬u ∨ ¬x2) (∀-exp) x1 ∨ x¬u
2
(∀-exp) x1 ∨ ¬x¬u
2
(res) x1 (∀-exp) ¬x1 ∨ xu
2
(∀-exp) ¬x1 ∨ ¬xu
2
(res) ¬x1 (res)
- Matthias Schlaipfer
6
Strategy extraction
Strategy extraction via local soundness
❼ Associate strategies with clauses in the proof: Clause [Strategy] ❼ Combine strategies locally along the proof derivation For a (∀-exp) inference: (∀-exp) C τ [ConstStrat(Π, τ)] ConstStrat(Π, τ) . . . follows Π, sets ∀-edges according to τ For a (res) rule with pivot xτ: [P] C1 ∨ ¬xτ C2 ∨ xτ [Q] (res) C1 ∨ C2 [P ⊔
xτQ]
Inspired by [Suda and Gleiss, 2018]
Matthias Schlaipfer 7
Strategy extraction via local soundness
❼ Associate strategies with clauses in the proof: Clause [Strategy] ❼ Combine strategies locally along the proof derivation For a (∀-exp) inference: (∀-exp) C τ [ConstStrat(Π, τ)] ConstStrat(Π, τ) . . . follows Π, sets ∀-edges according to τ For a (res) rule with pivot xτ: [P] C1 ∨ ¬xτ C2 ∨ xτ [Q] (res) C1 ∨ C2 [P ⊔
xτQ]
Inspired by [Suda and Gleiss, 2018]
Matthias Schlaipfer 7
Strategy extraction via local soundness
❼ Associate strategies with clauses in the proof: Clause [Strategy] ❼ Combine strategies locally along the proof derivation For a (∀-exp) inference: (∀-exp) C τ [ConstStrat(Π, τ)] ConstStrat(Π, τ) . . . follows Π, sets ∀-edges according to τ For a (res) rule with pivot xτ: [P] C1 ∨ ¬xτ C2 ∨ xτ [Q] (res) C1 ∨ C2 [P ⊔
xτQ]
Inspired by [Suda and Gleiss, 2018]
x1 u x2 ⊥ ⊥ u x2 ⊥ ⊥
1 1 1
ConstStrat(∃x1∀u∃x2, ¬u)
Matthias Schlaipfer 7
Strategy extraction via local soundness
❼ Associate strategies with clauses in the proof: Clause [Strategy] ❼ Combine strategies locally along the proof derivation For a (∀-exp) inference: (∀-exp) C τ [ConstStrat(Π, τ)] ConstStrat(Π, τ) . . . follows Π, sets ∀-edges according to τ For a (res) rule with pivot xτ: [P] C1 ∨ ¬xτ C2 ∨ xτ [Q] (res) C1 ∨ C2 [P ⊔
xτQ]
Inspired by [Suda and Gleiss, 2018]
Matthias Schlaipfer 7
Correctness of Combine—strategies
C1 [P1] · · · Cn [Pn] [Pwin]
We differentiate between ❼ Intermediate strategies Associated with initial and internal proof nodes ❼ Winning strategy (universal): Associated with the empty clause Each path falsifies the matrix ϕ, i.e., Pwin | = ¬ϕ We need to answer what it means to be an intermediate strategy
Matthias Schlaipfer 8
Correctness of Combine—strategies
C1 [P1] · · · Cn [Pn] [Pwin]
We differentiate between ❼ Intermediate strategies Associated with initial and internal proof nodes ❼ Winning strategy (universal): Associated with the empty clause Each path falsifies the matrix ϕ, i.e., Pwin | = ¬ϕ We need to answer what it means to be an intermediate strategy
Matthias Schlaipfer 8
Correctness of Combine—strategies
C1 [P1] · · · Cn [Pn] [Pwin]
We differentiate between ❼ Intermediate strategies Associated with initial and internal proof nodes ❼ Winning strategy (universal): Associated with the empty clause Each path falsifies the matrix ϕ, i.e., Pwin | = ¬ϕ We need to answer what it means to be an intermediate strategy
Matthias Schlaipfer 8
Correctness of Combine
❼ Winning strategy: a strategy P such that P | = ¬ϕ ❼ Find invariant I(P, C) ending in P | = ¬ϕ, maintained by the Combine operator ❼ P and C are over different alphabets, C uses annotated literals Invariant
P | = enc(C) ⇒ ¬ϕ
enc(xτi
i ∨ C ′)
def
=
u∈τi
u
- ⇒ ¬xi
- ∧ enc(C ′).
Intuition: existential player responds to a universal play by setting its literal to false At the empty clause we have P | = enc()
1
⇒ ¬ϕ ≡ P | = ¬ϕ
Matthias Schlaipfer 9
Correctness of Combine
❼ Winning strategy: a strategy P such that P | = ¬ϕ ❼ Find invariant I(P, C) ending in P | = ¬ϕ, maintained by the Combine operator ❼ P and C are over different alphabets, C uses annotated literals Invariant
P | = enc(C) ⇒ ¬ϕ
enc(xτi
i ∨ C ′)
def
=
u∈τi
u
- ⇒ ¬xi
- ∧ enc(C ′).
Intuition: existential player responds to a universal play by setting its literal to false At the empty clause we have P | = enc()
1
⇒ ¬ϕ ≡ P | = ¬ϕ
Matthias Schlaipfer 9
The Combine operator, example fu1(x1), fu2(x1, x2)
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1
⊔
xu1
2
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1
= x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1
| = enc(C1 ∨ ¬xu1
2 )
⇒ ¬ϕ | = enc(C2 ∨ xu1
2 )
⇒ ¬ϕ | = enc(C1 ∨ C2) ⇒ ¬ϕ ∧ ⇒ P Q P ⊔
xu1
2
Q C1 ∨ ¬xu1
2
C2 ∨ xu1
2
res C1 ∨ C2 =
Matthias Schlaipfer 10
The Combine operator, example fu1(x1), fu2(x1, x2)
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1
⊔
xu1
2
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1
= x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1
| = (u1 ⇒ x2) ∧ enc(C1) ⇒ ¬ϕ | = (u1 ⇒ ¬x2) ∧ enc(C2) ⇒ ¬ϕ | = enc(C1 ∨ C2) ⇒ ¬ϕ ∧ ⇒ P Q P ⊔
xu1
2
Q C1 ∨ ¬xu1
2
C2 ∨ xu1
2
res C1 ∨ C2 =
Matthias Schlaipfer 10
The Combine operator, example fu1(x1), fu2(x1, x2)
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1
⊔
xu1
2
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1
= x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1
| = ( u1 ⇒ x2 ) ∧ enc(C1) ⇒ ¬ϕ | = ( u1 ⇒ ¬x2) ∧ enc(C2) ⇒ ¬ϕ | = enc(C1 ∨ C2) ⇒ ¬ϕ ∧ ⇒ P Q P ⊔
xu1
2
Q C1 ∨ ¬xu1
2
C2 ∨ xu1
2
res C1 ∨ C2 =
Matthias Schlaipfer 10
The Combine operator, example fu1(x1), fu2(x1, x2)
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1
⊔
xu1
2
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1
= x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1
| = ( u1 ⇒ x2) ∧ enc(C1) ⇒ ¬ϕ | = ( u1 ⇒ ¬x2) ∧ enc(C2) ⇒ ¬ϕ | = enc(C1 ∨ C2) ⇒ ¬ϕ ∧ ⇒ P Q P ⊔
xu1
2
Q C1 ∨ ¬xu1
2
C2 ∨ xu1
2
res C1 ∨ C2 =
Matthias Schlaipfer 10
The Combine operator, example fu1(x1), fu2(x1, x2)
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1
⊔
xu1
2
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1
= x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1
| = ( u1 ⇒ x2 ) ∧ enc(C1) ⇒ ¬ϕ | = ( u1 ⇒ ¬x2 ) ∧ enc(C2) ⇒ ¬ϕ | = enc(C1 ∨ C2) ⇒ ¬ϕ ∧ ⇒ P Q P ⊔
xu1
2
Q C1 ∨ ¬xu1
2
C2 ∨ xu1
2
res C1 ∨ C2 =
Matthias Schlaipfer 10
Multi-linear strategy extraction
Combine using circuits
Strategy trees are not suitable for implementation—they branch at every existential node Theorem Given a ∀-Exp+Res derivation of length p from a PCNF formula Φ with n universal variables, a family of circuits implementing a universal winning strategy for Φ can be computed in time O(p · n).
Matthias Schlaipfer 11
Combine using circuits
Strategy trees are not suitable for implementation—they branch at every existential node Theorem Given a ∀-Exp+Res derivation of length p from a PCNF formula Φ with n universal variables, a family of circuits implementing a universal winning strategy for Φ can be computed in time O(p · n).
Matthias Schlaipfer 11
Combine using circuits
“Pick differing sub-tree” Choose values consistently We need helper circuits answering: ❼ Does circuit Leftui( x) differ from τ, and no earlier circuit Rightuj( x) (j < i) does? ❼ (and vice-versa) In linear time (|outputs|) for each proof node
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1
⊔
xu1
2
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1 Matthias Schlaipfer 12
Combine using circuits
“Pick differing sub-tree” Choose values consistently We need helper circuits answering: ❼ Does circuit Leftui( x) differ from τ, and no earlier circuit Rightuj( x) (j < i) does? ❼ (and vice-versa) In linear time (|outputs|) for each proof node
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1
⊔
xu1
2
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1
⊔
xu1
2
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1 Matthias Schlaipfer 12
Combine using circuits
“Pick differing sub-tree” Choose values consistently We need helper circuits answering: ❼ Does circuit Leftui( x) differ from τ, and no earlier circuit Rightuj( x) (j < i) does? ❼ (and vice-versa) In linear time (|outputs|) for each proof node
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1
⊔
xu1
2
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1
⊔
xu1
2
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1 Matthias Schlaipfer 12
Combine using circuits
“Pick differing sub-tree” Choose values consistently We need helper circuits answering: ❼ Does circuit Leftui( x) differ from τ, and no earlier circuit Rightuj( x) (j < i) does? ❼ (and vice-versa) In linear time (|outputs|) for each proof node
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1
⊔
xu1
2
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1
⊔
xu1
2
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1
⊔
xu1
2
x1 u1 x2 u2 ⊥ u2 ⊥ u1 x2 u2 ⊥ u2 ⊥
1 1 1 1 1 1 1 Matthias Schlaipfer 12
Conclusion
We presented ❼ a new strategy extraction ❼ a new invariant for expansion proofs Future work: ❼ Output expansion proofs from QBF solvers ❼ Implement strategy extraction ❼ Strategy extraction for other expansion-based QBF calculi
Matthias Schlaipfer 13
Thanks for watching!
Matthias Schlaipfer 13
Suda, M. and Gleiss, B. (2018). Local soundness for QBF calculi. In Beyersdorff, O. and Wintersteiger, C. M., editors, Theory and Applications of Satisfiability Testing - 21st International Conference, SAT 2018, volume 10929 of Lecture Notes in Computer Science, pages 217–234. Springer.
Matthias Schlaipfer 13