The Z notation: a reference manual
The Z notation: a reference manual
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
A Discipline of Programming
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
Refine and Gabriel: Support for Refinement and Tactics
SEFM '04 Proceedings of the Software Engineering and Formal Methods, Second International Conference
ArcAngelC: a Refinement Tactic Language for Circus
Electronic Notes in Theoretical Computer Science (ENTCS)
Formal Aspects of Computing
Supporting ArcAngel in ProofPower
Electronic Notes in Theoretical Computer Science (ENTCS)
Control law diagrams in circus
FM'05 Proceedings of the 2005 international conference on Formal Methods
Mechanical reasoning about families of UTP theories
Science of Computer Programming
A framework for automated and certified refinement steps
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
In previous work, we have presented a mechanisation of Circus for the theorem prover ProofPower-Z. Circus is a refinement language for state-rich reactive systems that combines Z and CSP. In this paper, we present techniques to automate the discharge of proof obligations typically generated by the Circus refinement laws. They eliminate most of the proofs that are imposed by the fact that the encoding has to be precise about typing and well-definedness issues, and leave just those that are expected in a pen-and-paper refinement. This allows us to concentrate on the proof of properties that are significant for the problem at hand, while benefiting from the increased assurance and efficiency afforded by the use of a theorem prover as well as high-level tactic languages for refinement. Our case study is a refinement strategy for verification of control systems; we present the result of several experiments.