在上下文中我有两个假设,但是当我尝试一个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的前提。
答案 0 :(得分:2)
这是初学者之间的普遍困惑。在假设上使用apply
策略时,其工作方式如下:如果H1 : A -> B
和H2 : A
,apply H1 in H2
将H2
替换为H2 : B
。因此,为了获得成功的证明,您将不得不在上下文中使用相反的含义IHl : All ... l -> forallb func l = true
或在假设中使用假设H1 : forallb func l = true
。