[英]How to use a tactic with a hypothesis in Coq?
我是Coq的新手,已經陷入困境。 我有一個大致像這樣的歸納定義(我之前已經定義了歸納接受):
Inductive fun : accepts -> Prop :=
| fn1 : fun True
| fn2 : forall (n : nat )(A : accepts), fun A -> fun (n A).
我需要證明的是:
Lemma lem_1 (A : formula) (n : nat) (h : fun (n A)) : fun A.
當然,在開始證明時,我會得到
A : accepts
n : nat
h : fun (n A)
============================
fun A
我花了很長時間閱讀有關戰術的文章,試圖找到某種方法可以將h插入我的fn2之類的東西,但我只是找不到一種方法。 有人可以在這里指導我,給我一些想法嗎? 我也嘗試過做一些將A簡化為A的事情,但是我也沒有成功。 非常感謝您的幫助!
您似乎想證明您的h
假設是使用fn2
規則產生的。 用Coq術語來說,這需要顛倒這一假設。 為此,您可以調用inversion h
。 應用是相反的過程:將fn2
規則與陳述fun A
的假設相結合以得出fun (n A)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.