This produces an error (\* already defined):
\documentclass{report}
\usepackage{thmtools}
\declaretheorem[numbered=no]{theorem}
\begin{document}
Nothing.
\end{document}
Adding package amsthm solves the problem:
\documentclass{report}
\usepackage{amsthm}
\usepackage{thmtools}
\declaretheorem[numbered=no]{theorem}
\begin{document}
Nothing.
\end{document}
But what should I do if I would like to define my own proof environment (without changing my existing LaTeX code)? This produces an error (\proof already defined):
\documentclass{report}
\usepackage{amsthm}
\usepackage{thmtools}
\declaretheorem[numbered=no]{proof}
\begin{document}
Nothing.
\end{document}
I could use package ntheorem as the backend of package thmtools, but the documentation of thmtools says that some features do not work with ntheorem.

proof: the environment provided byamsthmhas many good features. – egreg Jan 10 '12 at 11:54thmtoolsuntil I am satisfied with the result. – ASdeL Jan 10 '12 at 12:16