Abstract
Extensions of the simply typed lambda calculus have been used as a metalanguage to represent “higher order term algebras”, such as, for instance, formulas of the predicate calculus. In this representation bound variables of the object language are represented by bound variables of the metalanguage. This choice has various advantages but makes the notion of “recursive definition” on higher order term algebras more subtle than the corresponding notion on first order term algebras. Despeyroux, Pfenning and Schürmann pointed out the problems that arise in the proof of a canonical form theorem when one combines higher order representations with primitive recursion.
In this paper we consider a stronger scheme of recursion and we prove that it captures all partial recursive functions on second order term algebras. We illustrate the system by considering typed programs to reduce to normal form terms of the untyped lambda calculus, encoded as elements of a second order term algebra. First order encodings based on de Bruijn indexes are also considered. The examples also show that a version of the intersection type disciplines can be helpful in some cases to prove the existence of a canonical form. Finally we consider interpretations of our typed systems in the pure lambda calculus and a new gödelization of the pure lambda calculus.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. Abadi, L. Cardelli, P.-L. Curien, J.-J. Lévy. Explicit Substitutions. Journal of Functional Programming, 1(4): 375–416, 1991
A. Asperti and C. Laneve. Interaction Systems I, The Theory of Optimal Reductions. Mathematical Structures in Computer Science, 45(4): 457–504, 1995
H. Barendregt. Self-interpretation in lambda calculus. Journal of Functional Programming, 1(2): 229–233, 1991
H. Barendregt, M. Coppo, and M. Dezani-Ciancaglini. A filter lambda model and the completeness of type assignment. J. Symbolic Logic, 48: 931–940, 1983
S. Bellantoni and S. Cook. New recursion-theoretic characterization of the poly-time functions. Computational Complexity, 2: 97–110, 1992
A. Berarducci and C. Böhm. A self-interpreter of lambda calculus having a normal form. 6th Workshop, CSL’ 92, San Miniato, Italy, E. Börger & al. eds. LNCS 702: 85–99, Springer-Verlag, 1992
C. Böhm and A. Berarducci. Automatic synthesis of typed Λ-programs on term algebras. Theoretical Computer Science 39: 135–154, 1985
C. Böhm. Fixed Point Equations Inside the Algebra of Normal Form. Fundamenta Informaticae, 37(4): 329–342, 1999
C. Böhm, A. Piperno and S. Guerrini. Lambda-definition of function(al)s by normal forms. In: ESOP’94, LNCS 788: 135–149, Springer-Verlag, 1994
S. Byun, R. Kennaway, R. Sleep. Lambda-definable term rewriting systems. Second Asian Computing Science Conference, ASIAN’ 96, Singapore, December 2–5, 1996, LNCS 1179:105–115, Springer-Verlag, 1996
R. L. Constable and S. F. Smith. Computational foundations of basic recursive function theory. Theoretical Computer Science, 121: 89–112, 1993
J. Despeyroux, F. Pfenning, C. Schürmann. Primitive Recursion for Higher-Order Abstract Syntax. In: R. Hindley, ed., Proc. TLCA’97 Conf., LNCS 1210: 147–163, Springer-Verlag, 1997
M. Gabbay, A. Pitts. A New Approach to Abstract Syntax Involving Binders. In: Proc. 14th Symp. Logic in Comp. Sci. (LICS) Trento, Italy: 214–224, IEEE, Washington, 1999.
R. Harper, F. Honsell, G. Plotkin. A framework for defining logics. Journal of the ACM, 40(1): 143–184, 1993
Y. Lafont. Interaction Combinators. Information and Computation 137(1): 69–101, 1997
D. Leivant, J.-Y. Marion. Lambda calculus characterizations of polytime. Fundamenta Informaticae, 19: 167–184, 1993
T. Æ. Mogensen. Efficient Self-Interpretation in Lambda Calculus. Journal of Functional Programming, 2(3): 354–364, 1992
M. Ayala-Rincón, F. Kamareddine. Unification via λs e-Style of Explicit Substitution. In: International Conference on Principles and Practice of Declarative Programming, PPDP’00, ACM Publications:163–174, 2000
S. Ronchi della Rocca and B. Venneri. Principal type schemes for an extended type theory. Theoretical Computer Science, 28:151–169, 1984
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Additional information
Dedicated to Nicolaas G. de Bruijn
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Berarducci, A., Böhm, C. (2001). General Recursion on Second Order Term Algebras. In: Middeldorp, A. (eds) Rewriting Techniques and Applications. RTA 2001. Lecture Notes in Computer Science, vol 2051. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45127-7_4
Download citation
DOI: https://doi.org/10.1007/3-540-45127-7_4
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42117-7
Online ISBN: 978-3-540-45127-3
eBook Packages: Springer Book Archive