2
下面的定义是由精益拒绝:为什么Lean强制递归类型参数在非递归类型参数后出现?
inductive natlist
| nil : natlist
| cons: natlist → ℕ → natlist
与错误消息“ARG# 'natlist.cons' 的2不是递归的,但它的递归参数之后发生”
如预期的那样,接受以下定义:
inductive natlist
| nil : natlist
| cons: ℕ → natlist → natlist
Lean执行此命令的原因是什么?
我明白你的观点。但是,有些人喜欢像这样定义二叉树的节点部分:'|节点:bintree A - > A - > bintree A - > bintree A' :) –