Minimal Unsatisfiable Set Efficient MUS Extraction with Resolution
Minimal Unsatisfiable Set Efficient MUS Extraction with Resolution Alexander Nadel Vadim Ryvchin Ofer Strichman Intel, Haifa Intel + Technion, Haifa 1
Minimal Unsatisfiable Set (MUS) n Given an unsatisfiable CNF , find a minimal (irreducible) set of clauses à µ such that à is unsatisfiable. n Two main ‘schools’ of finding cores: Assumptions-based (Een & Sorensson, [2003]) ¨ Resolution-based (Zhang et al. [2003]) ¨ 2
Deletion-based minimization Initially Roots are unmarked = Roots ed All mark Return Roots Choose unmarked clause c 2 Roots Remove( , c); SAT( ) ? yes mark c no Roots : = core Works for both ‘assumptions-based’ and ‘resolution-based’ 3
Derived clauses are also marked Optimization 1 ? m m m A. m Maintain partial resolution proofs Ø Only part of proof emanating from unmarked clauses 4
Derived clauses are also marked Optimization 2 ? m m m C. m Postpone propagation of unmarked clauses Ø These pull unmarked clauses into the proof 5
Derived clauses are also marked Optimizations 3, 4 ? m m m … and two other optimizations we used for group MUS [RS’ 12] 6
Model Rotation* = Roots All marked Return Roots Choose unmarked clause c 2 Roots Remove( , c); Rotation: mark more clauses SAT( ) ? yes mark c no Roots : = core * Belov, A. , Marques-Silva, J. : Accelerating MUS extraction with recursive model rotation. In: FMCAD’ 11. (2011) 7
Model Rotation is unsat, but ® ² /c ®’ = ®[l à : l] for some l 2 c if (Unsat. Set( , ®’) = {c’} Æ c’ is unmarked) then Mark c’; Apply recursively with ( , c’, ®’); } Searching for other clauses that can be marked 8
Model Rotation, eager Optimization 5 is unsat, but ® ² /c ®’ = ®[l à : l] for some l 2 c in the current call if (Unsat. Set( , ®’) = {c’} Æ c’ is unmarked) then Mark c’; Apply recursively with ( , c’, ®’); } New assignment ) new starting point for the search 9
The impact of E-rotation Optimization 5 10
Redundancy removal [BS’ 11] Optimization 6 n S is unsat ) (SAT(S / c) , SAT((S / c) Æ : c) Hence, add : c literals as assumptions. n This is implemented already in MUSer-2 [BS’ 11]. n Our improvement (“path falsification”): n ¨ Add : c, : c 1…, : cn literals as assumptions. 11
Path falsification Optimization 6 n Vertex cut: separates ? from the roots n Implies what’s on its left ) must be unsat n ? c 12
SAT(C/c) Path falsification Optimization 6 n Consider ®, ® ² Roots / c n ® cannot satisfy a cut ) ® ² (: c Æ : c 1 Æ : c 2) Ç (: c Æ : c 1 Æ : c 3) ? ) ® ² : c Æ : c 1 c 2 c 1 c c 3 13
Results 295 benchmarks of the 2011 MUS competition 14
Minisatbb Haifa. MUC vs. Minisatbb* Haifa. MUC * Lagniez, Biere, SAT’ 13 15
- Slides: 15