\documentclass{article}
\usepackage{theorem}
\theoremstyle{break} \newtheorem{Cor}{Corollary}
\theoremstyle{plain} \newtheorem{Exa}{Example}[section]
{\theorembodyfont{\upshape} \newtheorem{Rem}{Remark}}

\theoremstyle{marginbreak} \newtheorem{Lem}[Cor]{Lemma}
\theoremstyle{change}
\theorembodyfont{\itshape} \newtheorem{Def}[Cor]{Definition}
\theoremheaderfont{\scshape}

% watch order of defns
\newtheorem{theorem}{Theorem}[section]
\theoremstyle{definition}
\newtheorem{definition}{Definition}[section]

\begin{document}


\begin{Cor}
This is a sentence typeset in the theorem environment \texttt{Cor}.
\end{Cor}

\begin{Exa}
This is a sentence typeset in the theorem environment \texttt{Exa}.
\end{Exa}

\begin{Rem}
This is a sentence typeset in the theorem environment \texttt{Rem}.
\end{Rem}

\begin{Lem}[Ben User]
This is a sentence typeset in the theorem environment \texttt{Lem}.
\end{Lem}

\begin{Def}[Very impressive Definition]
This is a sentence typeset in the theorem environment \texttt{Def}.
\end{Def}

\section{Checking Order}
\begin{theorem}
  A theorem
\end{theorem}
\begin{definition}
  A definition
\end{definition}

\end{document}