# Induction principles formalized in the calculus of constructions

## Abstract

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.

## References

- [1]R. Boyer, J Moore. “A Computational Logic.” Academic Press (1979).Google Scholar
- [2]N.G. de Bruijn. “Automath a language for mathematics.” Les Presses de l'Université de Montréal, (1973).Google Scholar
- [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]R. Burstall. “Proving Properties of Programs by Structural Induction.” Comp. J.
**12**(1969), 41–48.Google Scholar - [5]P. M. Cohn. “Universal Algebra.” Reidel, 1965.Google Scholar
- [6]R.L. Constable, N.P. Mendler. “Recursive Definitions in Type Theory.” Private Communication (1985).Google Scholar
- [7]Th. Coquand. “Une théorie des constructions.”
*Thèse de troisième cycle*, Université Paris VII, Janvier 85.Google Scholar - [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]Th. Coquand and G. Huet. “Constructions: A Higher Order Proof System for Mechanizing Mathematics.”
*EUROCAL85*, Linz, Springer-Verlag LNCS 203 (1985).Google Scholar - [10]Th. Coquand and G. Huet. “The Calculus of Constructions.” To appear, Information and Control.Google Scholar
- [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]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]M. Gordon, R. Milner and C. Wadsworth. “Edinburgh LCF.” Springer-Verlag LNCS 78 (1979).Google Scholar
- [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]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]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]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]D. Scott. “Constructive validity.” Symposium on Automatic Demonstration, Springer-Verlag Lecture Notes in Mathematics,
**125**(1970).Google Scholar - [19]D. Scott. “Data Types as Lattices.” SIAM Journal of Computing
**5**(1976) 522–587.CrossRefGoogle Scholar - [20]A. Tarski. “A Lattice-Theoretical Fixpoint Theorem and its Applications.”
*Pacific J. Math.***5**(1955), 285–309.Google Scholar