Hidden Congruent Deduction

Cleverly designed software often fails to satisfy its requirements strictly, but instead satisfies them behaviorally, in the sense that they appear to be satisfied under every experiment that can be performed on the system. A good example is the traditional implementation of sets by lists, where union as implemented by append fails to strictly satisfy basic laws like commutativity and idempotency, but does satisfy them behaviorally. It is becoming increasingly clear that behavioral specification is more appropriate to software engineering than traditional approaches that rely on strict satisfaction of axioms, and it is therefore becoming increasingly important to develop powerful techniques for behavioral verification. This paper presents some techniques of this kind in the area called hidden algebra, clustered around the central notion of coinduction. We believe hidden algebra is the natural next step in the evolution of algebraic semantics and its first order proof technology. Hidden algebra originated in [7], and was developed further in [8,10,3,12,5] among other places; the most comprehensive survey currently available is [12].

[1]  B. Jacobs,et al.  A tutorial on (co)algebras and (co)induction , 1997 .

[2]  Joseph A. Goguen,et al.  A hidden agenda , 2000, Theor. Comput. Sci..

[3]  Joseph A. Goguen,et al.  Towards an Algebraic Semantics for the Object Paradigm , 1992, COMPASS/ADT.

[4]  Razvan Diaconescu,et al.  Behavioural Coherence in Object-Oriented Algebraic Specification , 2000, J. Univers. Comput. Sci..

[5]  Michaël Rusinowitch,et al.  Observational Proofs with Critical Contexts , 1998, FASE.

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

[7]  Kokichi Futatsugi,et al.  Test set coinduction - Toward automated verification of behavioural properties , 1998, WRLA.

[8]  Akira Mori,et al.  Tools for Distributed Cooperative Design and Validation , 1998 .

[9]  Joseph A. Goguen,et al.  Types as theories , 1991 .

[10]  Horst Reichel,et al.  An approach to object semantics based on terminal co-algebras , 1995, Mathematical Structures in Computer Science.

[11]  Joseph A. Goguen,et al.  Algebraic semantics of imperative programs , 1996, Foundations of computing series.

[12]  Peter Padawitz Towards the one-tiered design of data types and transition systems , 1997, WADT.

[13]  Hartmut Ehrig,et al.  Recent trends in data type specification : 9th Workshop on Specification of Abstract Data Types, joint with the 4th COMPASS Workshop, Caldes de Malavella, Spain, October, 26-30, 1992 : selected papers , 1994 .

[14]  Răzvan Diaconescu,et al.  Hiding and behaviour: an institutional approach , 1994 .

[15]  Razvan Diaconescu,et al.  Cafeobj Report - The Language, Proof Techniques, and Methodologies for Object-Oriented Algebraic Specification , 1998, AMAST Series in Computing.

[16]  Joseph A. Goguen,et al.  Proof of correctness of object representations , 1994 .

[17]  Rolf Hennicker,et al.  Context Induction: a Proof Principle for Behavioural Abstractions , 1990, DISCO.