skip to main content
10.1145/317636.317789acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article
Free Access

Type fixpoints: iteration vs. recursion

Authors Info & Claims
Published:01 September 1999Publication History

ABSTRACT

Positive recursive (fixpoint) types can be added to the polymorphic (Church-style) lambda calculus λ2 (System F) in several different ways, depending on the choice of the elimination operator. We compare several such definitions and we show that they fall into two equivalence classes with respect to mutual interpretability by means of beta-eta reductions. Elimination operators for fixpoint types are thus classified as either "iterators" or "recursors". This classification has an interpretation in terms of the Curry-Howard correspondence: types of iterators and recursors can be seen as images of induction axioms under different dependency-erasing maps. Systems with recursors are beta-eta equivalent to a calculus λ2U of recursive types with the operators Fold: σ[μα.σ/α]←μα.σ and Unfold: μα.σ←σ[μα.σ/α], where the composition Unfold or Fold reduces to identity.It is known that systems with iterators can be defined within λ2, by means of beta reductions. We conjecture that systems with recursors can not. In this paper we show that the system λ2U does not have such a property. For this we study the notion of polymorphic type embeddability (via (beta) left-invertible terms) and we show that if a type σ is embedded into another type τ then τ must be of depth at least equal to the depth of σ.

References

  1. 1.Asperti, A., Danos, V., Laneve, C., Regnier, L., Paths in the lambda-calculus. PTOC 9th IEEE Symposium on Logic in Computer Science, IEEE, 1994, pp. 426-436.Google ScholarGoogle Scholar
  2. 2.Asperti, A., Guerrini, S., The Optimal Implementation of Functional Programming Languages, Cambridge ?&acts in Theoretical Computer Science 45, Cambridge University Press, Cambridge, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.van Bakel, S., Liquori, L., Ronchi Della Rocca, S., Urzyczyn, P., Comparing cubes of typed and type assignment systems, Annals of Pure and Applied Logic 86, 1997, 267-303.Google ScholarGoogle ScholarCross RefCross Ref
  4. 4.Bohm, C., Berarducci, A., Automatic synthesis of typed A-programs on term algebras, Theoretical Computer Science, 39(2/3), 1985, 135-154.Google ScholarGoogle ScholarCross RefCross Ref
  5. 5.Bruce, K., Longo, G., Provable isomorphisms and domain equations in models of typed languages, Proc. 17th Symposium on Theory of Computing, ACM, 1985, 263-272. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.Cardone, F., Coppo, M., Two extensions of Curry's type inference system, in Logic and Computer Science (P. Odifreddi, Ed.), Academic Press, 1990, pp. 19-75.Google ScholarGoogle Scholar
  7. 7.Danos, V., Regnier, L., Proof-nets and the Hilbert space, in Advances in Linear Logic (Girard, Lafont and Regnier, Eds.), London Mathematical Society Lecture Notes, 222, Cambridge University Press, Cambridge, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.Dezani, M., Characterization of normal forms posessing an inverse in the A&calculus, Theoretical Computer Science 2, 1976, 323-337.Google ScholarGoogle ScholarCross RefCross Ref
  9. 9.Di Cosmo, R., Zsomorphisms of types: from lambdacalculus to information retrieval and language design, Birkhauser, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.Geuvers, H., Inductive and coinductive types with iteration and recursion, in: Proceedings of the Workshop on Types for Proofs and Programs, B&.stad, Sweden, 1992, pp. 193-217.Google ScholarGoogle Scholar
  11. 11.Girard, J.-Y., Geometry of Interaction I: Interpretation of System F, Proc. Logic Colloquium'88 (Ferro, Bonotto, Valentini and Zanardo, Eds.), Elsevier Science, 1989, pp. 221-260.Google ScholarGoogle Scholar
  12. 12.Girard, J.-Y., Lafont, Y., Taylor, P., Proofs and Types. Cambridge University Press, Cambridge, 1990. Second edition. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.Harper, R. and Honsell, F. and Plotkin, G., A framework for defining logics, Journal of the ACM, 40(l), 1993, 143-184. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.Krivine, J.-L., Parigot, M., Programming with proofs, J. Znf. Process. Cybern. (EIK), 26 (3), 1990, 149-167. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.Leivant, D., Reasoning about functional programs and complexity classes associated with type disciplines, PTOC. 24th Symposium on Foundations of Computer Science, IEEE, 1983, pp. 460-469.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.Leivant, D., Contracting proofs to programs, in: Logic an Computer Science (P. Odifreddi, ed.), Academic Press, 1990, pp. 279-327.Google ScholarGoogle Scholar
  17. 17.Leivant, D., Functions over free algebras definable in the simply typed lambda calculus, Theoretical Computer Science, 121, 1993, 309-321. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.Margaria, I., Zacchi, M., Right and left invertibility in X-/3-calculus, R.A.I.R.O. Informatique The'orique/Theoretical Informatics, 17 (l), 1983, 71-88.Google ScholarGoogle Scholar
  19. 19.Matthes, R., Extensions of System F by Iteration and Primitive Recursion on Monotone Inductive Types, PhD Thesis, University of Munich, 1998.Google ScholarGoogle Scholar
  20. 20.Mendler, N.P., Recursive types and type constraints in the second-order lambda calculus, Proc. 2nd Symposium on Logic in Computer Science, 1987, pp. 30-36.Google ScholarGoogle Scholar
  21. 21.Mendler, N.P., Inductive types and type constraints in the second-order lambda calculus, Annals of Pure and Applied Logic, 51 (1991), 159-172.Google ScholarGoogle ScholarCross RefCross Ref
  22. 22.Parigot, M., On the representation of data in lambdacalculus, Proc. Computer Science Logic'89, (E. Bijrger, H. Kleine Biining, M.M. Richter, Eds.), LNCS 440, Springer-Verlag, Berlin, pp. 309-311. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23.Parigot, M., Recursive programming with proofs, Theoretical Computer Science, 94, 1992, 335-356. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24.Reynolds, J.C., Polymorphism is not set-theoretic, PTOC. Semantics of data types, LNCS 173, Springer- Verlag, Berlin, 1984, pp. 145-156.Google ScholarGoogle Scholar
  25. 25.Reynolds, J.C., Plotkin, G.D., On functors expressible in the polymorphic typed lambda calculus, Information and Computation, 105(l), 1993, l-29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26.Splawski, Z., Proof-Theoretic Approach to Inductive Definitions in ML-like Programming Language versus Second-Order Lambda Calculus, PhD Thesis, Wroclaw University, 1993.Google ScholarGoogle Scholar
  27. 27.Urzyczyn, P., Positive recursive type assignment, Fundamenta Informaticae, 28(1-21, 1996, 197-209. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 28.Urzyczyn, P., R&cursive types and type embeddings, Research Report TR 99-01 (256), Warsaw University, 1999.Google ScholarGoogle Scholar
  29. 29.Wraith, G.C., A note on categorical data types, Category Theory and Computer Science (D.H. Pitt, D.E. Rydeheard, P. Dybjer, A.M. Pitts, A. PoignB, eds.), LNCS 389, Springer-Verlag, Berlin 1989, pp. 118-127. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Type fixpoints: iteration vs. recursion

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            ICFP '99: Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
            September 1999
            288 pages
            ISBN:1581131119
            DOI:10.1145/317636
            • Chairmen:
            • Didier Rémy,
            • Peter Lee

            Copyright © 1999 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 September 1999

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            ICFP '99 Paper Acceptance Rate25of81submissions,31%Overall Acceptance Rate333of1,064submissions,31%

            Upcoming Conference

            ICFP '24

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader