我有一个归纳关系,如下所示,标题为后缀。我试图证明相关的定理 suffix_app 。我的一般想法是使用后缀xs ys 这一事实来表明xs等于ys,或者它是ys上的一系列元素 cons 'd。
{{1}}
然而,当我使用反演时,实际上没有办法“到达”等于ys的术语。因此,我陷入了目前在代码中看到的那一点。
答案 0 :(得分:1)
您的证据只需在任何结构上进行归纳,例如:
Theorem suffix_app (X: Type) (xs ys: list X) :
suffix xs ys -> exists ws, xs = ws ++ ys.
Proof.
induction 1 as [|x xsp ysp hs [zs zeq]]; [now exists []|].
now exists (x :: zs); rewrite zeq.
Qed.
出于实际原因,您可能希望使用不同的计算版本的后缀。