%Processos com canais com comunicações complexas. Apesar de a sincronização ser simples, o canal chan deverá ter dimensão 3.

\begin{circus}
	\circchannel chan, chan2: \nat \cross \nat \cross \nat
\end{circus}

\begin{circus}
	\circchannel chan3: \nat
\end{circus}

\begin{circus}
	\circchannel a
\end{circus}

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

\begin{circusaction}
	\circspot 
		chan?x?y!3
		\then \Skip
\end{circusaction}

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

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

\begin{circusaction}
	\circspot 
		chan!5?x.9
		\then \Skip
\end{circusaction}

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

\begin{circus}
	\circprocess MSComplexComm \circdef CC1 \lpar \lchanset chan \rchanset \rpar CC2
\end{circus}

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

\begin{circusaction}
	\circspot 
		chan2.5.7!9
		\then \Skip
\end{circusaction}

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

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

\begin{circusaction}
	\circspot
		chan2.5.3?x
		\then \Skip
\end{circusaction}

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

\begin{circus}
	\circprocess MSSimpleComm \circdef CS1 \lpar \lchanset chan2 \rchanset \rpar CS2
\end{circus}

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

\begin{circusaction}
	\circspot
		chan3!5
		\then \Skip
\end{circusaction}

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