boolean abstraction for temporal logic satisfiability
play

Boolean Abstraction for Temporal Logic Satisfiability A. Cimatti 1 , - PowerPoint PPT Presentation

Boolean Abstraction for Temporal Logic Satisfiability A. Cimatti 1 , M. Roveri 1 , V. Schuppan 1 , S. Tonetta 2 1 FBK-irst, Trento, Italy 2 University of Lugano, Faculty of Informatics, Lugano, Switzerland CAV07, July 37, 2007, Berlin,


  1. Boolean Abstraction for Temporal Logic Satisfiability A. Cimatti 1 , M. Roveri 1 , V. Schuppan 1 , S. Tonetta 2 1 FBK-irst, Trento, Italy 2 University of Lugano, Faculty of Informatics, Lugano, Switzerland CAV’07, July 3–7, 2007, Berlin, Germany

  2. Motivation 2 ⇒ Property-based system design (PROSYD): work at the level of requirements. ⇒ In model checking, focus is on dealing with complexity in the model. ⇒ Satisfiability of large temporal formulas can be hard. (e.g., [Rozier, Vardi (SPIN’07)]) � 2007 V. Schuppan c

  3. Contents 3 1. Boolean Abstraction 2. Pure Literal Simplification 3. Extracting Unsatisfiable Cores 4. Experiments � 2007 V. Schuppan c

  4. Boolean Abstraction 4 (well-known in SMT community) temporal formula ∧ ∨ ¬ ∨ ⇒ ⇔ G X U X ∧ ∨ ⇒ ¬ ∧ F G Boolean ∧ ∨ ¬ combination ∨ ⇒ ⇔ temporal U formula ⇒ ∧ � 2007 V. Schuppan c

  5. Boolean Abstraction 5 (well-known in SMT community) temporal formula Boolean formula ∧ ∨ ∧ ∨ ¬ ¬ ∨ ⇒ ⇔ ∨ ⇒ ⇔ A 1 A 2 A 3 A 4 abstract G X U X ∧ ∨ ⇒ ¬ ∧ F G Boolean ∧ ∨ ¬ combination ∨ ⇒ ⇔ temporal U formula ⇒ ∧ fresh A 2 proposition � 2007 V. Schuppan c

  6. Boolean Abstraction 6 (well-known in SMT community) unsatisfiable temporal formula Boolean formula yes ∧ ∨ ∧ ∨ ¬ ¬ ∨ ⇒ ⇔ ∨ ⇒ ⇔ = false? A 1 A 2 A 3 A 4 abstract G X U X ∧ ∨ ⇒ ¬ ∧ F G Boolean ∧ ∨ ¬ combination ∨ ⇒ ⇔ temporal U formula ⇒ ∧ fresh A 2 proposition � 2007 V. Schuppan c

  7. Boolean Abstraction 7 (well-known in SMT community) unsatisfiable temporal formula Boolean formula Boolean yes prime implicant ∧ ∨ ∧ ∨ ¬ ¬ ∨ ⇒ ⇔ ∨ ⇒ ⇔ no = A 1 A 3 ¬A 4 false? A 1 A 2 A 3 A 4 abstract extract G X U X ∧ ∨ ⇒ prime implicant ¬ ∧ F G Boolean ∧ ∨ ¬ combination ∨ ⇒ ⇔ temporal U formula ⇒ ∧ fresh A 2 proposition � 2007 V. Schuppan c

  8. Boolean Abstraction 8 (well-known in SMT community) unsatisfiable temporal formula Boolean formula Boolean yes prime implicant ∧ ∨ ∧ ∨ ¬ ¬ ∨ ⇒ ⇔ ∨ ⇒ ⇔ no = A 1 A 3 ¬A 4 false? A 1 A 2 A 3 A 4 abstract extract G X U X ∧ ∨ ⇒ prime implicant ¬ ∧ F G concretize Boolean ∧ ∨ ¬ combination ¬ ∨ ⇒ ⇔ G U X ∧ ∨ ⇒ ∧ F G temporal temporal U formula ⇒ ∧ prime implicant fresh A 2 proposition � 2007 V. Schuppan c

  9. Boolean Abstraction 9 (well-known in SMT community) unsatisfiable temporal formula Boolean formula Boolean yes prime implicant ∧ ∨ ∧ ∨ ¬ ¬ ∨ ⇒ ⇔ ∨ ⇒ ⇔ no = A 1 A 3 ¬A 4 false? A 1 A 2 A 3 A 4 abstract extract G X U X ∧ ∨ ⇒ prime implicant ¬ ∧ F G concretize Boolean ∧ ∨ ¬ combination ¬ ∨ ⇒ ⇔ G U X ∧ ∨ ⇒ check satisfiability ∧ F G temporal temporal U formula ⇒ ∧ prime implicant fresh A 2 proposition � 2007 V. Schuppan c

  10. Boolean Abstraction 10 (well-known in SMT community) unsatisfiable temporal formula Boolean formula Boolean yes prime implicant ∧ ∨ ∧ ∨ ¬ ¬ ∨ ⇒ ⇔ ∨ ⇒ ⇔ no = A 1 A 3 ¬A 4 false? A 1 A 2 A 3 A 4 abstract extract G X U X ∧ ∨ ⇒ prime implicant ¬ ∧ F G concretize Boolean ∧ ∨ ¬ combination ¬ ∨ ⇒ ⇔ G SAT? U X ∧ ∨ ⇒ check satisfiability ∧ F G temporal yes temporal U formula ⇒ ∧ prime implicant fresh A 2 proposition satisfiable � 2007 V. Schuppan c

  11. Boolean Abstraction 11 (well-known in SMT community) unsatisfiable temporal formula Boolean formula Boolean yes prime implicant ∧ ∨ ∧ ∨ ¬ ¬ ∨ ⇒ ⇔ ∨ ⇒ ⇔ no = A 1 A 3 ¬A 4 false? A 1 A 2 A 3 A 4 abstract extract G X U X ∧ ∨ ⇒ prime implicant ¬ ∧ F G concretize remove prime implicant no Boolean ∧ ∨ ¬ combination ¬ ∨ ⇒ ⇔ G SAT? U X ∧ ∨ ⇒ check satisfiability ∧ F G temporal yes temporal U formula ⇒ ∧ prime implicant fresh A 2 proposition satisfiable � 2007 V. Schuppan c

  12. Contents 12 1. Boolean Abstraction 2. Pure Literal Simplification 3. Extracting Unsatisfiable Cores 4. Experiments � 2007 V. Schuppan c

  13. Pure Literal Simplification — Propositional Logic 13 [Davis, Putnam (1960); Dunham, Fridshal, Sward (1959)] Assume a propositional formula φ in CNF: ( l 1 , 1 ∨ ... ∨ l 1 , n 1 ∨ p ) ∧ ... ∧ ( l k , 1 ∨ ... ∨ l k , n k ∨ p ) ∧ φ 2 � �� � ���� φ 1 : p occurs only positively no occurrence of p Then: φ is satisfiable iff p ∧ φ is satisfiable. (And similarly if p occurs only negatively in φ 1 .) � 2007 V. Schuppan c

  14. Pure Literal Simplification — PSL 14 Extend notion of pure literal to PSL (see paper). Let φ be a PSL formula such that p is pure positive in φ . Then: φ is satisfiable iff ( G p ) ∧ φ is satisfiable. (And similarly if p is pure negative in φ .) (Modal logic K : [Pan, Sattler, Vardi (J. Applied Non-Classical Logics 2006)]) � 2007 V. Schuppan c

  15. Boolean Abstraction and Pure Literal Simplification 15 unsatisfiable temporal formula Boolean formula Boolean yes prime implicant ∧ ∨ ∧ ∨ ¬ ¬ ∨ ⇒ ⇔ ∨ ⇒ ⇔ no = A 1 A 3 ¬A 4 false? A 1 A 2 A 3 A 4 abstract extract G X U X ∧ ∨ ⇒ prime implicant ¬ ∧ F G concretize remove prime implicant no (Pure literal) Simplification ¬ G SAT? U X ∧ ∨ ⇒ check satisfiability ∧ F G yes temporal prime implicant satisfiable � 2007 V. Schuppan c

  16. Contents 16 1. Boolean Abstraction 2. Pure Literal Simplification 3. Extracting Unsatisfiable Cores 4. Experiments � 2007 V. Schuppan c

  17. Unsatisfiable Cores 17 Assume φ ≡ ( G p ) ∧ ( F ¬ p ) ∧ (( X p ) ∨ ( XX p )) Prime implicants: ( G p ) ∧ ( F ¬ p ) ∧ ( X p ) ( G p ) ∧ ( F ¬ p ) ∧ ( XX p ) They share unsatisfiable part ⇒ no need to check both! Given { φ i | i ∈ I } with V i ∈ I φ i unsatisfiable, any { φ j | j ∈ J ⊆ I } with V j ∈ J φ j unsatisfiable is an unsatisfiable core. � 2007 V. Schuppan c

  18. Boolean Abstraction and Unsat Core Extraction 18 unsatisfiable temporal formula Boolean formula Boolean yes prime implicant ∧ ∨ ∧ ∨ ¬ ¬ ∨ ⇒ ⇔ ∨ ⇒ ⇔ no = A 1 A 3 ¬A 4 false? A 1 A 2 A 3 A 4 abstract extract G X U X ∧ ∨ ⇒ prime implicant ¬ ∧ F G concretize remove prime implicant no Extract/remove unsat core(s) ¬ G SAT? U X ∧ ∨ ⇒ check satisfiability ∧ F G yes temporal prime implicant satisfiable � 2007 V. Schuppan c

  19. Activation Variables 19 Propositional case: [Lynce, Marques-Silva (SAT’04)] 1. Assume prime implicant V i ∈ I φ i . 2. Introduce one fresh, Boolean activation variable A i per φ i . 3. Build B¨ uchi automaton B for ^ ( A i → φ i ) i ∈ I Let J ⊆ I . B has fair path from some initial state with { A j | j ∈ J } true iff V j ∈ J φ j is satisfiable. Independent of how B¨ uchi automaton is constructed! � 2007 V. Schuppan c

  20. Extracting Unsatisfiable Cores with BDD-based Solvers 20 Let B be a B¨ uchi automaton for V i ∈ I ( A i → φ i ) . 1. Let S be the set of states in B that are the start of a fair path (e.g., Emerson-Lei). 2. Restrict S to initial states in B . 3. Project S onto { A i | i ∈ I } . 4. Complement S . Now S contains the set of unsatisfiable cores of V i ∈ I φ i . (We obtain all unsatisfiable cores.) � 2007 V. Schuppan c

  21. Extracting Unsatisfiable Cores with SAT-based Solvers 21 Let B be a B¨ uchi automaton for V i ∈ I ( A i → φ i ) . 1. Let k ← 0 . 2. Encode feasibility of loop-free path of length k in B . 3. Check satisfiability assuming { A i | i ∈ I } is true at time 0. 4. If unsat, obtain conflict in terms of assumptions { A j | j ∈ J ⊆ I } at time 0. 5. Otherwise, increase k and repeat. Now { φ j | j ∈ J } contains an unsatisfiable core of V i ∈ I φ i . (We obtain one unsatisfiable core.) � 2007 V. Schuppan c

  22. Contents 22 1. Boolean Abstraction 2. Pure Literal Simplification 3. Extracting Unsatisfiable Cores 4. Experiments � 2007 V. Schuppan c

  23. Experiments 23 Benchmarks on PSL satisfiability (Used in [Cimatti, Roveri, Semprini, Tonetta (FMCAD’06); Cimatti, Roveri, Tonetta (TACAS’07)]) 1. Fill typical patterns extracted from industrial specifications [Ben-David, Orni (2005)] with random regular expressions. 2. Generate benchmarks by aggregating patterns from step 1 into the fol- lowing shapes: – large conjunction, – (large conjunction) implies (large conjunction), – (large conjunction) iff (large conjunction), – random Boolean combination. We’d love to have challenging realistic benchmarks from industry. � 2007 V. Schuppan c

  24. Experiments 24 Implementation – Basis: NuSMV – Translation from PSL to automata: [Cimatti, Roveri, Tonetta (TACAS’07)] – BDD-based solver: backward Emerson-Lei, dynamic reordering baseline for BDD-based approaches – SAT-based solver: incremental and complete SBMC with MiniSat [Heljanko, Junttila, Latvala (CAV’05)] baseline for SAT-based approaches Resources – Time out: 120 seconds – Memory out: 768 MB Download http://sra.itc.it/people/roveri/cav07-bapsl/ � 2007 V. Schuppan c

Recommend


More recommend