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
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
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 1 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 2 / 31
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
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 4 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 5 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 6 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 7 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 8 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 9 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 10 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 11 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 12 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 13 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 14 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 15 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 16 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 17 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 18 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 19 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 20 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 21 / 31
1 Eager unit propagation 2 Efficient learned clauses & lazy conflict analysis 3 Maintaining state in the theory solver
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 22 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 23 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 24 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 25 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 26 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 27 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 28 / 31
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 29 / 31
◮ 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
◮ 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
Sam Bayless (UBC) Efficient Modular SAT Solving for IC3 October 22, 2013 31 / 31