%%
%% This is the file `procdefs.sty' generated on <1994/04/24>
%% by Andrew Lewis.
%%
%% This file contains macros for making setting up some standard
%% theorem environments.  If they are not already loaded when
%% this package is loaded, the packages `theorem' and `amssymb'
%% are loaded.
%%
\NeedsTeXFormat{LaTeX2e}
\def\filedate{1994/04/24}
\ProvidesPackage{procdefs}[1994/04/24]
\RequirePackage{theorem,amssymb}

\theoremheaderfont{\normalfont\scshape}
\newenvironment{procnonum}{\@ifnextchar[{\@xprocnonum}{\@yprocnonum}}
{\endtrivlist}
\def\@xprocnonum[#1]{\trivlist \item[\hskip \labelsep{\theorem@headerfont #1}]
  \normalfont\rmfamily\itshape}
\newcommand{\@yprocnonum}{\trivlist \item[] \normalfont\rmfamily\itshape}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{definition}[theorem]{Definition}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{sublemma}[theorem]{Sublemma}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{claim}[theorem]{Claim}
\newtheorem{conjecture}[theorem]{Conjecture}
\newtheorem{axiom}[theorem]{Axiom}
\newtheorem{thesis}[theorem]{Thesis}
\theorembodyfont{\normalfont\rmfamily}
\newtheorem{remark}[theorem]{Remark}
\newtheorem{remarks}[theorem]{Remarks}
\newtheorem{example}[theorem]{Example}
\newtheorem{counterexample}[theorem]{Counterexample}
\newtheorem{note}[theorem]{Note}
\newtheorem{notation}[theorem]{Notation}
\newtheorem{question}[theorem]{Question}
\newtheorem{problem}[theorem]{Problem}
\newtheorem{assumption}[theorem]{Assumption}
\newcounter{proclist}
\newenvironment{proclist}{\list{\roman{proclist})}{\usecounter{proclist}
\topsep 3pt plus 1pt minus 1pt\parsep 1.5pt plus 1pt minus .5pt\itemsep\parsep
\partopsep 1pt plus 1pt minus 1pt\let\@currentlabel=\theproclist
\def\makelabel##1{\hss\llap{##1}}}}{\endlist}
\renewcommand{\theproclist}{\roman{proclist})}

\newcommand\proofheaderfont{\normalfont\sffamily}
\newcommand\prooffont{\normalfont\rmfamily}
\newcommand\qed{\protect\@qed{$\qedsymbol$}}
\newcommand\subqed{\protect\@subqed{$\subqedsymbol$}}
\newcommand\ideaqed{\protect\@ideaqed{$\ideaqedsymbol$}}
\newcommand\oprocend{\save@set@oprocend\protect\@oprocend{$\oprocendsymbol$}\restore@oprocend}
\newcommand\pushright{\protect\@pushright}
\newcommand\qedsymbol{\blacksquare}
\newcommand\subqedsymbol{\blacktriangledown}
\newcommand\ideaqedsymbol{\blacksquare}
\newcommand\oprocendsymbol{\squarebox}
\newcommand\@prooftitle[1]{{\proofheaderfont #1:\/}}
\newcommand\thewordproof{\@prooftitle{Proof}}
\newcommand\thewordsubproof{\@prooftitle{Proof}}
\newcommand\thewordideaproof{\@prooftitle{Idea of Proof}}
\newif\ifAutoQED\AutoQEDfalse
\newcommand\parag@pushright[1]{{\parfillskip=0pt\widowpenalty=10000%
  \displaywidowpenalty=10000\finalhyphendemerits=0\hbox@pushright#1\par}}
\newcommand\hbox@pushright{\unskip\nobreak\hfil\penalty50\hskip.2em%
  \null\hfill\hfill}
\newif\if@qed\@qedfalse
\newif\if@subqed\@subqedfalse
\newif\if@ideaqed\@ideaqedfalse
\newif\if@oprocend\@oprocendfalse
\newcommand\save@set@qed{\let\saved@ifqed\if@qed\global\@qedtrue}
\newcommand\save@set@subqed{\let\saved@ifsubqed\if@subqed\global\@subqedtrue}
\newcommand\save@set@ideaqed{\let\saved@ifideaqed\if@ideaqed%
  \global\@ideaqedtrue}
\newcommand\save@set@oprocend{\let\saved@ifoprocend\if@oprocend%
  \global\@oprocendtrue}
\newcommand\restore@qed{\global\let\if@qed\saved@ifqed}
\newcommand\restore@subqed{\global\let\if@subqed\saved@ifsubqed}
\newcommand\restore@ideaqed{\global\let\if@ideaqed\saved@ifideaqed}
\newcommand\restore@oprocend{\global\let\if@oprocend\saved@ifoprocend}
\newenvironment{proof}{\@ifnextchar[{\@proofname}{\@proof}}
  {\qed\restore@qed\endtrivlist}
\def\@proofname[#1]{\trivlist\item[]\save@set@qed\@prooftitle{#1}%
  \prooffont}
\newcommand\@proof{\trivlist\item[]\save@set@qed\thewordproof\xspace\prooffont}
\newenvironment{subproof}{\trivlist\item[]%
  \save@set@subqed\thewordsubproof\prooffont}
  {\subqed\restore@subqed\endtrivlist}
\newenvironment{proofidea}{\trivlist\item[]%
  \save@set@ideaqed\thewordideaproof\prooffont}
  {\ideaqed\restore@ideaqed\endtrivlist}
\newcommand\@qed[1]{\if@qed\global\@qedfalse%
  \pushright{#1}\else\ifhmode\ifinner\else\par\fi\fi\fi}
\newcommand\@subqed[1]{\if@subqed\global\@subqedfalse%
  \pushright{#1}\else\ifhmode\ifinner\else\par\fi\fi\fi}
\newcommand\@ideaqed[1]{\if@ideaqed\global\@ideaqedfalse%
  \pushright{#1}\else\ifhmode\ifinner\else\par\fi\fi\fi}
\newcommand\@oprocend[1]{\if@oprocend\global\@oprocendfalse%
  \pushright{#1}\else\ifhmode\ifinner\else\par\fi\fi\fi}
\newcommand\@pushright[1]{{\ifvmode\null\hfill{#1}\par\else\ifmmode%
  \maths@pushright{\hbox{#1}}\else\ifinner\hbox@pushright{#1}%
  \else\parag@pushright{#1}\fi\fi\fi}}
\newcommand\maths@pushright[1]{{\ifinner\hbox@pushright{#1}\else%
  \tag*{$#1$}\fi}}

\endinput
