\theorembodyfont{}
\theoremstyle{break}
\newtheorem{theorem}{Theorem}

\newtheorem{lemma}{Lemma}
\newtheorem{corollary}[lemma]{Corollary}

\theoremstyle{break}
\theoremsymbol{\ensuremath{\diamond}}
\newtheorem{definition}{Definition}

\expandafter\let\csname proof\endcsname\relax
\expandafter\let\csname proof*\endcsname\relax
\expandafter\let\csname endproof\endcsname\relax
\expandafter\let\csname endproof*\endcsname\relax

\theoremstyle{nonumberbreak}
%\theoremseparator{.}
\newtheorem{example}{Example}
% TODO: Nicer formatting for examples?

\theoremheaderfont{\itshape}
\theoremsymbol{\ensuremath{_\blacksquare}}
\newtheorem{proof}{Proof}

\newcommand{\lemdisplayunskip}{\strut}%\vspace*{-\baselineskip}}
\newcommand{\thmdisplayunskip}{\strut\vspace*{-\baselineskip}}
\newcommand{\defdisplayunskip}{\strut\vspace*{-\baselineskip}}
\newcommand{\proofdisplayunskip}{\strut\vspace*{-\baselineskip}\vspace*{-\abovedisplayskip}}

