Abstraction Barriers in Equational Proof

Module constructs in programming languages have protection mechanisms hindering unauthorised external access to internal operators of data types. In some cases, granting external access to internal operators would result in serious violation of a data type's specified external properties. In order to reason consistently about specifications of such data types, it is necessary in general to incorporate a notion of protective abstraction barrier in proof strategies as well. We show how this can be done in equational calculus by simply restricting the congruence axiom, and see how the motivation for this naturally arises from FI and FRI approaches to specification refinement.

[1]  Carroll Morgan,et al.  Programming from specifications (2nd ed.) , 1994 .

[2]  A. Troelstra,et al.  Constructivism in Mathematics: An Introduction , 1988 .

[3]  Martin Wirsing,et al.  Algebraic Specification Languages: An Overview , 1994, COMPASS/ADT.

[4]  Jorge Farres-Casals Verification in ASL and related specification languages , 1992 .

[5]  Donald Sannella,et al.  Extended ML: Past, Present, and Future , 1990, ADT.

[6]  Martin Wirsing,et al.  Algebraic Specification , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[7]  Donald Sannella Formal program development in Extended ML for the working programmer , 1990 .

[8]  Martin Wirsing,et al.  Structured Specifications: Syntax, Semantics and Proof Calculus , 1993 .

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

[10]  Olaf Owe,et al.  Formal Development with ABEL , 1991, VDM Europe.

[11]  María Victoria Cengarle,et al.  Formal specifications with higher-order parameterization , 1995, Berichte aus der Informatik.

[12]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[13]  Hartmut Ehrig,et al.  Algebraic Implementation of Abstract Data Types , 1982, Theor. Comput. Sci..

[14]  Allen Goldberg,et al.  Referential opacity in nondeterministic data refinement , 1993, LOPL.

[15]  Martin Hofmann,et al.  On Behavioural Abstraction and Behavioural Satisfaction in Higher-Order Logic , 1995, Theor. Comput. Sci..

[16]  Jo Erskine Hannay,et al.  Referential Opacity in Equational Reasoning , 1998 .

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