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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. Abadi, L. Cardelli, and P.-L. Curien. Formal parametric polymorphism. Theoretical Computer Science, 121:9–58, 1993.
D. Aspinall. Type Systems for Modular Programs and Specifications. PhD thesis, University of Edinburgh, 1998.
E.S. Bainbridge, P.J. Freyd, A. Scedrov, and P.J. Scott. Functorial polymorphism. Theoretical Computer Science, 70:35–64, 1990.
M. Bidoit and R. Hennicker. Behavioural theories and the proof of behavioural properties. Theoretical Computer Science, 165:3–55, 1996.
M. Bidoit, R. Hennicker, and M. Wirsing. Behavioural and abstractor specifications. Science of Computer Programming, 25:149–186, 1995.
M. Bidoit, R. Hennicker, and M. Wirsing. Proof systems for structured specifications with observability operators. Theoretical Computer Sci., 173:393–443, 1997.
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.
C. Böhm and A. Beraducci. Automatic synthesis of typed ?-programs on term algebras. Theoretical Computer Science, 39:135–154, 1985.
J.A. Goguen. Parameterized programming. IEEE Transactions on Software Engineering, SE-10(5):528–543, 1984.
R. Hennicker. Structured specifications with behavioural operators: Semantics, proof methods and applications. Habilitationsschrift, LMU, München, 1997.
M. Hofmann. A simple model for quotient types. In Proc. TLCA’95, volume 902 of LNCS, pages 216–234. Springer, 1995.
M. Hofmann and D. Sannella. On behavioural abstraction and behavioural satisfaction in higher-order logic. Theoretical Computer Science, 167:3–45, 1996.
F. Honsell and D. Sannella. Pre-logical relations. In Proc. CSL’99, LNCS, 1999.
S. Kahrs, D. Sannella, and A. Tarlecki. The definition of Extended ML: a gentle introduction. Theoretical Computer Science, 173:445–484, 1997.
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.
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.
Z. Luo. Program specification and data type refinement in type theory. Math. Struct. in Comp. Sci., 3:333–363, 1993.
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.
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.
K. Meinke. Universal algebra in higher types. Theoretical Computer Science, 100:385–417, 1992.
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.
J.C. Mitchell. Foundations for Programming Languages. Foundations of Computing Series. MIT Press, 1996.
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.
G. Plotkin and M. Abadi. A logic for parametric polymorphism. In Proc. of TLCA 93, volume 664 of LNCS, pages 361–375. Springer, 1993.
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.
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.
J.C. Reynolds. Types, abstraction and parametric polymorphism. Information Processing, 83:513–523, 1983.
D. Sannella, S. Sokołowski, and A. Tarlecki. Toward formal development of programs from algebraic specifications: parameterisation revisited. Acta Inform., 29:689–736, 1992.
D. Sannella and A. Tarlecki. On observational equivalence and algebraic specification. Journal of Computer and System Sciences, 34:150–178, 1987.
D. Sannella and A. Tarlecki. Toward formal development of programs from algebraic specifications: Implementations revisited. Acta Inform., 25(3):233–281, 1988.
D. Sannella and A. Tarlecki. Essential concepts of algebraic specification and program development. Formal Aspects of Computing, 9:229–269, 1997.
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.
O. Schoett. Data Abstraction and the Correctness of Modular Programming. PhD thesis, University of Edinburgh, 1986.
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.
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.
M. Wirsing. Structured specifications: Syntax, semantics and proof calculus. In Logic and Algebra of Specification, pages 411–442. Springer, 1993.
M. Wirsing. Algebraic specification languages: An overview. In Recent Trends in Data Type Specification, volume 906 of LNCS, pages 81–115. Springer, 1994.
Editor information
Editors and Affiliations
Rights 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