SMT Unsat Core Minimization
OFER GUTHMANN, OFER STRICHMAN, ANNA TRO STANETSKI FMCAD2016
1
SMT MUCS
SMT Unsat Core Minimization OFER GUTHMANN, OFER STRICHMAN, ANNA TRO - - PowerPoint PPT Presentation
SMT Unsat Core Minimization OFER GUTHMANN, OFER STRICHMAN, ANNA TRO STANETSKI FMCAD2016 1 SMT MUCS Satisfiability Modulo Theories Satisfiability Modulo Theories (SMT): decides satisfiability of formulas over first order theories, by
OFER GUTHMANN, OFER STRICHMAN, ANNA TRO STANETSKI FMCAD2016
1
SMT MUCS
2
SMT MUCS
π¦ = 0 β§ π¦ = 1 β¨ Β¬ π¦ = 2
3
π1 π2 π3
SMT MUCS
4
SMT MUCS
5
πΊπππππ ππππππππ π πππππ π β π« π« πΊπππππ π« πππ π΅πππ π , πππ πππ ππ πππ π ππ π« π©ππ π ππππππ ππππππ? π»π©πΌ π« ? πππ πΆπ πΆπ π« β π πππ
SMT MUCS
*Diagram taken from L. Zhang and S. Malik: Validating SAT Solvers Using an Independent Resolution-Based Checker: Practical Implementations and Other Applications. 2003.
SMT MUCS
6
Unsat Core
7
πΊπππππ π½πππππππ π πππππ π β π« π« πΊπππππ π« π΅πππ π , πππ πππ ππ πππ π ππ π« π©ππ π ππππππ ππππππ? π»π©πΌ π« ? πππ πΆπ πππ πΆπ π« β π πππ ππ π« ?
SMT MUCS
* A. Belov and J. Marques-Silva. Accelerating MUS extraction with recursive model
8
SMT MUCS
.
:
9
Recall: π applies Boolean abstraction Recall: π applies boolean abstraction
SMT MUCS
π = π¦ = 0
π
β§ Β¬ π¦ = 0 β¨ π¦ = 1 β§ Β¬ π¦ = 0 β¨ π¦ = 2 π π = π1
π π
β§ Β¬π1 β¨ π2 β§ Β¬π1 β¨ π3
10
SMT MUCS
π = π¦ = 0
π
β§ Β¬ π¦ = 0 β¨ π¦ = 1 β§ Β¬ π¦ = 0 β¨ π¦ = 2 π π = π1
π π
β§ Β¬π1 β¨ π2 β§ Β¬π1 β¨ π3
11
SMT MUCS
12
SMT MUCS
13
SMT MUCS
14
SMT MUCS
π’π ππ to stop rotation.
15
SMT MUCS 100 200 300 400 500 600 200 400 600 800 1000 1200 1400 1600 1800 2000
Time (ms) Iteration
Time cost per clause marking
SMT SAT check time 100 200 300 400 500 600 200 400 600 800 1000 1200 1400 1600 1800 2000
Time (ms) Iteration
Time cost per clause marking
SMT SAT check time Rotation time
π
π
π π=1 π
π
π
πβ1,
π
and ππ ππ’
π
π
π
π ππ’ π
ππ ππ’
π
SMT MUCS
16
SMT MUCS
17
0.5 1 1.5 2 2.5 3 3.5 4 100 200 300 400 500 600 700 800 900 1000 1 21 33 44 58 67 76 88 99 107 118 127 136 147 156 165 171 180 189 198 207 216 223 235 245 251 257 264 271 278 284 294 303 309 316 325 333 341 348 354 361 369
Number of marked clauses Time (ms) Iteration
Time cost per clause marking (Uses exp. smoothing w. alpha = 0.1)
smt call time rotation call time (ratio) #clauses marked in rotation
*Same instances seleScted in A. Cimatti, A. Griggio, and R. Sebastiani: Computing small unsatisfiable cores in satisfiability modulo theories. 2011.
SMT MUCS
18
19
SMT MUCS
SMT MUCS
20
π·πππππ. Time (sec.) T-check Time (sec.) T-Conflicts Resolved (base) 30.5 0.0 0.0 T-Rotate 29.7 1.4 20.8 T-Rotate b 5 28.9 1.0 10.2 T-Rotate b 7 29.2 1.2 12.3 T-Rotate exp 29.6 1.2 11.2
HAIFA SMT MUCS
21
[1] A. Cimatti, A. Griggio, and R. Sebastiani. Computing small unsatisfiable cores in satisfiability modulo theories (2011).
SMT MUCS
22
MathSat Muser2 Extract π(π πππ’π‘β²) Proof π(π πππ’π‘ + ππππππ‘) π(π πππ’π‘β) SUC
completed, HSmtMuc: 22.9 sec. vs. Hybrid: 27.9 sec.).
23
SMT MUCS
MathSat + Muser2 HSmtMuc π πππ· πππ·
24
SMT MUCS
25
SMT MUCS
26
SMT MUCS