Isabelle/Circus: A Process Specification and Verification Environment

  • Abderrahmane Feliachi
  • Marie-Claude Gaudel
  • Burkhart Wolff
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7152)


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).

We develop a machine-checked, formal semantics based on a “shallow embedding” of Circus in Isabelle/UTP (our semantic theory of UTP based on Isabelle/HOL). We derive proof rules from this semantics and implement tactic support that finally allows for proofs of refinement for Circus processes (involving both data and behavioral aspects).

This proof environment supports a syntax for the semantic definitions which is close to textbook presentations of Circus.


Circus denotational semantics Isabelle/HOL Process Algebras Refinement 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Andrews, P.B.: Introduction to Mathematical Logic and Type Theory: To Truth through Proof, 2nd edn. Kluwer Academic (2002); now published by SpringerGoogle Scholar
  2. 2.
    Brucker, A.D., Wolff, B.: On theorem prover-based testing. Formal Aspects of Computing (to appear, 2012)Google Scholar
  3. 3.
    Butler, M.: CSP2B: A practical approach to combining CSP and B. Formal Aspects of Computing 12, 182–196 (2000)CrossRefzbMATHGoogle Scholar
  4. 4.
    Cavalcanti, A., Gaudel, M.-C.: Testing for refinement in Circus. Acta Informatica 48(2), 97–147 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Cavalcanti, A.L.C., Sampaio, A.C.A., Woodcock, J.C.P.: A Refinement Strategy for Circus. Formal Aspects of Computing 15(2-3), 146–181 (2003)CrossRefzbMATHGoogle Scholar
  6. 6.
    Cavalcanti, A., Woodcock, J.: A Tutorial Introduction to CSP in Unifying Theories of Programming. In: Cavalcanti, A., Sampaio, A., Woodcock, J. (eds.) PSSE 2004. LNCS, vol. 3167, pp. 220–268. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Church, A.: A formulation of the simple theory of types. Journal of Symbolic Logic 5(2), 56–68 (1940)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Feliachi, A., Gaudel, M.-C., Wolff, B.: Unifying Theories in Isabelle/HOL. In: Qin, S. (ed.) UTP 2010. LNCS, vol. 6445, pp. 188–206. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  9. 9.
    Feliachi, A., Gaudel, M.-C., Wolff, B.: Isabelle/Circus : a process specification and verification environment. Technical Report 1547, Univ. Paris-Sud XI LRI (November 2011),
  10. 10.
    Fischer, C.: How to Combine Z with Process Algebra. In: Bowen, J., Fett, A., Hinchey, M.G. (eds.) ZUM 1998. LNCS, vol. 1493, pp. 5–25. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  11. 11.
    Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice Hall International Series in Computer Science (1998)Google Scholar
  12. 12.
    Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL—A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)zbMATHGoogle Scholar
  13. 13.
    Oliveira, M., Cavalcanti, A.L.C., Woodcock, J.C.P.: A denotational semantics for Circus. Electron. Notes Theor. Comput. Sci. 187, 107–123 (2007)CrossRefGoogle Scholar
  14. 14.
    Roggenbach, M.: CSP-CASL: a new integration of process algebra and algebraic specification. Theor. Comput. Sci. 354, 42–71 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Roscoe, A.W., Hoare, C.A.R., Bird, R.: The Theory and Practice of Concurrency. Prentice Hall PTR, Upper Saddle River (1997)Google Scholar
  16. 16.
    Sampaio, A., Woodcock, J., Cavalcanti, A.: Refinement in Circus. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 451–470. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  17. 17.
    Taguchi, K., Araki, K.: The state-based CCS semantics for concurrent Z specification. In: ICFEM 1997, pp. 283–292. IEEE (1997)Google Scholar
  18. 18.
    Woodcock, J., Cavalcanti, A.: The Semantics of Circus. In: Bert, D., Bowen, J., Henson, M., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, pp. 184–203. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  19. 19.
    Zeyda, F., Cavalcanti, A.: Encoding Circus Programs in ProofPowerZ. In: Butterfield, A. (ed.) UTP 2008. LNCS, vol. 5713, pp. 218–237. Springer, Heidelberg (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Abderrahmane Feliachi
    • 1
    • 2
  • Marie-Claude Gaudel
    • 1
    • 2
  • Burkhart Wolff
    • 1
    • 2
  1. 1.Laboratoire LRI, UMR8623Univ. Paris-SudOrsayFrance
  2. 2.CNRSOrsayFrance

Personalised recommendations