% Process notation
\newcommand{\parprocs}[2]{{#1} | {#2}}
\newcommand{\restrict}[2]{({#2}) \backslash {#1}}
\newcommand{\recdef}[2]{{\bf rec} {\recvar {#1}} \cdot {#2}}
\newcommand{\guardedrec}[3]{{\bf rec} {\recvar {#1}} \cdot {#2} \cdot (\,\parprocs {#3} {\recvar {#1}}\,)}
\newcommand{\replicate}[2]{\recdef {#1} {#2}}
\newcommand{\guardedrep}[3]{\guardedrec {#1} {#2} {#3}}
\newcommand{\recvar}[1]{{#1}}
\newcommand{\agtuse}[2]{\recvar {#1} ({#2})}
\newcommand{\agtdef}[3]{\agtuse {#1} {#2} = {#3}}
\newcommand{\inpact}[3]{{#1}?{#2} \cdot {#3}}
\newcommand{\inpacta}[2]{{#1}?{#2}}
\newcommand{\outact}[3]{{#1}!{#2} \cdot {#3}}
\newcommand{\outacta}[2]{\{#1}!{#2}}
\newcommand{\match}[3]{{#1}={#2} \cdot {#3}}
\newcommand{\inaction}{()}
\newcommand{\pair}[2]{({#1},{#2})}
\newcommand{\triv}{()}
