Nothing Special   »   [go: up one dir, main page]

Skip to main content

On the representation of data in lambda-calculus

  • Conference paper
  • First Online:
CSL '89 (CSL 1989)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 440))

Included in the following conference series:

Abstract

We analyse the algorithmic properties of programs induced by the choice of the representation of data in lambda-calculus. From a logical point of view there are two canonical ways of defining the data types: the iterative one and the recursive one. Both define the same mathematical object, but we show that they have a completely different algorithmic content. The essential of the difference appears in the operational properties of two programs: the predecessor and the addition on the type of unary natural numbers (for the type of lists this would be the programs cdr and append). The results we prove in this paper state a fundamental duality between the iterative and recursive representation of data in lambda-calculus.

For the iterative representation of natural numbers (Church numerals) there is a "one-step" addition, but we prove in §3 that there is no "one-step" predecessor (by "one-step" we mean "whose computation requires only number of reduction steps bounded by a constant"). For the recursive representation of natural numbers we have the converse situation: there is a "one-step" predecessor but we prove in §4 that there is no "one-step" addition. For simplicity, we state these results for the type of natural numbers, but they hold in fact for all the usual data types defined as multisorted term algebras. Their practical significance for programming, may be, appears clearer on the type of lists where the predecessor is replaced by the cdr and the addition by append.

In §5, we briefly present a new representation of natural numbers for which we have both, a "one-step" predecessor and a "one-step" addition.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. C. BOHM, A. BERARDUCCI, Automatic synthesis of typed A—programs on term algebras, TCS 39 (1985), pp 135–154.

    Google Scholar 

  2. S. FORTUNE, D. LEIVANT, M. O'DONNELL, Expressiveness of simple and second-order type structures, J.ACM vol 30 (1983), pp 151–185.

    Google Scholar 

  3. J.Y. GIRARD, Interprétation fonctionnelle et élimination des coupures de l'arithmétique d'ordre supérieur, Thèse d'état, Université Paris 7, 1972.

    Google Scholar 

  4. J.L. KRIVINE, Un algorithme non typable dans le systeme F, CRAS 1987.

    Google Scholar 

  5. J.L. KRIVINE, M. PARIGOT Programming with proofs, FCT 87, Berlin 1987, (to appear in EIK 1990).

    Google Scholar 

  6. D. LEIVANT, Reasoning about functional programs and complexity classes associated with type disciplines, FOCS, 1983, pp 460–469.

    Google Scholar 

  7. P. MARTIN-LØF, Intuitionistic type theory, Bibliopolis, 1984.

    Google Scholar 

  8. P. MALACARIA, personal communcation.

    Google Scholar 

  9. M. PARIGOT, Programming with proofs: a second order type theory, ESOP'88, LNCS 300, pp 145–159.

    Google Scholar 

  10. M. PARIGOT, Recursive programming with proofs, preprint 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Egon Börger Hans Kleine Büning Michael M. Richter

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Parigot, M. (1990). On the representation of data in lambda-calculus. In: Börger, E., Büning, H.K., Richter, M.M. (eds) CSL '89. CSL 1989. Lecture Notes in Computer Science, vol 440. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52753-2_47

Download citation

  • DOI: https://doi.org/10.1007/3-540-52753-2_47

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52753-4

  • Online ISBN: 978-3-540-47137-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics