Coq是一种形式化的证明管理系统,半交互式定理证明器和函数式编程语言。 Coq用于软件验证,编程语言的形式化,数学定理的形式化,教学等。由于Coq的交互性,如果认为合适,我们建议将问题链接到https://x80.org/collacoq/上的可执行示例。
初学者来了!我如何解释看起来像这样的记录?记录测试A B:= {CA:forall m,A m; CB:forall a b m,CA m ==> B(a,b);我想要了解......
如何应用重写 - >仅针对子表达式?例如,考虑这个定理:参数add:nat - > nat - > nat。 Axiom comm:forall a b,添加b = add b a。定理t1:......
我在Coq中编写(并证明)了以下版本的isPrime。 Compute(isPrime 330)在我的机器上完成大约需要30秒。提取的Haskell代码大约需要1秒钟...
试图从逻辑章节解决In_app_iff excersize我来到这个怪物:( * Lemma后来使用*)Lemma list_nil_app:forall(A:Type)(l:list A),l ++ [] = l。证明。介绍A l。 ...
我正在尝试确保在将Coq提取到Haskell时丢弃无用的Prop。但是,当我使用下面的例子时,我看到两个divides和prime都被提取为Haskell空...
我按照此处的说明通过opam安装了coq和CoqIDE。如说明书中所述,每次我必须导出OPAMROOT =〜/ opam-coq.8.9.0 eval`opam config env`之前......
当我使用Record宏创建记录类型时,它显示为Set排序而不是Type sort。我创建了一个显示相同行为的最小测试示例:Record little_test:Type:= {...
以下是本书中的代码:示例In_example_2:forall n,In n [2; 4] - >存在n',n = 2 * n'。证明。 (*工作类*)简单。介绍n [H | [H | []]]。 - 存在1.重写&...
我面临一个非常奇怪的问题:coq不想将forall变量移动到上下文中。在过去,它做了:示例and_exercise:forall n m:nat,n + m = 0 - > n = 0 / \ m = 0. ...
我试图了解Coq提取中证明的作用是什么。我从这里得到以下两个楼层整数除法的例子。我第一次尝试使用Admitted关键字:(** ...
这是任务:从[In]中汲取灵感,编写一个递归函数[All],声明某些属性[P]包含列表[l]的所 有元素。为了确保您的定义是正确的,......
以下示例来自Software Foundations一书的Poly章节。定义fold_length {X:Type}(l:list X):nat:= fold(fun _ n => S n)l 0。定理fold_length_correct:...
我正在尝试像往常一样导入Library Coq.Structures.OrdersFacts:Require Import Coq.Structures.OrdersFacts然后我尝试使用那里的lemmas:apply CompareFacts.compare_nlt_iff ....
我想对Peano nats进行归纳,但我想证明属性P超过nats 1 ... n。 Coq是否提供了这样做的策略/工具?
我想证明自然数不包括0的东西。所以我的属性P的基本情况是P 1而不是P 0.我正在考虑使用n> = 0作为目标中的假设,但是有......
我有以下Coq实现的整数除法与余数。当我将它提取到Haskell时,一切正常。我将Coq版本与生成的Haskell版本进行了比较并试图...
引理In_map_iff:forall(A B:类型)(f:A - > B)(l:列表A)(y:B),in y(map f l)存在x,f x = y / \ In x l。证明。分裂。 - 概括依赖y。概括......
我正在尝试在Coq中编写一个简单的strchr函数,然后将其导出到Haskell。我面临的导入问题可能类似于这篇文章(?),但我似乎无法解决它们。这是我的coq代码:...
是否存在类型理论,其中相同形状的归纳数据类型的等价性是可表示的?
假设我有两个归纳定义的数据类型:归纳list1(A:类型):类型:= | nil1:list1 A | cons1:A - > list1 A - > list1 A.和Inductive list2(A:Type):类型:= | nil2:......