我有一个策略,其预期行为是 output 一条错误消息,我想在一系列目标上以批处理模式运行它,对于每个目标,我想记录目标和策略中的错误消息。 似乎我不能用coqc做这个,因为它不会在失败时继续,所以我在 Coqide 上做这个。 我能找到的最接近的解决方案是让我的文件具有如下所示的目标: 这样做的 ...
我有一个策略,其预期行为是 output 一条错误消息,我想在一系列目标上以批处理模式运行它,对于每个目标,我想记录目标和策略中的错误消息。 似乎我不能用coqc做这个,因为它不会在失败时继续,所以我在 Coqide 上做这个。 我能找到的最接近的解决方案是让我的文件具有如下所示的目标: 这样做的 ...
错误:无法猜测 fix 的递减参数。 我按照上面的描述定义了一个函数,但是Coq好像不能处理这种递归。 我该如何解决这个问题? ...
我正在学习软件基础的“小鬼”一章。 我运行了命令Unset Printing Coercions. 在 Coq Ide 中,coq 消息警告我"Set this option from the IDE menu instead" ,显然该命令不起作用。 我想也许这个命令可以在 Coq 提示环境中工 ...
我已经定义了多态列表的类型及其构造函数,现在尝试编写一个连接 2 个列表的函数,但我的 function concat 不起作用 我得到 function concat 的错误 ...
我在消息栏中期待一些东西,但我没有看到它示例脚本: 在 JScoq 我看到( https://coq.vercel.app/scratchpad.html ): 在 vscode 中我什么也看不到。 为清楚起见,请看图片 叉: https://github.com/coq-community/ ...
我想在 Coq 证明脚本中编写中间引理,例如,在Proof. SCRIPT Qed. Proof. SCRIPT Qed. 本身 - 类似于人们在 Isar 中的表现。 如何在 Coq 中做到这一点? 例如: 我知道exact陈述,想知道是否就是这样......但我也想像在 Isar 中一样hav ...
我想在我的 CoqIde 中使用 HoTT 库。 我的环境是Coq_Platform_2021.09.0.8.13-installer-windows-x86_64-signed ,我尝试了很多方法。 我试着写Require Import HoTT. 在 CoqIde 中并得到错误Unable t ...
一切都很好,直到我在 CoqIde 中更改了首选项 -> Externals -> coqtop,然后我发现自己在启动 CoqIde 时遇到了麻烦,如图所示。 看来我在coqtop中写错了路径。 我试图重新安装coqplatform,它似乎没用。 那么如何重新启动我的 CoqIde? ...
Windows 10 中 wsl2 下的 Ubuntu 21.10 成功共享全局剪贴板内容(例如,在 nano 或 emacs 中)但 coqide(8.12.0,通过 apt 安装)没有。 我在配置和本地 coqiderc 文件中都找不到任何提及剪贴板的内容。 在 github coq 存储 ...
这是我要在这里证明的定律: 这是我的代码,直到我不知道该朝哪个方向前进: 显示为子目标的内容和我所拥有的前提似乎是可以证明的,但这是怎么回事? 我也尝试过使用exfalso. , 之后apply H. 这给了我x: X和px的子目标。 不知道以后怎么办。 谢谢您的帮助! ...
我正在尝试编写一个 function 在堆栈程序中执行 boolean 操作。 到目前为止,我得到了下面的代码,但是由于某种原因, executeBool不起作用。 Coq 显示错误“无法猜测 fix 的减少参数”,但我不太清楚为什么,因为它似乎有点“明显”是program 。 为什么会这样? 无 ...
是否可以“转换” count Fixpoint的定点定义: 对于Inductive谓词(我第一次尝试如下,但我不确定它是否正确)? (这个谓词应该描述函数的输入和output之间的关系) 为了确定它是否正确,我定义了这个定理(弱规范): 但我不知道如何完成它......有人可以帮忙吗? ...
我已经写了这个归纳谓词和它的(强)规范的部分证明: 问题是我不认为这个定理是正确的,因为 Coq 不接受像{n0 n1: nat |...}这样的东西。 有没有办法解决这个问题还是我想错了? 我认为谓词SumPairs是正确的,但由于我不确定,下面是它应该如何工作的示例:输入[(1,2),(3,4) ...
我在理解 Coq 中强规范和弱规范之间的区别时遇到了一些麻烦。 例如,如果我想使用强规范方式编写复制 function(给定一个数字 n 和一个值 x,它会创建一个长度为 n 的列表,所有元素都等于 x),我将如何做到这一点? 显然我必须写一个 function 的归纳“版本”,但是怎么写? Ha ...
我目前正在编写 Software Foundations 教科书 Verified Functional Algorithm 的第 3 卷,但我一直坚持一个练习的证明。 您可以在此处找到我目前正在处理的有关 Mergesort 的章节: https://softwarefoundations.cis ...
我正在通过 Coq 8.12.0 参考手册学习 Coq,但无法证明以下引理。 然后我被卡住以完成证明。 有任何想法吗? ...
我最近用 opam 安装了 Coq 版本 8.12.2。 我已经使用以下命令安装了 Coq 的所有包: opam repo 添加 coq 发布的https://coq.inria.fr/opam/released 但是当我尝试在 Coqide 中编译包时,它无法识别 coquelicot。 我收到 ...
我无法解决应该使用指称语义的 Coq 定理。 如果我 go 从这一点向前推进,我总是陷入无限循环。 在这种情况下应该使用什么策略? 我的 go 哪里错了? 我应该以不同的方式开始吗? ...
我有一个明显错误的假设,我想用它来证明错误。 在这种情况下,我有Hx: 0 * 0 = 2并且我的目标中有False 。 我该如何开始呢? 图片来自 CoqIDE: ...
我正在使用 Coq 8.10.0。 以下证明脚本似乎在 Mac 中工作(忽略警告): 但是 Linux (Ubuntu) 和 Windows 不接受相同的证明脚本。 它抛出以下错误: (在证明 plus_comm 中):尝试保存放弃目标的证明。 如果这确实是您想要做的,请使用 Admitted ...