\newcommand{\G}{\Gamma}

\newcommand{\z}{\mathbf{z}}
\newcommand{\suc}{\mathbf{s}}
\newcommand{\natind}{\mathbf{natind}}
\newcommand{\nat}{\mathbf{nat}} 
\newcommand{\val}{\;\mathsf{val}}

\newcommand{\HT}{\mathbf{HT}}
\newcommand{\dom}[1]{\mathsf{dom}(#1)}

\newcommand{\reduces}{\to_\beta}
\newcommand{\eval}{\Downarrow}

% crazy hacks
\makeatletter
\def\lam#1{{\lambda}\@lamarg#1:\@endlamarg\@ifnextchar\bgroup{.\,\lam}{.\,}}
\def\@lamarg#1:#2\@endlamarg{\if\relax\detokenize{#2}\relax #1\else\@lamvar{\@lameatcolon#2},#1\@endlamvar\fi}
\def\@lamvar#1,#2\@endlamvar{#2\,{:}\,#1}
\def\@lameatcolon#1:{#1}
\let\lamt\lam
\makeatother

\newcommand{\fix}{\mathbf{fix}}
\newcommand{\natrec}{\mathbf{natrec}}
