为什么精益将隐含变量添加到来自eq的lemmas?

时间:2016-06-06 13:56:42

标签: formal-verification lean

以下代码有一种奇怪的行为

variable (toto : Type)
check eq.symm  --output: eq.symm : ?a toto = ?b toto → ?b toto = ?a toto

我希望在向我展示eq.symm的类型时,检查不考虑不相关的隐式变量toto。 这是真的有意吗?

1 个答案:

答案 0 :(得分:1)

我从github issues here得到了答案。

这实际上是一个引用here的错误,可以通过执行

来解决
print eq.symm -- theorem eq.symm : ∀ {A : Type} {a b : A}, a = b → b = a :=
          -- λ A a, eq.rec (eq.refl a)

check @eq.symm -- eq.symm : ∀ {A} {a b}, a = b → b = a