【发布时间】:2020-11-04 08:31:18
【问题描述】:
我知道 Coq 允许定义相互递归的归纳类型。但是有没有办法在 Coq 中编写递归定义?
例如,我想写一个定义为:
Definition myDefinition A := forall B C, (myDefinition B) \/ (A = C).
上述定义中的重要部分是myDefinition B,它在另一个参数上递归调用相同的定义。在 Coq 中可以做到这一点吗?
【问题讨论】:
-
您是否打算将
A用作一条数据(如数字或字符串),如果是这种情况,则递归受到数据类型的归纳结构的严格限制。跨度>
标签: coq theorem-proving coqide