Axiomatic Criteria for Quotients and Subobjects for Higher-Order Data Types

Axiomatic criteria are given for the existence of higher-order maps over subobjects and quotients. These criteria are applied in showing the soundness of a method for proving specification refinement up to observational equivalence. This generalises the method to handle data types with higher-order operations, using standard simulation relations. We also give a direct setoid-based model satisfying the criteria. The setting is the second-order polymorphic lambda calculus and the assumption of relational parametricity.

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

[2]  C. A. R. Hoare,et al.  Proof of correctness of data representations , 1972, Acta Informatica.

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

[4]  Robin Milner,et al.  An Algebraic Definition of Simulation Between Programs , 1971, IJCAI.

[5]  Benjamin C. Pierce,et al.  Theoretical Aspects of Computer Software , 2001, Lecture Notes in Computer Science.

[6]  Jo Erskine Hannay Abstraction Barrier-Observing Relational Parametricity , 2003, TLCA.

[7]  Peter W. O'Hearn,et al.  Relational parametricity and local variables , 1993, POPL '93.

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

[9]  Robin Milner,et al.  Theories for the Global Ubiquitous Computer , 2004, FoSSaCS.

[10]  Izumi Takeuti An Axiomatic System of Parametricity , 1997, TLCA.

[11]  M. Hofmann Extensional concepts in intensional type theory , 1995 .

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

[13]  D. Sannella,et al.  Prelogical relations , 2002 .

[14]  Martin Wirsing,et al.  Extraction of Structured Programs from Specification Proofs , 1999, WADT.

[15]  R. D. Tennent Correctness of data representations in Algol-like languages , 1994 .

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

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

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

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

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

[21]  Donald Sannella,et al.  Essential concepts of algebraic specification and program development , 1997, Formal Aspects of Computing.

[22]  Oliver Schoett,et al.  Behavioural Correctness of Data Representations , 1990, Sci. Comput. Program..

[23]  J. Hannay,et al.  Abstraction Barriers and Refinement in the Polymorphic Lambda Calculus , 2001 .

[24]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[25]  Christopher Strachey,et al.  Fundamental Concepts in Programming Languages , 2000, High. Order Symb. Comput..

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

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

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

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

[30]  Jozef Gruska Foundations of Computing , 1997 .

[31]  J. Girard,et al.  Proofs and types , 1989 .

[32]  Jo Erskine Hannay Specification Refinement with System F - The Higher-Order Case , 1999, WADT.

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

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

[35]  Alex K. Simpson,et al.  Computational Adequacy in an Elementary Topos , 1998, CSL.

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

[37]  Hans-Jörg Kreowski,et al.  Algebraic system specification and development , 1991, Lecture Notes in Computer Science.

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

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

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