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.
Keywords
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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Aspinall, D.: Type Systems for Modular Programs and Specifications. PhD thesis, University of Edinburgh (1998)
Bainbridge, E.S., Freyd, P.J., Scedrov, A., Scott, P.J.: Functorial polymorphism. Theoretical Computer Science 70, 35–64 (1990)
Bidoit, M., Hennicker, R.: Behavioural theories and the proof of behavioural properties. Theoretical Computer Science 165, 3–55 (1996)
Bidoit, M., Hennicker, R., Wirsing, M.: Behavioural and abstractor specifications. Science of Computer Programming 25, 149–186 (1995)
Bidoit, M., Hennicker, R., Wirsing, M.: Proof systems for structured specifications with observability operators. Theoretical Computer Sci. 173, 393–443 (1997)
Böhm, C., Beraducci, A.: Automatic synthesis of typed λ-programs on term algebras. Theoretical Computer Science 39, 135–154 (1985)
Breazu-Tannen, V., Coquand, T.: Extensional models for polymorphism. Theoretical Computer Science 59, 85–114 (1988)
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)
Goguen, J.A.: Parameterized programming. IEEE Transactions on Software Engineering SE-10(5), 528–543 (1984)
Hannay, J.E.: Abstraction barriers in equational proof. In: Haeberer, A.M. (ed.) AMAST 1998. LNCS, vol. 1548, pp. 196–213. Springer, Heidelberg (1998)
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)
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)
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)
Hennicker, R.: Structured specifications with behavioural operators: Semantics, proof methods and applications. Habilitationsschrift, LMU, München (1997)
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)
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)
Kahrs, S., Sannella, D., Tarlecki, A.: The definition of Extended ML: a gentle introduction. Theoretical Computer Science 173, 445–484 (1997)
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)
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)
Luo, Z.: Program specification and data type refinement in type theory. Math. Struct. in Comp. Sci. 3, 333–363 (1993)
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)
Mairson, H.: Outline of a proof theory of parametricity. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol. 523, pp. 313–327. Springer, Heidelberg (1991)
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)
Mitchell, J.C.: Foundations for Programming Languages. MIT Press, Cambridge (1996)
Mitchell, J.C., Plotkin, G.D.: Abstract types have existential type. ACM Trans. on Programming Languages and Systems 10(3), 470–502 (1988)
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
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)
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)
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)
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)
Plotkin, G.D., Power, A.J., Sannella, D.: Lax logical relations. To appear in Proc. ICALP 2000, LNCS (2000)
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)
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)
Reynolds, J.C.: Types, abstraction and parametric polymorphism. Information Processing 83, 513–523 (1983)
Sannella, D., Tarlecki, A.: On observational equivalence and algebraic specification. Journal of Computer and System Sciences 34, 150–178 (1987)
Sannella, D., Tarlecki, A.: Toward formal development of programs from algebraic specifications: Implementations revisited. Acta Inform. 25(3), 233–281 (1988)
Sannella, D., Tarlecki, A.: Essential concepts of algebraic specification and program development. Formal Aspects of Computing 9, 229–269 (1997)
Schoett. O.: Data Abstraction and the Correctness of Modular Programming. PhD thesis, University of Edinburgh (1986)
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)
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)
Zwanenburg, J.: Object-Oriented Concepts and Proof Rules: Formalization in Type Theory and Implementation in Yarrow. PhD thesis, Technische Universiteit Eindhoven (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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