Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
我可以将 Coq 证明提取为 Haskell 函数吗?
自从学了一点 Coq 以来 我就想学着写一个所谓的除法算法的 Coq 证明 它实际上是一个逻辑命题 forall n m nat exists q nat exists r nat n q m r 我最近利用我学到的知识完成了这项任务软件基
coq
为什么较新的依赖类型语言没有采用 SSReflect 的方法?
我在 Coq 的 SSReflect 扩展中发现了两个约定 它们似乎特别有用 但我还没有看到它们在较新的依赖类型语言 Lean Agda Idris 中得到广泛采用 首先 可能的谓词被表示为布尔返回函数而不是归纳定义的数据类型 默认情况下
coq
agda
idris
dependenttype
lean
没有可判定的相等性或排除中间值的鸽巢证明
在软件基础中IndProp v https softwarefoundations cis upenn edu lf current IndProp html lab244一个人被要求证明鸽巢原理 并且可以使用排除中间 但有人提到这并不是绝
coq
如何处理 Coq 中 Program Fixpoint 生成的非常大的项?
我试图在 Coq 中定义并证明正确的函数 该函数可以有效地比较两个排序列表 由于它并不总是在结构较小的项上递归 第一个或第二个列表较小 Fixpoint不会接受它 所以我尝试使用Program Fixpoint反而 当尝试使用策略证明函数的
coq
我如何编写行为类似于“破坏...作为”的策略?
在coq中 destruct https coq inria fr distrib current refman Reference Manual010 html hevea tactic65策略有一个接受 连接析取引入模式 的变体 该模式
coq
ltac
Coq案例分析和函数返回子集类型的重写
我正在做一个关于使用子集类型编写经过认证的函数的简单练习 想法是先写一个前驱函数 pred forall n n nat n gt 0 m nat S m n 1 然后使用这个定义给定一个函数 pred2 forall n n nat n
types
CASE
subset
Analysis
coq
为什么coq互感类型必须具有相同的参数?
下列的亚瑟的建议 https stackoverflow com a 17304209 403875 我改变了我的Fixpoint相互关系Inductive这种关系 建立 游戏之间的不同比较 而不是 深入研究 但现在我收到一条全新的错误消息
Comparison
coq
recursivedatastructures
gametheory
Induction
在 Coq 中,“if then else”允许非布尔第一个参数?
我读过一些教程if a then b else c代表match a with true gt b false gt c end 然而 很奇怪的是 前者不检查类型a 而后者当然确保a是一个布尔值 例如 Coq lt Check if nil
ifstatement
types
coq
如何匹配 Coq 中的特定值?
我正在尝试实现一个函数 该函数可以简单地计算包中某些 nat 的出现次数 只是列表的同义词 这就是我想做的 但它不起作用 Require Import Coq Lists List Import ListNotations Definiti
coq
在 Coq 中查找 ++ 等定义和符号
我们如何获得这些符号的定义 类型 例如 or of List 我努力了 Search Search Search SearchAbout and Check Check Check 然而它们都不起作用 SearchAbout 确实显示了一些
coq
Coq 中 MSet 的使用示例
MSets https coq inria fr library Coq MSets MSets html似乎是 OCaml 式有限集的最佳选择 可悲的是 我找不到示例用途 如何定义一个空的MSet或单身人士MSet 我怎样才能结合两个MS
set
coq
Coq 中的案例分析证明
我试图证明关于以下函数的命题 Program Fixpoint division m nat n nat measure m nat match lt nat 0 n with false gt 0 true gt match leq na
coq
proof
可以在 Coq 的蕴涵中使用 destruct 吗?
destruct可以用来分割and or在柯克 不过好像也可以用暗示 例如我想证明 P gt P Lemma test P P gt P Proof unfold not intro pffpf apply pffpf intro pff
coq
coqtactic
Coq:添加“强归纳”策略
对自然数的 强 或 完全 归纳意味着当证明 n 上的归纳步骤时 您可以假设该属性对于任何 k 都成立 Theorem strong induction forall P nat gt Prop forall n nat forall k n
coq
如何在构造微积分中提取Sigma的第二个元素?
我尝试这样做 A gt B A gt gt t r gt x a gt B x gt r gt r gt t B t A x A gt y B x gt x x A gt y B x gt y 请注意 由于该函数返回的值取决于 sigma
Haskell
functionalprogramming
coq
agda
idris
Coq QArith 除以零就是零,为什么?
我注意到在 Coq 的有理数定义中 零的倒数被定义为零 通常 除以零是没有明确定义 合法 允许的 Require Import QArith Lemma inv zero is zero 0 0 Proof unfold Qeq refle
coq
dividebyzero
rationalnumbers
Coq :> 符号
这可能是非常微不足道的 但我找不到任何关于 gt 符号在 Coq 中含义的信息 有什么区别 U 类型 和 W gt 类型 这取决于符号出现的位置 例如 如果它位于记录声明内 它会指示 Coq 添加相应的记录投影作为强制 具体来说 假设我们有
syntax
symbols
coq
Coq 中的 Modus Ponens 和 Modus Tollens
我想要针对这些简单的推理规则使用 Ltac 策略 在 Modus Ponens 中 如果我有H P gt Qand H1 P Ltac mp H H1将添加Q到上下文为H2 Q 在 Modus Tollens 中 如果我有H P gt Qa
coq
coqtactic
ltac
Coq 中的“错误:宇宙不一致”是什么意思?
我正在努力通过软件基础 http www cis upenn edu bcpierce sf current 目前正在做教堂数字的练习 这是自然数的类型签名 Definition nat forall X Type X gt X gt X
compilererrors
coq
churchencoding
我可以在“coqtop - nois”下定义策略吗?
coqtop nois Welcome to Coq 8 7 0 October 2017 Coq lt Ltac i idtac Toplevel input characters 0 4 gt Ltac i idtac gt Error
coq
coqtactic
ltac
1
2
3
4
5
»