无法统一两个相同的假设

Cannot Unify two hypotheses which are identical

我在上下文中有两个假设,但是当我尝试 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

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

这是初学者常犯的困惑。当用于假设时,apply 策略的工作原理如下:如果 H1 : A -> BH2 : Aapply H1 in H2H2 替换为 H2 : B。因此,要使您的证明成功,您必须在上下文中具有反向蕴涵 IHl : All ... l -> forallb func l = true,或者假设 H1 : forallb func l = true.