Specification Refinement with System F

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

Essential concepts of algebraic specification refinement are translated into a type-theoretic setting involving System F and Reynolds’ relational parametricity assertion as expressed in Plotkin and Abadi’s logic for parametric polymorphism. At first order, the type-theoretic setting provides a canonical picture of algebraic specification refinement. At higher order, the type-theoretic setting allows future generalisation of the principles of algebraic specification refinement to higher order and polymorphism. We show the equivalence of the acquired type-theoretic notion of specification refinement with that from algebraic specification. To do this, a generic algebraic-specification strategy for behavioural re- finement proofs is mirrored in the type-theoretic setting.


Type Theory Relation Symbol Simulation Relation Essential Concept Abstract Data Type 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    M. Abadi, L. Cardelli, and P.-L. Curien. Formal parametric polymorphism. Theoretical Computer Science, 121:9–58, 1993.zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    D. Aspinall. Type Systems for Modular Programs and Specifications. PhD thesis, University of Edinburgh, 1998.Google Scholar
  3. 3.
    E.S. Bainbridge, P.J. Freyd, A. Scedrov, and P.J. Scott. Functorial polymorphism. Theoretical Computer Science, 70:35–64, 1990.zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    M. Bidoit and R. Hennicker. Behavioural theories and the proof of behavioural properties. Theoretical Computer Science, 165:3–55, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    M. Bidoit, R. Hennicker, and M. Wirsing. Behavioural and abstractor specifications. Science of Computer Programming, 25:149–186, 1995.zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    M. Bidoit, R. Hennicker, and M. Wirsing. Proof systems for structured specifications with observability operators. Theoretical Computer Sci., 173:393–443, 1997.zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    M. Bidoit, H.-J. Kreowski, P. Lescanne, F. Orejas, and D. Sannella (eds.). Algebraic System Specification and Development: A Survey and Annotated Bibliography, volume 501 of LNCS. Springer, 1991.zbMATHGoogle Scholar
  8. 8.
    C. Böhm and A. Beraducci. Automatic synthesis of typed ?-programs on term algebras. Theoretical Computer Science, 39:135–154, 1985.zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    J.A. Goguen. Parameterized programming. IEEE Transactions on Software Engineering, SE-10(5):528–543, 1984.Google Scholar
  10. 10.
    R. Hennicker. Structured specifications with behavioural operators: Semantics, proof methods and applications. Habilitationsschrift, LMU, München, 1997.Google Scholar
  11. 11.
    M. Hofmann. A simple model for quotient types. In Proc. TLCA’95, volume 902 of LNCS, pages 216–234. Springer, 1995.Google Scholar
  12. 12.
    M. Hofmann and D. Sannella. On behavioural abstraction and behavioural satisfaction in higher-order logic. Theoretical Computer Science, 167:3–45, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    F. Honsell and D. Sannella. Pre-logical relations. In Proc. CSL’99, LNCS, 1999.Google Scholar
  14. 14.
    S. Kahrs, D. Sannella, and A. Tarlecki. The definition of Extended ML: a gentle introduction. Theoretical Computer Science, 173:445–484, 1997.zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Y. Kinoshita, P.W. O’Hearn, A.J. Power, M. Takeyama, and R.D. Tennent. An axiomatic approach to binary logical relations with applications to data refinement. In Proceedings of TACS’97, volume 1281 of LNCS, pages 191–212. Springer, 1997.Google Scholar
  16. 16.
    H. Kirchner and P.D. Mosses. Algebraic specifications, higher-order types, and set-theoretic models. In Proc. AMAST’98, volume 1548 of LNCS, pages 378–388. Springer, 1998.Google Scholar
  17. 17.
    Z. Luo. Program specification and data type refinement in type theory. Math. Struct. in Comp. Sci., 3:333–363, 1993.zbMATHCrossRefGoogle Scholar
  18. 18.
    Q. Ma and J.C. Reynolds. Types, abstraction and parametric polymorphism, part 2. In Proc. 7th MFPS, volume 598 of LNCS, pages 1–40. Springer, 1991.Google Scholar
  19. 19.
    H. Mairson. Outline of a proof theory of parametricity. In ACM Symposium on Functional Programming and Computer Architecture, volume 523 of LNCS, pages 313–327. Springer, 1991.Google Scholar
  20. 20.
    K. Meinke. Universal algebra in higher types. Theoretical Computer Science, 100:385–417, 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    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
  22. 22.
    J.C. Mitchell. Foundations for Programming Languages. Foundations of Computing Series. MIT Press, 1996.Google Scholar
  23. 23.
    N. Mylonakis. Behavioural specifications in type theory. In Recent Trends in Data Type Spec., 11th WADT, volume 1130 of LNCS, pages 394–408. Springer, 1995.Google Scholar
  24. 24.
    G. Plotkin and M. Abadi. A logic for parametric polymorphism. In Proc. of TLCA 93, volume 664 of LNCS, pages 361–375. Springer, 1993.Google Scholar
  25. 25.
    E. Poll and J. Zwanenburg. A logic for abstract data types as existential types. In Proc. TLCA’99, volume 1581 of LNCS, pages 310–324, 1999.Google Scholar
  26. 26.
    B. Reus and T. Streicher. Verifying properties of module construction in type theory. In Proc. MFCS’93, volume 711 of LNCS, pages 660–670, 1993.Google Scholar
  27. 27.
    J.C. Reynolds. Types, abstraction and parametric polymorphism. Information Processing, 83:513–523, 1983.Google Scholar
  28. 28.
    D. Sannella, S. Sokołowski, and A. Tarlecki. Toward formal development of programs from algebraic specifications: parameterisation revisited. Acta Inform., 29:689–736, 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  29. 29.
    D. Sannella and A. Tarlecki. On observational equivalence and algebraic specification. Journal of Computer and System Sciences, 34:150–178, 1987.zbMATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    D. Sannella and A. Tarlecki. Toward formal development of programs from algebraic specifications: Implementations revisited. Acta Inform., 25(3):233–281, 1988.zbMATHCrossRefMathSciNetGoogle 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.
    D. Sannella and M. Wirsing. A kernel language for algebraic specification and implementation. In Proc. 1983 Intl. Conf. on Foundations of Computation Theory, volume 158 of LNCS, pages 413–427. Springer, 1983.Google Scholar
  33. 33.
    O. Schoett. Data Abstraction and the Correctness of Modular Programming. PhD thesis, University of Edinburgh, 1986.Google Scholar
  34. 34.
    T. Streicher and M. Wirsing. Dependent types considered necessary for specification languages. In Recent Trends in Data Type Spec., volume 534 of LNCS, pages 323–339. Springer, 1990.Google Scholar
  35. 35.
    J. Underwood. Typing abstract data types. In Recent Trends in Data Type Spec., Proc. 10th WADT, volume 906 of LNCS, pages 437–452. Springer, 1994.CrossRefGoogle Scholar
  36. 36.
    M. Wirsing. Structured specifications: Syntax, semantics and proof calculus. In Logic and Algebra of Specification, pages 411–442. Springer, 1993.Google Scholar
  37. 37.
    M. Wirsing. Algebraic specification languages: An overview. In Recent Trends in Data Type Specification, volume 906 of LNCS, pages 81–115. Springer, 1994.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Jo Erskine Hannay

There are no affiliations available

Personalised recommendations