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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Arkoudas, K.: Athena, http://www.pac.csail.mit.edu/athena
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
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)
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
Gordon, M.J., Miller, A.J., Wadsworth, C.P.: Edinburgh LCF. LNCS, vol. 78. Springer, Heidelberg (1979)
Gordon, M.J.C., Melham, T.F.: Introduction to HOL, a theorem proving environment for higher-order logic. Cambridge University Press, Cambridge (1993)
Jaume, M.: A full formalization of SLD-resolution in the calculus of inductive constructions. Journal of Automated Reasoning 23(3-4), 347–371 (1999)
Knight, K.: Unification: A multidisciplinary survey. ACM Computing Surveys 21(1), 93–124 (1989)
Lloyd, J.W.: Foundations of Logic Programming. Springer, Berlin (1984)
Paulson, L.C.: Introduction to Isabelle. Technical Report 280, CUCL (1993)
Pelletier, F.J.: A Brief History of Natural Deduction. History and Philosophy of Logic 20, 1–31 (1999)
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
Sterling, L., Shapiro, E.: The Art of Prolog, 2nd edn. MIT Press, Cambridge (1994)
Wechler, W.: Universal Algebra for Computer Scientists. Springer, Heidelberg (1992)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)