在Coq中是否有一种类似于eapply的策略可以实现“存在”的目标?
在证明过程中,我有以下内容,其中目标是存在的,目标属性是假设之一在Coq中是否有一种类似于eapply的策略可以实现“存在”的目标?,coq,coq-tactic,Coq,Coq Tactic,在证明过程中,我有以下内容,其中目标是存在的,目标属性是假设之一 H : x ==> y ... ______________________________________(1/2) exists t : tm, x ==> t 我知道我能做到。应用H.来证明当前目标,但我想知道是否有更聪明的策略可以直接使用假设来证明存在目标,比如eapply H 因为这是一个统一,所以不必在exists X中编写X部分就好了。 如果这样的策略不存在,我怎么写呢?有这样一种策略,它被称为eexi
H : x ==> y
...
______________________________________(1/2)
exists t : tm, x ==> t
我知道我能做到。应用H.来证明当前目标,但我想知道是否有更聪明的策略可以直接使用假设来证明存在目标,比如eapply H
因为这是一个统一,所以不必在exists X中编写X
部分就好了。
如果这样的策略不存在,我怎么写呢?有这样一种策略,它被称为
eexists
。
这正是你所期待的
示例用法:
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.
存在这样一种策略,它被称为
eexists
。
这正是你所期待的
示例用法:
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.
谢谢你的回答。似乎
eexists
与exists
相同。我仍然要做eexisty。应用H
,需要计算统一,即y我自己。如果我能做一些像eexists H.
或者仅仅是eassumption
的事情来完成统一,那就太好了。@tinlyx我添加了一个示例,您不需要指定y
。谢谢。一个额外的问题。是否有办法避免应用H
部分?我可以想象像eassumption
这样的东西会尝试在每个假设上应用。我尝试了假设
,得到了错误:没有这样的假设。
@tinlyxeexists。eassumption.
适用于上述示例<代码>eauto。
也有效,顺便说一句。谢谢你的回答。似乎eexists
与exists
相同。我仍然要做eexisty。应用H
,需要计算统一,即
y我自己。如果我能做一些像eexists H.
或者仅仅是eassumption
的事情来完成统一,那就太好了。@tinlyx我添加了一个示例,您不需要指定y
。谢谢。一个额外的问题。是否有办法避免应用H
部分?我可以想象像eassumption
这样的东西会尝试在每个假设上应用。我尝试了假设
,得到了错误:没有这样的假设。
@tinlyxeexists。eassumption.
适用于上述示例<代码>eauto。
也可以,顺便说一句。什么是eapply
?什么是eapply
?