% $Id: minlog.mac,v 1.3 2008/01/25 13:30:18 logik Exp $

% minlog.mac contains the macros for all tex-files of the minlog
% documentation in order to avoid code duplication and different
% notations.

\newcommand*{\Acc}       {\mathsf{Acc}}
\newcommand*{\Add}       {\mathsf{Add}}
\newcommand*{\App}       {\mathsf{App}}
\newcommand*{\BNFdef}    {\mathtt{\; ::= \;}}
\newcommand*{\BNFor}     {\mid}
\newcommand*{\Barid}     {\mathsf{Bar}}
\newcommand*{\CL}        {\textbf{CL}}
\newcommand*{\CPC}       {\textbf{Cp}}
	% classical propositional logic
\newcommand*{\CQC}       {\textbf{C}}% classical logic
\newcommand*{\CasesAxiom}{\mathsf{Cases}}
\newcommand*{\Cases}     {\C{C}}
\newcommand*{\Comp}      {\textsc{Comp}}
\newcommand*{\C}[1]      {\mathcal{#1}}
	% Euler Script - only caps, use as \C{A}
\newcommand*{\Dup}{\mathsf{Dup}}
\newcommand*{\D}[1]      {\mathbb{#1}}
	% Doubles - only caps, use as \D{A}
\newcommand*{\EfqLog}    {\textsf{Efq-Log}}
\newcommand*{\Efqdummy}  {\mathsf{dummy}}
\newcommand*{\Efq}       {\mathsf{Efq}}
\newcommand*{\Eig}       {\mathsf{Eig}}
\newcommand*{\Elim}      {\mathsf{Elim}}
\newcommand*{\EqCompat}  {\mathsf{Eq}\hbox{-}\mathsf{Compat}}
\newcommand*{\EqE}       {\mathsf{Eq}^{-}}
\newcommand*{\EqI}       {\mathsf{Eq}^{+}}
\newcommand*{\Eq}        {\approx}
\newcommand*{\Evenodd}   {\mathsf{EvenOdd}}
\newcommand*{\Even}      {\mathsf{Even}}
\newcommand*{\Ev}        {\mathsf{Ev}}
\newcommand*{\FA}        {\mathsf{FA}}
\newcommand*{\FV}        {\mathrm{FV}}
\newcommand*{\Fib}       {G}
\newcommand*{\Fun}       {\mathsf{Fun}}
\newcommand*{\F}[1]      {\mathfrak{#1}}	% Fraktur, use as \F{a}
\newcommand*{\Good}      {\mathsf{Good}}
\newcommand*{\HAcontextA}{\Pi}
\newcommand*{\HAcontextB}{\Gamma}
\newcommand*{\HAitA}[1]  {\left\{{#1}\right\}}
\newcommand*{\HAtyped}[4]{{#1}\mid{#2} \vdash {#3}\colon {#4}}
\newcommand*{\HA}        {\textbf{HA}}% Heyting arithmetic
\newcommand*{\IPC}       {\textbf{Ip}}
	% intuitionistic propositional logic
\newcommand*{\IQCE}      {\textbf{Ie}}% int.logic with E-predicate
\newcommand*{\IQC}       {\textbf{I}}% intuitionistic logic
\newcommand*{\If}        {\mathsf{If}}
\newcommand*{\Ins}       {\mathsf{Ins}}
\newcommand*{\Intro}     {\mathsf{Intro}}
\newcommand*{\LHA}       {\textbf{LHA}}% Linear Heyting arithmetic
\newcommand*{\LT}        {\textbf{LT}}% Linear Goedel T
\newcommand*{\MPC}       {\textbf{Mp}}% minimal propositional logic
\newcommand*{\MQC}       {\textbf{M}}% minimal logic
\newcommand*{\Neg}       {\mathrm{Neg}}
\newcommand*{\NumVars}   {\mathsf{NumVars}}
\newcommand*{\Od}        {\mathsf{Od}}
\newcommand*{\PV}        {\mathsf{PV}}
\newcommand*{\Prog}      {\mathsf{Prog}}
\newcommand*{\Rel}       {\mathsf{Rel}}
\newcommand*{\Rf}[1]     {\mathsf{Rf}(#1)}
\newcommand*{\SC}        {\mathsf{SC}}
\newcommand*{\SN}        {\mathsf{SN}}
\newcommand*{\ST}        {\delta}
\newcommand*{\Set}       {\mathbb{S}}
\newcommand*{\Sort}      {\mathsf{Sort}}
\newcommand*{\Stab}      {\mathsf{Stab}}
\newcommand*{\TDegs}     {\mathsf{TDegs}}
\newcommand*{\TERM}      {textsc{Term}}
\newcommand*{\Term}      {\mathsf{Term}}
\newcommand*{\Ter}       {\mathsf{Ter}}
\newcommand*{\Tikk}      {\Diamond}
\newcommand*{\Tlist}     {\mathsf{Tlist}}
\newcommand*{\Total}     {\mathsf{Total}}
\newcommand*{\TrCl}      {\mathsf{TrCl}}
\newcommand*{\Tree}      {\mathsf{Tree}}
\newcommand*{\Truthax}   {\ax_{\mathsf{true}}}
\newcommand*{\Types}     {\mathsf{Types}}
\newcommand*{\T}         {\textbf{T}}% Goedel T
\newcommand*{\Uvar}[1]   {x_{#1}}
	    %object var assigned to assumption var
\newcommand*{\Var}       {\mathsf{Var}}
\newcommand*{\Zth}       {Z}

\newcommand*{\abs}    {\mathsf{abs}}
\newcommand*{\acronym}[1]{textsc{#1}}
\newcommand*{\activation}{\mathrm{Activation}}
\newcommand*{\algAcc} {\mathsf{algAcc}}
\newcommand*{\allE}   {{\forall}^{-}}
\newcommand*{\allI}   {{\forall}^{+}}
\newcommand*{\allncE} {{\allnc}^{-}}
\newcommand*{\allncI} {{\allnc}^{+}}
\newcommand*{\allnc}  {\forall^{\mathsf{nc}}}
	%constructive, with no comp. content
\newcommand*{\andEone}{{\land}^{-}_1}
\newcommand*{\andEzero}{{\land}^{-}_0}
\newcommand*{\andI}   {{\land}^{+}}
\newcommand*{\appmon} {\mathsf{appmon}}
\newcommand*{\app}    {\mathsf{app}}
\newcommand*{\assumption}{\mathrm{Assumption}}
\newcommand*{\atom}   {\mathsf{atom}}
\newcommand*{\axiom}  {\mathrm{Axiom}}
\newcommand*{\ax}     {\mathsf{Ax}}

\newcommand*{\bang}   {\square}
\newcommand*{\betabf}
	{\beta\hspace{-1.35ex}\beta\hspace{-1.35ex}\beta}
\newcommand*{\betapar}{\beta\mathsf{par}}
\newcommand*{\betatak}{\beta\mathsf{Tak}}
\newcommand*{\bigland}
	{\mathop{\hbox{$\bigwedge$\kern-.6em$\bigwedge$}}}
\newcommand*{\biglor} {\mathop{\hbox{$\bigvee$\kern-.6em$\bigvee$}}}
\newcommand*{\bincaseconst}{\B{d}}
\newcommand*{\booleneg}{\mathsf{Neg}}
\newcommand*{\boole}  {\mathsf{boole}}
\newcommand*{\bottom} {\mathsf{b\kern-0.14em b}}
\newcommand*{\branch} {\mathsf{Branch}}
\newcommand*{\bs}     {\mathit{bs}}
\newcommand*{\btree}  {\mathsf{btree}}
\newcommand*{\bv}     {\begin{verbatim}}

\newcommand*{\card}[1]  {\#(#1)}
\newcommand*{\caseBooleConst}{\mathsf{if}}
\newcommand*{\caseListConst}{\B{c}}
\newcommand*{\caseconst}{\mathsf{case}}
\newcommand*{\clauses}  {\mathsf{KF}}
\newcommand*{\clean}[1] {{#1}^{\mathit{c}}}
\newcommand*{\cnvw}     {\mapsto_{\mathsf{w}}}
\newcommand*{\cnv}      {\mapsto}
\newcommand*{\collapse}[1]{\mathrm{c}_{#1}}
\newcommand*{\comUvar}[1]{\com{x}_{#1}}
	  %object var assigned to assumption var
\newcommand*{\completion}{\mathrm{Completion}}
\newcommand*{\comp}     {\mathsf{comp}}
\newcommand*{\com}[1]   {\bar{#1}}
\newcommand*{\conItA}[1]{\left\{{#1}\right\}}
\newcommand*{\concat}[2]{#1 \mid #2}
\newcommand*{\consnil}[1]{#1{:}}
\newcommand*{\constant} {\mathrm{Constant}}
\newcommand*{\constrtypes}{\mathsf{KT}}
\newcommand*{\constr}   {\mathsf{constr}}
\newcommand*{\cons}     {\mathsf{cons}}
\newcommand*{\contraction}{\mathrm{Contraction}}
\newcommand*{\con}[2]   {#1 :: #2}
\newcommand*{\cvind}    {\mathrm{cvind}}

\newcommand*{\defiff}{\;\;:\Longleftrightarrow\;\;}
\newcommand*{\dep}[1]{\mathsf{dp}(#1)}
	% depth of a formula or prooftree
\newcommand*{\derint}{\vdash_{\mathsf{int}}}
\newcommand*{\domain}[1]{\mathsf{D_{#1}}}
\newcommand*{\domind} {\mathsf{Dom-Ind}}
\newcommand*{\dom}{\mathsf{dom}}
\newcommand*{\dotminus}
	{\mathbin{{{-\mkern -9.5mu \mathchoice{\raise 2pt\hbox{$\cdot$}%
	\mkern6mu}{\raise 2pt\hbox{$\cdot$}\mkern6mu}{\raise 1.5pt%
	\hbox{$\scriptstyle\cdot$}\mkern4mu}{\raise 1pt%
	\hbox{$\scriptscriptstyle\cdot$}\mkern4mu}}}}}

\newcommand*{\elem}[2]{#1 \in #2}
\newcommand*{\elim}[3]{(#1, #2.#3)}
\newcommand*{\emptycontext}{\cdot}
\newcommand*{\emptyls}{\epsilon}
\newcommand*{\empt}   {\mathsf{Empty}}
\newcommand*{\emp}{\mathsf{Empty}}
\newcommand*{\eps}{\varepsilon}
\newcommand*{\eqrel}[2]{{=}(#1,#2)}
\newcommand*{\es}{\varnothing}% the empty set
\newcommand*{\etabf}{\eta\hspace{-1.28ex}\eta\hspace{-1.28ex}\eta}
\newcommand*{\etapar}{\eta\mathsf{par}}
\newcommand*{\et}[1]  {\mathsf{et}(#1)}
\newcommand*{\excE}{{\ex}^{-}}
\newcommand*{\excI}{{\ex}^{+}}
\newcommand*{\exca}   {\exists^{\mathrm{ca}}}
		 %classical ex with arith falsum
\newcommand*{\exclE}  {{\excl}^{-}}
\newcommand*{\exclI}  {{\excl}^{+}}
\newcommand*{\excl}   {\exists^{\mathsf{cl}}}
	 %classical, with logical falsum
\newcommand*{\exncE}  {({\exnc})^{-}}
\newcommand*{\exncI}  {({\exnc})^{+}}
\newcommand*{\exnc}   {\exists^{\mathsf{nc}}}
	 %constructive, with no comp. content
\newcommand*{\extend}[1]{\mathrm{e}_{#1}}
\newcommand*{\extrTer}[1]{\lbrack\!\lbrack#1\rbrack\!\rbrack}
\newcommand*{\extrTy}[1]{\tau(#1)}
\newcommand*{\ex}     {\ensuremath{\exists}} %constructive existence

\newcommand*{\false}  {\mathsf{f\kern-0.14em f}}
\newcommand*{\falsumE}{\falsum^{-}}
\newcommand*{\falsum} {\bot}
\newcommand*{\fini}
	{{\vbox{\hrule\hbox{\vrule height1.3ex\hskip0.8ex\vrule}\hrule}}}
\newcommand*{\fix}    {\mathsf{fix}}
\newcommand*{\formulas}{\mathsf{F}}

\newcommand*{\hfilll}{\hspace*{0cm plus 1filll}}

\newcommand*{\ic}{\mathrm{[}\textbf{ic}\mathrm{]}}
\newcommand*{\id}{\mathsf{id}}
\newcommand*{\ifthenelse}[3]
	{[\textbf{if}\; #1\; \textbf{then}\; #2\; \textbf{else}\; #3]}
\newcommand*{\impE}{{\to}^{-}}
\newcommand*{\impI}{{\to}^{+}}
\newcommand*{\imp}{\Rightarrow}
\newcommand*{\indexentry}[1]{\emph{#1}\index{#1}}
\newcommand*{\ind}    {\mathsf{Ind}}
\newcommand*{\inj}    {\mathsf{in}}
\newcommand*{\inquotes}[1]{``#1''}
\newcommand*{\ins}{\mathsf{ins}}
\newcommand*{\inviso}{\tilde{\varphi}} %and its inverse
\newcommand*{\iso}{\varphi}
	%\iso : rho -> clean(rho)  Isomorphism
\newcommand*{\iterate}{\mathit{I}}

\newcommand*{\lambdamon}{\lambda\mathsf{mon}}
\newcommand*{\lambf}
	{\lambda\hspace{-1.28ex}\lambda\hspace{-1.28ex}\lambda}
\newcommand*{\lametato}{\lambf\etabf_{\to}}
\newcommand*{\lamnc}{\lambda^{\mathsf{nc}}}
\newcommand*{\lamto}{\lambf_{\to}}
\newcommand*{\leafsize}[1]{\mathsf{ls}(#1)}
	%leaf size of a formula or prooftree
\newcommand*{\leaf}   {\mathsf{Leaf}}
\newcommand*{\len}[1]{\mathsf{len}(#1)}
\newcommand*{\lev}[1]{\mathsf{lev}(#1)}
\newcommand*{\linto}{\multimap}
\newcommand*{\listappend}{\mathbin{{:}{+}{:}}}
\newcommand*{\listrev}{\mathsf{Rev}}
\newcommand*{\lorcl}{\lor^{\mathsf{cl}}}
\newcommand*{\lorc}{\lor}   %constructive version, written without *
\newcommand*{\lst}    {\mathsf{list}}
\newcommand*{\ls}[2]{[\,#1\mid #2\,]}
\newcommand*{\ltensorE}{\ltensor^{-}}
\newcommand*{\ltensorI}{\ltensor^{+}}
\newcommand*{\ltensor}{\otimes}

\newcommand*{\mdir}   {\~{}/minlog}
\newcommand*{\mic}    {\mathrm{[}\textbf{mic}\mathrm{]}}
\newcommand*{\mi}     {\textsc{MINLOG}}
\newcommand*{\mrAAA}  {\;\mathbf{r}_{\C{A}}\;}
\newcommand*{\mrind}  {\mathbf{r}}
\newcommand*{\mr}     {\,\mathbf{r}\,}
\newcommand*{\mylabel}[1]{\label{#1}}

\newcommand*{\nat}     {\mathsf{nat}}
\newcommand*{\next}    {\mathsf{nxt}}
\newcommand*{\nf}[1]   {\mathsf{nf}(#1)}
\newcommand*{\nil}     {\mathsf{Nil}}
\newcommand*{\nulltype}{\varepsilon}
\newcommand*{\n}       {\mathbf{n}}

\newcommand*{\ob}      {\ensuremath{\rightarrow}} 
\newcommand*{\odd}     {\mathsf{Odd}}
\newcommand*{\one}     {\mathsf{1}}
\newcommand*{\orcE}    {\lorc^{-}}
\newcommand*{\orcIone} {\lorc^{+}_1}
\newcommand*{\orcIzero}{\lorc^{+}_0}
\newcommand*{\orcI}    {{\lorc}\mathsf{I}}
\newcommand*{\orclE}   {{\lorcl}^{-}}
\newcommand*{\orclIone}{{\lorcl}^{+}_1}
\newcommand*{\orclIzero}{{\lorcl}^{+}_0}

\newcommand*{\pair}[2]{\langle #1,#2\rangle}
\newcommand*{\passification}{\mathrm{Passification}}
\newcommand*{\passto}{\leadsto}
\newcommand*{\pass}[1]{\tilde{#1}}
\newcommand*{\pick}{\mathsf{pick}}
\newcommand*{\polylen}[1]{\vartheta(#1)}
\newcommand*{\preds}{\mathsf{P}}
\newcommand*{\pred}{\mathsf{P}}
\newcommand*{\p}{\mathsf{P}}

\newcommand*{\quadsplittyped}[6]
	{{#1}\mid{#2}\mid{#3}\mid{#4} \vdash {#5}\colon {#6}}

\newcommand*{\ran}{\mathsf{ran}}
\newcommand*{\rec}    {\C{R}}
\newcommand*{\redlplus}{\leftarrow^+}
\newcommand*{\redlrstar}{\overset{*}{\leftrightarrow}}
\newcommand*{\redlr}{\leftrightarrow}
\newcommand*{\redlstar}{\leftarrow^*}
\newcommand*{\redl}{\leftarrow}
\newcommand*{\redpar}{\rightarrow_{p}}
\newcommand*{\redplus}{\rightarrow^+}
\newcommand*{\redstarw}{\rightarrow^*_{\mathsf{w}}}
\newcommand*{\redstar}{\rightarrow^*}
\newcommand*{\redtak}{\rightarrow_{T}}
\newcommand*{\red}{\rightarrow}
\newcommand*{\rew}    {\mathsf{rew}}
\newcommand*{\rf}[3]{\mathsf{rf}(#1;#2;#3)}

\newcommand*{\select} {\mathsf{sel}}
\newcommand*{\seqarrow}{\Rightarrow}
\newcommand*{\set}[2] {\{\,#1\mid#2\,\}}
\newcommand*{\size}[1]{|#1|} %size of a prooftree or formula
\newcommand*{\sn}{\mathsf{sn}}
\newcommand*{\sort}{\mathsf{sort}}
\newcommand*{\splittyped}[4]{{#1}\mid{#2} \vdash {#3}\colon {#4}}
\newcommand*{\substnarrow}[3]{#1[#2{:=}#3]}
\newcommand*{\subst}[3]{#1[#2 {:=} #3]}
\newcommand*{\suc}    {\mathsf{S}}
\newcommand*{\s}{\mathsf{S}}

\newcommand*{\tcons}  {\mathsf{Tcons}}
\newcommand*{\termBoolElim}{\typeBool^-}
\newcommand*{\termContextA}{\Gamma}
\newcommand*{\termProdElimLeft}{\mathsf{fst}}
\newcommand*{\termProdElimRight}{\mathsf{snd}}
\newcommand*{\termProdIntro}{\typeProd^+}
\newcommand*{\termSumElim}{\typeSum^-}
\newcommand*{\termSumIntroLeft}{\mathsf{inl}}
\newcommand*{\termSumIntroRight}{\mathsf{inr}}
\newcommand*{\termTensorElim}{\typeTensor^-}
\newcommand*{\termTensorIntro}{\typeTensor^+}
\newcommand*{\termUnit}{\mathsf{Dummy}}
\newcommand*{\theoremname}{testing}
\newcommand*{\tlist}  {\mathsf{tlist}}
\newcommand*{\tree}   {\mathsf{tree}}
\newcommand*{\trisplittyped}[5]
	{{#1}\mid{#2}\mid{#3} \vdash {#4}\colon {#5}}
\newcommand*{\true}   {\mathsf{t\kern-0.14em t}}
\newcommand*{\truth}  {\top}
\newcommand*{\tval}[1]{v(#1)}
\newcommand*{\typeBin}{\mathbf{Bin}}
\newcommand*{\typeBoolInd}{\typeBool\mathrm{-Ind}}
\newcommand*{\typeBool}{\mathbf{B}}
\newcommand*{\typeD}{\diamond}
\newcommand*{\typeLinTo}{\multimap}
\newcommand*{\typeLrhoInd}{\typeL{\rho}\mathrm{-Ind}}
\newcommand*{\typeLrhoStrongInd}{\typeL{\rho}\mathrm{-Ind}^+}
\newcommand*{\typeLtauInd}{\typeL{\tau}\mathrm{-Ind}}
\newcommand*{\typeLtauStrongInd}{\typeL{\tau}\mathrm{-Ind}^+}
\newcommand*{\typeL}[1]{\mathbf{L}(#1)}
\newcommand*{\typeNInd}{\typeN\mathrm{-Ind}}
\newcommand*{\typeNStrongInd}{\typeN\mathrm{-Ind}^+}
\newcommand*{\typeN}{\mathbf{N}}
\newcommand*{\typeProd}{\times}
\newcommand*{\typeSum}{+}
\newcommand*{\typeTensorInd}{\typeTensor\mathrm{-Ind}}
\newcommand*{\typeTensor}{\otimes}
\newcommand*{\typeTo}{\to}
\newcommand*{\typeUnit}{\mathbf{U}}
\newcommand*{\typeW}{\mathbf{W}}
\newcommand*{\typed}[3]{{#1}\vdash{#2} \colon {#3}}
\newcommand*{\types}{\mathsf{T}}
\newcommand*{\typ}{\C{T}_{\to}}

\newcommand*{\unifalg}[1]{\Longrightarrow_{#1}}
\newcommand*{\unifprefixalg}[1]{\longrightarrow_{#1}}
\newcommand*{\unif}[3]{\mathsf{unif}(#1, #2 = #3)}
\newcommand*{\unit}   {\mathsf{unit}}

\newcommand*{\variable}{\mathrm{Variable}}
\newcommand*{\vars}{\mathsf{vars}}
\newcommand*{\vdashc}{\vdash_{\mathrm{c}}}
	% derivability in classical logic
\newcommand*{\vdashi}{\vdash_{\mathrm{i}}}
	% derivability in intuitionistic logic
\newcommand*{\vdashm}{\vdash_{\mathrm{m}}}
	% derivability in minimal logic

\newcommand*{\weakening}{\mathrm{Weakening}}
\newcommand*{\weight}[1]{w(#1)}% weight of a type
\newcommand*{\ws}{\mathit{w}\!\mathit{s}}

\newcommand*{\ypair}  {\mathsf{ypair}}
\newcommand*{\yplus}  {\mathsf{yplus}}
\newcommand*{\ytensor}{\mathsf{ytensor}}


\newenvironment{enumeratei}
	{\begin{enumerate}[\upshape (i)]}
	{\end{enumerate}}
   % produces (i), (ii), etc,  Cross-reference with \eqref

\newenvironment{enumeratea}
	{\begin{enumerate}[\upshape (a)]}
	{\end{enumerate}}
   % produces (a), (b), etc,  Cross-reference with \eqref

\endinput




% % Font commands
% \newcommand{\B}{\boldsymbol} 
% \newcommand{\C}[1]{\mathcal{#1}}
% \newcommand{\D}[1]{\mathbb{#1}}
% \newcommand{\F}[1]{\mathfrak{#1}}
 

% % Logic
% \newcommand{\ex}{\exists} %constructive existence
% \newcommand{\exca}{\exists^{\mathrm{ca}}} %classical ex with arith falsum
% \newcommand{\excl}{\exists^{\mathrm{cl}}} %classical ex with logic falsum
% \newcommand{\falsum}{\bot}
% \newcommand{\FV}{\mathrm{FV}}
% \newcommand{\ltensor}{\otimes}
% \newcommand{\truth}{\top}
% \newcommand{\bigland}{\mathop{\hbox{$\bigwedge$\kern-.6em$\bigwedge$}}}
% \newcommand{\biglor}{\mathop{\hbox{$\bigvee$\kern-.6em$\bigvee$}}}

% % Types
% \newcommand{\unit}{\mathsf{unit}}
% \newcommand{\boole}{\mathsf{boole}}
% \newcommand{\btree}{\mathsf{btree}}
% \newcommand{\nat}{\mathsf{nat}}
% \newcommand{\lst}{\mathsf{list}}
% \newcommand{\tlist}{\mathsf{tlist}}
% \newcommand{\tree}{\mathsf{tree}}
% \newcommand{\Types}{\mathsf{Types}}
% \newcommand{\ypair}{\mathsf{ypair}}
% \newcommand{\yplus}{\mathsf{yplus}}
% \newcommand{\ytensor}{\mathsf{ytensor}}

% % SFAs
% \newcommand{\leaf}{\mathsf{Leaf}}
% \newcommand{\branch}{\mathsf{Branch}}
% \newcommand{\tcons}{\mathsf{Tcons}}
% \newcommand{\empt}{\mathsf{Empty}}
% \newcommand{\constr}{\mathsf{constr}}
% \newcommand{\constrtypes}{\mathsf{KT}}
% \newcommand{\rec}{\C{R}}
% \newcommand{\ST}{\delta}
% \newcommand{\pair}[2]{\langle #1,#2\rangle}
% \newcommand{\inj}{\mathsf{in}}
% \newcommand{\bs}{\mathit{bs}}
% \newcommand{\nil}{\mathsf{nil}}
% \newcommand{\cons}{\mathsf{cons}}
% \newcommand{\true}{\mathsf{t\kern-0.14em t}}
% \newcommand{\false}{\mathsf{f\kern-0.14em f}}
% \newcommand{\bottom}{\mathsf{b\kern-0.14em b}}
% \newcommand{\suc}{\mathsf{S}}
% \newcommand{\termUnit}{\varepsilon}
% \newcommand{\termBoolElim}{\typeBool^-}%
% \newcommand{\termTensorIntro}{\typeTensor^+}
% \newcommand{\termTensorElim}{\typeTensor^-}
% \newcommand{\termProdIntro}{\typeProd^+}
% \newcommand{\termProdElimLeft}{\mathsf{fst}}
% \newcommand{\termProdElimRight}{\mathsf{snd}}
% \newcommand{\termSumIntroLeft}{\mathsf{inl}}
% \newcommand{\termSumIntroRight}{\mathsf{inr}}
% \newcommand{\termSumElim}{\typeSum^-}
% \newcommand{\Eq}{\approx}
% \newcommand{\eqrel}[2]{{=}(#1,#2)}

% % Rewriting
% \newcommand{\cnv}{\mapsto}

% % Predicates
% \newcommand{\atom}{\mathsf{atom}}
% \newcommand{\rew}{\mathsf{rew}}
% \newcommand{\select}{\mathsf{sel}}
% \newcommand{\Total}{\mathsf{Total}}

% % Miscellaneous
% \newcommand{\Comp}{\textsc{Comp}}
% \newcommand{\comp}{\mathsf{comp}}
% \newcommand{\et}[1]{\mathsf{et}(#1)}
% \newcommand{\fix}{\mathsf{fix}}
% \newcommand{\ind}{\mathsf{Ind}}
% \newcommand{\domind}{\mathsf{Dom-Ind}}
% \newcommand{\indexentry}[1]{\emph{#1}\index{#1}}
% \newcommand{\inquotes}[1]{``#1''}
% \newcommand{\NumVars}{\mathsf{NumVars}}
% \newcommand{\seqarrow}{\Rightarrow}
% \newcommand{\set}[2]{\{\,#1\mid#2\,\}}
% \newcommand{\subst}[3]{#1[#2 {:=} #3]}
% \newcommand{\TDegs}{\mathsf{TDegs}}





% % Font commands
% \newcommand*{\B}{\boldsymbol}
%    % Bold math symbol, use as \B{a}
% \newcommand*{\C}[1]{\mathcal{#1}}
%    % Euler Script - only caps, use as \C{A}
% \newcommand*{\D}[1]{\mathbb{#1}}
%    % Doubles - only caps, use as \D{A}
% \newcommand*{\F}[1]{\mathfrak{#1}}
%    % Fraktur, use as \F{a}

% %% Logic
% \newcommand*{\ex}{\exists} %constructive existence
% \newcommand*{\exca}{\exists^{\mathrm{ca}}} %classical ex with arith falsum
% \newcommand*{\excl}{\exists^{\mathrm{cl}}} %classical ex with logic falsum
% \newcommand*{\boole}{\mathsf{boole}}
% \newcommand*{\inquotes}[1]{``#1''}
% \newcommand*{\set}[2]{\{\,#1\mid#2\,\}}
% \newcommand*{\subst}[3]{#1[#2 {:=} #3]}

% \newcommand*{\listappend}{\mathbin{{:}{+}{:}}}
% \newcommand*{\listrev}{\mathsf{Rev}}
% \newcommand*{\mi}{\textsc{MINLOG}}
% \newcommand*{\nil}{\mathsf{Nil}}
% \newcommand*{\ob}{\ensuremath{\rightarrow}} 
% \newcommand*{\bv}{\begin{verbatim}}
% \newcommand*{\mdir}{\~{}/minlog}
