定理证明,目前是自动推理中最发达的子领域,是计算机程序证明数学定理。
我正在尝试基于 CoqExtLib 中定义的有限映射来执行以下证明。但是,我遇到了一个问题,证明中显示的 RelDec 实例与实例不同......
我尝试使用归纳数据类型的语法,但收到错误消息“互归纳类型必须编译为具有依赖性消除的基本归纳类型”。 以下是我的注意示例...
我在 VSCode 中的 Lean4 中输入了以下内容: 示例 (p q r : Prop) : ((p ∨ q) → r) ↔ ((p → r) ∧ (q → r)) := 开始 它告诉我“未知标识符‘开始’”。当我输入最后两个时...
我有兴趣了解如何改进这个引理(这是更大证明的一部分,见下文),因为对我来说它仍然有点“啰嗦”。请注意,我没有使用 Mathlib 和 ...
我不知道在什么情况下我应该使用定理而不是引理或相反。这之间有什么区别(语法除外) 定理l:2 = 2。 琐碎的。 问。 和这个 引理 l : 2 ...
未能解决约束:(k ≤ 5) x (k * 2 ≡ 5)。我怎样才能做到这一点?
我是 agda 的新手,正在尝试证明 5 是质数:)。 我现在试图否认 2 是 5 的约数。我有: p1 : k * 2 == 5 p2:k≤5 我现在希望模式匹配如下: 案例(p2 ...
我正在阅读 Lean 3 的官方教程。我被困在第 2 章的第二个练习上: 完成以下定义,其中“curry”和“uncurry”是一个函数。 def curry (α β γ : 类型*)...
以下段落出现在《精益定理证明 4》中关于量词和等式的章节的前面: 因此,构造微积分确定了依赖箭头类型...
我已通过运行以下命令在我的计算机(带有 m1 芯片的 Mac)上安装了 Z3: 酿造安装z3 我正在尝试为 Haskell 安装 z3 绑定。 图书馆网站上写着: 安装: 1) 安装...
将算术表达式转换为 Isabelle 中的多项式系数列表。无法证明乘法表达式的算法
简介 算术表达式的数据类型定义为 数据类型 exp = Var |常数 int |添加 exp |多重expexp 我正在尝试实现一个函数,coeffs :: exp ⟹ int list,...
我正在学习精益,并且正在研究一个非常简单的例子: def toFin6 (n:Nat) : Fin 6 := 如果 p:n < 6 then { val := n, isLt := by exact p } else toFin6 (n - 1)
给定 Coq 中二叉树和任意分支树(K 树)的两个标准定义(为简单起见,nat 硬编码): 归纳二叉树:类型:= |叶子:bintree |节点:bintree -&g...
在 Isabelle 中,我必须遵循以下证明状态: 证明(证明) 使用这个: find (λc.length c = 1) f = Some [l] 目标(1 个子目标): 1. fst (units_propagate f) = fst (units_propagate (update_formula f (
在我的理论开发中,我有一个概念“bar”的函数用于一堆类型(比如,bar_atom,bar_clause 等),所以我想我会使用类型类来抽象它以提高可读性(......
我有以下两个伊莎贝尔定义: fun remove_left :: "cmd ⇒ cmd × cmd 选项" 其中 "remove_left (Comp c d) = (case remove_left c of (head, Some c') ⇒ (head, Some (Com...
对于我即将开始的项目,我正在探索编译器的形式验证。我遇到了 CompCert C 编译器,它是 ACM 授予的、经过正式验证的 C 编译器。 当我进一步阅读...
有没有办法在精益中追踪 tauto、finish 策略(或其他不属于 simp 的策略)? 例如。 示例 (P Q : Prop) : a → b ↔ ¬a ∨ b := by tauto 我想看看必要的重写或理论......
为什么在 skolemization 期间不能将所有存在的绑定器替换为唯一常量?
当使用 skolemization 替换表达式中的存在量化变量时,顶层的任何存在边界都可以用新的全局唯一常量替换,但是如果
是否有实数一阶理论的实现?我知道柯林斯存在一种基于圆柱代数分解的技术,但我不知道任何定理证明者......