Recursive Online Enumeration of All Minimal Unsatisfiable Subsets

  • Jaroslav BendíkEmail author
  • Ivana Černá
  • Nikola Beneš
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11138)


In various areas of computer science, we deal with a set of constraints to be satisfied. If the constraints cannot be satisfied simultaneously, it is desirable to identify the core problems among them. Such cores are called minimal unsatisfiable subsets (MUSes). The more MUSes are identified, the more information about the conflicts among the constraints is obtained. However, a full enumeration of all MUSes is in general intractable due to the large number (even exponential) of possible conflicts. Moreover, to identify MUSes, algorithms have to test sets of constraints for their simultaneous satisfiability. The type of the test depends on the application domains. The complexity of the tests can be extremely high especially for domains like temporal logics, model checking, or SMT. In this paper, we propose a recursive algorithm that identifies MUSes in an online manner (i.e., one by one) and can be terminated at any time. The key feature of our algorithm is that it minimises the number of satisfiability tests and thus speeds up the computation. The algorithm is applicable to an arbitrary constraint domain. We benchmark our algorithm against the state-of-the-art algorithm Marco on the Boolean and SMT constraint domains and demonstrate that our algorithm really requires less satisfiability tests and consequently finds more MUSes in the given time limits.


  1. 1.
    Zaher, S.A., Mark, HL., Karem A.S.: Cegar-based formal hardware verification: a case study. Ann Arbor (2007)Google Scholar
  2. 2.
    Bacchus, F., Katsirelos, G.: Using minimal correction sets to more efficiently compute minimal unsatisfiable sets. In: Kroening, Daniel, Păsăreanu, Corina S. (eds.) CAV (2). LNCS, vol. 9207, pp. 70–86. Springer, Cham (2015). Scholar
  3. 3.
    Bacchus, F., Katsirelos, G.: Finding a collection of MUSes incrementally. In: CPAIOR (2016)Google Scholar
  4. 4.
    Bailey, J., Stuckey, P.J.: Discovery of minimal unsatisfiable subsets of constraints using hitting set dualization. In: Hermenegildo, M.V., Cabeza, D. (eds.) PADL 2005. LNCS, vol. 3350, pp. 174–186. Springer, Heidelberg (2005). Scholar
  5. 5.
    Barnat, J., Bauch, P., Beneš, N., Brim, L., Beran, J., Kratochvíla, T.: Analysing sanity of requirements for avionics systems. Formal Aspects of Computing (2016)Google Scholar
  6. 6.
    Belov, A., Heule, M., Marques-Silva, J.: MUS extraction using clausal proofs. In: SAT (2014)Google Scholar
  7. 7.
    Belov, A., Marques-Silva, J.: Accelerating MUS extraction with recursive model rotation. In: FMCAD (2011)Google Scholar
  8. 8.
    Belov, A., Marques-Silva, J.: MUSer2: An efficient MUS extractor. J. Satisf. Boolean Model. Comput. (2012)Google Scholar
  9. 9.
    Belov, A., Marques Silva, J.P.: Minimally unsatisfiable boolean circuits. In: SAT (2011)Google Scholar
  10. 10.
    Bendík, J.: Consistency checking in requirements analysis. In: ISSTA (2017)Google Scholar
  11. 11.
    Bendík, J., Benes, N., Cerná, I., Barnat, J: Tunable online MUS/MSS enumeration. In: FSTTCS (2016)Google Scholar
  12. 12.
    Bendík, J., Ghassabani, E., Whalen, M., Černá, I.: Online enumeration of all minimal inductive validity cores. In: Johnsen, E.B., Schaefer, I. (eds.) SEFM 2018. LNCS, vol. 10886, pp. 189–204. Springer, Cham (2018). Scholar
  13. 13.
    Chen, H., Marques-Silva, J.: Improvements to satisfiability-based boolean function bi-decomposition. In: VLSI-SoC (2011)Google Scholar
  14. 14.
    Cimatti, A., Griggio, A., Sebastiani, R.: Computing small unsatisfiable cores in satisfiability modulo theories. J. Artif. Intell. Res. (2011)Google Scholar
  15. 15.
    Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching-time temporal logic. In: Logic of Programs (1981)Google Scholar
  16. 16.
    Clarke, E.M., Grumberg, Jha, S., Lu, Y., Veith, H,.: Counterexample-guided abstraction refinement. In: CAV (2000)Google Scholar
  17. 17.
    Cohen, O., Gordon, M., Lifshits, M., Nadel, A., Ryvchin, V.: Designers work less with quality formal equivalence checking. In: Design and Verification Conference (DVCon) (2010)Google Scholar
  18. 18.
    de la Banda, M.G., Stuckey, P.J., Wazny, J.: Finding all minimal unsatisfiable subsets. In: Proceedings of the 5th ACM SIGPLAN International Conference on Principles and Practice of Declaritive Programming (2003)Google Scholar
  19. 19.
    de Moura, L.M., Bjørner, N..: Z3: an efficient SMT solver. In: TACAS (2008)Google Scholar
  20. 20.
    Duret-Lutz, A., Lewkowicz, A., Fauchille, A., Michaud, T., Renault, E., Xu, L.: Spot 2.0 – a framework for LTL and \(\omega \)-automata manipulation. In: ATVA (2016)Google Scholar
  21. 21.
    Eén, N., Sörensson, A.: An extensible sat-solver. In: SAT (2003)Google Scholar
  22. 22.
    Gasca, R.M., Del Valle, C., Gómez López, M.T., Ceballos, R.: NMUS: structural analysis for improving the derivation of all muses in over constrained numeric csps. In: CAEPIA (2007)Google Scholar
  23. 23.
    Ghassabani, E., Whalen, M.W., Gacek, A.: Efficient generation of all minimal inductive validity cores. In: FMCAD (2017)Google Scholar
  24. 24.
    Gleeson, J., Ryan, J.: Identifying minimally infeasible subsystems of inequalities. INFORMS J. Comput. (1990)Google Scholar
  25. 25.
    Han, B., Lee, S.-J.: Deriving minimal conflict sets by cs-trees with mark set in diagnosis from first principles. IEEE Trans. Syst. Man Cybern. Part B (1999)Google Scholar
  26. 26.
    Hou, A.: A theory of measurement in diagnosis from first principles. Artif. Intell. (1994)Google Scholar
  27. 27.
    Liffiton, M.H., Malik, A.: Enumerating infeasibility: finding multiple muses quickly. In: Gomes, C., Sellmann, M. (eds.) CPAIOR 2013. LNCS, vol. 7874, pp. 160–175. Springer, Heidelberg (2013). Scholar
  28. 28.
    Liffiton, M.H., Previti, A., Malik, A., Marques-Silva, J.: Fast, flexible MUS enumeration. Constraints (2015)Google Scholar
  29. 29.
    Liffiton, M.H., Sakallah, K.A.: Algorithms for computing minimal unsatisfiable subsets of constraints. J. Autom. Reason. (2008)Google Scholar
  30. 30.
    McMillan, K.L., Amla, N.: Automatic abstraction without counterexamples. In: TACAS (2003)Google Scholar
  31. 31.
    Nadel, A.: Boosting minimal unsatisfiable core extraction. In: FMCAD (2010)Google Scholar
  32. 32.
    Nadel, A., Ryvchin, V., Strichman, O.: Efficient MUS extraction with resolution. In: FMCAD (2013)Google Scholar
  33. 33.
    Nadel, A., Ryvchin, V., Strichman, O.: Accelerated deletion-based extraction of minimal unsatisfiable cores. In: JSAT (2014)Google Scholar
  34. 34.
    Pnueli, A.: The temporal logic of programs. In: FOCS (1977)Google Scholar
  35. 35.
    Previti, A., Marques-Silva, J.: Partial MUS enumeration. In: Proceedings of the Twenty-Seventh AAAI Conference on Artificial Intelligence, Bellevue, 14–18 July 2013Google Scholar
  36. 36.
    Reiter, R.: A theory of diagnosis from first principles. Artif. Intell. (1987)Google Scholar
  37. 37.
    Stuckey, P.J., Sulzmann, M., Wazny, J.: Interactive type debugging in haskell. In: Haskell (2003)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Jaroslav Bendík
    • 1
    Email author
  • Ivana Černá
    • 1
  • Nikola Beneš
    • 1
  1. 1.Faculty of InformaticsMasaryk UniversityBrnoCzech Republic

Personalised recommendations