Induction principles formalized in the calculus of constructions

  • Gérard Huet
Session AS5
Part of the Lecture Notes in Computer Science book series (LNCS, volume 249)


The Calculus of Constructions is a higher-order formalism for writing constructive proofs in a natural deduction style, inspired from work of de Bruijn [2,3], Girard [12], Martin-Löf[14] and Scott [18]. The calculus and its syntactic theory were presented in Coquand's thesis [7], and an implementation by the author was used to mechanically verify a substantial number of proofs demonstrating the power of expression of the formalism [9]. The Calculus of Constructions is proposed as a foundation for the design of programming environments where programs are developed consistently with formal specifications. The current paper shows how to define inductive concepts in the calculus.

A very general induction schema is obtained by postulating all elements of the type of interest to belong to the standard interpretation associated with a predicate map. This is similar to the treatment of D. Park [16], but the power of expression of the formalism permits a very direct treatment, in a language that is formalized enough to be actually implemented on computer. Special instances of the induction schema specialize to Nœtherian induction and Structural induction over any algebraic type. Computational Induction is treated in an axiomatization of Domain Theory in Constructions. It is argued that the resulting principle is more powerful than LCF's [13], since the restriction on admissibility is expressible in the object language.


  1. [1]
    R. Boyer, J Moore. “A Computational Logic.” Academic Press (1979).Google Scholar
  2. [2]
    N.G. de Bruijn. “Automath a language for mathematics.” Les Presses de l'Université de Montréal, (1973).Google Scholar
  3. [3]
    N.G. de Bruijn. “A survey of the project Automath.” (1980) in to H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, Eds Seldin J. P. and Hindley J. R., Academic Press (1980).Google Scholar
  4. [4]
    R. Burstall. “Proving Properties of Programs by Structural Induction.” Comp. J. 12 (1969), 41–48.Google Scholar
  5. [5]
    P. M. Cohn. “Universal Algebra.” Reidel, 1965.Google Scholar
  6. [6]
    R.L. Constable, N.P. Mendler. “Recursive Definitions in Type Theory.” Private Communication (1985).Google Scholar
  7. [7]
    Th. Coquand. “Une théorie des constructions.” Thèse de troisième cycle, Université Paris VII, Janvier 85.Google Scholar
  8. [8]
    Th. Coquand. “An analysis of Girard's paradox.” First IEEE Symposium on Logic in Computer Science, Boston (June 1986), 227–236.Google Scholar
  9. [9]
    Th. Coquand and G. Huet. “Constructions: A Higher Order Proof System for Mechanizing Mathematics.” EUROCAL85, Linz, Springer-Verlag LNCS 203 (1985).Google Scholar
  10. [10]
    Th. Coquand and G. Huet. “The Calculus of Constructions.” To appear, Information and Control.Google Scholar
  11. [11]
    Th. Coquand and G. Huet. “Concepts Mathématiques et Informatiques Formalisés dans le Calcul des Constructions.” Logic Colloquium, Orsay (July 85). To appear, North-Holland.Google Scholar
  12. [12]
    J.Y. Girard. “Interprétation fonctionnelle et élimination des coupures dans l'arithmétique d'ordre supérieure.” Thèse d'Etat, Université Paris VII (1972).Google Scholar
  13. [13]
    M. Gordon, R. Milner and C. Wadsworth. “Edinburgh LCF.” Springer-Verlag LNCS 78 (1979).Google Scholar
  14. [14]
    P. Martin-Löf. “A theory of types.” Report 71-3, Dept. of Mathematics, University of Stockholm, Feb. 1971, revised (Oct. 1971).Google Scholar
  15. [15]
    N.P. Mendler. “First and Second-Order Lambda Calculi with Recursive Types.” Technical Report TR 86-764, Dept. of Computer Science, Cornell University (July 1986).Google Scholar
  16. [16]
    D. Park. “Fixpoint Induction and Proofs of Program Properties.” Machine Intelligence 5, Eds. B. Meltzer & D. Michie, 59–77, Edinburgh University Press.Google Scholar
  17. [17]
    L. C. Paulson. “Constructing Recursion Operators in Intuitionistic Type Theory.” Tech. Report 57, Computer Laboratory, University of Cambridge (Oct. 1984). To appear, J. of Symbolic Computation.Google Scholar
  18. [18]
    D. Scott. “Constructive validity.” Symposium on Automatic Demonstration, Springer-Verlag Lecture Notes in Mathematics, 125 (1970).Google Scholar
  19. [19]
    D. Scott. “Data Types as Lattices.” SIAM Journal of Computing 5 (1976) 522–587.CrossRefGoogle Scholar
  20. [20]
    A. Tarski. “A Lattice-Theoretical Fixpoint Theorem and its Applications.” Pacific J. Math. 5 (1955), 285–309.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Gérard Huet
    • 1
  1. 1.InriaFrance

Personalised recommendations