Skip to main content

Abstraction Barrier-Observing Relational Parametricity

  • Conference paper
  • First Online:

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

Abstract

A concept of relational parametricity is developed taking into account the encapsulation mechanism inherent in universal types. This is then applied to data types and refinement, naturally giving rise to a notion of simulation relations that compose for data types with higher-order operations, and whose existence coincides with observational equivalence. The ideas are developed syntactically in lambda calculus with a relational logic. The new notion of relational parametricity is asserted axiomatically, and a corresponding parametric per-semantics is devised.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R.-J. Back and J. Wright. Refinement Calculus, A Systematic Introduction. Graduate Texts in Computer Science. Springer Verlag, 1998.

    Google Scholar 

  2. E.S. Bainbridge, P.J. Freyd, A. Scedrov, and P.J. Scott. Functorial polymorphism. Theoretical Computer Science, 70:35–64, 1990.

    Article  MATH  MathSciNet  Google Scholar 

  3. H.P. Barendregt. Lambda calculi with types. In S. Abramsky, D.M. Gabbay, and T.S.E. Maibaum, eds., Handbook of Logic in Computer Science, volume 2, pages 118–309. Oxford University Press, 1992.

    Google Scholar 

  4. C. Böhm and A. Berarducci. Automatic synthesis of typed λ-programs on term algebras. Theoretical Computer Science, 39:135–154, 1985.

    Article  MATH  MathSciNet  Google Scholar 

  5. O.-J. Dahl. Verifiable Programming, Revised version 1993. Prentice Hall Int. Series in Computer Science; C.A.R. Hoare, Series Editor. Prentice-Hall, UK, 1992.

    Google Scholar 

  6. J.-Y. Girard, P. Taylor, and Y. Lafont. Proofs and Types. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1990.

    Google Scholar 

  7. J. Hannay. Specification refinement with System F. In Computer Science Logic. Proc. of CSL’99, vol. 1683 of Lecture Notes in Comp. Sci., pages 530–545. Springer Verlag, 1999.

    Chapter  Google Scholar 

  8. J. Hannay. Specification refinement with System F, the higher-order case. In Recent Trends in Algebraic Development Techniques. Selected Papers from WADT’99, volume 1827 of Lecture Notes in Comp. Sci., pages 162–181. Springer Verlag, 1999.

    Google Scholar 

  9. J. Hannay. A higher-order simulation relation for System F. In Foundations of Software Science and Computation Structures. Proc. of FOSSACS 2000, vol. 1784 of Lecture Notes in Comp. Sci., pages 130–145. Springer Verlag, 2000.

    Chapter  Google Scholar 

  10. J. Hannay. Abstraction Barriers and Refinement in the Polymorphic Lambda Calculus. PhD thesis, Laboratory for Foundations of Computer Science (LFCS), University of Edinburgh, 2001.

    Google Scholar 

  11. R. Hasegawa. Parametricity of extensionally collapsed term models of polymorphism and their categorical properties. In Theoretical Aspects of Computer Software. Proc. of TACS’91, vol. 526 of Lecture Notes in Comp. Sci., pages 495–512. Springer Verlag, 1991.

    Google Scholar 

  12. C.A.R. Hoare. Proofs of correctness of data representations. Acta Informatica, 1:271–281, 1972.

    Article  MATH  Google Scholar 

  13. F. Honsell, J. Longley, D. Sannella, and A. Tarlecki. Constructive data refinement in typed lambda calculus. In Foundations of Software Science and Computation Structures. Proc. of FOSSACS 2000, vol. 1784 of Lecture Notes in Comp. Sci., pages 161–176. Springer Verlag, 2000.

    Chapter  Google Scholar 

  14. F. Honsell and D. Sannella. Prelogical relations. Information and Computation, 178:23–43, 2002.

    MATH  MathSciNet  Google Scholar 

  15. Y. Kinoshita, P.W. O’Hearn, J. Power, M. Takeyama, and R.D. Tennent. An axiomatic approach to binary logical relations with applications to data refinement. In Theoretical Aspects of Computer Software. Proc. of TACS’97, vol. 1281 of Lecture Notes in Comp. Sci., pages 191–212. Springer Verlag, 1997.

    Chapter  Google Scholar 

  16. Y. Kinoshita and J. Power. Data refinement for call-by-value programming languages. In Computer Science Logic. Proc. of CSL’99, vol. 1683 of Lecture Notes in Comp. Sci., pages 562–576. Springer Verlag, 1999.

    Chapter  Google Scholar 

  17. Q. Ma and J.C. Reynolds. Types, abstraction and parametric polymorphism, part 2. In Mathematical Foundations of Programming Semantics, Proc. of MFPS, vol. 598 of Lecture Notes in Comp. Sci., pages 1–40. Springer Verlag, 1991.

    Google Scholar 

  18. H. Mairson. Outline of a proof theory of parametricity. In Functional Programming and Computer Architecture. Proc. of the 5th acm Conf., vol. 523 of Lecture Notes in Comp. Sci., pages 313–327. Springer Verlag, 1991.

    Google Scholar 

  19. R. Milner. An algebraic definition of simulation between programs. In Joint Conferences on Artificial Intelligence, Proc. of JCAI, pages 481–489. Morgan Kaufman Publishers, 1971.

    Google Scholar 

  20. J.C. Mitchell. On the equivalence of data representations. In V. Lifschitz, ed., Artificial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarthy, pages 305–330. Academic Press, 1991.

    Google Scholar 

  21. J.C. Mitchell. Foundations for Programming Languages. Foundations of Computing. MIT Press, 1996.

    Google Scholar 

  22. J.C. Mitchell and G.D. Plotkin. Abstract types have existential type. ACM Transactions on Programming Languages and Systems, 10(3):470–502, 1988.

    Article  Google Scholar 

  23. C. Morgan. Programming from Specifications, 2nd ed. Prentice Hall International Series in Computer Science; C.A.R. Hoare, Series Editor. Prentice-Hall, UK, 1994.

    Google Scholar 

  24. P.W. O’Hearn and R.D. Tennent. Relational parametricity and local variables. In 20th SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Proceedings, pages 171–184. ACM Press, 1993.

    Google Scholar 

  25. G.D. Plotkin and M. Abadi. A logic for parametric polymorphism. In Typed Lambda Calculi and Applications. Proc. of TLCA’93, vol. 664 of Lecture Notes in Comp. Sci., pages 361–375. Springer Verlag, 1993.

    Chapter  Google Scholar 

  26. G.D. Plotkin, J. Power, D. Sannella, and R.D. Tennent. Lax logical relations. In Automata, Languages and Programming. Proc. of ICALP 2000, vol. 1853 of Lecture Notes in Comp. Sci., pages 85–102. Springer Verlag, 2000.

    Chapter  Google Scholar 

  27. J.C. Reynolds. The Craft of Programming. Prentice-Hall International, 1981.

    Google Scholar 

  28. J.C. Reynolds. Types, abstraction and parametric polymorphism. In Information Processing 83, Proc. of the IFIP 9th World Computer Congress, pages 513–523. Elsevier Science Publishers B.V. (North-Holland), 1983.

    Google Scholar 

  29. E. Robinson. Notes on the second-order lambda calculus. Report 4/92, University of Sussex, School of Cognitive and Computing Sciences, 1992.

    Google Scholar 

  30. D. Sannella and A. Tarlecki. Essential concepts of algebraic specification and program development. Formal Aspects of Computing, 9:229–269, 1997.

    Article  MATH  Google Scholar 

  31. O. Schoett. Behavioural correctness of data representations. Science of Computer Programming, 14:43–57, 1990.

    Article  MATH  MathSciNet  Google Scholar 

  32. C. Strachey. Fundamental concepts in programming languages. Lecture notes from the Int. Summer School in Programming Languages, Copenhagen, 1967.

    Google Scholar 

  33. I. Takeuti. An axiomatic system of parametricity. Fundamenta Informaticae, 20:1–29, 1998.

    MathSciNet  Google Scholar 

  34. R.D. Tennent. Correctness of data representations in Algol-like languages. In A.W. Roscoe, ed., A Classical Mind: Essays in Honour of C.A.R. Hoare. Prentice Hall International, 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hannay, J. (2003). Abstraction Barrier-Observing Relational Parametricity. In: Hofmann, M. (eds) Typed Lambda Calculi and Applications. TLCA 2003. Lecture Notes in Computer Science, vol 2701. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44904-3_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-44904-3_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40332-6

  • Online ISBN: 978-3-540-44904-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics