如何证明反向零在精益中是零

How to prove reverse nil is nil in Lean

我已经在列表上定义了一个反向函数,我正在尝试证明空列表的反向是空的这个微不足道的 属性。它应该可以通过反身性证明:

def reverse (t : list α) : list α :=
list.rec_on t nil (λ x l r, r ++ [x])

#reduce reverse nil --outputs nil

lemma mylemma: reverse nil = nil := refl

但是,当我 运行 这段代码时,我得到一个错误:

don't know how to synthesize placeholder
context:
⊢ Type

这是什么意思?

精益无法从上下文中推断出右侧空列表的类型。 显式传递类型参数:

lemma mylemma: reverse (nil) = @nil α :=
by refl