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 Schurmann 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 alge- bras. We illustrate the system by considering typed programs to reduce to normal form terms of the untyped lambda calculus, encoded as ele- ments 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 goedelization the pure lambda calculus.

General Recursion on Second Order Term Algebras

BERARDUCCI, ALESSANDRO;
2001-01-01

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 Schurmann 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 alge- bras. We illustrate the system by considering typed programs to reduce to normal form terms of the untyped lambda calculus, encoded as ele- ments 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 goedelization the pure lambda calculus.
2001
Berarducci, Alessandro; Böhm, Corrado
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11568/172860
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 1
  • ???jsp.display-item.citation.isi??? ND
social impact