Advertisement

Formal Aspects of Computing

, Volume 6, Issue 4, pp 440–465 | Cite as

Inductive families

  • Peter Dybjer
Article

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.

Keywords

Intuitionistic type theory Inductive definitions Natural deduction 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [ACC90]
    Abadi, M., Cardelli, L., Curien, P-L. and Lévy, J-J.: Explicit substitutions. InACM Conference on Principles of Programming Languages, San Francisco, 1990.Google Scholar
  2. [Bac88]
    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.Google Scholar
  3. [BCM89]
    Backhouse, R., Chisholm, P., Malcolm, G. and Saaman, E.: Do-it-yourself type theory.Formal Aspects of Computing, 1(1):19–84, 1989.Google Scholar
  4. [BoM79]
    Boyer, R. and Moore, J.:A Computational Logic. Academic Press, 1979.Google Scholar
  5. [CoH88]
    Coquand, T. and Huet, G.: The calculus of constructions.Information and Computation, 76:95–120, 1988.Google Scholar
  6. [Coq92]
    Coquand, T.: Pattern matching with dependent types. InProceedings of The 1992 Workshop on Types for Proofs and Programs, June 1992.Google Scholar
  7. [CoP90]
    Coquand, T. and Paulin, C.: Inductively defined types, preliminary version. InLNCS 417, COLOG '88, International Conference on Computer Logic. Springer-Verlag, 1990.Google Scholar
  8. [Cur92]
    Curien, P-L.: An abstract framework for environment machines.Theoretical Computer Science, 1992.Google Scholar
  9. [dBr91]
    de Bruijn, N. G.: Telescopic mappings in typed lambda calculus.Information and Computation, (91):189–204, 1991.Google Scholar
  10. [DFH91]
    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.Google Scholar
  11. [Dyb88]
    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.Google Scholar
  12. [Dyb90]
    Dybjer, P.: Comparing integrated and external logics of functional programs.Science of Computer Programming, 14:59–79, 1990.Google Scholar
  13. [Dyb91]
    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.Google Scholar
  14. [Dyb92]
    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.Google Scholar
  15. [GTW78]
    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.Google Scholar
  16. [Hed91]
    Hedberg, M.: Normalising the associative law: An experiment with Martin-Löf's type theory.Formal Aspects of Computing, 3(3):218–252, 1991.Google Scholar
  17. [HHP87]
    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.Google Scholar
  18. [HaS84]
    Hagiya, M. and Sakurai, T.: Foundation of logic programming based on inductive definition.New Generation Computing, 2:59–77, 1984.Google Scholar
  19. [Hue93]
    Huet, G.: Residual theory inλ-calculus: a complete Gallina development. 1993.Google Scholar
  20. [LPT89]
    Luo, Z., Pollack, R. and Taylor, P.: How to use LEGO (a preliminary user's manual). Technical report, University of Edinburgh, 1989.Google Scholar
  21. [Men87]
    Mendler, P. F.:Inductive Definition in Type Theory. PhD thesis, Cornell University, September 1987.Google Scholar
  22. [MaL71]
    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.Google Scholar
  23. [MaL72]
    Martin-Löf, P.: An intuitionistic theory of types. Unpublished report, 1972.Google Scholar
  24. [MaL75]
    Martin-Löf, P.: An intuitionistic theory of types: Predicative part. InLogic Colloquium '73, pages 73–118. North-Holland, 1975.Google Scholar
  25. [MaL82]
    Martin-Löf, P.: Constructive mathematics and computer programming. InLogic, Methodology and Philosophy of Science, VI, 1979, pages 153–175. North-Holland, 1982.Google Scholar
  26. [MaL84]
    Martin-Löf, P.:Intuitionistic Type Theory. Bibliopolis, 1984.Google Scholar
  27. [MaL86]
    Martin-Löf, P.: Amendment to intuitionistic type theory. Notes from a lecture given in Göteborg, March 1986.Google Scholar
  28. [Nor88]
    Nordström, B.: Terminating general recursion.BIT, 28:605–619, 1988.Google Scholar
  29. [NPS90]
    Nordström, B., Petersson, K. and Smith, J.:Programming in Martin-Löf's Type Theory: an Introduction. Oxford University Press, 1990.Google Scholar
  30. [Pau89]
    Paulson, L. C.: The foundation of a generic theorem prover.Journal of Automated Reasoning, 5:363–397, 1989.Google Scholar
  31. [PaM93]
    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.Google Scholar
  32. [PeS89]
    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.Google Scholar
  33. [ScH84]
    Schroeder-Heister, P.: A natural extension of natural deduction.Journal of Symbolic Logic, 49(4), December 1984.Google Scholar
  34. [ScH85]
    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.Google Scholar
  35. [Smi89]
    Smith, J.: Prepositional functions and families of types.Notre Dame Journal of Formal Logic, 30(3):442–458, 1989.Google Scholar
  36. [Sza92]
    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.Google Scholar

Copyright information

© BCS 1994

Authors and Affiliations

  • Peter Dybjer
    • 1
  1. 1.Department of Computer SciencesChalmers University of TechnologyGöteborgSweden

Personalised recommendations