coq 相关问题

Coq是一种形式化的证明管理系统,半交互式定理证明器和函数式编程语言。 Coq用于软件验证,编程语言的形式化,数学定理的形式化,教学等。由于Coq的交互性,如果认为合适,我们建议将问题链接到https://x80.org/collacoq/上的可执行示例。

Coq中的 - >的传递性

我试图在Coq的命题中证明 - >的传递性:定理暗示_trans:forall P Q R:Prop,(P - > Q) - >(Q - > R) - >(P - > R)。证明。我想破坏所有......

回答 1 投票 2

具有部分反函数的场战术

Coq将乘法逆函数1 / x定义为Rdefinitions.v和Field_theory.v中的总函数R - > R.值1/0未定义,所有计算公理都忽略它。 ...

回答 1 投票 1

有根据的计数谓词归纳

这是Count谓词的定义。它使用2个索引来表示起始和结束元素,“检查”谓词来计算/跳过“当前”元素,使用最后一个参数“sum”来保持......

coq
回答 1 投票 0

在Coq假设中分裂析取(\ /)

我试图在Coq中证明一个简单的引理,假设是一个分离。我知道当它们出现在目标中时如何分离析取,但是当它们出现在...时无法分裂它们。

coq
回答 1 投票 1

在保留注释的同时将Coq提取到Haskell

无论如何在将Coq提取到Haskell时保留注释?理想情况下,我希望机器生成的Haskell文件不受人类影响,因此提取注释的动机是......

回答 1 投票 7

证明包含向量的数据类型的可判定性

我正在尝试使用表示某种通用代数上下文中的表达式的数据类型。在(钢笔和纸)数学中表达这一点的通常方法是你有一组函数符号,......

回答 2 投票 2

Coq诱导假说是错误的

我试图在两个列表上证明一个简单的归纳,并且由于某种原因,Coq写入归纳假设是错误的。这是我的证明:引理eqb_list_true_iff_left_to_right:forall A(eqb:A - > ...

回答 1 投票 0

如何使Coq中的代数操作更容易?

我正在试验Coq的整数和有理数的标准库。到目前为止,我的证据非常耗时且看起来很糟糕。我想我错过了一些重要的证明技巧。这么简单......

回答 1 投票 1

如何证明平等是不可能的

1个子目标a,b:T管H:TApp a b = a ______________________________________(1/1)False(其中TApp是构造函数)在Idris中,这可以用\ Refl =>不可能证明但我没有管理......

回答 1 投票 1

Coq - 返回类型的值,它等于函数返回类型

根据某些定理,我们知道类型A等于类型B.如何在类型检查期间将其告知Coq编译器?我想实现一个非空树,使每个节点都知道它的大小:Inductive Struct:...

回答 2 投票 1

Coq:符号不从List导入

标题非常明显。我想对列表使用标准[]和++符号。但即使在进口后它们仍未被识别。请参阅以下代码。需要导入列表。检查[1]。 ...

coq
回答 1 投票 1

如何在ltac中使用类型参数?

我正在尝试编写以下函数:Ltac restore_dims:=使用|重复匹配目标[| - context [@Mmult?m?n?o?A?B]] =>让Matrix m'n':= A的类型...

回答 1 投票 1

如何在Prop中证明一些明显符合逻辑的 - list_get问题

问题是我不能在不跳过步骤的情况下在H上应用归纳法。我应该得到一些instr0来应用标准引理:Lemma get_Some {A}(l:list A)n x:list_get l n = Some x -...

回答 1 投票 0

如何在Coq中证明以下引理?

引理rev_firstn:forall(x:list bool)(n:nat),rev(firstn n x)= firstn n(rev x)。我花了很多时间在这上面。我从一个明智的目标开始,但最终总是有一个目标......

coq
回答 1 投票 2

如何通过定义来证明某事?

如果我像这样定义乘法(drugi_c),我该如何证明,例如X * 0 = 0? (如何通过定义证明某事?)Fixpoint drugi_c(x y:nat):nat:=匹配x,y与| _,O => O | O,_ =&...

回答 3 投票 0

“le”的归纳原理

对于归纳类型nat,生成的归纳原则在其语句中使用构造函数O和S:Inductive nat:Set:= O:nat | S:nat - > nat nat_ind:forall P:nat - > Prop,...

回答 2 投票 0

使用“omega”代替“N”型

对于我的研究,我在Coq中为nat类型写了一堆函数,并证明它们是正确的。现在我需要为类型N编写相同的函数,但证明它们的正确性似乎很痛苦......

回答 1 投票 0

如何从矛盾的假设中证明目标?

在我的上下文中,我假设i <= 0且i> = 2。我怎样才能证明我的目标?这有策略吗?

coq
回答 2 投票 3

我正在寻找关于nat类型的这个引理

我正在寻找关于nats的这个引理。我希望它已经存在于其中一个Coq库中,所以我不必证明它。 forall m n:nat,(S m <n)%nat - >(n - (S m)<n)%nat请...

coq
回答 3 投票 0

为什么嵌套感应策略还将归纳假设嵌入lambda?

定理mult_comm:forall m n:nat,m * n = n * m。证明。前奏。感应 - 简单。重写(mult_0_r m)。反思。 - 简单。改写

coq
回答 1 投票 1

© www.soinside.com 2019 - 2024. All rights reserved.