[Tex/LaTex] For two column article (ACM template), why does the newtheorem environment (definition) not span into one column

theorems

I am trying to put a definition using the newtheorem environment for an ACM template. After it execution, it is not placed in the single column, rather it span towards the next column. I have attach the output. Please explain, why it is behaving abnormally? The MWE and the output (screen shot), is as follows.

\documentclass{sig-alternate-05-2015}
\usepackage{multirow}
\usepackage{hyperref}
\begin{document}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{dfn}{Definition}
\newtheorem{hypothesis}{Hypothesis}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{remark}{Remark}
\newtheorem{example}{Example}
\setcopyright{acmcopyright}
\subsection{Mathematical Definitions}

\begin{dfn}[One-Way Hash Function]
Given $H(x)$, it is hard for any PPT bounded algorithm  $\mathcal{A}$ to find out $x$. The advantage $\epsilon$ of $\mathcal{A}$ in finding  another solution is defined as
$$\left\vert\Pr\left[
\left.\begin{array}{l}
x\in_R \{0,1\}^n\\y\leftarrow H(x)\\x'\leftarrow\mathcal{A}(y)
\end{array}
\right\vert H(x')=y\right] \right \vert\geq\epsilon$$
\end{dfn}
\begin{dfn}[Negligible Function with K tretitors in IBE scheme]
content...
\end{dfn}

enter image description here

Best Answer

The sig-alternate setup of theorem-like environments typesets the whole label, including the attribution/name part, in a box.

This does not happen when amsthm is loaded. However, in order to allow using amsthm one has to remove the definition of proof and reinstate it afterwards.

\documentclass{sig-alternate-05-2015}

\let\sigproof\proof\let\proof\relax
\let\sigendproof\endproof\let\endproof\relax

\usepackage{amsthm}

\let\proof\sigproof
\let\endproof\sigendproof

\newtheoremstyle{sig}
  {}
  {}
  {\itshape}
  {}
  {\scshape}
  {.}
  {.5em}
  {#1 #2\thmnote{\quad(#3)}}

\theoremstyle{sig}

\newtheorem{theorem}{Theorem}[section]
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{dfn}{Definition}
\newtheorem{hypothesis}{Hypothesis}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{remark}{Remark}
\newtheorem{example}{Example}

\setcopyright{acmcopyright}

\begin{document}

\subsection{Mathematical Definitions}

\begin{dfn}[One-Way Hash Function]
Given $H(x)$, it is hard for any PPT bounded algorithm  $\mathcal{A}$ 
to find out $x$. The advantage $\epsilon$ of $\mathcal{A}$ in finding 
another solution is defined as
\[
\left\vert
\Pr\left[
\begin{array}{l}
x\in_R \{0,1\}^n\\y\leftarrow H(x)\\x'\leftarrow\mathcal{A}(y)
\end{array}
\middle\vert\; H(x')=y\right] \right\vert\geq\epsilon
\]
\end{dfn}

\begin{dfn}[Negligible Function with K tretitors in IBE scheme]
content...
\end{dfn}

\end{document}

I see no way for allowing long theorem names within the standard code of sig-alternate.

enter image description here

Related Question