Data types, infinity and equality in system AF2

  • Christophe Raffalli
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 832)


This work presents an extension of system AF2 to allow the use of infinite data types. We extend the logic with inductive and coinductive types, and show that the “programming method” is still correct. We prove propositions about the normalization of typed terms. Moreover, since we only use the pure λ-calculus to represent data types, we prove uniqueness of the representation of data up to Böhm tree equivalence. We also study the problem of equality on infinite structures and we introduce a new approach, different from the coinduction scheme, and which suits our system better.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    H. P. Barendregt. The Lambda Calculus: Its Syntax and Semantics. North-Holland, revised edition, 1984.Google Scholar
  2. 2.
    C. Böhm. Alcune proprieta delle forme βη-normali nel λκ-calculus. Pubblicazioni 696, Instituto per le Applicazioni del Calcolo, Roma, 1968.Google Scholar
  3. 3.
    T. Coquand and G. Huet. The calculus of construction. In Information and Computation, pages 241–262, 1988.Google Scholar
  4. 4.
    N. de Bruijn. The mathematical language automath, its usage and some of its extensions. In Symp. on automatic demonstration, pages 29–61. Springer Verlag, 1970. Lecture Notes in Mathematics Vol. 125.Google Scholar
  5. 5.
    J.-Y. Girard. The system F of variable types: fifteen years later. Theoretical Computer Science, 45:159–192, 1986.CrossRefMATHMathSciNetGoogle Scholar
  6. 6.
    W. Howard. The formulae-as-types notion of construction. To H.B. Curry: Essays on combinatory logic, λ-calculus and formalism, pages 479–490, 1980.Google Scholar
  7. 7.
    Jean-Louis Krivine. Lambda-Calcul: Types et Modèles, Etudes et Recherches en Informatique. Masson, 1990.Google Scholar
  8. 8.
    Jean-Louis Krivine and Michel Parigot. Programming with proofs. Inf. Process. Cybern., EIK 26(3):149–167, 1990.MathSciNetGoogle Scholar
  9. 9.
    Daniel Leivant. Typing and computational properties of lambda expressions. Theoretical Computer Science, 44:51–68, 1986.CrossRefMATHMathSciNetGoogle Scholar
  10. 10.
    Daniel Leivant. Contracting proofs to programs. Logic and Computer Science, pages 279–327, 1990.Google Scholar
  11. 11.
    P. Martin-Löf. Lecture notes on the domain interpretation of type theory. In Programming Methodology Group, editor, Workshop on the Semantics of Programming Languages, Göteborg, Sweden, 1983. Chalmers University of Technology.Google Scholar
  12. 12.
    Paul Francis Meadler. Inductive definition in type theory. PhD thesis, Cornell University, 1988.Google Scholar
  13. 13.
    Michel Parigot. On the representation of data in lambda-calculus. Lecture Notes in Computer Science, 440:309–321, 1989.MathSciNetGoogle Scholar
  14. 14.
    Michel Parigot. Recursive programming with proofs. Theoritical Computer Science, 94:335–356, 1992.MATHMathSciNetGoogle Scholar
  15. 15.
    Michel Parigot and Paul Rozière. Constant time reduction in λ-calculus. Lecture Note in Computer Science, 711:608–617, 1993.Google Scholar
  16. 16.
    C. Paulin-Mohring. Inductive definitions in the calculus of constructions. Technical report, INRIA, 1989. Technical Report Number 110.Google Scholar
  17. 17.
    Christophe Raffalli. L'arithmétique fonctionnelle du second ordre avec points fixes. PhD thesis, Université Paris 7, Février 1994.Google Scholar
  18. 18.
    M. Tatsuta. Realizability interpretation of coinductive definitions and program synthesis using streams. In Proceedings of the fifth generation computer systems, pages 666–673. ICOT, 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Christophe Raffalli
    • 1
    • 2
  1. 1.Logic team of Paris VIICNRSFrance
  2. 2.Laboratory for Foundations of Computer Science Department of Computer ScienceUniversity of EdinburghUK

Personalised recommendations