%% By Théophile Bastian
%% Useful commands for concurrent games as event structures

\usepackage[normalem]{ulem}
\usepackage{MnSymbol}
\usepackage{stmaryrd}
\usepackage{tikz}
\usepackage{relsize}

\usetikzlibrary{shapes,arrows,positioning}

\newcommand{\fname}[1]{\textsc{#1}}

\newcommand{\con}{\operatorname{Con}}
\newcommand{\confl}{\raisebox{0.5em}{\uwave{\hspace{2em}}}}

\newcommand{\cov}{{{\mathrel-\joinrel\subset}}}
\newcommand{\longcov}[1]{{\stackrel{#1}
	{\mathrel-\joinrel\relbar\joinrel\subset\,}}}
\newcommand{\forkover}[1]{\longcov{#1}}
\newcommand{\fork}{\cov}

\newcommand{\edgeArrow}{\rightarrowtriangle}
\newcommand{\linarrow}{\rightspoon}
\newcommand{\redarrow}[1]{\overset{#1}{\longrightarrow}}

\newcommand{\config}{\mathscr{C}}
\newcommand{\downclose}[1]{\left[#1\right]}

\newcommand{\strComp}{\odot}
\newcommand{\strInteract}{\ostar}
\newcommand{\strParallel}{\parallel}

\newcommand{\seman}[1]{\llbracket{} #1 \rrbracket}

\newcommand{\tens}{\otimes}
\newcommand{\Tens}{\mathlarger\otimes}

% LCCS

\newcommand{\newch}[1]{\left(\nu #1\right)}

\newcommand{\linearmark}{$\mathcal{L}$}
\newcommand{\lcalc}{$\lambda$-calculus}
\newcommand{\lccs}{$\lambda$CCS}
\newcommand{\linccs}{{\linearmark}CCS}
\newcommand{\llccs}{$\lambda${\linearmark}CCS}
\newcommand{\proc}{\mathbb{P}}
\newcommand{\chan}{\mathbb{C}}

\newcommand{\validctx}{\mathcal{L}}
\newcommand{\freevars}{\operatorname{fv}}

% Copycat
\newcommand{\CC}{{\rm C\!\!\!C}}
\newcommand{\cc}{\mathrm{\,c\!\!\!\!c\,}}

\newcommand{\includedot}[2][]{%
	\begin{tikzpicture}[>=latex,line join=bevel,#1]
	\input{_build/dot/#2.tex}
	\end{tikzpicture}}
