A simplistic solution would be adding
\renewcommand{\qedsymbol}{}
in the preamble, but this doesn't really work, as the following example shows:
\documentclass{article}
\usepackage{amsthm}
\renewcommand{\qedsymbol}{}
\begin{document}
\begin{proof}
A one liner
\end{proof}
\begin{proof}
This ends with a display
\[
0=0.
\]
\end{proof}
\begin{proof}
Another one liner.
\end{proof}
\end{document}
You should still have \qedhere
in the display in order to get better spacing.
It's better to modify the definition of proof
to remove the QED business.
\documentclass{article}
\usepackage{amsthm}
\makeatletter
\renewenvironment{proof}[1][\proofname]{\par
% \pushQED{\qed}% <--- remove the QED business
\normalfont \topsep6\p@\@plus6\p@\relax
\trivlist
\item[\hskip\labelsep
\itshape
#1\@addpunct{.}]\ignorespaces
}{%
% \popQED% <--- remove the QED business
\endtrivlist\@endpefalse
}
\renewcommand\qedhere{} % to ensure code portability
\makeatother
\begin{document}
\begin{proof}
A one liner
\end{proof}
\begin{proof}
This ends with a display
\[
0=0.
\]
\end{proof}
\begin{proof}
Another one liner.
\end{proof}
\end{document}
You can still have \qedhere
, but it won't have any effect, so copying code where the command has been used won't give surprises.