The lattice of data refinement

We define a general notion of data refinement that comprises the traditional notion of data refinement as a special case. Using the concepts of duals and adjoints, we define converse commands and find a symmetry between ordinary data refinement and a dual (backward) data refinement. We show how ordinary and backward data refinement are interpreted as simulation, and we derive rules for the piecewise data refinement of programs. Our results are valid for a general language, including demonic and angelic nondeterminism as well as nontermination and miracles.

[1]  Carroll Morgan,et al.  The specification statement , 1988, TOPL.

[2]  Ralph-Johan Back,et al.  Duality in specification languages: a lattice-theoretical approach , 1990, Acta Informatica.

[3]  Carroll Morgan,et al.  Data Refinement of Predicate Transformers , 1991, Theor. Comput. Sci..

[4]  Carroll Morgan,et al.  Data refinement by calculation , 1990, Acta Informatica.

[5]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[6]  Edsger W. Dijkstra,et al.  Predicate Calculus and Program Semantics , 1989, Texts and Monographs in Computer Science.

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

[8]  Greg Nelson,et al.  A generalization of Dijkstra's calculus , 1989, ACM Trans. Program. Lang. Syst..

[9]  Jan Friso Groote,et al.  Proceedings of the 2nd International Conference on Concurrency Theory , 1991 .

[10]  C. A. R. Hoare,et al.  Prespecification in Data Refinement , 1987, Inf. Process. Lett..

[11]  Joseph M. Morris,et al.  A Theoretical Basis for Stepwise Refinement and the Programming Calculus , 1987, Sci. Comput. Program..

[12]  Bengt Jonsson,et al.  On Decomposing and Refining Specifications of Distributed Systems , 1989, REX Workshop.

[13]  Ralph-Johan Back,et al.  Refinement Calculus, Part I: Sequential Nondeterministic Programs , 1989, REX Workshop.

[14]  Wei Chen,et al.  Towards a Calculus of Data Refinement , 1989, MPC.

[15]  Carroll Morgan Data Refinement by Miracles , 1988, Inf. Process. Lett..

[16]  Ralph-Johan Back,et al.  Changing data representation in the refinement calculus , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track.

[17]  Carroll Morgan,et al.  A single complete rule for data refinement , 1993, Formal Aspects of Computing.

[18]  Ralph-Johan Back,et al.  A calculus of refinements for program derivations , 1988, Acta Informatica.

[19]  Martín Abadi,et al.  The Existence of Refinement Mappings , 1988, LICS.

[20]  Ralph-Johan Back,et al.  Correctness preserving program refinements: Proof theory and applications , 1980 .

[21]  Ralph-Johan Back,et al.  Statement Inversion and Strongest Postcondition , 1993, Sci. Comput. Program..

[22]  Bengt Jonsson Simulations Between Specifications of Distributed Systems , 1991, CONCUR.

[23]  Ralph-Johan Back,et al.  Refinement Calculus, Part II: Parallel and Reactive Programs , 1989, REX Workshop.

[24]  Joseph M. Morris Laws of data refinement , 2004, Acta Informatica.