Efficient Modular SAT Solving for IC3 Sam Bayless , Celina G. Val , - - PowerPoint PPT Presentation

efficient modular sat solving for ic3
SMART_READER_LITE
LIVE PREVIEW

Efficient Modular SAT Solving for IC3 Sam Bayless , Celina G. Val , - - PowerPoint PPT Presentation

Efficient Modular SAT Solving for IC3 Sam Bayless , Celina G. Val , Thomas Ball , Holger H. Hoos , Alan J. Hu University of British Columbia Microsoft Research Sam Bayless (UBC) Efficient Modular SAT Solving for IC3


slide-1
SLIDE 1

Efficient Modular SAT Solving for IC3

Sam Bayless∗, Celina G. Val∗, Thomas Ball†, Holger H. Hoos∗, Alan J. Hu∗

∗University of British Columbia †Microsoft Research

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 1 / 31

slide-2
SLIDE 2

Efficient Modular SAT Solving for IC3

We introduce an improved version of IC3, ‘SMS-PDR’, using

  • ur new ‘SAT modulo SAT’ solver:

SMS-PDR PDR IC3 HWMCC’08 596/645 581/645 586/645 HWMCC’10 749/818 733/818 712/818 HWMCC’12 92/310 84/310 48/310 Solves more instances than both ABC’s PDR, and the

  • riginal IC3, on the 2008, 2010, and 2012 Hardware Model

Checking Competition Benchmarks.

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 2 / 31

slide-3
SLIDE 3

Efficient Modular SAT Solving for IC3 Outline:

1 Cube-blocking in IC3 2 Connection between cube-blocking and SMT 3 SAT modulo SAT solvers for cube-blocking 4 Results Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 3 / 31

slide-4
SLIDE 4

Cube Blocking in IC3

Bounded Model Checking: Reset∧ ∧¬p

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 4 / 31

slide-5
SLIDE 5

Cube Blocking in IC3

Bounded Model Checking: Reset∧ ∧¬p Cube Blocking in IC3: Reset∧ ∧¬p

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 5 / 31

slide-6
SLIDE 6

Cube Blocking in IC3

Bounded Model Checking: Reset∧ ∧¬p Cube Blocking in IC3: Reset∧ Contraints1∧ Contraints2∧ ∧¬p

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 6 / 31

slide-7
SLIDE 7

Cube Blocking in IC3

Cube Blocking in IC3: Reset∧ (¬a ∨ ¬c)

  • Contraints1

∧ (¬a ∨ ¬b ∨ ¬c)

  • Contraints2

∧ ∧¬p

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 7 / 31

slide-8
SLIDE 8

Cube Blocking in IC3

Cube Blocking in IC3: Reset∧ (¬a ∨ ¬c)

  • Contraints1

∧ (¬a ∨ ¬b ∨ ¬c)

  • Contraints2

∧ ∧¬p

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 8 / 31

slide-9
SLIDE 9

Cube Blocking in IC3

Cube Blocking in IC3: Reset∧ (¬a ∨ ¬c)

  • Contraints1

∧ (¬a ∨ ¬b ∨ ¬c)

  • Contraints2

∧ ∧¬p

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 9 / 31

slide-10
SLIDE 10

Cube Blocking in IC3

Cube Blocking in IC3: Reset∧ (¬a ∨ ¬c)

  • Contraints1

∧ → (¬a′ ∨ b′) (¬a ∨ ¬b ∨ ¬c)

  • Contraints2

∧ ∧¬p

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 10 / 31

slide-11
SLIDE 11

Cube Blocking in IC3

Cube Blocking in IC3: Reset∧ (¬a ∨ ¬c)

  • Contraints1

∧ → (¬a′ ∨ b′) (¬a ∨ ¬b ∨ ¬c) ∧ (¬a ∨ b)

  • Contraints2

∧ ∧¬p

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 11 / 31

slide-12
SLIDE 12

Cube Blocking in IC3

Cube Blocking in IC3: Reset∧ (¬a ∨ ¬c)

  • Contraints1

∧ → (¬a′ ∨ b′) (¬a ∨ ¬b ∨ ¬c) ∧ (¬a ∨ b)

  • Contraints2

∧ ∧¬p Problem: Because we are solving each time frame independently, satisfying assignments to the inputs of one time frame might be trivially false (i.e., refuted by unit propagation alone) when passed to the outputs of the preceding time frame.

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 12 / 31

slide-13
SLIDE 13

SAT modulo Theory Solvers

Solve formulas containing both propositional logic and statements in some other language (like linear arithmetic, real numbers, bit-vectors, . . . ).

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 13 / 31

slide-14
SLIDE 14

SAT modulo Theory Solvers

Solve formulas containing both propositional logic and statements in some other language (like linear arithmetic, real numbers, bit-vectors, . . . ).

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 14 / 31

slide-15
SLIDE 15

SAT modulo Theory Solvers

Solve formulas containing both propositional logic and statements in some other language (like linear arithmetic, real numbers, bit-vectors, . . . ).

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 15 / 31

slide-16
SLIDE 16

SAT modulo Theory Solvers

Solve formulas containing both propositional logic and statements in some other language (like linear arithmetic, real numbers, bit-vectors, . . . ).

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 16 / 31

slide-17
SLIDE 17

SAT modulo Theory Solvers

Efficient, lazy SMT1 solvers apply unit propagation from the SAT solver to the theory solver eagerly

  • 1R. Sebastiani. “Lazy satisfiability modulo theories”. In: Journal on

Satisfiability, Boolean Modeling and Computation (JSAT) 3 (2007),

  • pp. 141–224.

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 17 / 31

slide-18
SLIDE 18

SAT modulo Theory Solvers

Efficient, lazy SMT2 solvers apply unit propagation from the SAT solver to the theory solver eagerly

  • 2R. Sebastiani. “Lazy satisfiability modulo theories”. In: Journal on

Satisfiability, Boolean Modeling and Computation (JSAT) 3 (2007),

  • pp. 141–224.

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 18 / 31

slide-19
SLIDE 19

SAT modulo Theory Solvers

Efficient, lazy SMT3 solvers apply unit propagation from the SAT solver to the theory solver eagerly

  • 3R. Sebastiani. “Lazy satisfiability modulo theories”. In: Journal on

Satisfiability, Boolean Modeling and Computation (JSAT) 3 (2007),

  • pp. 141–224.

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 19 / 31

slide-20
SLIDE 20

SAT modulo Theory Solvers

Efficient, lazy SMT4 solvers apply unit propagation from the SAT solver to the theory solver eagerly

  • 4R. Sebastiani. “Lazy satisfiability modulo theories”. In: Journal on

Satisfiability, Boolean Modeling and Computation (JSAT) 3 (2007),

  • pp. 141–224.

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 20 / 31

slide-21
SLIDE 21

SAT modulo Theory Solvers

Efficient, lazy SMT5 solvers apply unit propagation from the SAT solver to the theory solver eagerly

  • 5R. Sebastiani. “Lazy satisfiability modulo theories”. In: Journal on

Satisfiability, Boolean Modeling and Computation (JSAT) 3 (2007),

  • pp. 141–224.

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 21 / 31

slide-22
SLIDE 22

SAT modulo SAT

Observation: Incremental SAT solvers can support all the

  • perations that lazy SMT theory solvers need

1 Eager unit propagation 2 Efficient learned clauses & lazy conflict analysis 3 Maintaining state in the theory solver

− → SAT is actually an ideal theory for lazy SMT solvers! − → We can build a ‘SAT modulo SAT’ solver using all the tricks that lazy SMT solvers use!

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 22 / 31

slide-23
SLIDE 23

Cube Blocking in IC3

Cube Blocking: Reset∧ Contraints1∧ Contraints2∧ ∧¬p − → Cube blocking is just solving a recursive SMT formula, where the ‘theory’ is the formula for the preceding time step. − → We can use a SAT modulo SAT solver directly to apply cube blocking, giving us eager unit propagation and lazy conflict analysis!

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 23 / 31

slide-24
SLIDE 24

Cube Blocking in IC3

Cube Blocking: Reset∧ Contraints1∧ Contraints2∧ ∧¬p − → Cube blocking is just solving a recursive SMT formula, where the ‘theory’ is the formula for the preceding time step. − → We can use a SAT modulo SAT solver directly to apply cube blocking, giving us eager unit propagation and lazy conflict analysis!

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 24 / 31

slide-25
SLIDE 25

Cube Blocking in IC3

Cube Blocking: Reset∧ Contraints1∧ Contraints2∧ ∧¬p − → Cube blocking is just solving a recursive SMT formula, where the ‘theory’ is the formula for the preceding time step. − → We can use a SAT modulo SAT solver directly to apply cube blocking, giving us eager unit propagation and lazy conflict analysis!

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 25 / 31

slide-26
SLIDE 26

Cube Blocking in IC3

Cube Blocking: Reset∧ Contraints1∧ Contraints2∧ ∧¬p − → Cube blocking is just solving a recursive SMT formula, where the ‘theory’ is the formula for the preceding time step. − → We can use a SAT modulo SAT solver directly to apply cube blocking, giving us eager unit propagation and lazy conflict analysis!

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 26 / 31

slide-27
SLIDE 27

Cube Blocking in IC3

Cube Blocking: Reset∧ Contraints1∧ Contraints2∧ ∧¬p − → Cube blocking is just solving a recursive SMT formula, where the ‘theory’ is the formula for the preceding time step. − → We can use a SAT modulo SAT solver directly to apply cube blocking, giving us eager unit propagation and lazy conflict analysis!

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 27 / 31

slide-28
SLIDE 28

Results

Our ‘SAT modulo SAT’ version of PDR (‘SMS-PDR’) versus ABC’s PDR and the original IC3: SMS-PDR PDR IC3 HWMCC’08 596/645 581/645 586/645 HWMCC’10 749/818 733/818 712/818 HWMCC’12 92/310 84/310 48/310 Solves more instances than both IC3 and PDR on each benchmark Solves both more safe and unsafe instances than both IC3 and PDR on each benchmark Solves just one instance less than the entire virtual best solver from the 2008 competition

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 28 / 31

slide-29
SLIDE 29

Results

Our ‘SAT modulo SAT’ version of PDR (‘SMS-PDR’) versus ABC’s PDR and the original IC3: SMS-PDR PDR IC3 SAT UNSAT SAT UNSAT SAT UNSAT HWMCC’08 245 351 242 339 240 346 HWMCC’10 322 427 317 416 308 404 HWMCC’12 25 67 21 63 14 34 Solves more instances than both IC3 and PDR on each benchmark Solves both more safe and unsafe instances than both IC3 and PDR on each benchmark Solves just one instance less than the entire virtual best solver from the 2008 competition

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 29 / 31

slide-30
SLIDE 30

SAT modulo SAT

SAT modulo SAT is not limited to just model checking Can be applied to many other types of formulas:

◮ Not restricted to just unrolled circuits ◮ Can handle partitions of arbitrary formulas ◮ Can handle tree-structured formulas

SATϕ1 SATϕ2 SATϕ3 SATϕ1 SATϕ2 SATϕ3 SATϕ4

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 30 / 31

slide-31
SLIDE 31

SAT modulo SAT

SAT modulo SAT is not limited to just model checking Can be applied to many other types of formulas:

◮ Not restricted to just unrolled circuits ◮ Can handle partitions of arbitrary formulas ◮ Can handle tree-structured formulas ◮ Can combine SAT and SMT theories

SATϕ1 SATϕ2 SATϕ3 SATϕ1 SATϕ2 SATϕ3 SATϕ4 SATϕ1 SATϕ2 SATϕ3 Linear Arithmetic SATϕ4 SATϕ5 SATϕ6 Bitvectors

The source code for our implementation of IC3, and for the new ‘SAT modulo SAT’ solver that it runs on, are

  • pen source & online at:

www.cs.ubc.ca/labs/isd/Projects/ModularSAT/

Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 31 / 31