Specification Refinement with System F - The Higher-Order Case

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.

[1]  Corrado Böhm,et al.  Automatic Synthesis of Typed Lambda-Programs on Term Algebras , 1985, Theor. Comput. Sci..

[2]  Oliver Schoett,et al.  Data abstraction and the correctness of modular programming , 1986 .

[3]  Furio Honsell,et al.  Constructive Data Refinement in Typed Lambda Calculus , 2000, FoSSaCS.

[4]  Jo Erskine Hannay A Higher-Order Simulation Relation for System F , 2000, FoSSaCS.

[5]  Harry G. Mairson Outline of a Proof Theory of Parametricity , 1991, FPCA.

[6]  Thomas Streicher,et al.  Dependent Types Considered Necessary for Specification Languages , 1990, ADT.

[7]  Andrew M. Pitts Existential Types: Logical Relations and Operational Equivalence , 1998, ICALP.

[8]  Zhaohui Luo,et al.  Program specification and data refinement in type theory , 1991, Mathematical Structures in Computer Science.

[9]  John C. Reynolds,et al.  Types, Abstractions, and Parametric Polymorphism, Part 2 , 1991, MFPS.

[10]  Andre Scedrov,et al.  Functorial Polymorphism , 1990, Theor. Comput. Sci..

[11]  Furio Honsell,et al.  Pre-logical Relations , 1999, CSL.

[12]  Peter W. O'Hearn,et al.  An Axiomatic Approach to Binary Logical Relations with Applications to Data Refinement , 1997, TACS.

[13]  Ryu Hasegawa Parametricity of Extensionally Collapsed Term Models of Polymorphism and Their Categorical Properties , 1991, TACS.

[14]  John C. Mitchell,et al.  Foundations for programming languages , 1996, Foundation of computing series.

[15]  Thierry Coquand,et al.  Extensional Models for Polymorphism , 1987, Theor. Comput. Sci..

[16]  Nikos Mylonakis Behavioural Specifications in Type Theory , 1995, COMPASS/ADT.

[17]  Gordon D. Plotkin,et al.  Lax Logical Relations , 2000, ICALP.

[18]  Donald Sannella,et al.  The Definition of Extended ML: A Gentle Introduction , 1997, Theor. Comput. Sci..

[19]  Jo Erskine Hannay Specification Refinement with System F , 1999, CSL.

[20]  John C. Reynolds,et al.  Types, Abstraction and Parametric Polymorphism , 1983, IFIP Congress.

[21]  J Jan Zwanenburg,et al.  Object-oriented concepts and proof rules : formalization in type theory and implementation in Yarrow , 1999 .

[22]  Martin Wirsing,et al.  Proof Systems for Structured Specifications with Observability Operators , 1997, Theor. Comput. Sci..

[23]  Martín Abadi,et al.  A Logic for Parametric Polymorphism , 1993, TLCA.

[24]  Michel Bidoit,et al.  Algebraic System Specification and Development: A Survey and Annotated Bibliography , 1991 .

[25]  Michel Bidoit,et al.  Behavioural Theories and the Proof of Behavioural Properties , 1996, Theor. Comput. Sci..

[26]  Donald Sannella,et al.  On Observational Equivalence and Algebraic Specification , 1987, J. Comput. Syst. Sci..

[27]  Thomas Streicher,et al.  Verifying Properties of Module Construction in Type Theory , 1993, MFCS.

[28]  David Aspinall,et al.  Type systems for modular programs and specifications , 1997 .

[29]  Martin Wirsing,et al.  Behavioural and Abstractor Specifications , 1995, Sci. Comput. Program..

[30]  Jo Erskine Hannay,et al.  Abstraction Barriers in Equational Proof , 1999, AMAST.

[31]  Andrew M. Pitts,et al.  Parametric polymorphism and operational equivalence , 2000, Mathematical Structures in Computer Science.

[32]  John C. Mitchell,et al.  Abstract types have existential types , 1985, POPL.

[33]  Erik Poll,et al.  A Logic for Abstract Data Types as Existential Types , 1999, TLCA.

[34]  John Power,et al.  Data-Refinement for Call-By-Value Programming Languages , 1999, CSL.

[35]  Joseph A. Goguen,et al.  Parameterized Programming , 1984, IEEE Transactions on Software Engineering.

[36]  Judith L. Underwood Typing Abstract Data Types , 1994, COMPASS/ADT.

[37]  John C. Mitchell,et al.  On the Equivalence of Data Representations , 1991, Artificial and Mathematical Theory of Computation.