14得票3回答
在 Coq 中定义 Ackermann 函数时出现错误

我正在尝试在Coq中定义Ackermann-Peters函数,但是我收到了一个我不理解的错误消息。正如您所见,我正在将Ackermann的参数a、b打包成一对ab;我提供了一个用于定义参数排序的排序函数。然后,我使用Function表单来定义Ackermann本身,并为ab参数提供了排序函数。...

14得票1回答
在Coq中,程序的Fixpoint和Function有什么区别?

它们似乎具有类似的目的。到目前为止我注意到的唯一区别是,虽然 Program Fixpoint 可以接受类似于 {measure (length l1 + length l2) } 的组合度量,但是 Function 会拒绝这样做,只允许 {measure length l1}。 Progr...

13得票1回答
Coq简化程序修复点

有没有类似于策略simpl用于程序不动点的东西? 特别地,如何证明以下平凡语句? Program Fixpoint bla (n:nat) {measure n} := match n with | 0 => 0 | S n' => S (bla n') end. Lemma...

13得票1回答
Agda 中的 Sized 类型是什么?

我可以为您翻译。以下是需要翻译的内容: Agda 中的大小类型是什么?我试图阅读有关MiniAgda的论文,但由于以下原因未能继续: 为什么数据类型通常会涵盖它们的大小?据我所知,大小是归纳树的深度。 为什么数据类型在其大小上是协变的,即 i <= j -> T_i <...

7得票1回答
如果Idris认为某些事情可能是完整的,但实际上不是,那么Idris能用于证明吗?

该链接(http://docs.idris-lang.org/en/v0.99/tutorial/theorems.html#totality-checking-issues)指出: 其次,目前的实现所投入的精力还很有限,因此可能仍然存在它认为是完全函数但实际上并非如此的情况。暂时不要指望...

7得票1回答
Coq中Fixpoint的限制是什么?

我正在使用 Coq 进行实验。具体来说,我正在尝试实现归并排序并证明其有效性。 我的实现尝试是: Fixpoint sort ls := match ls with | nil => nil | cons x nil => cons x nil | xs => let...