Abstract
We present here a proof assistant dedicated to the proof of ML programs. This document is oriented from a user’s point of view. We introduce the system progressively, describing its features as they become useful, and justifying our choices all along.
Our system intends to provide a usual predicate calculus to express and prove properties of functional ML terms including higher order functions with polymorphic types. To achieve this goal, functional expressions are embedded in the logic as first class terms, with their usual syntax and evaluation rules.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Baro, S.: Conception et implémentation d’un système d’aide à la spécification et à la preuve de programmes ML. PhD Université Denis Diderot (2003)
Baro, S., Manoury, P.: Un système X. Raisonner formellement sur les programmes ML. Journées Francophones des Langages Applicatifs, INRIA (2003)
Boyer, R., Strother Moore, J.: A Computational Logic. Academic Press, London (1979)
Clément, D., Despeyroux, J., Despeyroux, T., Kahn, G.: A Simple Applicative Language: Mini-ML. In: Proceedings of ACM Symposium on LISP and Functional Programming (1986)
Catarina Coquand. Agda, 2000. http://www.cs.chalmers.se/~catarina/agda/
Filliâtre, J.-C.: Why: a multi-language multi-prover verification tool. Submitted to FME 2003 (March 2003)
Gordon, M.J., Milner, R., Wadsworth, C.P.: Edinburgh LCF. LNCS, vol. 78. Springer, Heidelberg (1979)
Hallgren, T.: Alfa (2001), http://www.cs.chalmers.se/~hallgren/Alfa/
Kaufmann, M., Moore, J.S.: A Precise Description of the ACL2 Logic. Technical report, Computational Logic, Inc. (1997)
Krivine, J.-L.: Lambda-Calculus, Types and Models. Ellis and Horwood (1993)
Legrandgérard, Y.: Proof Engine Protocol, version 2 specification (manuscript)
Leivant, D.: Reasoning about functional programs and complexity classes associated with type discipline. Foundations of Computer Science (1983)
Martin-Löf, P.: Intuitionistic Type Theory. Studies in Proof Theory. Bibliopolis (1984)
Owre, S., Shankar, N., Rushby, J.M., Stringer-Calvert, D.W.J.: PVS System Guide. SRI International, v2.4 edition (2001), http://pvs.csl.sri.com
Parent, C.: Developing certified programs in the system Coq - the Program tactic. In: Barendregt, H., Nipkow, T. (eds.) TYPES 1993. LNCS, vol. 806, Springer, Heidelberg (1994)
Parigot, M.: Recursive programming with proofs. Theoretical Computer Science, 335–356 (1992)
Parigot, M.: Church-Rosser property in classical free deduction. In: Huet, G., Plotkin, G. (eds.) Logical Environments (1993)
LogiCal Project The Coq Development Team. The Coq Proof Assistant Reference Manual. INRIA, 1999-2001. v7.2, http://coq.inria.fr
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Baro, S. (2004). Introduction to PAF!, a Proof Assistant for ML Programs Verification. In: Berardi, S., Coppo, M., Damiani, F. (eds) Types for Proofs and Programs. TYPES 2003. Lecture Notes in Computer Science, vol 3085. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24849-1_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-24849-1_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22164-7
Online ISBN: 978-3-540-24849-1
eBook Packages: Springer Book Archive