% This package defines a "\newproof" command similar to "\newtheorem".
% Its arguments are
%     #1  Name of proof environment, eg, "proof".
%     #2  Starting text, eg, Proof.
%     #3  Finishing text, eg, [] flushed right.
%
% The package goes on to define a "proof" environment with exactly the
% above setup, but other unnumbered environments can be set up in the
% same way.
%
% The created environments take one optional argument, which, if present,
% goes in brackets after #2.   Eg,
%
% \begin{proof}
%   A proof.
% \end{proof}
%
% \begin{proof}[B. L. User]
%   A named proof.
% \end{proof}
%
% \begin{proof}[of Theorem \ref{thm}]
%   Yet another.
% \end{proof}
%
% Command "\qed" is set up to flush "\qedtext" right; "\qedtext" defaults
% to a square, but can be re-defined as "QED" or whatever.
%
% M.Piff@shef.ac.uk
%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{newproof}
\newcommand{\newproof}[3]{
   \newenvironment{#1}[1][]%
   {%
      \begin{trivlist}%
         \item[\hspace{\labelsep}\textnormal{\textbf{#2%
            \def\op@@@arg{##1}%
            \ifx\op@@@arg\empty
            \else~(##1)\fi
         }}]%
   }%
   {%
      #3
      \end{trivlist}%
   }%
}
\newproof{proof}{Proof}{\qed}
\def\qed{{\ifhmode\unskip\nobreak\hfil\penalty50 \hskip1em \else\nobreak\fi
   \mbox{}\nobreak\hfil\qedtext%
   \parfillskip=0pt \finalhyphendemerits=0 \par}}

\def\qedtext{\ensuremath{\square}}
\RequirePackage{amsfonts}
\DeclareMathSymbol{\square}       {\mathord}{AMSa}{"03}


