# Recursive definitions in type theory

Conference paper

First Online:

## Abstract

We offer a new account of recursive definitions for both types and partial functions. The computational requirements of the theory restrict recursive type definitions involving the *total* function-space constructor (→) to those with only positive occurrences of the defined typed. But we show that arbitrary recursive definitions with respect to the *partial* function-space constructor are sensible. The partial function-space constructor allows us to express reflexive types of Scott's domain theory (as needed to model the lambda calculus) and thereby reconcile parts of domain theory with constructive type theory.

## Keywords

Type Theory Partial Function Recursive Call Induction Rule Elimination Rule
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

## Preview

Unable to display preview. Download preview PDF.

## References

- [1]Allen, Stuart. The logical foundations of type theory. (To appear as Cornell Ph.D. thesis.)Google Scholar
- [2]Aczel, P. An introduction to inductive definitions.
*Handbook of Mathematical Logic*, Barwise, J. (ed.), North Holland, NY (1977) 739–782.Google Scholar - [3]Bates, J.L. and Constable, R.L. Proofs as programs.
*TOPLAS*, January 1985.Google Scholar - [4]Bishop, E.,
*Foundations of Constructive Analysis*. McGraw Hill, New York, NY, 1967. 370 pp.Google Scholar - [5]Boyer, R.S. and Moore, J.S.
*A Computational Logic*. Academic Press, New York, NY, 1979. 397 pp.Google Scholar - [6]Brouwer, L.E.J.
*Collected Works*, Vol. 1, A. Heyting, (Ed.), North-Holland, 1975.Google Scholar - [7]Cartwright, R. User-defined data types as an aid to verifying Lisp programs.
*Proc. of the 3rd Int'l. Colloq. on Automata, Languages and Programming*, [Michaelson, S. and Milner, R., eds.], Edinburgh University Press, Edinburgh (1976) 228–256.Google Scholar - [8]Cartwright, R. Toward a logical theory of program data. In
*Logics of Programs*, Lecture Notes in Computer Science 131, Springer-Verlag, New York, NY (1982) 37–51.Google Scholar - [9]Church, A. A formulation of the simple theory of types.
*J. Symbolic Logic, 5*, (1940), 56–68.Google Scholar - [10]Constable, Robert L. Constructive mathematics and automatic program writers. In
*Proc. of IFIP Congress*, Ljubljana, 1971, 229–233.Google Scholar - [11]Constable, Robert L. Constructive mathematics as a programming logic I: some principles of theory. Technical report TR83-554, Dept. of Computer Science, Cornell University, May 1983. (To appear in
*Proc. of FCT Conf.*, Springer-Verlag, 1983).Google Scholar - [12]Constable, Robert L. Partial functions in constructive formal theories. In
*Proc. of 6th G.I. Conference*, Lecture Notes in Computer Science 45, Springer-Verlag, New York, NY, 1983.Google Scholar - [13]Constable, R.L., and Bates, J.L. The nearly ultimate PRL. Tech. Rep., Dept. of Computer Science, Cornell University, TR 83-551, 1984.Google Scholar
- [14]Constable, Robert L. and O'Donnell, M.J.
*A Programming Logic*. Winthrop, Cambridge, 1978.Google Scholar - [15]Constable, Robert L. and Zlatin, D.R. The type theory of PL/CV3.
*ACM Trans. on Prog. Lang. & Syst., 6:*1 (Jan. 1984) 94–117.Google Scholar - [16]Constable, Robert L. Mathematics as programming. In
*Proc. of Workshop on Logics of Programs*,Lecture Notes in Computer Science 164, Springer-Verlag, New York, NY, 1983, 116–128.Google Scholar - [17]Curry, H.B., Hindley, J.R. and Seldin, J.P.
*Combinatory Logic, Volume II*. North-Holland Publ. Co., Amsterdam, 1972.Google Scholar - [18]deBruijn, N.G. A survey of the project AUTOMATH. In
*To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism*, J.P. Seldin and J.R. Hindley (Eds.), Academic Press, New York, NY, 1980, 579–607.Google Scholar - [19]Demers, A.J. and Donahue, J. Revised report on Russell. Tech. Rep., Department of Computer Science, Cornell University, TR 79-389, September 1979.Google Scholar
- [20]Feferman, S. Formal theories for transfinite iterations of generalized inductive definitions and some subsystems of analysis,
*Intuitionism and Proof Theory*, Kino, A., Myhill, J., and Vesley, R.E. (eds.), North Holland, Amsterdam (1970) 303–326.Google Scholar - [21]Girard, J.-Y.
*Interpretation Fonctionelle et Elimination des Coupures de l'arithmeétique d'ordre supérieur.*Ph.D. Thesis, Univ. of Paris VII, 1972.Google Scholar - [22]Gordon, M., Milner, R., and Wadsworth, C.
*Edinburgh LCF: A Mechanized Logic of Computation,*Lecture Notes in Computer Science 78, Springer-Verlag, 1979.Google Scholar - [23]Harper, R. Aspects of the implementations of type theory. Ph.D. thesis, Computer Science Department, Cornell University, NY, June 1985.Google Scholar
- [24]Hoare, C.A.R. Recursive data structures.
*International Journal of Computer and Information Sciences, 4:*2, (June 1975), 105–132.Google Scholar - [25]Kleene, S.C.
*Introduction to Metamathematics*. D. Van Nostrand, Princeton, NJ, 1952.Google Scholar - [26]Kleene, S.C. Formalized recursive functionals and formalized realizability.
*Memoirs of the American Math. Society*, No. 89, 1969.Google Scholar - [27]Kreisel, G. Generalized inductive definitions, section III. Standard report on the foundations of analysis (mimeographed), 1963.Google Scholar
- [28]Knuth, D.E.
*The Art of Computer Programming, Vol. I.*Addison-Wesley, Reading, 1968.Google Scholar - [29]MacQueen, D.B., Plotkin, Gordon D. and Sethi, R. An Ideal Model for Recursive Polymorphic Types.
*11th ACM Symp. on Principles of Programming Languages*, (1984) 165–174.Google Scholar - [30]MacQueen, D.B., and Sethi, R. A semantic model of types for applicative languages.
*ACM Symp. on LISP and Functional Programming*, 1982, 243–252.Google Scholar - [31]Martin-Löf, Per. Constructive mathematics and computer programming. In
*6th International Congress for Logic, Methodology and Philosophy of Science*, North-Holland, Amsterdam, 1982.Google Scholar - [32]Martin-Löf, P. Hauptsatz for the intuitionistic theory of iterated inductive definitions. In
*Proceedings of the Second Scandinavian Logic Symposium*, J.E. Fenstad (Ed.), North-Holland, Amsterdam, 1971, 179–216.Google Scholar - [33]McCarty, David C. Realizability and recursive mathematics. Computer Science Dept. Tech. Rpt. CMU-CS-84-131, Carnegie-Mellon University (1984).Google Scholar
- [34]McGettrick, A.D.
*Algol 68, A First and Second Course*. Cambridge University Press, Cambridge, 1978.Google Scholar - [35]Meyer, Albert R. What is a model of the lambda calculus?
*Information and Control, 52*, (1982), 87–122.Google Scholar - [36]Moschovakis, Yiannis N.
*Elementary Induction on Abstract Structures*. North Holland, London, 1974.Google Scholar - [37]Plotkin, Gordon D. T
^{w}as a universal domain.*J. Computer and System Sciences, 17*, (1978), 209–236.Google Scholar - [38]Plotkin, Gordon D. Private communication.Google Scholar
- [39]PRL Staff, The. Constructing proofs: An introduction to the Nuprl proof development system. Computer Science Department, Cornell University, January 1985.Google Scholar
- [40]Quine, Willard Van Orman.
*Set Theory and Its Logic*. Harvard University Press, Cambridge, 1963.Google Scholar - [41]Reynolds, John C. Types, abstraction, and parametric polymorphism.
*Information Processing 83,*IFIP, North Holland Publishers, 1983, 513–523.Google Scholar - [42]Russell, B. Mathematical logic as based on a theory of types.
*Am. J. of Math., 30*, (1908), 222–262.Google Scholar - [43]Scott, Dana. Data types as lattices.
*SIAM Journal on Computing, 5*:3 (September 1976) 522–587.Google Scholar - [44]Scott, Dana. The lambda calculus, some models, some philosophy.
*The Kleene Symposium*[eds., J. Barwise, et al.], North-Holland, 1980, 381–421.Google Scholar - [45]Scott, Dana. Constructive validity. In
*Symposium on Automatic Demonstration,*Lecture Notes in Mathematics 125, Springer-Verlag, 1970, 237–275.Google Scholar - [46]Stenlund, S.
*Combinators, Lambda-terms, and Proof-Theory*. D. Reidel, Dordrecht, 1972, 183.Google Scholar - [47]Stoy, Joseph E.
*Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory*. MIT Press, Cambridge, MA, 1977.Google Scholar - [48]Tait, William W. Intensional interpretation of functionals of finite type.
*J Symbolic Logic, 32*:2, (June 1967), 198–212.Google Scholar - [49]van Heijenoort, Jean.
*From Frege to Gödel: A source book in mathematical logic, 1879–1931*, Harvard University Press, Cambridge (1967).Google Scholar - [50]van Wijngaarden, A.B.J.
*et al. Revised report on the algorithmic language ALGO 68. Acta Informatica, 5*, (1975), 1–236. (Also a Supplement to*ALGO BULLETIN*, University of Alberta, 1974.)Google Scholar

## Copyright information

© Springer-Verlag Berlin Heidelberg 1985