Abstract
Alf is an interactive proof editor. It is based on the idea that to prove a mathematical theorem is to build a proof object for the theorem. The proof object is directly manipulated on the screen, different manipulations correspond to different steps in the proof. The language we use is Martin-Löf's monomorphic type theory. This is a small functional programming language with dependent types. The language is open in the sense that it is easy to introduce new inductively defined sets. A proof is represented as a mathematical object and a proposition is identified with the set of its proof objects. The basic part of the proof editor can be seen as a proof engine with two basic commands, one which builds an object by replacing a placeholder in an object by a new object, and another one which deletes a part of an object by replacing a sub-object by a placeholder. We show that the validity of the incomplete object is preserved by admissible insertions and deletions.
This research has been done within the ESPRIT Basic Research Action “Types for Proofs and Programs”. It has been paid by NUTEK, Chalmers and the University of Göteborg.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Gustavo Betarte. A case study in machine-assisted proofs: The integers form an integral domain. Licentiate Thesis, Chalmers University of Technology and University of Göteborg, Sweden, November 1993.
R. L. Constable et al. Implementing Mathematics with the NuPRL Proof Development System. Prentice-Hall, Englewood Cliffs, NJ, 1986.
Thierry Coquand, An algorithm for testing conversion in type theory. In Logical Frameworks. Cambridge University Press, 1991.
Thierry Coquand. Pattern matching with dependent types. In Proceeding from the logical framework workshop at Båstad, June 1992.
Thierry Coquand and Gérard Huet. The Calculus of Constructions. Technical Report 530, INRIA, Centre de Rocquencourt, 1986.
N.G. de Bruijn. Generalizing automath by means of a lambda-typed lambda calculus. In Mathematical Logic and Theoretical Computer Science, Lecture Notes in pure and applied mathematics, pages 71–92. 1987.
G. Dowek, A. Felty, H. Herbelin, H. Huet, G. P. Murthy, C. Parent, C. Paulin-Mohring, and B. Werner. The coq proof assistant user's guide version 5.6. Technical report, Rapport Technique 134, INRIA, December 1991.
Conal M. Elliot. Higher-order unification with dependent function types. In N. Derikowitz, editor, Proceedings of the 3rd International Conference on Rewriting Techniques and Applications, pages 121–136, April 1989.
Veronica Gaspes. Formal Proofs of Combinatorial Completeness. In To appear in the informal proceedings from the logical framework workshop at Båstad, June 1992.
Gerhard Gentzen. Investigations into Logical Deduction. In E. Szabo, editor, The Collected Papers of Gerhard Gentzen. North-Holland Publishing Company, 1969.
M. Gordon, R. Milner, and C. Wadsworth. Edinburgh LCF, volume 78 of Lecture Notes in Computer Science. Springer-Verlag, 1979.
Martin Hofmann. A model of intensional martin-löf type theory in which unicity of identity proofs does not hold. Technical report, Dept. of Computer Science, University of Edinburgh, June 1993. Draft.
Gérard Huet. A unification algorithm for typed λ-calculus. Theoretical Computer Science, 1(1):27–57, 1975.
G. Kahn. L. Thery, Y. Bertot. Real Theorem Provers Deserve Real User-Interfaces. Technical report, INRIA, Rocquencourt, 1992.
Z. Luo and R. Pollack. LEGO Proof Development System: User's Manual. Technical report, LFCS Technical Report ECS-LFCS-92-211, 1992.
Lena Magnusson. Refinement and local undo in the interactive proof editor ALF. In The Informal Proceeding of the 1993 Workshop on Types for Proofs and Programs, May 1993.
Bengt Nordström, Kent Petersson, and Jan M. Smith. Programming in Martin-Löf's Type Theory. An Introduction. Oxford University Press, 1990.
Lawrence C. Paulson and Tobias Nipkow. Isabelle tutorial and user's manual. Technical report 189, Universtiy of Cambridge Computer Laboratory, Cambridge, January 1990.
Kent Petersson. A Programming System for Type Theory. PMG report 9, Chalmers University of Technology, S-412 96 Göteborg, 1982, 1984.
David Pym. A unification algorithm for the logical framework: Technical Report ECS-LFCS-92-229, University of Edinburgh, August 1992.
Anne Salvesen. Polymorphism and Monomorphism in Martin-Löfs Type Theory. Technical report, Norwegian Computing Center, P.b. 114, Blindem, 0316 Oslo 3, Norway, December 1988.
Nora Szasz. A Machine Checked Proof that Ackermann's Function is not Primitive Recursive. Licentiate Thesis, Chalmers University of Technology and University of Göteborg, Sweden, June 1991. To appear in G. Huet and G. Plotkin, editors, Logical Frameworks, Cambridge University Press.
Alvaro Tasistro. Formulation of Martin-Löf's Theory of Types with Explicit Substitution. Licentiate Thesis, Chalmers University of Technology and University of Göteborg, Sweden, May 1993.
Björn von Sydow. A machine-assisted proof of the fundamental theorem of arithmetic. Pmg memo, Chalmers University of Technology, 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Magnusson, L., Nordström, B. (1994). The Alf proof editor and its proof engine. In: Barendregt, H., Nipkow, T. (eds) Types for Proofs and Programs. TYPES 1993. Lecture Notes in Computer Science, vol 806. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58085-9_78
Download citation
DOI: https://doi.org/10.1007/3-540-58085-9_78
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58085-0
Online ISBN: 978-3-540-48440-0
eBook Packages: Springer Book Archive