Unifying Theories in ProofPower-Z

The increasing interest in the combination of different computational paradigms is very well represented by Hoare & He in the Unifying Theories of Programming. In this paper, we present a mechanisation of part of that work in a theorem prover, ProofPower-Z; the theories of alphabetised relations, designs, reactive and CSP processes are in the scope of this paper. An account of how this mechanisation is done, and more interestingly, of what issues were raised and of our decisions, is presented here. We aim at providing tool support for further explorations of Hoare & He’s unification, and for the mechanisation of languages based on this unification. More specifically, Circus, a specification language that combines Z, CSP, specification statements, and Dijkstra’s guarded command language is our final target.

[1]  A. Camilleri,et al.  A Higher Order Logic Mechanization of the CSP Failure-Divergence Semantics , 1991 .

[2]  Marcel Vinícius Medeiros Oliveira Formal derivation of state-rich reactive programs using Circus , 2005 .

[3]  Jim Woodcock,et al.  Refining Industrial Scale Systems in Circus , 2004 .

[4]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[5]  Jim Woodcock,et al.  Non-interference through Determinism , 1994, J. Comput. Secur..

[6]  Albert John Camilleri Mechanizing CSP Trace Theory in Higher Order Logic , 1990, IEEE Trans. Software Eng..

[7]  Augusto Sampaio,et al.  A Refinement Strategy for Circus , 2003, Formal Aspects of Computing.

[8]  C. A. R. Hoare,et al.  Unifying Theories for Parallel Programming , 1997, Euro-Par.

[9]  Jonathan P. Bowen,et al.  ZUM '97: The Z Formal Specification Notation , 1997, Lecture Notes in Computer Science.

[10]  Steve A. Schneider,et al.  Using a Process Algebra to Control B Operations , 1999, IFM.

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

[12]  Steve A. Schneider,et al.  Using a PVS Embedding of CSP to Verify Authentication Protocols , 1997, TPHOLs.

[13]  Jim Woodcock,et al.  Unifying theories in ProofPower-Z , 2006, Formal Aspects of Computing.

[14]  Jin Song Dong,et al.  A Semantic Foundation for TCOZ in Unifying Theories of Programming , 2003, FME.

[15]  Jifeng He,et al.  Towards a Time Model for Circus , 2002, ICFEM.

[16]  Robin Milner,et al.  Edinburgh LCF , 1979, Lecture Notes in Computer Science.

[17]  Jim Woodcock,et al.  Mechanising the Alphabetised Relational Calculus , 2004, WMF.

[18]  Lawrence Charles Paulson,et al.  ML for the working programmer , 1991 .

[19]  Keijiro Araki,et al.  The state-based CCS semantics for concurrent Z specification , 1997, First IEEE International Conference on Formal Engineering Methods.

[20]  Jim Woodcock,et al.  A Denotational Semantics for Circus , 2007, Refine@ICFEM.

[21]  Michael J. C. Gordon,et al.  Edinburgh LCF: A mechanised logic of computation , 1979 .

[22]  Jim Woodcock,et al.  Angelic nondeterminism in the unifying theories of programming , 2006, Formal Aspects of Computing.

[23]  Mark Saaltink,et al.  The Z/EVES System , 1997, ZUM.

[24]  Ana Cavalcanti,et al.  From Circus to JCSP , 2004, ICFEM.

[25]  Jim Woodcock,et al.  A Tutorial Introduction to CSP in Unifying Theories of Programming , 2004, PSSE.

[26]  Ana Cavalcanti,et al.  Control Law Diagrams in Circus , 2005, FM.

[27]  Jim Woodcock,et al.  Angelic Nondeterminism and Unifying Theories of Programming , 2005, Electron. Notes Theor. Comput. Sci..

[28]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[29]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[30]  Jim Woodcock,et al.  Formal development of industrial-scale systems in Circus , 2005, Innovations in Systems and Software Engineering.

[31]  Clemens Fischer CSP-OZ: a combination of object-Z and CSP , 1997 .

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

[33]  Jim Woodcock,et al.  Formal development of industrial-scale systems , 2005 .

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

[35]  Jonathan P. Bowen,et al.  A shallow embedding of Z in HOL , 1995, Inf. Softw. Technol..

[36]  Jim Woodcock,et al.  Mechanising a Unifying Theory , 2006, UTP.

[37]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .