Advertisement

Axiomatic Criteria for Quotients and Subobjects for Higher-Order Data Types

  • Jo Hannay
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2719)

Abstract

Axiomatic criteria are given for the existence of higher-order maps over subobjects and quotients. These criteria are applied in showing the soundness of a method for proving specification refinement up to observational equivalence. This generalises the method to handle data types with higher-order operations, using standard simulation relations. We also give a direct setoid-based model satisfying the criteria. The setting is the second-order polymorphic lambda calculus and the assumption of relational parametricity.

Keywords

Equivalence Relation Data Type Data Representation 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.
    E.S. Bainbridge, P.J. Freyd, A. Scedrov, and P.J. Scott. Functorial polymorphism. Theoretical Computer Science, 70:35–64, 1990.zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    H.P. Barendregt. Lambda calculi with types. In S. Abramsky, D.M. Gabbay, and T.S.E. Maibaum, editors, Handbook of Logic in Computer Science, volume 2, pages 118–309. Oxford University Press, 1992.Google Scholar
  3. 3.
    M. Bidoit and R. Hennicker. Behavioural theories and the proof of behavioural properties. Theoretical Computer Science, 165:3–55, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    M. Bidoit, R. Hennicker, M. Wirsing. Proof systems for structured specifications with observability operators. Theoretical Computer Science, 173:393–443, 1997.zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    C. Böhm and A. Berarducci. Automatic synthesis of typed λ-programs on term algebras. Theoretical Computer Science, 39:135–154, 1985.zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    M. Cerioli, M. Gogolla, H. Kirchner, B. Krieg-Brückner, Z. Qian, and M. Wolf, eds.. Algebraic System Specification and Development. Survey and Annotated Bibliography, 2nd Ed., BISS Monographs, vol. 3. Shaker Verlag, 1997.Google Scholar
  7. 7.
    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
  8. 8.
    J.-Y. Girard, P. Taylor, and Y. Lafont. Proofs and Types. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1990.Google Scholar
  9. 9.
    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
  10. 10.
    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
  11. 11.
    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
  12. 12.
    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
  13. 13.
    J. Hannay. Abstraction barrier-observing relational parametricity. In Typed Lambda Calculi and Applications. Proc. of TLCA 2002, Lecture Notes in Comp. Sci., Springer Verlag, 2002. To appear.Google Scholar
  14. 14.
    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
  15. 15.
    C.A.R. Hoare. Proofs of correctness of data representations. Acta Informatica, 1:271–281, 1972.zbMATHCrossRefGoogle Scholar
  16. 16.
    M. Hofmann. Extensional Concepts in Intensional Type Theory, Report CST-117-95 and Technical Report ECS-LFCS-95-327. PhD thesis, Laboratory for Foundations of Computer Science (LFCS), University of Edinburgh, 1995.Google Scholar
  17. 17.
    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
  18. 18.
    F. Honsell and D. Sannella. Prelogical relations. Information and Computation, 178:23–43, 2002.zbMATHMathSciNetGoogle Scholar
  19. 19.
    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
  20. 20.
    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
  21. 21.
    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
  22. 22.
    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
  23. 23.
    R. Milner. An algebraic definition of simulation between programs. In Joint Conferences on Artificial Intelligence, Proceedings of the 2nd International Conference, JCAI, London (UK), pages 481–489. Morgan Kaufman Publishers, 1971.Google Scholar
  24. 24.
    J.C. Mitchell. On the equivalence of data representations. In V. Lifschitz, editor, Artificial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarthy, pages 305–330. Academic Press, 1991.Google Scholar
  25. 25.
    J.C. Mitchell. Foundations for Programming Languages. Foundations of Computing. MIT Press, 1996.Google Scholar
  26. 26.
    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
  27. 27.
    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
  28. 28.
    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
  29. 29.
    E. Poll and J. Zwanenburg. A logic for abstract data types as existential types. In Typed Lambda Calculus and Applications. Proc. of TLCA’99, vol. 1581 of Lecture Notes in Comp. Sci., pages 310–324. Springer Verlag, 1999.CrossRefGoogle Scholar
  30. 30.
    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
  31. 31.
    D. Sannella and A. Tarlecki. Essential concepts of algebraic specification and program development. Formal Aspects of Computing, 9:229–269, 1997.zbMATHCrossRefGoogle Scholar
  32. 32.
    O. Schoett. Behavioural correctness of data representations. Science of Computer Programming, 14:43–57, 1990.zbMATHCrossRefMathSciNetGoogle Scholar
  33. 33.
    C. Strachey. Fundamental concepts in programming languages. Lecture notes from the International Summer School in Programming Languages, Copenhagen, 1967.Google Scholar
  34. 34.
    I. Takeuti. An axiomatic system of parametricity. Fundamenta Informaticae, 20:1–29, 1998.MathSciNetGoogle Scholar
  35. 35.
    R.D. Tennent. Correctness of data representations in Algol-like languages. In A.W. Roscoe, editor, A Classical Mind: Essays in Honour of C.A.R. Hoare. Prentice Hall International, 1997.Google Scholar
  36. 36.
    J. Zwanenburg. Object-Oriented Concepts and Proof Rules: Formalization in Type Theory and Implementation in Yarrow. PhD thesis, Tech. Univ. Eindhoven, 1999.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