\newcommand{\negspace}{\!}
\newcommand{\ignoreme}[1]{}



%\item[\hskip \labelsep {\bfseries #1}]}{\end{trivlist}}
%\newenvironment{definition}[1][Definition]{\begin{trivlist}
%\item[\hskip \labelsep {\bfseries #1}]}{\end{trivlist}}
\newcommand \nil {\bf 0}
\newcommand \move[1] {{\longrightarrow}_{#1}}
\newcommand \movet[1] {\stackrel {+}{\longrightarrow}_{#1}}
\newcommand \movert[1] {\stackrel {*}{\longrightarrow}_{#1}}
\newcommand \movelab[2] {\stackrel {#2}{\longrightarrow}_{#1}}
\newcommand{\sub}[2]{{#1}_{#2}}
\newcommand{\super}[2]{{#1}^{#2}}

%neelesh' macros
%\newcommand \trans[1] {\stackrel {#1}{\longrightarrow}}
%\newcommand \Trans[1] {\stackrel {#1}{\Longrightarrow}}


%sak macros
\newcommand{\tuple}[1]{\langle #1 \rangle}
\newcommand{\pair}[2]{\langle #1, #2 \rangle}
\newcommand{\Lra}{\Longrightarrow}
\newcommand{\lra}{\longrightarrow}
\newcommand{\spos}[1]{<\!#1\!>}
\newcommand{\snec}[1]{[#1]}
\newcommand{\wpos}[1]{<\!\!<\!#1\!>\!\!>}
\newcommand{\wnec}[1]{[[#1]]}
\newcommand{\go}[1]{\stackrel{#1}{\longrightarrow}}
\newcommand{\Go}[1]{\stackrel{#1}{\Longrightarrow}}
\newcommand{\imp}{\Rightarrow}
%\newcommand{\implies}{\Rightarrow}
%\newcommand{\impliedby}{\Leftarrow}
\newcommand{\set}[1]{\{#1\}}
\newcommand{\eqhat}{\ \widehat{=}\ }
\newcommand{\raisedot}{\mbox{\raisebox{.6ex}{.}}}
\newcommand{\precdot}{\preceq\!\!\raisedot \ }
\newcommand{\eqdot}{\stackrel{.}{=}}
\newcommand{\ra}{\rightarrow}
\newcommand{\bb}{\mathbb}
%\newcommand{\viseq}{\mbox{\raisebox{-.6ex}{$\ \widehat{\overline{\ \ }}\ $}}}
%\newcommand{\viseq}{\ \widehat{\mbox{\raisebox{-.2ex}{$-$}}}}
\newcommand{\viseq}{\;\mbox{\raisebox{-.6ex}{\makebox[0pt][l]{$\widehat{\ }$}
\raisebox{.3ex}{\negspace\negspace--}}}\;}
                    
\newcommand{\boxeq}{\underline{\Box}}
\newcommand{\boxeqtwo}[2]{\ \boxeq_{(#1, #2)}\ }
\newcommand{\dotgeq}{\ \raisedot\negspace\negspace\negspace\geq}

\newcommand{\derives}[1]{\stackrel{#1}{\rightarrow}}
\newcommand{\trans}[3]{#1 \stackrel{#2}{\longrightarrow} #3}
\newcommand{\sosrule}[4]
  {{\rm\bf #1} \;\;     % #1 = name of the rule
  {\begin{array}{c}     % #2 = hypothesis
     #2 \\\hline #4     % #3 = side-condition
   \end{array}}         % #4 = conclusion
  {\ifthenelse{\equal{#3}{}}{}{\;\;(#3)}}}

\newcommand*{\dead}{{\bf 0}}
\newcommand*{\dfn}{\triangleq}
\newcommand*{\act}[1]{\textsc{#1}}
\newcommand{\goarg}[1]{\go{\act{#1}}}
\renewcommand*{\u}[1]{\underline{#1}}
\renewcommand*{\o}[1]{\overline{#1}}
\newcommand*{\vis}[1]{\u{\act{#1}}}
\newcommand*{\comp}[1]{\o{\act{#1}}}
%\newcommand{\monus}{~\mbox{$\stackrel{\raisebox{-10ex}.}{-}$}~}
\newcommand{\elevdot}{\mbox{\raisebox{1ex}{.}}}
\newcommand{\monus}{\ \ \elevdot\negspace\negspace\negspace\negspace-}
\newcommand{\zero}{\textsf{0}}
\newcommand{\one}{\textsf{1}}
\newcommand{\Vis}{\textsf{Vis}}
\newcommand{\Sig}{\textsf{Sig}}



