控制从 Coq 提取的代码中构造函数的导出
我正在考虑在 Coq 中编写代码并提取此代码以在大型 Haskell 项目中使用。我想在 Coq 中构建单个模块,证明属性,然后使用 Haskell 的模块系统来防止违…
如何进行 Coq 证明?
我的 Coq 证明有问题,希望得到一些帮助和指导。我的部分定义如下: Inductive Architecture : Set := | Create_Architecture (Arch_Name: string)(My…
模式匹配不专门化类型
我正在 Coq 中玩耍,尝试创建一个排序列表。 我只是想要一个接受列表 [1,2,3,2,4] 并返回类似 Sorted [1,2,3,4] 的函数 -即去掉坏的部分,但实际上并…
在某些 Coq 理论中 (a:b) c 和 [a:b] c 意味着什么?它在哪里定义?
我看到了一个非常奇怪的语法:类型中的 (name:type1) type2 和表达式中的 [name:type] expr ,看起来像是 Pi 和 Lambda 的替代语法,但经过几个小时的…
使用归纳法时保留信息?
我正在使用 Coq Proof Assistant 来实现(小型)编程语言的模型(扩展 Bruno De Fraine、Erik Ernst、Mario Südholt 的 Featherweight Java 实现)。…
coq 中的所有介绍?
我试图(经典地) ~ (forall t : U, phi) -> exists t: U, ~phi 在 Coq 中证明。我想做的是用反证法证明它: 1. Assume there is no such t (so ~(exi…
在递归函数定义中使用 forall
我试图使用 Function 使用度量来定义递归定义,但出现错误: Error: find_call_occs : Prod 我将整个源代码发布在底部,但我的功能是 Function kripke…
如何在 Coq 中编写不带参数的定义?
我在 Coq 中定义了以下归纳类型。 Inductive natlist : Type := | nil : natlist | cons : nat -> natlist -> natlist. Notation "x :: l" := (cons x…
使用 Coq 证明谓词逻辑 - 初学者语法
我试图在 Coq 中证明以下内容: Goal (forall x:X, P(x) /\ Q(x)) -> ((对于所有 x:X, P (x)) // (对于所有 x:X, Q (x)))。 有人可以帮忙吗?我不确定…
证明 f (f bool) = bool
我如何在 coq 中证明函数 f 接受 bool true|false 并返回 bool true|false (如下所示) ,当对单个 bool true|false 应用两次时,将始终返回相同的值…
如何证明(forall x, P x /\ Q x) -> (对于所有 x,P x)
如何证明 (forall x, P x /\ Q x) -> (forall x, P x) 在 Coq 中? 已经尝试了几个小时,但无法弄清楚如何将先行词分解为 Coq 可以消化的内容。 (显…