
\newtheorem{defn}{Definition}
\newtheorem{fact}{Fact}
\newcommand{\vbar}{$\mid$}
\newcommand{\angleb}[1]{$<${\it {#1}}$>$}
\newcommand{\set}[1]{ \{ #1 \}}
\newcommand{\andl}{\wedge}
\newcommand{\orl}{\vee}
\newcommand{\truel}{true}
\newcommand{\falsel}{false}

% base type
\newcommand{\btype}[1]{{\it {#1}}}
% complex type
\newcommand{\ctype}[1]{{\it {#1}}}
% define a new type
\newcommand{\dtype}[2]{\ctype{#1} = #2}
% give an identifier and its type
\newcommand{\identype}[2]{{\tt #1} :#2 }
% give a bf identifier and its type
\newcommand{\bfidentype}[2]{{\bf #1} :#2 }

% base syntactic category
\newcommand{\bscat}[1]{{\it {#1}}}
% syntactic category
\newcommand{\scat}[1]{\angleb{#1}}
% define a syntactic category
\newcommand{\dscat}[2]{\scat{#1} ::= #2 }

\newenvironment{inden}{\begin{list}{}{\setlength{\itemsep}{0in}\setlength{\parsep}{0in}}}{\end{list}}


