Advertisement

Abstraction Barrier-Observing Relational Parametricity

  • Jo Hannay
Conference paper
Part of the Lecture Notes in Computer Science book series (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.

Keywords

Relational Parametricity Data Representation Axiom Schema Simulation Relation Lambda Calculus 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    R.-J. Back and J. Wright. Refinement Calculus, A Systematic Introduction. Graduate Texts in Computer Science. Springer Verlag, 1998.Google Scholar
  2. 2.
    E.S. Bainbridge, P.J. Freyd, A. Scedrov, and P.J. Scott. Functorial polymorphism. Theoretical Computer Science, 70:35–64, 1990.zbMATHCrossRefMathSciNetGoogle Scholar
  3. 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. 4.
    C. Böhm and A. Berarducci. Automatic synthesis of typed λ-programs on term algebras. Theoretical Computer Science, 39:135–154, 1985.zbMATHCrossRefMathSciNetGoogle Scholar
  5. 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. 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. 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.CrossRefGoogle Scholar
  8. 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. 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.CrossRefGoogle Scholar
  10. 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. 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. 12.
    C.A.R. Hoare. Proofs of correctness of data representations. Acta Informatica, 1:271–281, 1972.zbMATHCrossRefGoogle Scholar
  13. 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.CrossRefGoogle Scholar
  14. 14.
    F. Honsell and D. Sannella. Prelogical relations. Information and Computation, 178:23–43, 2002.zbMATHMathSciNetGoogle Scholar
  15. 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.CrossRefGoogle Scholar
  16. 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.CrossRefGoogle Scholar
  17. 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. 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. 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. 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. 21.
    J.C. Mitchell. Foundations for Programming Languages. Foundations of Computing. MIT Press, 1996.Google Scholar
  22. 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.CrossRefGoogle Scholar
  23. 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. 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. 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.CrossRefGoogle Scholar
  26. 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.CrossRefGoogle Scholar
  27. 27.
    J.C. Reynolds. The Craft of Programming. Prentice-Hall International, 1981.Google Scholar
  28. 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. 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. 30.
    D. Sannella and A. Tarlecki. Essential concepts of algebraic specification and program development. Formal Aspects of Computing, 9:229–269, 1997.zbMATHCrossRefGoogle Scholar
  31. 31.
    O. Schoett. Behavioural correctness of data representations. Science of Computer Programming, 14:43–57, 1990.zbMATHCrossRefMathSciNetGoogle Scholar
  32. 32.
    C. Strachey. Fundamental concepts in programming languages. Lecture notes from the Int. Summer School in Programming Languages, Copenhagen, 1967.Google Scholar
  33. 33.
    I. Takeuti. An axiomatic system of parametricity. Fundamenta Informaticae, 20:1–29, 1998.MathSciNetGoogle Scholar
  34. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Jo Hannay
    • 1
  1. 1.Department of Software EngineeringSimula Research LaboratoryLysakerNorway

Personalised recommendations