Coq convert non exist to forall statement
I'm new to Coq. Here's my problem. I have a statement says: H : forall x : term, ~ (exists y : term, P x y /\ ~ P y x) I guess it is equivalent to: forall x y : term, (P x y /\ ~ P y x) -> false But which tactic can I use to convert the hypothesis? I don't know of a tactic to turn not-exists into forall-not, but you can always just assert and prove it. (If you need that repeatedly, you can pack that up into an Ltac tactic definition or a simple theorem[1].) Here's three ways of getting this proved. (You should be able to just copy/paste this transcript into CoqIDE or Emacs/ProofGeneral and