multi linear strategy extraction for qbf expansion proofs
play

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


  1. Multi-Linear Strategy Extraction for QBF Expansion Proofs via Local Soundness Matthias Schlaipfer Friedrich Slivovsky Georg Weissenbacher Florian Zuleger July 6, 2020

  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

  3. Motivation

  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

  5. QBF

  6. QBF We consider QBFs in PCNF Q 1 v i . . . Q n v n with Q i ∈ {∀ , ∃} , dom( v i ) = { 0 , 1 } . . ϕ � �� � ���� quantifier prefix matrix Example ∃ x 1 ∀ u ∃ x 2 . ( x 1 ∨ u ∨ x 2 ) ∧ ( x 1 ∨ u ∨ ¬ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ ¬ x 2 ) Matthias Schlaipfer 3

  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 ∃ x 1 ∀ u ∃ x 2 . ( x 1 ∨ u ∨ x 2 ) ∧ ( x 1 ∨ u ∨ ¬ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ ¬ x 2 ) x 1 x 1 = 0 x 1 = 1 0 1 ∃ x 1 ∀ u ∃ x 2 . ( u ∨ x 2 ) ∧ ( u ∨ ¬ x 2 ) ∃ x 1 ∀ u ∃ x 2 . ( ¬ u ∨ x 2 ) ∧ ( ¬ u ∨ ¬ x 2 ) u 1 u 1 u = 0 u = 1 0 1 x 2 x 2 ∃ x 1 ∀ u ∃ x 2 . ( x 2 ) ∧ ( ¬ x 2 ) ∃ x 1 ∀ u ∃ x 2 . ( x 2 ) ∧ ( ¬ x 2 ) 0 1 0 1 x 2 = 0 x 2 = 1 x 2 = 0 x 2 = 1 ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ Matthias Schlaipfer 4

  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 ∃ x 1 ∀ u ∃ x 2 . ( x 1 ∨ u ∨ x 2 ) ∧ ( x 1 ∨ u ∨ ¬ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ ¬ x 2 ) x 1 x 1 = 0 x 1 = 1 0 1 ∃ x 1 ∀ u ∃ x 2 . ( u ∨ x 2 ) ∧ ( u ∨ ¬ x 2 ) ∃ x 1 ∀ u ∃ x 2 . ( ¬ u ∨ x 2 ) ∧ ( ¬ u ∨ ¬ x 2 ) u 1 u 1 u = 0 u = 1 0 1 x 2 x 2 ∃ x 1 ∀ u ∃ x 2 . ( x 2 ) ∧ ( ¬ x 2 ) ∃ x 1 ∀ u ∃ x 2 . ( x 2 ) ∧ ( ¬ x 2 ) 0 1 0 1 x 2 = 0 x 2 = 1 x 2 = 0 x 2 = 1 ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ Matthias Schlaipfer 4

  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 ∃ x 1 ∀ u ∃ x 2 . ( x 1 ∨ u ∨ x 2 ) ∧ ( x 1 ∨ u ∨ ¬ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ ¬ x 2 ) x 1 x 1 = 0 x 1 = 1 0 1 ∃ x 1 ∀ u ∃ x 2 . ( u ∨ x 2 ) ∧ ( u ∨ ¬ x 2 ) ∃ x 1 ∀ u ∃ x 2 . ( ¬ u ∨ x 2 ) ∧ ( ¬ u ∨ ¬ x 2 ) u 1 u 1 u = 0 u = 1 0 1 x 2 x 2 ∃ x 1 ∀ u ∃ x 2 . ( x 2 ) ∧ ( ¬ x 2 ) ∃ x 1 ∀ u ∃ x 2 . ( x 2 ) ∧ ( ¬ x 2 ) 0 1 0 1 x 2 = 0 x 2 = 1 x 2 = 0 x 2 = 1 ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ Matthias Schlaipfer 4

  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 ∃ x 1 ∀ u ∃ x 2 . ( x 1 ∨ u ∨ x 2 ) ∧ ( x 1 ∨ u ∨ ¬ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ ¬ x 2 ) x 1 x 1 = 0 x 1 = 1 0 1 ∃ x 1 ∀ u ∃ x 2 . ( u ∨ x 2 ) ∧ ( u ∨ ¬ x 2 ) ∃ x 1 ∀ u ∃ x 2 . ( ¬ u ∨ x 2 ) ∧ ( ¬ u ∨ ¬ x 2 ) u 1 u 1 u = 0 u = 1 0 1 x 2 x 2 ∃ x 1 ∀ u ∃ x 2 . ( x 2 ) ∧ ( ¬ x 2 ) ∃ x 1 ∀ u ∃ x 2 . ( x 2 ) ∧ ( ¬ x 2 ) 0 1 0 1 x 2 = 0 x 2 = 1 x 2 = 0 x 2 = 1 ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ Matthias Schlaipfer 4

  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 ∃ x 1 ∀ u ∃ x 2 . ( x 1 ∨ u ∨ x 2 ) ∧ ( x 1 ∨ u ∨ ¬ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ ¬ x 2 ) x 1 x 1 = 0 x 1 = 1 0 1 ∃ x 1 ∀ u ∃ x 2 . ( u ∨ x 2 ) ∧ ( u ∨ ¬ x 2 ) ∃ x 1 ∀ u ∃ x 2 . ( ¬ u ∨ x 2 ) ∧ ( ¬ u ∨ ¬ x 2 ) u 1 u 1 u = 0 u = 1 0 1 x 2 x 2 ∃ x 1 ∀ u ∃ x 2 . ( x 2 ) ∧ ( ¬ x 2 ) ∃ x 1 ∀ u ∃ x 2 . ( x 2 ) ∧ ( ¬ x 2 ) 0 1 0 1 x 2 = 0 x 2 = 1 x 2 = 0 x 2 = 1 ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ Matthias Schlaipfer 4

  12. Strategies A strategy . . . x 1 0 1 ❼ . . . represents a set of assignments determined by its paths u u ❼ . . . represents functions: one for each universal variable 0 1 x 2 x 2 ❼ . . . is winning for the universal player when all paths falsify 0 1 0 1 the matrix ϕ ⊥ ⊥ ⊥ ⊥ f u ( x 1 ) = x 1 We refer to strategies by P and Q Matthias Schlaipfer 5

  13. Expansion proofs ( ∀ -Exp+Res) 2. Resolution on existential variables 1. Instantiation of universal variables: C 1 ∨ x σ C 2 ∨ ¬ x σ ( ∀ -exp) (res) { l [ τ ] | l ∈ C , l is existential } C 1 ∨ C 2 Example ∀ -exp x 1 ∨ x 0 / u we write x 1 ∨ x ¬ u ∃ x 1 ∀ u ∃ x 2 . x 1 ∨ u ∨ x 2 − − − → , 2 2 ∃ x 1 ∀ u ∃ x 2 . ( x 1 ∨ u ∨ x 2 ) ∧ ( x 1 ∨ u ∨ ¬ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ ¬ x 2 ) ( ∀ -exp) ( ∀ -exp) ( ∀ -exp) ( ∀ -exp) x 1 ∨ x ¬ u x 1 ∨ ¬ x ¬ u ¬ x 1 ∨ x u ¬ x 1 ∨ ¬ x u 2 2 2 2 (res) (res) x 1 ¬ x 1 (res) � Matthias Schlaipfer 6

  14. Expansion proofs ( ∀ -Exp+Res) 2. Resolution on existential variables 1. Instantiation of universal variables: C 1 ∨ x σ C 2 ∨ ¬ x σ ( ∀ -exp) (res) { l [ τ ] | l ∈ C , l is existential } C 1 ∨ C 2 Example ∀ -exp x 1 ∨ x 0 / u we write x 1 ∨ x ¬ u ∃ x 1 ∀ u ∃ x 2 . x 1 ∨ u ∨ x 2 − − − → , 2 2 ∃ x 1 ∀ u ∃ x 2 . ( x 1 ∨ u ∨ x 2 ) ∧ ( x 1 ∨ u ∨ ¬ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ ¬ x 2 ) ( ∀ -exp) ( ∀ -exp) ( ∀ -exp) ( ∀ -exp) x 1 ∨ x ¬ u x 1 ∨ ¬ x ¬ u ¬ x 1 ∨ x u ¬ x 1 ∨ ¬ x u 2 2 2 2 (res) (res) x 1 ¬ x 1 (res) � Matthias Schlaipfer 6

  15. Expansion proofs ( ∀ -Exp+Res) 2. Resolution on existential variables 1. Instantiation of universal variables: C 1 ∨ x σ C 2 ∨ ¬ x σ ( ∀ -exp) (res) { l [ τ ] | l ∈ C , l is existential } C 1 ∨ C 2 Example ∀ -exp x 1 ∨ x 0 / u we write x 1 ∨ x ¬ u ∃ x 1 ∀ u ∃ x 2 . x 1 ∨ u ∨ x 2 − − − → , 2 2 ∃ x 1 ∀ u ∃ x 2 . ( x 1 ∨ u ∨ x 2 ) ∧ ( x 1 ∨ u ∨ ¬ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ ¬ x 2 ) ( ∀ -exp) ( ∀ -exp) ( ∀ -exp) ( ∀ -exp) x 1 ∨ x ¬ u x 1 ∨ ¬ x ¬ u ¬ x 1 ∨ x u ¬ x 1 ∨ ¬ x u 2 2 2 2 (res) (res) x 1 ¬ x 1 (res) � Matthias Schlaipfer 6

  16. Expansion proofs ( ∀ -Exp+Res) 2. Resolution on existential variables 1. Instantiation of universal variables: C 1 ∨ x σ C 2 ∨ ¬ x σ ( ∀ -exp) (res) { l [ τ ] | l ∈ C , l is existential } C 1 ∨ C 2 Example ∀ -exp x 1 ∨ x 0 / u we write x 1 ∨ x ¬ u ∃ x 1 ∀ u ∃ x 2 . x 1 ∨ u ∨ x 2 − − − → , 2 2 ∃ x 1 ∀ u ∃ x 2 . ( x 1 ∨ u ∨ x 2 ) ∧ ( x 1 ∨ u ∨ ¬ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ x 2 ) ∧ ( ¬ x 1 ∨ ¬ u ∨ ¬ x 2 ) ( ∀ -exp) ( ∀ -exp) ( ∀ -exp) ( ∀ -exp) x 1 ∨ x ¬ u x 1 ∨ ¬ x ¬ u ¬ x 1 ∨ x u ¬ x 1 ∨ ¬ x u 2 2 2 2 (res) (res) x 1 ¬ x 1 (res) � Matthias Schlaipfer 6

  17. Strategy extraction

  18. Strategy extraction via local soundness ❼ Associate strategies with clauses in the proof: Clause [ Strategy ] ❼ Combine strategies locally along the proof derivation For a (res) rule with pivot x τ : For a ( ∀ -exp) inference: C 2 ∨ x τ [ Q ] (res) [ P ] C 1 ∨ ¬ x τ ( ∀ -exp) C τ [ConstStrat(Π , τ )] C 1 ∨ C 2 [ P ⊔ x τ Q ] ConstStrat(Π , τ ) . . . follows Π, sets ∀ -edges according to τ Inspired by [Suda and Gleiss, 2018] Matthias Schlaipfer 7

  19. Strategy extraction via local soundness ❼ Associate strategies with clauses in the proof: Clause [ Strategy ] ❼ Combine strategies locally along the proof derivation For a (res) rule with pivot x τ : For a ( ∀ -exp) inference: C 2 ∨ x τ [ Q ] (res) [ P ] C 1 ∨ ¬ x τ ( ∀ -exp) C τ [ConstStrat(Π , τ )] C 1 ∨ C 2 [ P ⊔ x τ Q ] ConstStrat(Π , τ ) . . . follows Π, sets ∀ -edges according to τ Inspired by [Suda and Gleiss, 2018] Matthias Schlaipfer 7

  20. Strategy extraction via local soundness ❼ Associate strategies with clauses in the proof: Clause [ Strategy ] ❼ Combine strategies locally along the proof derivation ConstStrat( ∃ x 1 ∀ u ∃ x 2 , ¬ u ) For a (res) rule with pivot x τ : For a ( ∀ -exp) inference: C 2 ∨ x τ [ Q ] (res) [ P ] C 1 ∨ ¬ x τ x 1 ( ∀ -exp) 0 1 C τ [ConstStrat(Π , τ )] C 1 ∨ C 2 [ P ⊔ x τ Q ] u u 0 0 ConstStrat(Π , τ ) . . . x 2 x 2 follows Π, sets ∀ -edges according to τ 0 1 0 1 ⊥ ⊥ ⊥ ⊥ Inspired by [Suda and Gleiss, 2018] Matthias Schlaipfer 7

Recommend


More recommend