Questions tagged «lo.logic»

计算和数学逻辑。

4
逻辑关系和模拟之间有什么区别?
我是研究程序等效性方法的初学者。我已经阅读了几篇有关定义逻辑关系或模拟的论文,以证明两个程序是等效的。但是我对这两种技术很困惑。 我只知道逻辑关系是归纳定义的,而模拟是基于共归进行的。为什么用这种方式定义它们?他们的利弊分别是什么?在不同情况下应该选择哪一个?

3
非构造性证明的库里霍华德和程序
这是一个后续问题 证明与程序(或命题与类型)之间有什么区别? 哪个程序对应于形式的非构造性(经典)证明?(假设是一些有趣的可确定的关系,例如,第个TM不会以步长停止。)Ť È ķ∀k T(e,k)∨¬∀k T(e,k)∀ķ Ť(Ë,ķ)∨¬∀ķ Ť(Ë,ķ)\forall k \ T(e,k) \lor \lnot \forall k \ T(e,k)TŤTeËekķk (ps:我之所以发布此问题,部分原因是我有兴趣在他的评论中进一步了解Neel所说的“ Godel-Gentzen翻译是一种延续通过的转变”的意思。)

1
归纳类型用于大数量的序数符号。
我希望以一种“自然的方式”为大量可计数的普通物品建立符号。“自然”是指给定归纳数据类型X,相等应为通常的递归相等(与deriving EqHaskell中产生的相同),并且顺序应为通常的递归词典顺序(与deriving OrdHaskell中产生的相同)),并且有一个可确定的谓词来确定X的成员是否为有效序数符号。 例如,序数小于ε 0可以通过世袭有限排序的列表,并且满足这些要求来表示。将X定义为μα。μβ。1 +α×β,又称遗传有限列表。定义isValid以检查X是否已排序并且X的所有成员均为isValid。X的有效成员都是序小于ε 0通常的词典顺序下。 我猜想,μα 0 ...μα ñ。1 +α 0 ×...×α Ñ可用于以下定义序比φ n + 1个(0),其中φ是凡勃伦功能,以类似的方式。 如您所见,我用完了φω(0)的μ个量词。我可以建立满足我要求的较大序数符号吗?我希望得到尽可能Γ 0。如果我对有效性谓词放弃可判定性要求,我可以得到更大的序数吗?

1
是否有适用于TCS定理的合理的自动证明系统?
假设我想形式化图灵关于暂停问题的证明,以便机器可以对其进行检查。一些著名的自动定理证明系统包括Mizar,Coq和HOL4。我下载了Coq并进行了实验,但是它没有用于Turing机器的库。我本来想自己编写代码,但发现该教程缺乏,而且语言难以掌握。 我的问题是:是否有一个自动定理证明者,通常能很好地证明涉及图灵机的定理?如果可以使用已经存在的库来形式化证明停止问题的不确定性的证明,那么我将认为这样的一个定理证明者“很好”。如果相对容易拿起它,我会认为更好。(据记录,我通常不会遇到编程语言方面的困难。) 谢谢, 菲利浦


2
类型空间中的对数或根运算是什么?
我最近在阅读计算的两个对偶:否定和小数类型。本文扩展了求和类型和乘积类型,为类型a - b和提供了语义a/b。 与加法和乘法不同,乘幂,对数和生根不是一个而是两个倒数。如果函数类型(a→b)是类型理论乘幂,则给定类型a → b(或b^a),具有类型logb(c)或类型意味着什么a√c? 将对数和根扩展为类型是否有意义? 如果是这样,这方面是否有任何工作,关于如何理解这些影响有什么好的指导? 我尝试通过逻辑查找有关此问题的信息,希望Curry-Howard的信件对我有帮助,但无济于事。

6
众所周知的布尔公式类别,需要指数长的分辨率证明
您可能经常在SAT解算器中发现切割平面方法,变量传播,分支和边界,子句学习,智能回溯甚至是手工编织的人类启发法。然而几十年来,最好的SAT解算器一直高度依赖分辨率证明技术,并结合使用其他方法简单地提供帮助和指导分辨率样式搜索。显然,至少在某些情况下,有人怀疑ANY算法无法确定多项式时间内的可满足性问题。 1985年,哈肯(Haken)在他的论文“分辨率的难处理性”中证明了CNF编码的信鸽原理不接受多项式大小的分辨率证明。尽管这确实证明了基于分辨率的算法的难处理性,但它也提供了判断最先进的求解器的标准-实际上,当今设计SAT求解器的众多考虑因素之一是其执行的可能性在已知的“困难”案件中。 从某种意义上讲,它具有一系列可以证明采用指数大小的分辨率证明的布尔公式类别,这很有用,因为它为测试新的SAT求解器提供了“硬”公式。一起编译这些类做了什么工作?是否有人参考包含此类列表及其相关证明?请为每个答案列出一类布尔公式。

4
教会定理和哥德尔不完备定理
最近,我一直在阅读各种逻辑学家和数学家就可计算性所做的开创性工作的一些想法和历史。尽管各个概念对我来说很清楚,但我正在设法牢牢把握它们之间的相互关系和抽象层次。 我们知道,丘奇定理(或者说是阿隆佐·丘奇和艾伦·图灵对希尔伯特的Entscheidungsproblem的独立证明)证明,一般而言,我们无法计算形式系统中给定的数学陈述是对还是错。据我了解,Church-Turing论文非常清楚地描述了Church的lambda演算与Turing机器之间的等价性(同构),因此我们有效地建立了统一的可计算性模型。(注意:据我所知,图灵的证明利用了暂停问题无法确定的事实。如果我错了,请纠正我。) 现在,哥德尔的第一个不完全性定理指出,在一个具有足够算术能力的一致形式系统中,并非所有陈述都可以在该系统中得到证明或被证明(确定)。在许多方面,我认为这对我来说与丘奇定理完全相同,因为考虑到lambda微积分和Turning机器都是有效的形式系统! 但是,这是我的整体解释,我希望有人可以对细节有所了解。这两个定理有效等效吗?是否有任何细微之处值得观察?如果这些理论本质上以不同的方式看待相同的普遍真理,那么为什么要从不同的角度来对待呢?(戈德尔的证明和教会的证明之间大约有6年的时间)。最后,我们是否可以说形式系统中的可证明性概念(证明演算)与递归理论中的可计算性概念(图灵机/λ演算)相同?

1
Feit-Thompson定理形式化中有趣的算法?
看起来乔治•贡迪耶(George Gonthier)和他的合作者已经完成了奇阶定理的形式化。 在早期关于“四色定理”的工作中,Gonthier发明了一堆特别适合形式验证的新算法(主要是BDD和图形算法的变体)。既然他说过他将继续在有限群论的研究中使用这种小规模的反射验证方式,我想知道在此开发过程中开发了哪些新的算法技巧?


3
将SAT转换为HornSAT
是否可以将布尔公式B转换为Horn子句的等价连接?Wikipedia上有关HornSAT的文章似乎暗示它是,但我一直无法追踪任何参考。 注意,我的意思不是“在多项式时间内”,而是“全部”。

5
是否有用于纯功能编程语言的带注释的形式验证系统?
ACSL(Ansi C规范语言)是C代码的规范,带有特殊注释,可对C代码进行正式验证。 我没有研究它,但是我想ACSL验证器中使用的形式方法将类似于Hoare Logic。但是对于纯函数式语言(例如Haskell),我无法想象将使用哪种形式主义进行形式验证。 除了纯函数式语言外,有人做过类似于ACSL的东西吗?如果不是,是否有针对功能语言的规范标注样式形式验证的研究? 我知道有一种依赖类型,许多语言(Agda,Idris等)都支持这种类型,但是在Haskell中,不进行某种(不可读的)类型wizardry很难实现依赖类型。考虑到这一点,由于Haskell具有比Agda和Idris更好的库支持,我相信这样的功能形式验证系统可能会有用,但是我不知道是否对此进行了研究。

1
是类型主张吗?(确切地说是什么类型?)
我已经阅读了很多有关类型系统的文章,并且大致了解了为什么引入它们(以解决Russel的悖论)。我也大致了解了它们在编程语言和证明系统中的实际意义。但是,我对类型是什么的直观认识并不完全正确。 我的问题是,宣称类型是命题是否合法? 换句话说,语句“ n是自然数”与语句“ n具有类型'自然数'”相对应,这意味着所有涉及自然数的代数规则都适用n。(也就是说,代数规则是语句。那些对自然数成立的语句对n也成立。) 那么这是否意味着一个数学对象可以具有不止一种类型? 此外,我知道集合不等于类型,因为您不能拥有所有集合的集合。我是否可以说,如果集合是类似于数字或函数的数学对象,则类型是一种超数学对象,而按照相同的逻辑,一种则是超元数学对象?(在某种意义上,每个“元”都表示更高的抽象级别...) 这与范畴论有某种联系吗?

4
为什么我们需要谓词逻辑的形式语义?
考虑这个问题解决了。我不会选择最佳答案,因为所有答案都有助于我对该主题的理解。 不确定通过正式定义谓词逻辑的语义有什么好处。但是我确实认为拥有正式的证明演算很有价值。我的观点是,我们将不需要形式语义来证明证明计算的推理规则。 我们可以定义一个微积分,模仿“思维定律”,即数学家数百年来一直使用的推理规则来证明其定理。这样的计算已经存在:自然演绎。然后,我们将微积分定义为合理且完整。 这可以通过认识到谓词逻辑的形式语义仅仅是一个模型来证明。该模型的适当性只能凭直觉来证明。因此,通过参照形式语义论证明自然推论是合理和完整的,并不能使自然推论更“真实”。如果我们直接直观地证明自然演绎规则是正确的。使用形式语义学绕道而行对我们没有任何帮助。 然后,将自然演绎定义为合理且完整的,我们可以通过证明它们产生的证据可以转换为自然演绎,反之亦然来证明其他演算的正确性和完整性。 我以上的观点正确吗?为什么通过形式语义证明证明演算的正确性和完整性很重要?

6
我应该如何考虑证明网?
斯蒂芬·吉梅内斯(Stephane Gimenez)在回答这个问题时指出了一种用于线性逻辑证明的多项式时间归一化算法。吉拉德(Girard)论文中的证明使用证明网,这是我实际上不太了解的线性逻辑的一个方面。 现在,我曾经尝试过在证明网上阅读论文(例如Pierre-Louis Curien的说明),但我并没有真正理解它们。所以我的问题是:我应该如何考虑它们?我所说的“如何思考它们”不仅是指它们背后的非正式直觉(例如,它们在计算上的行为方式,还是它们与序列的关系),还有关于它们的哪些定理,我应该自己证明才能真正得到。 在回答这个问题时,您可以假设(1)我很好地了解线性逻辑的证明理论(包括诸如消除消除证明的进行方式,以及采用集中形式之类的东西),(2)就相干空间而言,它们的分类语义或通过Day卷积,以及(3)GoI构造的最基本基础。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.