I'm trying to (classically) prove
~ (forall t : U, phi) -> exists t: U, ~phi
in Coq. What I'm trying to do is prove it contrapositively:
1. Assume there is no such t (so ~(exists t: U, ~phi))
2. Choose arbitrary t0:U
3. If ~phi[t/t0], then contradiction with (1)
4. Therefore, phi[t/t0]
5. Conclude (forall t:U, phi)
My problem is with lines (2) and (5). I can't figure out how to choose an arbitrary element of U, prove something about it, and conclude a forall.
Any suggestions (I'm not committed to using the contrapositive)?