%%%%%%%%% IDRAW MACROS FROM SHAIL

%\newenvironment{boxit}%
%{\begin{tabular}{|p{\hlessm}|}
%\hline
%\begin{center}}%
%{\end{center} \\
%\hline
%\end{tabular}}
%
%
%%%%%%%%%%% END

%** MY DEF
\newcommand{\ioreduces}[1]{%
{\tiny $\stackrel{\nearrow\llap{\mbox{$\rightarrow$}}}
{#1}$}%
}

\newcommand{\frag}{\displaystyle\frac}
\renewcommand{\baselinestretch}{1.3}


%%%%%% From Vinod
%%
\def\mjoin{\mkern -4mu}
\def\mbar{\raise .10pt \hbox{$\smash-$}}
\def\sra{\makebox[.5mm][l]{\mbar}\mbar\mjoin\mbox{$\rightarrow$}}
\def\dra{\mbar\mjoin\mbox{$\rightarrow$}\makebox[.5mm][r]{$\rightarrow$}}
\def\sla{\mbox{$\leftarrow$}\mjoin\mbar\makebox[.5mm][r]{\mbar}}
\def\dla{\makebox[.5mm][l]{$\leftarrow$}\mbox{$\leftarrow$}\mjoin\mbar}
\newcommand{\reduces}[2]{\mathrel{\mathop{\dra}\limits_{#1}^{#2}}}


\newcommand{\reduce}[2]{\mathrel{\mathop{\sra}\limits_{#1}^{#2}}}
\newcommand{\lreduces}[2]{\mathrel{\mathop{\dla}\limits_{#1}^{#2}}}
\newcommand{\lreduce}[2]{\mathrel{\mathop{\sla}\limits_{#1}^{#2}}}

\def\ddra{\mjoin\mbox{$\swarrow$}\makebox[.5mm][r]{$\swarrow$}}
\def\ssra{\makebox[.5mm][l]{}\mjoin\mbox{$\swarrow$}}
\def\ddla{\makebox[.5mm][l]{$\searrow$}\mbox{$\searrow$}\mjoin}
\def\ssla{\mbox{$\searrow$}\mjoin\makebox[.5mm][r]{}}

\newcommand{\dlreduces}[2]{\mathrel{\mathop{\ddra}\limits_{#1}^{#2}}}
\newcommand{\dlreduce}[2]{\mathrel{\mathop{\ssra}\limits_{#1}^{#2}}}
\newcommand{\drreduces}[2]{\mathrel{\mathop{\ddla}\limits_{#1}^{#2}}}
\newcommand{\drreduce}[2]{\mathrel{\mathop{\ssla}\limits_{#1}^{#2}}}


%%
%% NEW ARROWS
%%
\newarrow{dashmapto}{mapsto}{dash}{}{dash}{vee}%%
\newarrow{dashmapsto}{mapsto}{dash}{}{dash}{doublevee}%%
\newarrow{dashtos}{}{dash}{}{dash}{doublevee}%%
\newarrow{mapstos}{mapsto}---{doublevee}%%
\newarrow{tos}----{doublevee}%%

\newcommand{\blank}{\vspace{1ex}}   % generates a blank line in the output


% Shail ``CASE'' ENVIRONMENT
\newcounter{case}
\newenvironment{mycases}%
{\begin{list}%
{{\em }\ \arabic{case}:}{\usecounter{case}%
                              \setlength{\rightmargin}{\leftmargin}}}%
{\end{list}}

% SUBCASE ENVIRONMENT
\newcounter{subcase}
\newenvironment{mysubcases}%
{\begin{list}%
{{\em }\ \arabic{case}.\arabic{subcase}:}{\usecounter{subcase}%
                               \setlength{\rightmargin}{\leftmargin}}}%
{\end{list}}

% SUBSUBCASE ENVIRONMENT
\newcounter{subsubcase}
\newenvironment{mysubsubcases}%
{\begin{list}%
{{\em }\ \arabic{case}.\arabic{subcase}.\arabic{subsubcase}:}{\usecounter{subsubcase}%
                               \setlength{\rightmargin}{\leftmargin}}}%
{\end{list}}

%\newtheorem{mexample}[theorem]{Example}
%\renewenvironment{example}{\begin{mexample}\rm}{\end{mexample}}

% Use these for theorems, lemmas, proofs, etc.
%
%\newtheorem{theorem}{Theorem}[section]
%\newtheorem{lemma}[theorem]{Lemma}
%\newtheorem{claim}[theorem]{Claim}
%\newtheorem{corollary}[theorem]{Corollary}
%\newtheorem{definition}[theorem]{Definition}
%\newtheorem{fact}[theorem]{Fact}

%\newtheorem{remark}[theorem]{Remark}
%\newtheorem{proposition}[theorem]{Proposition}
%\newtheorem{conjecture}[theorem]{Conjecture}
%\newenvironment{proof}{{\em Proof:}}{\hfill\rule{2mm}{2mm}}
%\newenvironment{proof}{\vspace{-0.2cm}{\em Proof:}}{\hfill $\clubsuit$}
%\newenvironment{proof}{\vspace{-0.2cm}{\em Proof:}}{\hfill $\Box$}
%\newenvironment{proof}{\vspace{-0.2cm}{\em Proof:}}{\hfill $\heartsuit$}
%\newenvironment{proof}{{\em Proof:}}{\hfill $\clubsuit$}

%
% Use the following for definitions.
% \bigdef is for definitions to be set off by themselves; \smalldef is for
% definitions given in the middle of a paragraph.
%
\newenvironment{dfn}{{\vspace*{1ex} \noindent \bf Definition }}{\vspace*{1ex}}
\newcommand{\bigdef}[2]{\index{#1}\begin{dfn} {\rm #2} \end{dfn}}
\newcommand{\smalldef}[1]{\index{#1} {\em #1}}

%

% SHORT FORMS FOR ITALICIZED ``i.e.'', ``e.g.'', ``etc.''

\newcommand{\ie}{{\em i.e., \/}}
\newcommand{\vis}{{\em vis., \/}}
\newcommand{\eg}{{\em e.g., \/}}
\newcommand{\etc}{{\em etc., \/}}
\newcommand{\Eg}{{\em E.g., \/}}

\newcommand{\mv}[1]{\stackrel{\rightarrow}{#1}}

\newcommand{\sL}{{\sf L }}
\newcommand{\sC}{{\sf C }}
\newcommand{\sF}{{\sf F }}
\newcommand{\sG}{{\sf G }}
\newcommand{\sY}{{\sf Y }}
\newcommand{\sH}{{\sf H }}
\newcommand{\sP}{{\sf P }}
\newcommand{\sS}{{\sf S }}
\newcommand{\K}{{\sf K }}
\newcommand{\A}{{\sf A }}
\newcommand{\B}{{\sf B }}
\newcommand{\C}{{\sf C }}
\newcommand{\sI}{{\sf I }}
\newcommand{\sJ}{{\sf J }}
