Trusted Theorem Proving: A Case Study in SLD-Resolution

  • Konstantine Arkoudas
  • Olin Shivers
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 17)


Prolog’s implementation of SLD-resolution furnishes an efficient theorem-proving technique for the Horn-clause subset of first-order logic, and makes for a powerful addition to any automatic or semi-automatic verification system. However, due to the complexity of SLD-resolution, a naive incorporation of a Prolog engine into such a system would inordinately increase the overall trusted base. In this paper we show how to integrate this procedure in a disciplined, trusted manner, by making the Prolog engine justify its results with very simple natural deduction reasoning. In effect, instead of taking SLD-resolution as a primitive inference rule, we express it as a derived inference rule in terms of much simpler rules such as conditional elimination.

This reduction is an example of a general methodology for building highly reliable software systems called certified computation, whereby a program not only produces a result r for a given input x but also proves that r is correct for x. Such a proof can be viewed as a certificate for the result r, and can significantly enhance the latter’s credibility: if we trust the axioms and inference rules used in the proof, we can trust the result. We present a complete implementation of a certifying Prolog interpreter that relies only on three exceptionally simple inference rules: conditional elimination, universal specialization, and conjunction introduction.


Logic Program Inference Rule Natural Deduction Horn Clause Sequent Calculus 
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.
  2. 2.
    Arkoudas, K., Rinard, M.: Deductive runtime certification. Electronic Notes on Theoretical Computer Science (ENTCS) 113(3), 45–63 (2005); 2004 Workshop on Runtime Verification, Barcelona, SpainCrossRefGoogle Scholar
  3. 3.
    Arkoudas, K., Zee, K., Kuncak, V., Rinard, M.: Verifying a file system implementation. In: Davies, J., Schulte, W., Barnett, M. (eds.) ICFEM 2004. LNCS, vol. 3308, pp. 373–390. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Arvizo, T.: A virtual machine for a type-ω denotational proof language. MS thesis, MIT (2002),
  5. 5.
    Gordon, M.J., Miller, A.J., Wadsworth, C.P.: Edinburgh LCF. LNCS, vol. 78. Springer, Heidelberg (1979)MATHGoogle Scholar
  6. 6.
    Gordon, M.J.C., Melham, T.F.: Introduction to HOL, a theorem proving environment for higher-order logic. Cambridge University Press, Cambridge (1993)MATHGoogle Scholar
  7. 7.
    Jaume, M.: A full formalization of SLD-resolution in the calculus of inductive constructions. Journal of Automated Reasoning 23(3-4), 347–371 (1999)MathSciNetCrossRefMATHGoogle Scholar
  8. 8.
    Knight, K.: Unification: A multidisciplinary survey. ACM Computing Surveys 21(1), 93–124 (1989)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Lloyd, J.W.: Foundations of Logic Programming. Springer, Berlin (1984)CrossRefMATHGoogle Scholar
  10. 10.
    Paulson, L.C.: Introduction to Isabelle. Technical Report 280, CUCL (1993)Google Scholar
  11. 11.
    Pelletier, F.J.: A Brief History of Natural Deduction. History and Philosophy of Logic 20, 1–31 (1999)MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    Salcianu, A., Arkoudas, K.: Machine-checkable correctness proofs for intra-procedural dataflow analyses. Electronic Notes on Theoretical Computer Science (ENTCS) 141(2), 53–68 (2005); Fourth International Workshop on Compiler Optimization Meets Compiler Verification (COCV), Edinburgh, ScotlandCrossRefGoogle Scholar
  13. 13.
    Sterling, L., Shapiro, E.: The Art of Prolog, 2nd edn. MIT Press, Cambridge (1994)MATHGoogle Scholar
  14. 14.
    Wechler, W.: Universal Algebra for Computer Scientists. Springer, Heidelberg (1992)CrossRefMATHGoogle Scholar
  15. 15.
    Wenzel, M.: Isar — a generic interpretative approach to readable formal proof documents. In: Proceedings of the 1999 conference on theorem proving in higher-order logic, pp. 167–183 (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Konstantine Arkoudas
    • 1
  • Olin Shivers
    • 1
  1. 1.MIT Computer Science and Artificial Intelligence LabNortheastern University College of Computer and Information ScienceUSA

Personalised recommendations