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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend