%%
%% This is file `ccthm.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% cc.dtx  (with options: `ccthm,chartab')
%% 
%% Copyright 2000-2012
%% 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{ccthm}[2000/02/29 v2.05
  theorem environments for cc.  Michael Nuesken, Bonn.]
\newif\if@theoremitemprefixes
\DeclareOption{theoremitemprefixes}{\@theoremitemprefixestrue}
\DeclareOption{notheoremitemprefixes}{\@theoremitemprefixesfalse}
\ExecuteOptions{theoremitemprefixes}
\ProcessOptions\relax
\RequirePackage{theorem}[1995/11/23 v2.2c]
\RequirePackage{thcc}
\RequirePackage{relabel}
\newtoks\everytheorem
\everytheorem{}
\if@theoremitemprefixes
\def\EnumerationInTheorems#1{%
  \let\@thm@currentlabel\@empty
  \let\@thm@bare@currentlabel\@empty
  \let\@@refstepcounter\refstepcounter
  \def\refstepcounter##1{%
    \let\refstepcounter\@@refstepcounter
    \let\@@refstepcounter\@undefined
    \refstepcounter{##1}%
    \let\@thm@currentlabel\@currentlabel
    \protected@edef\@thm@bare@currentlabel{{\csname the##1\endcsname}}%
    }%
  \def\theenumi{\@roman\c@enumi}%
  \def\labelenumi{(\theenumi)}%
  \defprefix{enumi}##1{%
    \protect\protect\protect\@@conduselabel
    {{\protect\csname the#1\endcsname}}%
    {\@thm@bare@currentlabel}{\@thm@currentlabel}%
    (##1)}%
  \defprefix{enumii}##1{%
    \protect\protect\protect\@@conduselabel
    {{\protect\csname the#1\endcsname}}%
    {\@thm@bare@currentlabel}{\@thm@currentlabel}%
    (\theenumi.##1)}%
  \def\theenumiii{\@arabic\c@enumiii}%
  \def\labelenumiii{(\theenumiii)}%
  \defprefix{enumiii}##1{%
    \protect\protect\protect\@@conduselabel
    {{\protect\csname the#1\endcsname}}%
    {\@thm@bare@currentlabel}{\@thm@currentlabel}%
    (\theenumi.\theenumii.##1)}%
  \defprefix{enumiv}##1{%
    \protect\protect\protect\@@conduselabel
    {{\protect\csname the#1\endcsname}}%
    {\@thm@bare@currentlabel}{\@thm@currentlabel}%
    (\theenumi.\theenumii.\theenumiii##1)}
  }
\else
\def\EnumerationInTheorems#1{%
  \def\theenumi{\@roman\c@enumi}%
  \def\labelenumi{(\theenumi)}%
  \defprefix{enumi}##1{(##1)}%
  \defprefix{enumii}##1{(\theenumi.##1)}%
  \def\theenumiii{\@arabic\c@enumiii}%
  \def\labelenumiii{(\theenumiii)}%
  \defprefix{enumiii}##1{(\theenumi.\theenumii.##1)}%
  \defprefix{enumiv}##1{(\theenumi.\theenumii.\theenumiii##1)}
  }
\fi
\def\reset@prefixrefstepcounter#1{%
  \let\refstepcounter\cc@normal@refstepcounter% Put refstepcounter back to normal
  \refstepcounter{#1}% do normal operation
  \defprefix{equation}##1{(##1)}% reset equation prefix
}
\def\theorempreamblenn\@thm#1#2{%
  \defprefix{#1}##1{#2}%
  \let\cc@normal@refstepcounter\refstepcounter
  \let\refstepcounter\reset@prefixrefstepcounter
  \EnumerationInTheorems{#1}%
  \pagebreak[3]\relax
  \the\everytheorem
  \@thm{#1}{#2}}
\theorem@bodyfont{\theorempreamblenn}
\theoremstyle{ccnn}
\newtoks\theoremtitle
\newtheorem{namedth@@r@m*}{\the\theoremtitle}
\newenvironment{namedtheorem*}[1]{%
  \theoremtitle{#1}\csname namedth@@r@m*\endcsname}
{\csname endnamedth@@r@m*\endcsname}
\babel\def\Answer{Answer}[german=Antwort,french=Reponse]
\newtheorem{answer*}[namedth@@r@m*]{\Answer}%
\babel\def\Assumption{Assumption}[german=Annahme,french=Assomption]
\newtheorem{assumption*}[namedth@@r@m*]{\Assumption}
\babel\def\Claim{Claim}[german=Behauptung,french=Proposition]
\newtheorem{claim*}[namedth@@r@m*]{\Claim}
\babel\def\Conjecture{Conjecture}[german=Vermutung,french=Conjecture]
\newtheorem{conjecture*}[namedth@@r@m*]{\Conjecture}
\babel\def\Convention{Convention}[german=Vereinbarung,french=Convention]
\newtheorem{convention*}[namedth@@r@m*]{\Convention}%
\babel\def\Corollary{Corollary}[german=Korollar,french=Corollaire]
\newtheorem{corollary*}[namedth@@r@m*]{\Corollary}
\babel\def\Counterexample{Counterexample}[%
  german=Gegenbeispiel,french=Contre-exemple]
\newtheorem{counterexample*}[namedth@@r@m*]{\Counterexample}%
\babel\def\Definition{Definition}[german=Definition,french=D\'efinition]
\newtheorem{definition*}[namedth@@r@m*]{\Definition}
\babel\def\Exercise{Exercise}[german=Aufgabe,french=Exercice]
\newtheorem{exercise*}[namedth@@r@m*]{\Exercise}
\babel\def\Fact{Fact}[german=Fakt,french=Fait]
\newtheorem{fact*}[namedth@@r@m*]{\Fact}
\babel\def\Hypothesis{Hypothesis}[german=Hypothese,french=Hypoth\`ese]
\newtheorem{hypothesis*}[namedth@@r@m*]{\Hypothesis}
\babel\def\Lemma{Lemma}[german=Lemma,french=Lemme]
\newtheorem{lemma*}[namedth@@r@m*]{\Lemma}
\babel\def\Notation{Notation}[german=Notation,french=Notation]
\newtheorem{notation*}[namedth@@r@m*]{\Notation}
\babel\def\Note{Note}[german=Notiz,french=Note]
\newtheorem{note*}[namedth@@r@m*]{\Note}
\babel\def\Observation{Observation}[%
  german=Beobachtung,french=Observation]
\newtheorem{observation*}[namedth@@r@m*]{\Observation}
\babel\def\OpenQuestion{Open Question}[%
  german=Offene Frage,french=Question ouverte]
\newtheorem{open*}[namedth@@r@m*]{\OpenQuestion}
\newtheorem{openquestion*}[namedth@@r@m*]{\OpenQuestion}
\babel\def\Problem{Problem}[german=Problem,french=Probl\`eme]
\newtheorem{problem*}[namedth@@r@m*]{\Problem}
\babel\def\Proposition{Proposition}[%
  german=Behauptung,french=Proposition]
\newtheorem{proposition*}[namedth@@r@m*]{\Proposition}
\babel\def\Question{Question}[german=Frage,french=Question]
\newtheorem{question*}[namedth@@r@m*]{\Question}%
\babel\def\Remark{Remark}[german=Bemerkung,french=Remarque]
\newtheorem{remark*}[namedth@@r@m*]{\Remark}
\babel\def\Result{Result}[german=Ergebnis,french=R\'esultat]
\newtheorem{result*}[namedth@@r@m*]{\Result}
\babel\def\Theorem{Theorem}[german=Satz,french=Th\'eor\`eme]
\newtheorem{theorem*}[namedth@@r@m*]{\Theorem}
\babel\def\Thesis{Thesis}[german=These,french=Th\`ese]
\newtheorem{thesis*}[namedth@@r@m*]{\Thesis}%
\babel\def\Warning{Warning}[german=Warnung,french=Alerte]
\newtheorem{warning*}[namedth@@r@m*]{\Warning}%
\babel\def\Example{Example}[german=Beispiel,french=Exemple]
\newenvironment{example*}[1][]{%
  \cc@ifempty{#1}
  {\csname namedtheorem*\endcsname{\Example}}%
  {\csname namedtheorem*\endcsname{\Example}[#1]}%
  \upshape
  \let\qedsymbol\eoesymbol
  }
{\qed\csname endnamedtheorem*\endcsname}
\def\theorempreamble\@thm#1#2{%
  \defprefix{#1}##1{#2~##1}%
  \let\cc@normal@refstepcounter\refstepcounter
  \let\refstepcounter\reset@prefixrefstepcounter
  \EnumerationInTheorems{#1}%
  \pagebreak[3]\relax
  \the\everytheorem
  \@thm{#1}{#2}}
\theorem@bodyfont{\theorempreamble}
\theoremstyle{cc}
\if@ccnosepeqncnt
%%% \let\c@namedth@@r@m\c@equation
%%% \def\thenamedth@@r@m{\theequation}
\def\cc@thmcnter{equation}
\newtheorem{namedth@@r@m}[\cc@thmcnter]{\the\theoremtitle}
\else
\newtheorem{namedth@@r@m}{\the\theoremtitle}
\def\cc@thmcnter{namedth@@r@m}
\fi
\newenvironment{namedtheorem}[1]
  {\theoremtitle{#1}\namedth@@r@m}
  {\endnamedth@@r@m}
\if@standardtheorems
\newtheorem{answer}[\cc@thmcnter]{\Answer}
\newtheorem{assumption}[\cc@thmcnter]{\Assumption}
\newtheorem{claim}[\cc@thmcnter]{\Claim}
\newtheorem{conjecture}[\cc@thmcnter]{\Conjecture}
\newtheorem{convention}[\cc@thmcnter]{\Convention}
\newtheorem{corollary}[\cc@thmcnter]{\Corollary}
\newtheorem{counterexample}[\cc@thmcnter]{\Counterexample}
\newtheorem{definition}[\cc@thmcnter]{\Definition}
\newtheorem{exercise}[\cc@thmcnter]{\Exercise}
\newtheorem{fact}[\cc@thmcnter]{\Fact}
\newtheorem{hypothesis}[\cc@thmcnter]{\Hypothesis}
\newtheorem{lemma}[\cc@thmcnter]{\Lemma}
\newtheorem{notation}[\cc@thmcnter]{\Notation}
\newtheorem{note}[\cc@thmcnter]{\Note}
\newtheorem{observation}[\cc@thmcnter]{\Observation}
\newtheorem{open}[\cc@thmcnter]{\OpenQuestion}
\newtheorem{openquestion}[\cc@thmcnter]{\OpenQuestion}
\newtheorem{problem}[\cc@thmcnter]{\Problem}
\newtheorem{proposition}[\cc@thmcnter]{\Proposition}
\newtheorem{question}[\cc@thmcnter]{\Question}
\newtheorem{remark}[\cc@thmcnter]{\Remark}
\newtheorem{result}[\cc@thmcnter]{\Result}
\newtheorem{theorem}[\cc@thmcnter]{\Theorem}
\newtheorem{thesis}[\cc@thmcnter]{\Thesis}
\newtheorem{warning}[\cc@thmcnter]{\Warning}
\newenvironment{example}[1][]{%
  \cc@ifempty{#1}
  {\namedtheorem{\Example}}%
  {\namedtheorem{\Example}[#1]}%
  \upshape
  \let\qedsymbol\eoesymbol
  }
{\qed\endnamedtheorem}
\else
\newtheorem{answer}{\Answer}
\newtheorem{assumption}{\Assumption}
\newtheorem{claim}{\Claim}
\newtheorem{conjecture}{\Conjecture}
\newtheorem{convention}{\Convention}
\newtheorem{corollary}{\Corollary}
\newtheorem{counterexample}{\Counterexample}
\newtheorem{definition}{\Definition}
\newtheorem{exercise}{\Exercise}
\newtheorem{fact}{\Fact}
\newtheorem{hypothesis}{\Hypothesis}
\newtheorem{lemma}{\Lemma}
\newtheorem{notation}{\Notation}
\newtheorem{note}{\Note}
\newtheorem{observation}{\Observation}
\newtheorem{open}{\OpenQuestion}
\newtheorem{openquestion}{\OpenQuestion}
\newtheorem{problem}{\Problem}
\newtheorem{proposition}{\Proposition}
\newtheorem{question}{\Question}
\newtheorem{remark}{\Remark}
\newtheorem{result}{\Result}
\newtheorem{theorem}{\Theorem}
\newtheorem{thesis}{\Thesis}
\newtheorem{warning}{\Warning}
\newtheorem{exampleexample}{\Example}
\newenvironment{example}{%
  \exampleexample%
  \upshape
  \let\qedsymbol\eoesymbol
  }
{\qed\endexampleexample}
\fi
\babel\def\ccContinued{continued}[%
  german=fortgesetzt,french=continu\'e(e)]
\newenvironment{continued}[1]{%
  \csname namedtheorem*\endcsname{\ref{#1} \ccContinued}%
  }{\csname endnamedtheorem*\endcsname}
\newenvironment{contexample}[1]{%
  \csname namedtheorem*\endcsname{\ref{#1} \ccContinued}%
  \upshape
  \let\qedsymbol\eoesymbol
  }
{\qed\csname endnamedtheorem*\endcsname}
\newcommand{\eoesymbol}{\lozenge}
\endinput
%%
%% End of file `ccthm.sty'.
