无法统一两个相同的假设

时间:2019-01-15 21:38:01

标签: coq coqide

在上下文中我有两个假设,但是当我尝试一个apply到另一个时,我得到了错误unable to unify。我应该能够统一它们。这两个假设如下:

IHl : forallb func l = true -> All (fun x : X => func x = true) l H1 : All (fun x : X => func x = true) l

我的目标是通过将IH1应用于H1来获得IH1的前提。

1 个答案:

答案 0 :(得分:2)

这是初学者之间的普遍困惑。在假设上使用apply策略时,其工作方式如下:如果H1 : A -> BH2 : Aapply H1 in H2H2替换为H2 : B。因此,为了获得成功的证明,您将不得不在上下文中使用相反的含义IHl : All ... l -> forallb func l = true或在假设中使用假设H1 : forallb func l = true