This is the preamble to a book I'm editing:


Trying to compile this document yields the error:

LaTeX Error: Command \proof already defined.

This error only occurred after the inclusion of amsthm in the above list, which I need for one of the chapters. Obviously amsthm is clashing with some other package in the list, but I have no way of finding which one (the other packages are needed for other chapters anyway).

Is there any way of telling LaTeX to ignore the definition of proof from amsthm, thus hopefully resolving the conflict?

Edit: The class I'm using is monog3, which is provided to me by Oxford University Press. I don't know if I can share its contents, but I have checked and it does contain the conflicting definition:

\def\proof{\trivlist \item[\hskip \labelsep{\bf Proof\ }]}

With this in mind, is there a way to get around the clash?

  • This works for me. If you're using TeX Live, I suggest you do an update: tlmgr update --all (I just did that myself.)
    – user10274
    Feb 8, 2012 at 15:29
  • 1
    Welcome to TeX.sx! Please take a look at advice on creating a minimal working example (MWE), as this may well help you isolate the issue you have.
    – Joseph Wright
    Feb 8, 2012 at 15:33
  • 1
    Please, show what class you're using. Probably it's defining \proof.
    – egreg
    Feb 8, 2012 at 15:35
  • @MarcvanDongen I've tried this. It didn't help (but thanks for pointing this out anyway, I definitely needed to update). Feb 8, 2012 at 16:19
  • @egreg There is indeed a clash at class level. I've edited the post above. Feb 8, 2012 at 16:19

4 Answers 4


If the class defines either a macro or an environment called proof, add the instructions \let\proof\relax and \let\endproof\relax before loading amsthm.

  • 3
    That doesn't seem to do the trick. Same error is popping up :-( Feb 8, 2012 at 15:25
  • 1
    If your document class is defining "proof" then the above line from David has to go before loading amsthm (not after). Feb 8, 2012 at 16:12
  • 1
    @FrankMittelbach That solved it! Feb 8, 2012 at 16:23
  • 2
    @EdwardGrefenstette You got several people trying to help you and it took a long time to solve your problem. In the end only you knew what was going on because you didn't suply a minimal example. For future reference, please provide one, it will save us all some time....
    – user10274
    Feb 8, 2012 at 22:55
  • This works for me, but then I don't have the \qed symbol at the end of the proof. And for some reason, the qed symbol (white square) doesn't no show up even if I type \qed at the end of the proof.
    – Jimmy R.
    Jun 8, 2022 at 11:11

The above instruction worked for me only after putting \let\proof\relax and \let\endproof\relax AFTER the \usepackage{amsthm}

  • 5
    I guess it depends on if the conflicting passage is included before or after the \usepackage{amsthm} Jun 20, 2014 at 11:32

Put these lines before \usepackage(s):




I had a conflict between amsmath and aip-cp conference proceedings class because txfonts also defined iint. I found a useful FAQ on the conflict at www.tex.ac.uk/FAQ-alreadydefined.html

Essentially, it uses the "savesym" package to de-conflict amsmath and the txfonts by saving the symbols prior to including amsmath:




Perhaps you could save/restore your proof command similarly?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .