我正在尝试在Coq中定义Ackermann-Peters函数,但是我收到了一个我不理解的错误消息。正如您所见,我正在将Ackermann的参数a、b打包成一对ab;我提供了一个用于定义参数排序的排序函数。然后,我使用Function表单来定义Ackermann本身,并为ab参数提供了排序函数。...
它们似乎具有类似的目的。到目前为止我注意到的唯一区别是,虽然 Program Fixpoint 可以接受类似于 {measure (length l1 + length l2) } 的组合度量,但是 Function 会拒绝这样做,只允许 {measure length l1}。 Progr...
有没有类似于策略simpl用于程序不动点的东西? 特别地,如何证明以下平凡语句? Program Fixpoint bla (n:nat) {measure n} := match n with | 0 => 0 | S n' => S (bla n') end. Lemma...
我可以为您翻译。以下是需要翻译的内容: Agda 中的大小类型是什么?我试图阅读有关MiniAgda的论文,但由于以下原因未能继续: 为什么数据类型通常会涵盖它们的大小?据我所知,大小是归纳树的深度。 为什么数据类型在其大小上是协变的,即 i <= j -> T_i <...
该链接(http://docs.idris-lang.org/en/v0.99/tutorial/theorems.html#totality-checking-issues)指出: 其次,目前的实现所投入的精力还很有限,因此可能仍然存在它认为是完全函数但实际上并非如此的情况。暂时不要指望...
我正在使用 Coq 进行实验。具体来说,我正在尝试实现归并排序并证明其有效性。 我的实现尝试是: Fixpoint sort ls := match ls with | nil => nil | cons x nil => cons x nil | xs => let...