%%
%% This is file `ccqed.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% cc.dtx  (with options: `ccqed,chartab')
%% 
%% Copyright 2000-2013
%% Michael N"usken, Joachim von zur Gathen, computational complexity
%% 
%% IMPORTANT NOTICE:
%% 
%% This is a generated file.  It is part of the
%%      computational complexity macro package
%% derived from cc.dtx by 'tex cc.ins'.
%% See cc.dtx for license information.
%% 
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
\ProvidesPackage{ccqed}[2000/02/29 v2.05
  right-justified end-of-proof mark,
  based on Paul Taylor's QED.sty of 24 June 1995]
\def\qed{\protect\@qed{$\qedsymbol$}}
\def\qedsymbol{\square}
\newif\ifAutoQED\AutoQEDfalse
\def\parag@pushright#1{{%
    \parfillskip\z@
    \widowpenalty\@M
    \displaywidowpenalty\@M
    \finalhyphendemerits\z@
    \hbox@pushright
    #1%
    \par}}%
\def\hbox@pushright{%
    \unskip
    \nobreak
    \hfil
    \penalty50
    \hskip.2em
    \null
    \hfill
}%
\def\vbox@pushright#1{\expandafter\message %  (2 Jan 1994)
  {QED.sty could be improved in this case
    (line \the\inputlineno): please ask}%
  \page@pushright{#1}}%
\newif\if@qed\@qedfalse
\def\save@set@qed{\let\saved@ifqed\if@qed\global\@qedtrue}%
\def\restore@qed{\global\let\if@qed\saved@ifqed}
\def\@qed#1{\check@pt@fm@thm
\if@qed
     \global\@qedfalse\pushright{#1}%
\else\ifhmode\ifinner\else\par\fi\fi%
\fi}
\def\@pushright#1{%
  \ifvmode
       \ifinner\vbox@pushright{#1}%
       \else   \page@pushright{#1}%
       \fi
  \else\ifmmode\maths@pushright{\hbox{#1}}%
       \else\ifinner\hbox@pushright{#1}%
            \else\parag@pushright{#1}%
  \fi  \fi  \fi
}
\def\maths@pushright#1{%
  \ifinner
     \hbox@pushright{#1}%
  \else
     \eqno#1%
     \def\]{$$\ignorespaces}%
  \fi
}%
\def\page@pushright#1{% 18 Jan 1994
  \skip@\lastskip
  \ifdim\skip@>\z@
    \unskip
  \else\skip@\z@\relax
  \fi
  \dimen@\baselineskip
  \advance\dimen@-\prevdepth
  \nobreak
  \nointerlineskip
  \hbox to\hsize{%
    \setbox\z@\null
    \ifdim\dimen@>\z@\ht\z@\dimen@\fi
    \box\z@
    \hfill
    #1}%
  \vskip\skip@
}%
\let\nonqed@thm\@thm
\let\nonqed@endthm\@endtheorem
\def\@thm{\save@set@qed\nonqed@thm}
\def\@endtheorem{\ifAutoQED\qed\fi\restore@qed\nonqed@endthm}
\newbox\qed@box
\def\WillHandleQED{\relax
  \ifx\HandleQED\nohandle@qed
    \def\pushright{\global\setbox\qed@box\hbox}%
    \let\QEDbox\qed@box
    \def\HandleQED{\unhbox\QEDbox}%
    \aftergroup\check@handle@qed
  \else
    \let\QEDbox\voidb@x
  \fi
  }
\def\nohandle@qed{%
\errhelp{One of them is missing: see QED.sty.}%
\errmessage{This environment uses \string\WillHandleQED\space and
\string\HandleQED\space incorrectly}}
\def\check@handle@qed{\relax
\ifvoid\qed@box\else\expandafter\nohandle@qed\fi}
\def\UnHandleQED{%
\let\HandleQED\nohandle@qed
\let\QEDbox\voidb@x
\def\pushright{\protect\@pushright}}%
\UnHandleQED
\ifx\theorem@style\undefined
   \def\check@pt@fm@thm{\relax
     \ifx\square\undefined
       \gdef\square{\bigcirc
          \errhelp={Anonymous ftp e-math.ams.com /ams/amsfonts}%
          \errmessage{\string\square\space is an AMS symbol}%
          \global\let\square\bigcirc}%
     \fi
      \ifx\theorem@style\undefined
          \global\let\check@pt@fm@thm\relax
      \else
        \errhelp={The macros \@thm and \@endtheorem
          need to be re-defined.}%
        \errmessage{QED.sty must be loaded AFTER theorem.sty but
          before using \string\newtheorem}%
      \fi
      \global\let\check@pt@fm@thm\relax
      }%
\else
   \def\check@pt@fm@thm{%
      \ifx\square\undefined
         \def\square{\bigcirc
         \errhelp={Anonymous ftp e-math.ams.com /ams/amsfonts}%
         \errmessage{\string\square\space is an AMS symbol}%
         \global\let\square\bigcirc}%
      \fi
      \global\let\check@pt@fm@thm\relax
      }%
\fi
\DeclareOption{auto-QED}{\AutoQEDtrue}%
\DeclareOption{explicit-QED}{\AutoQEDfalse}%
\DeclareOption{black-square}{\def\qedsymbol{\blacksquare}}%
\DeclareOption{open-square}{\def\qedsymbol{\square}}%
\ProcessOptions\relax
\newif\if@resettagsleft@
\let\standardqed\qed
\def\rescueqed{\qquad\qedsymbol\vphantom{\standardqed}}
\def\eqnoqed{\eqno\hbox{\standardqed}}%\vphantom{\standardqed}}
\let\ccorg@eqnnum\@eqnnum
\let\ccorg@nonumber\nonumber
\def\eqnarrayqed{%
  \global\@eqnswtrue
  \global\let\nonumber\relax
  \addtocounter{equation}\m@ne
  \gdef\@eqnnum{\llap{$\qedsymbol$\vphantom{\standardqed}}%
    \global\let\nonumber\ccorg@nonumber
    \global\let\@eqnnum\ccorg@eqnnum}}
\def\tagqed{\tag*{\iftagsleft@
    \hskip\displaywidth\llap{$\qedsymbol$}\hskip-\displaywidth%
    \else$\qedsymbol$\fi}\vphantom{\standardqed}}
\def\simpletagqed{\iftagsleft@\global\@resettagsleft@true\fi
  \global\tagsleft@false
  \tag*{$\qedsymbol$}\vphantom{\standardqed}}
\def\aftersplitqed{\global\let\endsplit\@endsplit}
\let\ccorg@endsplit\endsplit
\def\@endsplit{\ccorg@endsplit\qed\global\let\endsplit\ccorg@endsplit}%
\def\noqed{}
\def\@ifcurrenv#1#2{\def\@tempa{#1}\ifx\@tempa\@currenvir\relax
  \let\next#2\fi}
\renewenvironment{displaymath}{$$}{$$\@ignoretrue}
\renewcommand{\[}{\begin{displaymath}}
\renewcommand{\]}{\end{displaymath}}
\if@ams
\def\qed{%
  \if@resettagsleft@
    \global\tagsleft@true
    \global\@resettagsleft@false
  \fi
  \let\next\standardqed
  \@ifcurrenv{displaymath}\eqnoqed
  \@ifcurrenv{equation}\noqed
  \@ifcurrenv{eqnarray}\noqed
  \@ifcurrenv{eqnarray*}\eqnarrayqed
  \@ifcurrenv{equation*}\tagqed
  \@ifcurrenv{split}\aftersplitqed
  \@ifcurrenv{multline}\noqed
  \@ifcurrenv{multline*}\simpletagqed
  \@ifcurrenv{gather}\noqed
  \@ifcurrenv{gather*}\tagqed
  \@ifcurrenv{align}\noqed
  \@ifcurrenv{align*}\tagqed
  \@ifcurrenv{alignat}\noqed
  \@ifcurrenv{alignat*}\tagqed
  \next}
\else
\def\qed{%
  \let\next\standardqed
  \@ifcurrenv{displaymath}\eqnoqed
  \@ifcurrenv{equation}\noqed
  \@ifcurrenv{eqnarray}\noqed
  \@ifcurrenv{eqnarray*}\eqnarrayqed
  \next}
\fi
\endinput
%%
%% End of file `ccqed.sty'.
