Abderrahmane Feliachi 📧, Burkhart Wolff 📧 and Marie-Claude Gaudel 📧 with contributions from Makarius Wenzel 📧

May 27, 2012


The Circus specification language combines elements for complex data and behavior specifications, using an integration of Z and CSP with a refinement calculus. Its semantics is based on Hoare and He's Unifying Theories of Programming (UTP). Isabelle/Circus is a formalization of the UTP and the Circus language in Isabelle/HOL. It contains proof rules and tactic support that allows for proofs of refinement for Circus processes (involving both data and behavioral aspects).

The Isabelle/Circus environment supports a syntax for the semantic definitions which is close to textbook presentations of Circus. This article contains an extended version of corresponding VSTTE Paper together with the complete formal development of its underlying commented theories.


BSD License


June 5, 2014
More polishing, shorter proofs, added Circus syntax, added Makarius Wenzel as contributor.


Session Circus