Skip to main content

Specification Refinement with System F – The Higher-Order Case

  • Conference paper
Recent Trends in Algebraic Development Techniques (WADT 1999)

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

Included in the following conference series:

Abstract

A type-theoretic counterpart to the notion of algebraic specification refinement is discussed for abstract data types with higher-order signatures. The type-theoretic setting consists of System F and the logic for parametric polymorphism of Plotkin and Abadi. For first-order signatures, this setting immediately gives a natural notion of specification refinement up to observational equivalence via the notion of simulation relation. Moreover, a proof strategy for proving observational refinements formalised by Bidoit, Hennicker and Wirsing can be soundly imported into the type theory. In lifting these results to the higher-order case, we find it necessary firstly to develop an alternative simulation relation and secondly to extend the parametric PER-model interpretation, both in such a way as to observe data type abstraction barriers more closely.

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. Aspinall, D.: Type Systems for Modular Programs and Specifications. PhD thesis, University of Edinburgh (1998)

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  6. Böhm, C., Beraducci, A.: Automatic synthesis of typed λ-programs on term algebras. Theoretical Computer Science 39, 135–154 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  7. Breazu-Tannen, V., Coquand, T.: Extensional models for polymorphism. Theoretical Computer Science 59, 85–114 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  8. M. Cerioli, M. Gogolla, H. Kirchner, B. Krieg-Brückner, Z. Qian, and M. Wolf. Algebraic System Specification and Development. Survey and Annotated Bibliography, 2nd Ed., volume 3 of Monographs of the Bremen Institute of Safe Systems. Shaker (1997); 1st edition available in LNCS 501. Springer, Heidelberg (1991)

    Google Scholar 

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

    Article  Google Scholar 

  10. Hannay, J.E.: Abstraction barriers in equational proof. In: Haeberer, A.M. (ed.) AMAST 1998. LNCS, vol. 1548, pp. 196–213. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  11. Hannay, J.E.: Specification refinement with System F. In: Flum, J., Rodríguez-Artalejo, M. (eds.) CSL 1999. LNCS, vol. 1683, pp. 530–545. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  12. Hannay, J.E.: A higher-order simulation relation for System F. In: Tiuryn, J. (ed.) FOSSACS 2000. LNCS, vol. 1784, pp. 130–145. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  13. Hasegawa, R.: Parametricity of extensionally collapsed term models of polymorphism and their categorical properties. In: Ito, T., Meyer, A.R. (eds.) TACS 1991. LNCS, vol. 526, pp. 495–512. Springer, Heidelberg (1991)

    Google Scholar 

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

    Google Scholar 

  15. Honsell, F., Longley, J., Sannella, D., Tarlecki, A.: Constructive data refinement in typed lambda calculus. In: Tiuryn, J. (ed.) FOSSACS 2000. LNCS, vol. 1784, pp. 161–176. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  16. Honsell, F., Sannella, D.: Pre-logical relations. In: Flum, J., Rodríguez-Artalejo, M. (eds.) CSL 1999. LNCS, vol. 1683, pp. 546–561. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  18. Kinoshita, Y., O’Hearn, P.W., Power, A.J., Takeyama, M., Tennent, R.D.: An axiomatic approach to binary logical relations with applications to data refinement. In: Ito, T., Abadi, M. (eds.) TACS 1997. LNCS, vol. 1281, pp. 191–212. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  19. Kinoshita, Y., Power, A.J.: Data refinement for call-by-value programming languages. In: Flum, J., Rodríguez-Artalejo, M. (eds.) CSL 1999. LNCS, vol. 1683, pp. 562–576. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  20. Luo, Z.: Program specification and data type refinement in type theory. Math. Struct. in Comp. Sci. 3, 333–363 (1993)

    Article  MATH  Google Scholar 

  21. Ma, Q., Reynolds, J.C.: Types, abstraction and parametric polymorphism, part 2. In: Schmidt, D., Main, M.G., Melton, A.C., Mislove, M.W., Brookes, S.D. (eds.) MFPS 1991. LNCS, vol. 598, pp. 1–40. Springer, Heidelberg (1991)

    Google Scholar 

  22. Mairson, H.: Outline of a proof theory of parametricity. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol. 523, pp. 313–327. Springer, Heidelberg (1991)

    Google Scholar 

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

    Google Scholar 

  24. Mitchell, J.C.: Foundations for Programming Languages. MIT Press, Cambridge (1996)

    Google Scholar 

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

    Article  Google Scholar 

  26. Moggi, E., Statman, R.: The maximum consistent theory of the second order lambda calculus. e-mail to Types list (1986), Available at ftp://ftp.disi.unige.it/person/MoggiE/papers/maxcons

  27. Mylonakis, N.: Behavioural specifications in type theory. In: Haveraaen, M., Dahl, O.-J., Owe, O. (eds.) Abstract Data Types 1995 and COMPASS 1995. LNCS, vol. 1130, pp. 394–408. Springer, Heidelberg (1995)

    Google Scholar 

  28. Pitts, A.M.: Parametric polymorphism and operational equivalence. In: Proc. 2nd Workshop on Higher Order Operational Techniques in Semantics. ENTCS, vol. 10, Elsevier, Amsterdam (1997)

    Google Scholar 

  29. Pitts, A.M.: Existential types: Logical relations and operational equivalence. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 309–326. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  30. Plotkin, G., Abadi, M.: A logic for parametric polymorphism. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664, pp. 361–375. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  31. Plotkin, G.D., Power, A.J., Sannella, D.: Lax logical relations. To appear in Proc. ICALP 2000, LNCS (2000)

    Google Scholar 

  32. Poll, E., Zwanenburg, J.: A logic for abstract data types as existential types. In: Girard, J.-Y. (ed.) TLCA 1999. LNCS, vol. 1581, pp. 310–324. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  33. Reus, B., Streicher, T.: Verifying properties of module construction in type theory. In: Borzyszkowski, A.M., Sokolowski, S. (eds.) MFCS 1993. LNCS, vol. 711, pp. 660–670. Springer, Heidelberg (1993)

    Google Scholar 

  34. Reynolds, J.C.: Types, abstraction and parametric polymorphism. Information Processing 83, 513–523 (1983)

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MATH  Google Scholar 

  38. Schoett. O.: Data Abstraction and the Correctness of Modular Programming. PhD thesis, University of Edinburgh (1986)

    Google Scholar 

  39. Streicher, T., Wirsing, M.: Dependent types considered necessary for specification languages. In: Orejas, F., Ehrig, H., Jantke, K.P., Reichel, H. (eds.) Abstract Data Types 1990. LNCS, vol. 534, pp. 323–339. Springer, Heidelberg (1990)

    Google Scholar 

  40. Underwood, J.: Typing abstract data types. In: Reggio, G., Astesiano, E., Tarlecki, A. (eds.) Abstract Data Types 1994 and COMPASS 1994. LNCS, vol. 906, pp. 437–452. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  41. Zwanenburg, J.: Object-Oriented Concepts and Proof Rules: Formalization in Type Theory and Implementation in Yarrow. PhD thesis, Technische Universiteit Eindhoven (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hannay, J.E. (2000). Specification Refinement with System F – The Higher-Order Case. In: Bert, D., Choppy, C., Mosses, P.D. (eds) Recent Trends in Algebraic Development Techniques. WADT 1999. Lecture Notes in Computer Science, vol 1827. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-44616-3_10

Download citation

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

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67898-4

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics