\begin{zed}
  Colour ::= blue | red
\end{zed}  

\begin{circus}
    \circchannel in, out: Colour
\end{circus}  

\begin{circus}  
    \circprocess ProcP \circdef \circbegin
\end{circus}

\begin{circusaction}
      \circspot in?x \then out!x \then \Skip
\end{circusaction}

\begin{circus}
\circend
\end{circus}


\begin{circus}
    \circprocess Test \circdef x : \nat \circspot \circbegin
\end{circus}

\begin{circusaction}
      \circspot \Skip
\end{circusaction}

\begin{circus}
\circend
\end{circus}

\begin{circus}
    \circprocess ProcSkip \circdef \circbegin
\end{circus}

\begin{circusaction}
      \circspot \Skip
\end{circusaction}

\begin{circus}
\circend
\end{circus}

\begin{circus}
    \circprocess ProcQ \circdef p1: \nat ; p2: Colour \circspot
    \circbegin
\end{circus}

\begin{circusaction}
      \circspot \Skip
\end{circusaction}

\begin{circus}
\circend
\end{circus}

\begin{circus}
    \circprocess ProcSeq \circdef
            ProcP \circseq ProcQ (1, blue)
\end{circus}

\begin{circus}
    \circprocess ProcIntChoiceP \circdef
            ProcP \intchoice %ProcQ (0, blue)
            ( ProcQ (0, blue)
            \intchoice ProcSeq
            )
\end{circus}

\begin{circus}
    \circprocess ProcCall \circdef
    	ProcP \intchoice ( Test (5) \intchoice (Test (5) \circseq Test (5)) )
\end{circus}
