Résumé Circus est un langage de spécification qui permet de spécifier des structures de données et des comportements complexes. Sa sémantique est basée sur le modèle UTP (unifying theories of programming) proposé par Hoare et He. Nous proposons, sur la base de Isabelle/UTP, notre théorie de la sé-mantique de UTP en Isabelle/HOL, une sémantique formelle mécanisée, basée sur une intégration superficielle (shallow-embedding) de Circus en Isabelle/UTP. Nous dérivons des règles de preuveà partir de cette sémantique et mettons en oeuvre des tactiques qui permettent d'écrire des preuves de raffinement sur des processus Circus (impliquantà la fois des données et des comportements complexes). Afin de faciliter son utilisation, l'environnement de preuve développé supporte une syntaxe très proche de la représentation textuelle de Circus.Abstract 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). Based on Isabelle/UTP, our semantic theory of UTP based on Isabelle/HOL, we develop a machine-checked, formal semantics based on a "shallow embedding" of Circus in Isabelle/UTP. 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.