- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
叠加演算是一种定理证明技术,它通过施加约简排序而不是在两个方向上应用每个方程来降低副调制的多产性。
对于一个非常简单的测试用例,请考虑以下子句(使用小写字母表示常量而不是变量的符号):
a=b
a=c
b!=c
显然,应该可以从这些条款中推断出矛盾。
在这种情况下,我们只有基原子项的单位子句,因此叠加规则可以用大大简化的形式来表述。
叠加,左:
s=t, s!=v => t!=v
其中 s > t
,t >= v
在所选的归约排序中。 (完整版本的叠加需要将子句作为文字的多集处理,使用变量替换,并使用仅在基本项上合计的归约排序,但这些不适用于此处讨论的简单测试用例。)
同样,
叠加,右:
s=t, s=v => t=v
其中 s > t
,t >= v
在所选的归约排序中。
假设我们使用归约排序 a > b > c
。然后:
a=b, a=c => b=c
b=c, b!=c => false
但是,对于任何归约排序的选择,演算都需要完备。假设 c > b > a
,则上面的第一个推论是不允许的。
候选备选推理:
c=a, c!=b => a=b
也不允许,因为 b > a
。
替代版本:
c=a, c!=b => b=a
这需要在归约顺序允许的方向上尝试输入方程,然后翻转输出方程以同样匹配归约顺序。当您这样做时,它会起作用。
这是允许的吗?换句话说,叠加微积分定义的意图是,方程是无序的,所以每个方程的产生和使用都应该以与归约顺序相匹配的顺序进行?
最佳答案
仅作记录:在叠加微积分的标准理论阐述中(我的 goto 论文是 Leo Bachmair 和 Harald Ganzinger,“基于重写的方程式定理证明与选择和简化”,逻辑与计算杂志,1994 年, 3(4):217-247),所有文字都是方程式或不等式。这些要么明确定义为无序对,然后在多重集编码中进行比较,要么直接定义为多重集(具体细节取决于您阅读的论文,但这些大多只是对同一基本概念的不同描述)。
是的,您关于方程式无序的假设是正确的。我所知道的所有实现本质上都是定向的,因此需要明确考虑与术语排序兼容的所有方向。
关于algorithm - 叠加微积分和方程的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56906457/
微积分运算在机器学习领域扮演着至关重要的角色,它不仅是许多基础算法和模型的核心,还深刻影响着模型的优化、性能评估以及新算法的开发。 掌握微积分,不仅让我们多会一种计算方式,也有助于理解各种机器学习算
我正在用 java 开发一个程序,它将找到给定函数的集成。例如 cos(x+3x^2)。现在我想检查用户是否给出了正确的输入。在检查输入的有效性时是否有任何正则表达式可以使用?例如,输入必须始终以积分
最近在研究lambda的计算,对reduction和substitution有很多疑惑。什么是 alpha 和 beta 缩减?何时以及为何使用它们? 如果有人能说出任何关于 lambda 微积分中减
我正在尝试利用 JavaScript 和 PEG.JS 将 lambda 演算项解析为 AST。语法相当简单: /*******************************************
我目前正在学习 Haskell,并且还在大学参加关于函数式编程的相当理论的讲座。 我知道这纯粹是理论/学术问题,但是我很感兴趣如何用纯 lambda 演算(即没有定义任何常量)简单地表达不同的简单函数
是否有任何合适的积分和微分算法,我可以用 C++ 或 C 来实现。只需将其命名为引用即可。如果您愿意提供示例代码,我将非常高兴您的回答和解释。提前致谢。 最佳答案 您可以使用 Calculus c++
我正在使用 Maths commons 来解决一些矩阵和复数但我现在想整合和区分所有类型的功能但正在阅读Polynomials section 我真的不知道该怎么做。我需要一些帮助关于如何使用此库创建
我正在尝试使用 clisp Lambda Calc 实现除法函数。风格 我读自this一个部门的 lambda 表达式是: Y (λgqab. LT a b (PAIR q a) (g (SUCC q
我正在尝试实现 Church Pair Lambda Calc。使用 CLisp 风格。 根据维基百科: pair ≡ λx.λy.λz.z x y 到目前为止,这是我的代码: (defvar PA
我安装了 ccx(Calculix 求解器程序)来解决物理问题。预处理器 cgx 工作正常,但是当我在终端中使用 .inp 文件 (abaqus) 运行 ccx 时,出现错误: ccx: symbol
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我正在尝试构建一个接受给定数量的参数并始终返回相同值的函数。 这是作业的一部分。提供了一个提示: The "k-way T" is a function that takes k arguments
我正在 Haskell 中实现一个不纯的非类型 lambda 演算解释器。 我目前坚持实现“alpha-congruence”(在某些教科书中也称为“alpha-equivalence”或“alpha
我正在尝试构建一个接受给定数量的参数并始终返回相同值的函数。 这是作业的一部分。提供了一个提示: The "k-way T" is a function that takes k arguments
我是一名优秀的程序员,十分优秀!