is there a `eapply`-like tactic that works on `exi

2019-08-10 08:06发布

I have the following during a proof where the goal is an existential, and the target property is one of the assumptions.

H : x ==> y
...
______________________________________(1/2)
exists t : tm, x ==> t

I know I can do exists y. apply H. to prove the current goal, but I am wondering if there is a more intelligent tactic that can use the assumption directly to prove the existential goal here, like eapply H?

Since this is one unification away, it would be nice not having to write the X part in exists X..

If such a tactic does not exist, how do I write one?

1条回答
Root(大扎)
2楼-- · 2019-08-10 08:28

There exists such a tactic and it is called eexists. It does exactly what you seem to expect.

https://coq.inria.fr/distrib/current/refman/Reference-Manual010.html#hevea_tactic23


Example use:

Variable T : Type.
Variable R : T -> T -> Prop.

Theorem test : forall x y, R x y -> exists t, R x t.
Proof.
  intros. eexists. apply H.
Qed.
查看更多
登录 后发表回答