Trusted Theorem Proving: A Case Study in SLD-Resolution
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.
KeywordsLogic Program Inference Rule Natural Deduction Horn Clause Sequent Calculus
Unable to display preview. Download preview PDF.
- 1.Arkoudas, K.: Athena, http://www.pac.csail.mit.edu/athena
- 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
- 10.Paulson, L.C.: Introduction to Isabelle. Technical Report 280, CUCL (1993)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, ScotlandCrossRefGoogle 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