From Kleene Algebra to Refinement Algebra

KAT (Kleene Algebra with Tests) have proved to be useful for reasoning about programs in a partial correctness framework. We describe DRA (demonic Re nement Algebra), a variation of KAT for total correctness and illustrate its modeling and reasoning power with a number of applications and examples. TUCS Laboratory TUCS Learning and Reasoning Laboratory

[1]  Dexter Kozen On Hoare logic and Kleene algebra with tests , 2000, TOCL.

[2]  R. Backhouse,et al.  Regular Algebra Applied to Path-finding Problems , 1975 .

[3]  Dexter Kozen,et al.  Certification of Compiler Optimizations Using Kleene Algebra with Tests , 2000, Computational Logic.

[4]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .

[5]  Ian J. Hayes Reasoning about real-time repetitions: terminating and nonterminating , 2002, Sci. Comput. Program..

[6]  J. W. de Bakker,et al.  Mathematical theory of program correctness , 1980, Prentice-Hall international series in computer science.

[7]  Wei Chen,et al.  Program Inversion: More than Fun! , 1990, Sci. Comput. Program..

[8]  David Gries,et al.  The Science of Programming , 1981, Text and Monographs in Computer Science.

[9]  Dexter Kozen,et al.  Kleene algebra with tests , 1997, TOPL.

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

[11]  Ernie Cohen,et al.  Separation and Reduction , 2000, MPC.

[12]  E. Cohen Hypotheses in kleene algebra , 1993 .

[13]  Ralph-Johan Back,et al.  Encoding, Decoding and Data Refinement , 2000, Formal Aspects of Computing.

[14]  Jan L. A. Van de Snepscheut On Lattice Theory and Program Semantics , 1993 .

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

[16]  J Von Wright Program Inversion in the Reenement Calculus , 1990 .

[17]  Ralph-Johan Back,et al.  Reasoning algebraically about loops , 1999, Acta Informatica.