Unifying Theories in Isabelle/HOL

In this paper, we present various extensions of Isabelle/HOL by theories that are essential for several formal methods. First, we explain how we have developed an Isabelle/HOL theory for a part of the Unifying Theories of Programming (UTP). It contains the theories of alphabetized relations and designs. Then we explain how we have encoded first the theory of reactive processes and then the UTP theory for CSP. Our work takes advantage of the rich existing logical core of HOL. Our extension contains the proofs for most of the lemmas and theorems presented in the UTP book. Our goal is to propose a framework that will allow us to deal with formal methods that are semantically based, partly or totally, on UTP, for instance CSP and Circus. The theories presented here will allow us to make proofs about such specifications and to apply verified transformations on them, with the objective of assisting refinement and test generation.

[1]  Peter B. Andrews An introduction to mathematical logic and type theory - to truth through proof , 1986, Computer science and applied mathematics.

[2]  Ana Cavalcanti,et al.  Encoding Circus Programs in ProofPowerZ , 2008, UTP.

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

[4]  Achim D. Brucker,et al.  Symbolic Test Case Generation for Primitive Recursive Functions , 2004, FATES.

[5]  Achim D. Brucker,et al.  A Proof Environment for Z-Specifications , 2003 .

[6]  Achim D. Brucker,et al.  An Extensible Encoding of Object-oriented Data Models in hol , 2008, Journal of Automated Reasoning.

[7]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[8]  Augusto Sampaio,et al.  Refinement Techniques in Software Engineering, First Pernambuco Summer School on Software Engineering, PSSE 2004, Recife, Brazil, November 23-December 5, 2004, Revised Lectures , 2006, PSSE.

[9]  Brian Nielsen,et al.  Formal Approaches to Software Testing, 4th International Workshop, FATES 2004, Linz, Austria, September 21, 2004, Revised Selected Papers , 2005, FATES.

[10]  Ana Cavalcanti,et al.  A Note on Traces Refinement and the conf Relation in the Unifying Theories of Programming , 2008, UTP.

[11]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

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

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

[14]  Achim D. Brucker,et al.  Test-Sequence Generation with Hol-TestGen with an Application to Firewall Testing , 2007, TAP.

[15]  Ana Cavalcanti,et al.  Mechanical reasoning about families of UTP theories , 2009, Sci. Comput. Program..

[16]  C. A. R. Hoare,et al.  Unifying theories of programming , 1998, RelMiCS.