Extracting the Resolution Algorithm from a Completeness Proof for the Propositional Calculus
We prove constructively that for any propositional formula φ in Conjunctive Normal Form, we can either find a satisfying assignment of true and false to its variables, or a refutation of φ showing that it is unsatisfiable. This refutation is a resolution proof of ¬φ. From the formalization of our proof in Coq, we extract Robinson’s famous resolution algorithm as a Haskell program correct by construction. The account is an example of the genre of highly readable formalized mathematics.
Unable to display preview. Download preview PDF.
- 4.R., H., Lewis, C.H.P.: Elements of the Theory of Computation. Prentice-Hall, Englewood Cliffs (1994)Google Scholar
- 6.Constable, R.L., Allen, S.F., Bromley, H.M., Cleaveland, W.R., Cremer, J.F., Harper, R.W., Howe, D.J., Knoblock, T.B., Mendler, N.P., Panangaden, P., Sasaki, J.T., Smith, S.F.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, Englewood Cliffs (1986)Google Scholar
- 7.Constable, R.L., Howe, D.J.: Implementing metamathematics as an approach to automatic theorem proving. In: Banerji, R.B. (ed.) Formal Techniques in Artificial Intelligence: A Source Book, pp. 45–76. Elsevier, Amsterdam (1990)Google Scholar
- 9.Underwood, J.L.: The tableau algorithm for intuitionistic propositional calculus as a constructive completeness proof. In: Proceedings of the Workshop on Theorem Proving with Analytic Tableaux, Marseille, France, pp. 245–248 (1993), Available as Technical Report MPI-I-93-213, Max-Planck-Institut für Informatik, Saarbrücken, GermanyGoogle Scholar