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

问题描述 投票:0回答:1

我已经在列表上定义了一个反向函数,并且我试图证明一个琐碎的属性,即空列表的反向是空的。应该通过反射来证明:

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

这是什么意思?

theorem-proving formal-verification lean
1个回答
0
投票

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

lemma mylemma: reverse (nil) = @nil α :=
by refl
© www.soinside.com 2019 - 2024. All rights reserved.