Skip to main content

Specification Refinement with System F

  • Conference paper
  • First Online:
Computer Science Logic (CSL 1999)

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

Included in the following conference series:

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.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi, L. Cardelli, and P.-L. Curien. Formal parametric polymorphism. Theoretical Computer Science, 121:9–58, 1993.

    Article  MathSciNet  Google Scholar 

  2. D. Aspinall. Type Systems for Modular Programs and Specifications. PhD thesis, University of Edinburgh, 1998.

    Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  4. M. Bidoit and R. Hennicker. Behavioural theories and the proof of behavioural properties. Theoretical Computer Science, 165:3–55, 1996.

    Article  MathSciNet  Google Scholar 

  5. M. Bidoit, R. Hennicker, and M. Wirsing. Behavioural and abstractor specifications. Science of Computer Programming, 25:149–186, 1995.

    Article  MathSciNet  Google Scholar 

  6. M. Bidoit, R. Hennicker, and M. Wirsing. Proof systems for structured specifications with observability operators. Theoretical Computer Sci., 173:393–443, 1997.

    Article  MathSciNet  Google Scholar 

  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.

    MATH  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  9. J.A. Goguen. Parameterized programming. IEEE Transactions on Software Engineering, SE-10(5):528–543, 1984.

    Google Scholar 

  10. R. Hennicker. Structured specifications with behavioural operators: Semantics, proof methods and applications. Habilitationsschrift, LMU, München, 1997.

    Google Scholar 

  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. M. Hofmann and D. Sannella. On behavioural abstraction and behavioural satisfaction in higher-order logic. Theoretical Computer Science, 167:3–45, 1996.

    Article  MathSciNet  Google Scholar 

  13. F. Honsell and D. Sannella. Pre-logical relations. In Proc. CSL’99, LNCS, 1999.

    Google Scholar 

  14. S. Kahrs, D. Sannella, and A. Tarlecki. The definition of Extended ML: a gentle introduction. Theoretical Computer Science, 173:445–484, 1997.

    Article  MathSciNet  Google Scholar 

  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. 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. Z. Luo. Program specification and data type refinement in type theory. Math. Struct. in Comp. Sci., 3:333–363, 1993.

    Article  MathSciNet  Google Scholar 

  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. 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. K. Meinke. Universal algebra in higher types. Theoretical Computer Science, 100:385–417, 1992.

    Article  MathSciNet  Google Scholar 

  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. J.C. Mitchell. Foundations for Programming Languages. Foundations of Computing Series. MIT Press, 1996.

    Google Scholar 

  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.

    Chapter  Google Scholar 

  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. 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. 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. J.C. Reynolds. Types, abstraction and parametric polymorphism. Information Processing, 83:513–523, 1983.

    Google Scholar 

  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.

    Article  MathSciNet  Google Scholar 

  29. D. Sannella and A. Tarlecki. On observational equivalence and algebraic specification. Journal of Computer and System Sciences, 34:150–178, 1987.

    Article  MathSciNet  Google Scholar 

  30. D. Sannella and A. Tarlecki. Toward formal development of programs from algebraic specifications: Implementations revisited. Acta Inform., 25(3):233–281, 1988.

    Article  MathSciNet  Google Scholar 

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

    Article  Google Scholar 

  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. O. Schoett. Data Abstraction and the Correctness of Modular Programming. PhD thesis, University of Edinburgh, 1986.

    Google Scholar 

  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.

    Chapter  Google Scholar 

  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.

    Chapter  Google Scholar 

  36. M. Wirsing. Structured specifications: Syntax, semantics and proof calculus. In Logic and Algebra of Specification, pages 411–442. Springer, 1993.

    Google Scholar 

  37. M. Wirsing. Algebraic specification languages: An overview. In Recent Trends in Data Type Specification, volume 906 of LNCS, pages 81–115. Springer, 1994.

    Chapter  Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hannay, J.E. (1999). Specification Refinement with System F. In: Flum, J., Rodriguez-Artalejo, M. (eds) Computer Science Logic. CSL 1999. Lecture Notes in Computer Science, vol 1683. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48168-0_37

Download citation

  • DOI: https://doi.org/10.1007/3-540-48168-0_37

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-48168-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics