ML for the working programmer (2nd ed.)
ML for the working programmer (2nd ed.)
ICFEM '00 Proceedings of the 3rd IEEE International Conference on Formal Engineering Methods
Refine and Gabriel: Support for Refinement and Tactics
SEFM '04 Proceedings of the Software Engineering and Formal Methods, Second International Conference
PVS#: Streamlined Tacticals for PVS
Electronic Notes in Theoretical Computer Science (ENTCS)
ArcAngelC: a Refinement Tactic Language for Circus
Electronic Notes in Theoretical Computer Science (ENTCS)
ClawZ: cost-effective formal verification for control systems
ICFEM'05 Proceedings of the 7th international conference on Formal Methods and Software Engineering
Unifying theories in proofpower-z
UTP'06 Proceedings of the First international conference on Unifying Theories of Programming
A tactic language for refinement of state-rich concurrent specifications
Science of Computer Programming
Automating refinement of circus programs
SBMF'10 Proceedings of the 13th Brazilian conference on Formal methods: foundations and applications
Hi-index | 0.00 |
ArcAngel is a specialised tactic language devised to facilitate and automate program developments using Morgan's refinement calculus. It is especially well-suited for the specification of high-level strategies to derive programs by construction, and equipped with a formal semantics that enables reasoning about tactics. In this paper, we present an implementation of ArcAngel for the ProofPower theorem prover. We discuss the underlying design, explain how it implements the semantics of ArcAngel, and examine differences in expressiveness and flexibility in comparison to ProofPower's in-built tactic language. ArcAngel supports backtracking through angelic choice; this is beyond the basic capabilities of ProofPower and many other main-stream theorem provers. The implementation is demonstrated with a non-trivial tactic example.