How to reference part of a theorem?

This can also be achieved by using the enumitem package:

\documentclass{article}
\usepackage{amsthm}
\usepackage{enumitem}

\newtheorem{cor}{Corolary}

\begin{document}

\begin{cor}\label{cor}
   \begin{enumerate}[label={\thecor.\arabic*}]
       \item Part one \label{partone}
       \item Part two \label{parttwo}
   \end{enumerate}
\end{cor}
As we see in part~\ref{partone}

\end{document}

i was going to ask the exact same question. i found the solutions given here too complicated, i especially didnt want to get new packages for such a simple job. so i kept on reading and i am now completely satisfied with this solution:

\hyperref[partone]{\ref*{cor}.\ref*{partone}}


You can use the chngcntr package to make the enumi counter depend on your cor counter. If you do this within the corollary environment, it won't affect other enumerate environments.

\documentclass{article}
\usepackage{amsthm}
\newtheorem{cor}{Corollary}
\usepackage{chngcntr}

\begin{document}

\begin{cor}{My Cor}\label{mycor}
  \counterwithin{enumi}{cor}
  \begin{enumerate}
    \item An item \label{part1}
    \item Another one \label{part2}
  \end{enumerate}
\end{cor}

In Part~\ref{part1} of the the corollary\ldots

\begin{enumerate}
  \item An item \label{outside}
\end{enumerate}
This is a reference to Item~\ref{outside} that is outside the corollary.
\end{document}

Even simpler, and without using the chngcntr package, you can simply redefine \theenumi within the cor environment:

\begin{cor}{My Cor}\label{mycor}
  \renewcommand{\theenumi}{\thecor.\arabic{enumi}}
  \begin{enumerate}
    \item An item \label{part1}
    \item Another one \label{part2}
  \end{enumerate}
\end{cor}