Improving Coq Propositional Reasoning Using a Lazy CNF Conversion Scheme

  • Stéphane Lescuyer
  • Sylvain Conchon
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5749)


In an attempt to improve automation capabilities in the Coq proof assistant, we develop a tactic for the propositional fragment based on the DPLL procedure. Although formulas naturally arising in interactive proofs do not require a state-of-the-art SAT solver, the conversion to clausal form required by DPLL strongly damages the performance of the procedure. In this paper, we present a reflexive DPLL algorithm formalized in Coq which outperforms the existing tactics. It is tightly coupled with a lazy CNF conversion scheme which, unlike Tseitin-style approaches, does not disrupt the procedure. This conversion relies on a lazy mechanism which requires slight adaptations of the original DPLL. As far as we know, this is the first formal proof of this mechanism and its Coq implementation raises interesting challenges.


Decision Procedure Conjunctive Normal Form Proof Obligation Propositional Formula Proof Assistant 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bezem, M., Hendriks, D., de Nivelle, H.: Automated proof construction in type theory using resolution. JAR 29(3), 253–275 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Bonichon, R., Delahaye, D., Doligez, D.: Zenon: An extensible automated theorem prover producing checkable proofs. In: Dershowitz, N., Voronkov, A. (eds.) LPAR 2007. LNCS, vol. 4790, pp. 151–165. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  3. 3.
    Boutin, S.: Using reflection to build efficient and certified decision procedures. In: Abadi, M., Ito, T. (eds.) TACS 1997. LNCS, vol. 1281, pp. 515–529. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  4. 4.
    Chrząszcz, J.: Implementation of modules in the Coq system. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 270–286. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  5. 5.
    Conchon, S., Contejean, E.: The Alt-Ergo Prover,
  6. 6.
    Contejean, E., Corbineau, P.: Reflecting Proofs in First-Order Logic with Equality. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 7–22. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Contejean, E., Courtieu, P., Forest, J., Pons, O., Urbain, X.: Certification of automated termination proofs. In: Konev, B., Wolter, F. (eds.) FroCos 2007. LNCS (LNAI), vol. 4720, pp. 148–162. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    The Coq Proof Assistant,
  9. 9.
    Corbineau, P.: Deciding equality in the constructor theory. In: Altenkirch, T., McBride, C. (eds.) TYPES 2006. LNCS, vol. 4502, pp. 78–92. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  10. 10.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Communication of the ACM 5(7), 394–397 (1962)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Davis, M., Putnam, H.: A computing procedure for quantification theory. J. ACM 7(3), 201–215 (1960)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    de la Tour, T.B.: Minimizing the number of clauses by renaming. In: Stickel, M.E. (ed.) CADE-10 1990. LNCS (LNAI), vol. 449, pp. 558–572. Springer, Heidelberg (1990)Google Scholar
  13. 13.
    de Moura, L.M., Bjørner, N.: Efficient E-matching for SMT solvers. In: Pfenning, F. (ed.) CADE 2007. LNCS, vol. 4603, pp. 183–198. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  14. 14.
    Delahaye, D., Mayero, M.: Field: une procédure de décision pour les nombres réels en Coq. In: JFLA, Pontarlier (France), INRIA, Janvier (2001)Google Scholar
  15. 15.
    Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: a theorem prover for program checking. J. ACM 52(3), 365–473 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Dyckhoff, R.: Contraction-free sequent calculi for intuitionistic logic. J. Symb. Log. 57(3), 795–807 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Dyckhoff, R.: Some benchmark formulae for intuitionistic propositional logic (1997)Google Scholar
  18. 18.
    Eén, N., Sörensson, N.: An extensible sat-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  19. 19.
    Filliâtre, J.-C., Conchon, S.: Type-safe modular hash-consing. In: Kennedy, A., Pottier, F. (eds.) ML, pp. 12–19. ACM, New York (2006)CrossRefGoogle Scholar
  20. 20.
    Grégoire, B., Mahboubi, A.: Proving equalities in a commutative ring done right in Coq. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 98–113. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  21. 21.
    Lescuyer, S., Conchon, S.: A Reflexive Formalization of a SAT Solver in Coq. In: TPHOLS 2008 Emerging Trends (2008)Google Scholar
  22. 22.
    Meng, J., Quigley, C., Paulson, L.C.: Automation for interactive proof: first prototype. Inf. Comput. 204(10), 1575–1596 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient sat solver. In: DAC 2001, pp. 530–535. ACM Press, New York (2001)Google Scholar
  24. 24.
    Nonnengart, A., Rock, G., Weidenbach, C.: On generating small clause normal forms. In: Kirchner, C., Kirchner, H. (eds.) CADE 1998. LNCS, vol. 1421, pp. 397–411. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  25. 25.
    Plaisted, D.A., Greenbaum, S.: A structure-preserving clause form translation. J. Symb. Comput. 2(3), 293–304 (1986)MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    Pugh, W.: The omega test: a fast and practical integer programming algorithm for dependence analysis. Communications of the ACM 8, 4–13 (1992)Google Scholar
  27. 27.
    Tseitin, G.S.: On the complexity of derivations in the propositional calculus, Part II. Studies in Mathematics and Mathematical Logic, pp. 115–125 (1968)Google Scholar
  28. 28.
    Weber, T., Amjad, H.: Efficiently Checking Propositional Refutations in HOL Theorem Provers. Journal of Applied Logic 7, 26–40 (2009)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Stéphane Lescuyer
    • 1
    • 2
  • Sylvain Conchon
    • 1
    • 2
  1. 1.INRIA Saclay-Île de France, ProValOrsay
  2. 2.LRIUniversité Paris-Sud, CNRSOrsay

Personalised recommendations