How do I repeat a theorem number?
If you want to allow yourself to vary the text between the two occurrences, here's an alternative:
\documentclass{article}
\usepackage{amsthm}
\makeatletter
\newtheorem*{rep@theorem}{\rep@title}
\newcommand{\newreptheorem}[2]{%
\newenvironment{rep#1}[1]{%
\def\rep@title{#2 \ref{##1}}%
\begin{rep@theorem}}%
{\end{rep@theorem}}}
\makeatother
\newtheorem{theorem}{Theorem}
\newreptheorem{theorem}{Theorem}
\newtheorem{lemma}{Lemma}
\newreptheorem{lemma}{Lemma}
\begin{document}
\begin{reptheorem}{myAmazingTheorem}
That theorem again
\end{reptheorem}
\begin{theorem}
\label{myAmazingTheorem}
A theorem
\end{theorem}
\begin{lemma}
\label{anInsignificantLemma}
A lemma
\end{lemma}
\begin{replemma}{anInsignificantLemma}
That theorem again
\end{replemma}
\end{document}
Probably needs a little tweaking to suit different theorem styles and the like.
What about the thmtools bundle? Check out page 6 of the guide: there's a 'restatable' environment.
Here's a solution I like even though it's not very clever. You simply temporarily redefine \thetheorem
(or in your case, \thethm
):
% in the introduction
{
\renewcommand{\thetheorem}{\ref{thm:associativity}}
\begin{theorem}
Lorem ipsum ...
\end{theorem}
\addtocounter{theorem}{-1}
} % note: these braces are here to take advantage of LaTeX scoping ...
% \thetheorem is returned to its rightful definition outside of this group
% elsewhere
\begin{theorem} \label{thm:associativity}
Lorem ipsum ...
\end{theorem}
You can also define an environment on the same principle
% repeat theorems, with amsthm
% args = type,counter,reference
\newenvironment{repthm}[3]
{
\bgroup
\addtocounter{#2}{-1}
\expandafter\def\csname the#2\endcsname{\ref{#3}}
\def\foo{\end{#1}}
\begin{#1}
}
{
\foo
\egroup
}