我关注tutorial for Isabelle,并在2.2.2节中输入以下示例:
Object.assign()
但得到了错误
theory FailedBasicAdditionProof
imports Main
begin
datatype nat = 0 | Suc nat
fun add :: "nat ⇒ nat ⇒ nat" where
"add 0 n = n" |
"add (Suc m) n = Suc(add m n)"
lemma add_02: "add m 0 = m"
apply(induction m)
apply(auto)
done
end
我做错了什么?
答案 0 :(得分:2)
如果您恰好查看the datatype docs,则完成相同的示例,但使用Legacy feature! Bad name binding: "nat.0"⌂
Legacy feature! Bad name binding: "nat.0"⌂
Bad name: "nat.0"
而不是Zero
这个词。
如果您将0
替换为0
,则示例应该有效。我认为这是一个可能在以后更改或添加的命名约定。
正确的例子在这里:
Zero