Abstract
We present a simply-typed λ-calculus with explicit substitutions and we give a fully formalised proof of its soundness and completeness with respect to Kripke models. We further give conversion rules for the calculus and show also for them that they are sound and complete with respect to extensional equality in the Kripke model. A decision algorithm for conversion is given and proven correct. We use the technique “normalisation by evaluation” in order to prove these results. An important aspect of this work is that it is not a formalisation of an existing proof, instead the proof has been done in interaction with the proof system, ALF.
Similar content being viewed by others
References
Abadi, M., Cardelli, L., Curien, P.-L., and Lévy, J.-J. Explicit substitutions. Journal of Functional Programming, 1(4) (1991) 375–416.
Berger, U. Program extraction from normalization proofs. In Proceedings of TLCA'93, LNCS, Vol. 664, Springer Verlag, Berlin, 1993, pp. 91–106.
Berger, U. and Schwichtenberg, H. An inverse of the evaluation functional for typed λ-calculus. In Proceedings of the 6th Annual IEEE Symposium on Logic in Computer Science, Amsterdam, 1991, pp. 203–211.
Coquand, Th. Pattern matching with dependent types. In Proceedings of the 1992 Workshop on Types for Proofs and Programs, B. Nordström, K. Petersson, and G. Plotkin (Eds.). Dept. of Computing Science, Chalmers Univ. of Technology and Göteborg University. Available at http://www.lfcs.informatics.ed.ac.uk/research/ typesbra/proc/index.html, pp. 66–79.
Coquand, Th. and Dybjer, P. Intuitionistic model constructions and normalisation proofs. Math. Structures Comput. Sci., 7(1) (1997) 75–94.
Coquand, Th. and Gallier, J. A proof of strong normalization for the theory of constructions using a Kripke-like interpretation. In Proceedings of the First Workshop in Logical Frameworks, G. Huet and G. Plotkin (Eds.).Available at http://www.lfcs.informatics.ed.ac.uk/research/types-bra/proc/index.html, pp. 479–497.
Coquand, Th., Nordström, B., Smith, J., and von Sydow, B. Type theory and programming. EATCS, 52 (1994) 203–228.
Curien, P.-L. An abstract framework for environment machines. Theoretical Computer Science, 82 (1991) 389–402.
Friedman, H. Equality between functionals. In Logic Colloquium, Symposium on Logic, held at Boston, 1972–1973, LNCS, Vol. 453, Springer-Verlag, Berlin, 1975, pp. 22–37.
Gandy, R.O. On the axiom of extensionality-Part I. The Journal of symbolic logic, 21 (1956) 36–48.
Kripke, S.A. Semantical analysis of intuitionistic logic I. In Formal Systems and Recursive Functions, J.N. Crossley and M.A.E. Dummet (Eds.). North-Holland, Amsterdam, 1965, pp. 92–130.
Magnusson, L. and Nordström, B. The ALF proof editor and its proof engine. In Types for Proofs and Programs, LNCS, Vol. 806, Springer-Verlag, Berlin, 1994, pp. 213–237.
Martin-Löf, P. Substitution calculus. Handwritten notes, Göteborg, 1992.
Mitchell, J.C. Type systems for programming languages. In Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, J. van Leeuwen (Ed.). Elsevier and MIT Press, Amsterdam, 1990, pp. 365–458.
Mitchell, J.C. and Moggi, E. Kripke-style models for typed lambda calculus. Annals for Pure and Applied Logic, 51 (1991) 99–124.
Nordström, B., Petersson, K., and Smith, J. Programming in Martin-Löf's Type Theory. An Introduction. Oxford University Press, Oxford, UK, 1990.
Scott, D.S. Relating theories lambda calculus. In To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism. Academic Press, New York, 1980, pp. 403–450.
Statman, R. Logical relation and the typed λ-calculus. Information and Control, 65 (1985) 85–97.
Streicher, T. Semantics of Type Theory. Birkhäuser, Basel, 1991.
Tasistro, A. Formulation of Martin-Löf's theory of types with explicit substitutions. Licentiate thesis, Department of Computing Science, Chalmers Univ. of Technology and University of Göteborg, 1993.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Coquand, C. A Formalised Proof of the Soundness and Completeness of a Simply Typed Lambda-Calculus with Explicit Substitutions. Higher-Order and Symbolic Computation 15, 57–90 (2002). https://doi.org/10.1023/A:1019964114625
Issue Date:
DOI: https://doi.org/10.1023/A:1019964114625