Abstract
A general formulation of inductive and recursive definitions in Martin-Löf's type theory is presented. It extends Backhouse's ‘Do-It-Yourself Type Theory’ to include inductive definitions of families of sets and definitions of functions by recursion on the way elements of such sets are generated. The formulation is in natural deduction and is intended to be a natural generalisation to type theory of Martin-Löf's theory of iterated inductive definitions in predicate logic.
Formal criteria are given for correct formation and introduction rules of a new set former capturing definition by strictly positive, iterated, generalised induction. Moreover, there is an inversion principle for deriving elimination and equality rules from the formation and introduction rules. Finally, there is an alternative schematic presentation of definition by recursion.
The resulting theory is a flexible and powerful language for programming and constructive mathematics. We hint at the wealth of possible applications by showing several basic examples: predicate logic, generalised induction, and a formalisation of the untyped lambda calculus.
Similar content being viewed by others
References
Abadi, M., Cardelli, L., Curien, P-L. and Lévy, J-J.: Explicit substitutions. InACM Conference on Principles of Programming Languages, San Francisco, 1990.
Backhouse, R.: On the meaning and construction of the rules in Martin-Löf's theory of types. InProceedings of the Workshop on General Logic, Edinburgh, February 1987. Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, 1988. ECS-LFCS-88-52.
Backhouse, R., Chisholm, P., Malcolm, G. and Saaman, E.: Do-it-yourself type theory.Formal Aspects of Computing, 1(1):19–84, 1989.
Boyer, R. and Moore, J.:A Computational Logic. Academic Press, 1979.
Coquand, T. and Huet, G.: The calculus of constructions.Information and Computation, 76:95–120, 1988.
Coquand, T.: Pattern matching with dependent types. InProceedings of The 1992 Workshop on Types for Proofs and Programs, June 1992.
Coquand, T. and Paulin, C.: Inductively defined types, preliminary version. InLNCS 417, COLOG '88, International Conference on Computer Logic. Springer-Verlag, 1990.
Curien, P-L.: An abstract framework for environment machines.Theoretical Computer Science, 1992.
de Bruijn, N. G.: Telescopic mappings in typed lambda calculus.Information and Computation, (91):189–204, 1991.
Dowek, G., Felty, A., Herbelin, H., Huet, G., Paulin, C. and Werner, B.: The Coq proof assistant version 5.6, user's guide. Technical report, INRIA Rocquencourt — CNRS ENS Lyon, 1991.
Dybjer, P.: Inductively defined sets in Martin-Löf's type theory. InProceedings of the Workshop on General Logic, Edinburgh, February 1981. Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, 1988. ECS-LFCS-88-52.
Dybjer, P.: Comparing integrated and external logics of functional programs.Science of Computer Programming, 14:59–79, 1990.
Dybjer, P.: Inductive sets and families in Martin-Löf's type theory and their set-theoretic semantics. InLogical Frameworks, pages 280–306. Cambridge University Press, 1991.
Dybjer, P.: Universes and a general notion of simultaneous inductive-recursive definition in type theory. InProceedings of the 1992 Workshop on Types for Proofs and Programs, 1992.
Goguen, J. A., Thatcher, J. W., Wagner, E. G. and Wright, J. B.:An Initial Algebra Approach to the Specification, Correctness, and Implementation of Abstract Data Types. Prentice Hall, 1978.
Hedberg, M.: Normalising the associative law: An experiment with Martin-Löf's type theory.Formal Aspects of Computing, 3(3):218–252, 1991.
Harper, R., Honsell, F. and Plotkin, G.: A framework for defining logics. InThe Second Annual Symposium on Logic in Computer Science, pages 193–204, 1987.
Hagiya, M. and Sakurai, T.: Foundation of logic programming based on inductive definition.New Generation Computing, 2:59–77, 1984.
Huet, G.: Residual theory inλ-calculus: a complete Gallina development. 1993.
Luo, Z., Pollack, R. and Taylor, P.: How to use LEGO (a preliminary user's manual). Technical report, University of Edinburgh, 1989.
Mendler, P. F.:Inductive Definition in Type Theory. PhD thesis, Cornell University, September 1987.
Martin-Löf, P.: Hauptsatz for the intuitionistic theory of iterated inductive definitions. In J. E. Fenstad, editor,Proceedings of the Second Scandinavian Logic Symposium, pages 179–216. North-Holland, 1971.
Martin-Löf, P.: An intuitionistic theory of types. Unpublished report, 1972.
Martin-Löf, P.: An intuitionistic theory of types: Predicative part. InLogic Colloquium '73, pages 73–118. North-Holland, 1975.
Martin-Löf, P.: Constructive mathematics and computer programming. InLogic, Methodology and Philosophy of Science, VI, 1979, pages 153–175. North-Holland, 1982.
Martin-Löf, P.:Intuitionistic Type Theory. Bibliopolis, 1984.
Martin-Löf, P.: Amendment to intuitionistic type theory. Notes from a lecture given in Göteborg, March 1986.
Nordström, B.: Terminating general recursion.BIT, 28:605–619, 1988.
Nordström, B., Petersson, K. and Smith, J.:Programming in Martin-Löf's Type Theory: an Introduction. Oxford University Press, 1990.
Paulson, L. C.: The foundation of a generic theorem prover.Journal of Automated Reasoning, 5:363–397, 1989.
Paulin-Mohring, C.: Inductive definitions in the system Coq — rules and properties. InProceedings Typed λ-Calculus and Applications, pages 328–245. Springer-Verlag, LNCS, March 1993.
Petersson, K. and Synek, D.: A set constructor for inductive sets in Martin-Löf's type theory. InCategory Theory and Computer Science, pages 128–140. Springer-Verlag, LNCS 389, 1989.
Schroeder-Heister, P.: A natural extension of natural deduction.Journal of Symbolic Logic, 49(4), December 1984.
Schroeder-Heister, P.: Judgements of higher levels and standardised rules for logical constants in Martin-Löf's theory of logic. Unpublished paper, June 1985.
Smith, J.: Prepositional functions and families of types.Notre Dame Journal of Formal Logic, 30(3):442–458, 1989.
Szasz, N.: A Machine Checked Proof that Ackermann's Function is not Primitive Recursive. In G. Huet and G. Plotkin, editors,Proceedings of the Second Workshop on Logical Frameworks. Cambridge University Press, 1992.
Author information
Authors and Affiliations
Additional information
A shorter preliminary version of this paper appeared under the title ‘An inversion principle for Martin-Löf's type theory’ in the Proceedings of the Workshop on Programming Logic in Båstad, May 1989, Programming Methodology Group Report 54, Chalmers University of Technology and the University of Göteborg, pages 177–190.
Rights and permissions
About this article
Cite this article
Dybjer, P. Inductive families. Formal Aspects of Computing 6, 440–465 (1994). https://doi.org/10.1007/BF01211308
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF01211308