Multi-Linear Strategy Extraction for QBF Expansion Proofs via Local - - PowerPoint PPT Presentation

multi linear strategy extraction for qbf expansion proofs
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Multi-Linear Strategy Extraction for QBF Expansion Proofs via Local Soundness

Matthias Schlaipfer Friedrich Slivovsky Georg Weissenbacher Florian Zuleger July 6, 2020

slide-2
SLIDE 2

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

slide-3
SLIDE 3

Motivation

slide-4
SLIDE 4

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

slide-5
SLIDE 5

QBF

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

Strategy extraction

slide-18
SLIDE 18

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

slide-19
SLIDE 19

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

slide-20
SLIDE 20

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

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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

slide-23
SLIDE 23

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

slide-24
SLIDE 24

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

slide-25
SLIDE 25

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

slide-26
SLIDE 26

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

slide-27
SLIDE 27

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

slide-28
SLIDE 28

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

slide-29
SLIDE 29

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

slide-30
SLIDE 30

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

slide-31
SLIDE 31

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

slide-32
SLIDE 32

Multi-linear strategy extraction

slide-33
SLIDE 33

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

slide-34
SLIDE 34

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

slide-35
SLIDE 35

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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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

slide-38
SLIDE 38

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

slide-39
SLIDE 39

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

slide-40
SLIDE 40

Thanks for watching!

Matthias Schlaipfer 13

slide-41
SLIDE 41

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