簡體   English   中英

將具體假設應用於存在目標的策略

[英]Coq tactic for applying a concrete hypothesis to an existential goal

考慮以下示例:

Theorem example: forall (P: nat->Prop), P (1+2+3) -> (exists x, P x).
Proof.
intros. 
apply H 

apply H失敗,

Unable to unify "P (1 + 2 + 3)" with "exists x : nat, P x".

因此,我知道我可以使用exists 1+2+3的策略來申請在這里工作,或者,基於這個其他stackoverflow問題,還有一種更復雜的方法可以在H上使用正向推理以使其成為存在形式。

但是我希望有一些聰明的策略可以在統一時實例化存在變量,而不必明確?

您不需要前向推理,只需要一個evar:

Theorem example: forall (P: nat->Prop), P (1+2+3) -> (exists x, P x).
Proof.
intros.
eexists.
apply H.

您在此處明確地創建了一個存在變量,Coq正在使用統一實例化它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM