我正在编写需要修改列表的 Coq 代码,特别是通过访问索引i ,将 function 应用于该元素,然后将其替换回去。 我知道我可以使用Coq.Lists.List中定义的nth来访问列表的元素。 然后,我可以将 function 应用于此元素,但是使用Coq.Lists.List库将元素插入回原始 ...
我正在编写需要修改列表的 Coq 代码,特别是通过访问索引i ,将 function 应用于该元素,然后将其替换回去。 我知道我可以使用Coq.Lists.List中定义的nth来访问列表的元素。 然后,我可以将 function 应用于此元素,但是使用Coq.Lists.List库将元素插入回原始 ...
作为我自己的练习,我正在尝试定义和证明二叉树的一些属性。 这是我的 btree 定义: 我想证明的第一个属性是 btree 的高度至少为log2(n+1) ,其中n是节点数。 所以我简单地定义countNodes : 和heightTree : 现在,这是我的(不完整的)定理。 任何人都可以向我提供 ...
从软件基础第 1 卷的逻辑一章中,我们看到了列表反转的尾递归定义。 它是这样的: 然后,我们被要求证明tr_rev和rev的等价性,很明显它们是相同的。 不过,我很难完成入职培训。 如果社区能就如何处理此案例提供任何提示,我们将不胜感激。 据我所知: 至此,我有了这组假设和目标: 现在, [] + ...
我正在尝试使用一般证明运行 emacs 以打开 Coq 文件。 但是,当我打开 emacs 时,我收到以下错误消息: 我的 emacs 文件如下: 关于如何让我的 emacs 与 coqtop 一起工作的任何建议? ...
当我尝试复制粘贴验证代码时,有时 [...] 会出现(即使我没有复制任何此类内容)并且我无法删除它。 我必须撤消副本才能摆脱它。 这是什么意思? 谢谢。 ...
我在 Ubuntu 中使用 Coq 8.11 和 Proof-general。 我写的: Ltac 示例 1:= 失败。 并成功。 假设我想使用 unicode 符号: Proof-General -> Display -> Quick Options -> Unicode ...
我有一些代码只能在 Coq 8.09.0 中编译 coq 代码。 我通常使用的版本是现在最新的版本,即 Coq 8.11.0。 我能够使用 opam 开关创建一个新环境并在那里安装 Coq 8.09.0。 我用这个版本成功编译了所有文件; 但是,我不能在 emacs 中使用一般证明,因为它仍在使用 ...
我正在使用《Certified Programming with Dependent Types》一书,但每次我都发现不同的错误。 在我看来,错误来自 Proof General 的编译过程与本书来源的 makefile 之间的不匹配。 如果我使用 make 编译源代码并尝试在 Proof-Gene ...
在 DeepSpec 2018 的第 6 讲中,讲师检查了 获得: 然后他继续查看 + 的定义,但在此之前,他在 CoqIde 中禁用了符号的打印。 所以那个 sumbool 被打印出来。 可以检查最后一个符号。 我怎样才能用 Proof General 做同样的事情? ...
如果我做类似的事情 - From mathcomp Require Import ssreflect. 它给了我以下错误。 但如果我这样做 - Require Import ssreflect. 它编译得很好。 这可能是因为我安装了 ssreflect 但不完全是我想要的方式。 但问题是我想要 ...
在 Isabelle 证明助手中,可以单击 Ctrl+单击术语,IDE 会将他重定向到相关定义。 这可以用 CoqIde 完成吗? 与Proof-General? ...
试图证明以下引理: 我已经尝试在目标中展开nth_error和nth,但是我无法找出一种方法来告诉Coq打破这两个函数的Fixpoint定义。 我也曾尝试对n和列表进行归纳,但由于列表中的项目彼此无关,因此它们都无法解决问题。 但这显然是正确的引理,现在我觉得这无法证明,有人可以帮助我 ...
我正在做软件基础练习,并且正在做combine_split练习,试图证明辅助引理时遇到了combine_split 。 当在assert应用reflexivity ,尽管等式只是(x, y) = (x, y) ,但证明过程只是挂在那儿(x, y) = (x, y)这显然是正确的。 这 ...
我想将某些特定的命令和策略着色为不同的颜色,例如,我希望“打印”和“定位”命令为灰色,而“归纳”则为与其他策略不同的特殊颜色。 在ProofGeneral中这可能吗? 如果无法在ProofGeneral中对其进行配置,那么是否可以通过某些Emacs机制对其进行配置? PS:我已经检 ...
似乎PG不允许同时运行2个脚本。 尝试这样做的那一刻,Emacs将提示并要求撤回其他文件。 有时,脚本重新运行非常重要。 有没有办法在单个Emacs实例中实际运行2个(或更多)脚本? 我不认为带coq的coqide gui没有这样的问题。 ...
这个问题是询问有关使用deepmind开源库的说明/建议/帮助: https : //github.com/deepmind/lab或https://www.tensorflow.org/用Python。 考虑到我是深度学习和人工智能等概念的新手。 问题是: 是否有关于使用 ...
与Agda不同,Coq倾向于将证明与功能分开。 Coq给出的策略非常适合编写证据,但我想知道是否有办法复制一些Agda模式功能。 具体来说,我想: 一些相当于Agda的? 或者Haskell的_ ,我在编写时可以省略函数的一部分,并且(希望)让Coq告诉我需要放在那里的类型 ...
我一直在努力学习使用Isabelle 2016.虽然原则上我喜欢异步证明检查的想法,我不喜欢Isabelle / jEdit有很多原因,其中最严重的是它使用了太多的内存(为了我)。 如果我可以使用Isabelle 2016中的旧版Proof General那就太棒了。我设置变量isa-is ...
当我在窗口模式下使用emacs时,一切似乎都很好。 但是,在终端中时,Proof General的光标(指示其在代码中的位置)掩盖了其所在行的前两个字符。 这看起来像个错误,但也许是某种设置吗? 有人遇到过吗? ...
每次我在 Emacs 缓冲区中打开 .csv 文件时,Proof General 都会启动(除非它已经启动)并重置我的窗口。 这真的让我失去了 Emacs 的最佳状态,需要停下来。 我的 init.el 中唯一处理 Proof General 的部分是这样的: ...