为什么 lean 将隐式变量添加到 eq 的引理中?

Why does lean add implicit variables to lemmas from eq?

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

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

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

我从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