Skip to main content

Trusted Theorem Proving: A Case Study in SLD-Resolution

  • Conference paper
Leveraging Applications of Formal Methods, Verification and Validation (ISoLA 2008)

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Arkoudas, K.: Athena, http://www.pac.csail.mit.edu/athena

  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, Spain

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  4. Arvizo, T.: A virtual machine for a type-ω denotational proof language. MS thesis, MIT (2002), ftp://publications.ai.mit.edu/ai-publications/2002/AITR-2002-204.pdf

  5. Gordon, M.J., Miller, A.J., Wadsworth, C.P.: Edinburgh LCF. LNCS, vol. 78. Springer, Heidelberg (1979)

    MATH  Google Scholar 

  6. Gordon, M.J.C., Melham, T.F.: Introduction to HOL, a theorem proving environment for higher-order logic. Cambridge University Press, Cambridge (1993)

    MATH  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  8. Knight, K.: Unification: A multidisciplinary survey. ACM Computing Surveys 21(1), 93–124 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  9. Lloyd, J.W.: Foundations of Logic Programming. Springer, Berlin (1984)

    Book  MATH  Google Scholar 

  10. Paulson, L.C.: Introduction to Isabelle. Technical Report 280, CUCL (1993)

    Google Scholar 

  11. Pelletier, F.J.: A Brief History of Natural Deduction. History and Philosophy of Logic 20, 1–31 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  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, Scotland

    Article  Google Scholar 

  13. Sterling, L., Shapiro, E.: The Art of Prolog, 2nd edn. MIT Press, Cambridge (1994)

    MATH  Google Scholar 

  14. Wechler, W.: Universal Algebra for Computer Scientists. Springer, Heidelberg (1992)

    Book  MATH  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Arkoudas, K., Shivers, O. (2008). Trusted Theorem Proving: A Case Study in SLD-Resolution. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. ISoLA 2008. Communications in Computer and Information Science, vol 17. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88479-8_56

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-88479-8_56

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-88478-1

  • Online ISBN: 978-3-540-88479-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics