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.
This work was supported in part by NSF grant MCS81-04018
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Allen, Stuart. The logical foundations of type theory. (To appear as Cornell Ph.D. thesis.)
Aczel, P. An introduction to inductive definitions. Handbook of Mathematical Logic, Barwise, J. (ed.), North Holland, NY (1977) 739–782.
Bates, J.L. and Constable, R.L. Proofs as programs. TOPLAS, January 1985.
Bishop, E., Foundations of Constructive Analysis. McGraw Hill, New York, NY, 1967. 370 pp.
Boyer, R.S. and Moore, J.S. A Computational Logic. Academic Press, New York, NY, 1979. 397 pp.
Brouwer, L.E.J. Collected Works, Vol. 1, A. Heyting, (Ed.), North-Holland, 1975.
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.
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.
Church, A. A formulation of the simple theory of types. J. Symbolic Logic, 5, (1940), 56–68.
Constable, Robert L. Constructive mathematics and automatic program writers. In Proc. of IFIP Congress, Ljubljana, 1971, 229–233.
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).
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.
Constable, R.L., and Bates, J.L. The nearly ultimate PRL. Tech. Rep., Dept. of Computer Science, Cornell University, TR 83-551, 1984.
Constable, Robert L. and O'Donnell, M.J. A Programming Logic. Winthrop, Cambridge, 1978.
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.
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.
Curry, H.B., Hindley, J.R. and Seldin, J.P. Combinatory Logic, Volume II. North-Holland Publ. Co., Amsterdam, 1972.
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.
Demers, A.J. and Donahue, J. Revised report on Russell. Tech. Rep., Department of Computer Science, Cornell University, TR 79-389, September 1979.
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.
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.
Gordon, M., Milner, R., and Wadsworth, C. Edinburgh LCF: A Mechanized Logic of Computation, Lecture Notes in Computer Science 78, Springer-Verlag, 1979.
Harper, R. Aspects of the implementations of type theory. Ph.D. thesis, Computer Science Department, Cornell University, NY, June 1985.
Hoare, C.A.R. Recursive data structures. International Journal of Computer and Information Sciences, 4:2, (June 1975), 105–132.
Kleene, S.C. Introduction to Metamathematics. D. Van Nostrand, Princeton, NJ, 1952.
Kleene, S.C. Formalized recursive functionals and formalized realizability. Memoirs of the American Math. Society, No. 89, 1969.
Kreisel, G. Generalized inductive definitions, section III. Standard report on the foundations of analysis (mimeographed), 1963.
Knuth, D.E. The Art of Computer Programming, Vol. I. Addison-Wesley, Reading, 1968.
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.
MacQueen, D.B., and Sethi, R. A semantic model of types for applicative languages. ACM Symp. on LISP and Functional Programming, 1982, 243–252.
Martin-Löf, Per. Constructive mathematics and computer programming. In 6th International Congress for Logic, Methodology and Philosophy of Science, North-Holland, Amsterdam, 1982.
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.
McCarty, David C. Realizability and recursive mathematics. Computer Science Dept. Tech. Rpt. CMU-CS-84-131, Carnegie-Mellon University (1984).
McGettrick, A.D. Algol 68, A First and Second Course. Cambridge University Press, Cambridge, 1978.
Meyer, Albert R. What is a model of the lambda calculus? Information and Control, 52, (1982), 87–122.
Moschovakis, Yiannis N. Elementary Induction on Abstract Structures. North Holland, London, 1974.
Plotkin, Gordon D. Tw as a universal domain. J. Computer and System Sciences, 17, (1978), 209–236.
Plotkin, Gordon D. Private communication.
PRL Staff, The. Constructing proofs: An introduction to the Nuprl proof development system. Computer Science Department, Cornell University, January 1985.
Quine, Willard Van Orman. Set Theory and Its Logic. Harvard University Press, Cambridge, 1963.
Reynolds, John C. Types, abstraction, and parametric polymorphism. Information Processing 83, IFIP, North Holland Publishers, 1983, 513–523.
Russell, B. Mathematical logic as based on a theory of types. Am. J. of Math., 30, (1908), 222–262.
Scott, Dana. Data types as lattices. SIAM Journal on Computing, 5:3 (September 1976) 522–587.
Scott, Dana. The lambda calculus, some models, some philosophy. The Kleene Symposium [eds., J. Barwise, et al.], North-Holland, 1980, 381–421.
Scott, Dana. Constructive validity. In Symposium on Automatic Demonstration, Lecture Notes in Mathematics 125, Springer-Verlag, 1970, 237–275.
Stenlund, S. Combinators, Lambda-terms, and Proof-Theory. D. Reidel, Dordrecht, 1972, 183.
Stoy, Joseph E. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge, MA, 1977.
Tait, William W. Intensional interpretation of functionals of finite type. J Symbolic Logic, 32:2, (June 1967), 198–212.
van Heijenoort, Jean. From Frege to Gödel: A source book in mathematical logic, 1879–1931, Harvard University Press, Cambridge (1967).
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.)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1985 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Constable, R.L., Mendler, N.P. (1985). Recursive definitions in type theory. In: Parikh, R. (eds) Logics of Programs. Logic of Programs 1985. Lecture Notes in Computer Science, vol 193. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-15648-8_5
Download citation
DOI: https://doi.org/10.1007/3-540-15648-8_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-15648-2
Online ISBN: 978-3-540-39527-0
eBook Packages: Springer Book Archive