1

Let's say I'm in the middle of a proof and I have hypotheses like these:

a : nat
b : nat
c : nat
H : somePred a b

and the definition of somePred says:

Definition somePred (p:nat) (q:nat) : Prop := forall (x : nat), P(x, p, q).

How do I apply H to c and to get P(c, a, b)?

poe123
  • 1,188
  • 8
  • 11

1 Answers1

1

The answer is:

specialize H with c.
poe123
  • 1,188
  • 8
  • 11
  • You might need to ``unfold somePred in H.`` before specializing. Alternatively, if you need to keep ``H`` as it is, you can assert a new statement, with ``assert (foo := H c).`` or ``assert (foo: P(c, a, b)) by apply H.`` . – Vinz Mar 30 '15 at 08:49