Computing prime implicants

Model checking and counter-example guided abstraction refinement are examples of applications of SAT solving requiring the production of models for satisfiable formulas. Better than giving a truth value to every variable, one can provide an implicant, i.e. a partial assignment of the variables such that every full extension is a model for the formula. An implicant is prime if every assignment is necessary. Since prime implicants contain no literal irrelevant for the satisfiability of the formula, they are considered as highly refined information. We here propose a novel algorithm that uses data structures found in modern CDCL SAT solvers to efficiently compute prime implicants starting from an existing model. The original aspects are (1) the algorithm is based on watched literals and a form of propagation of required literals, adapted to CDCL solvers (2) the algorithm works not only on clauses, but also on generalized constraints (3) for clauses and, more generally for cardinality constraints, the algorithm complexity is linear in the size of the constraints found. We implemented and evaluated the algorithm with the Sat4j library.

[1]  Lakhdar Sais,et al.  Tractable Cover Compilations , 1997, IJCAI.

[2]  Luigi Palopoli,et al.  Algorithms for Selective Enumeration of Prime Implicants , 1999, Artif. Intell..

[3]  Clara Pizzuti Computing prime implicants by integer programming , 1996, Proceedings Eighth IEEE International Conference on Tools with Artificial Intelligence.

[4]  Neil V. Murray,et al.  Linear response time for implicate and implicant queries , 2009, Knowledge and Information Systems.

[5]  Alex Kean,et al.  An Incremental Method for Generating Prime Implicants/Impicates , 1990, J. Symb. Comput..

[6]  Sean Safarpour,et al.  Improved Design Debugging Using Maximum Satisfiability , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[7]  Cesare Tinelli,et al.  Satisfiability Modulo Theories , 2021, Handbook of Satisfiability.

[8]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[9]  Daniel Le Berre,et al.  The Sat4j library, release 2.2 , 2010, J. Satisf. Boolean Model. Comput..

[10]  Theo Tryfonas,et al.  Frontiers in Artificial Intelligence and Applications , 2009 .

[11]  Pierre Marquis,et al.  A Knowledge Compilation Map , 2002, J. Artif. Intell. Res..

[12]  Kavita Ravi,et al.  Minimal Assignments for Bounded Model Checking , 2004, TACAS.

[13]  Robert Schrag,et al.  Compilation for Critically Constrained Knowledge Bases , 1996, AAAI/IAAI, Vol. 1.

[14]  Ying Qin,et al.  Minimizing Counterexample with Unit Core Extraction and Incremental SAT , 2005, VMCAI.

[15]  George Becker,et al.  CNF and DNF Considered Harmful for Computing Prime Implicants/Implicates , 2004, Journal of Automated Reasoning.

[16]  Isil Dillig,et al.  Minimum Satisfying Assignments for SMT , 2012, CAV.

[17]  Vasco M. Manquinho,et al.  Prime implicant computation using satisfiability algorithms , 1997, Proceedings Ninth IEEE International Conference on Tools with Artificial Intelligence.