Questions tagged «lo.logic»

计算和数学逻辑。

1
具有某些谓词的FO均匀AC0
我的问题是关于有限模型理论/描述复杂性的,所以意思是“在有限的二元词上的一阶,在词中1的位置上使用谓词Rs和一元谓词P true”。FO(R)FO(R)FO(R) 我想知道,与R的特征化在上某个r的谓词是否存在?例如,在或,其中是2的幂的集合。特别是,在我看来,在某些均匀性条件下,它应等于,但我可以找不到任何说明这一点的结果。FO(&lt;,R)FO(&lt;,R)FO(<,R)NrNr\mathbb N^rFO(&lt;,+)FO(&lt;,+)FO(<,+)FO(&lt;,P2)FO(&lt;,P2)FO(<,P_2)P2P2P_2AC0AC0AC^0 对于某些值,这是我已经知道的。RRR 众所周知,是具有顺序和位谓词的单词的一阶逻辑等于 -统一。通过这种方式,它们都可以识别完全相同的语言。参见例如Immerman的“描述性复杂性”,第82页。(它也等同于许多其他特征化,例如 -logtime统一和恒定时间并行随机访问机器,但我不是在这里搜索。)FO(&lt;,bit)FO(&lt;,bit)FO(<,bit)AC0AC0AC^0FO(&lt;,bit)FO(&lt;,bit)FO(<,bit)AC0AC0AC^0 如果我们可以在一阶逻辑中使用任意数值谓词,则我们有(非均匀),如果是包含对数时间可计算函数的函数类,则等于统一(有关这两个结果,请参见Barrington,“ Mc-Naughton的扩展思想 ”,1993年)。AC0AC0AC^0CCCFO(&lt;,C)FO(&lt;,C)FO(<,C)AC0−CAC0−CAC^0-C 最后,是无星语言的一类(可以由不使用Kleene星的正则表达式定义的语言),但是在电路复杂性方面没有任何信息。FO(&lt;)FO(&lt;)FO(<)

1
三值逻辑的功能完备性
在最近的一些工作中,我们一直在基于三值逻辑àla Kleene定义一种语言,其中1个1个1 代表真实, 000 为假,和 ⊥⊥\bot错误或不知道。为了表明我们的语言具有表达力,我们想证明我们可以构建一组功能上完整的运算符。 在文献中很难找到现有的结果。我们发现Jobe于1962年撰写的一篇论文指出了以下定理: Jobe 1962年定理 论文(受限访问)。 三值逻辑 ËËE 在集合上表达 { 1 ,2 ,3 }{1个,2,3}\{1, 2, 3\} 并由运营商定义 ∙ ,Ë1个∙,Ë1个\bullet, E_1 和 Ë2Ë2E_2下面给出的功能已完成。 ∙ 321个 3 321个 2 221个 1个 1个1个1个 Ë1个 31个2 Ë2 1个23 ∙ 3 2 1个 Ë1个 Ë2 3321个31个2221个1个21个1个1个1个23 \begin{array}{c|ccc|c|c} ~\bullet~ & ~3~ & …

2
用于NP的好的PCP是否为我们提供了整个多项式层次结构的好的PCP?
PCP定理指出,NP中的每个决策问题都有概率可检验的证明(或等效地,存在使用恒定查询复杂度和对数多个随机位的NP中定理的完整且准声音的证明系统)。 PCP定理周围的“民间智慧”(暂时忽略了PCP在近似理论上的重要性)是,这意味着可以用严格的数学语言编写的证明可以有效地检查到所需的准确度,而无需阅读全部证明(或大部分证明)。 我不太明白这一点。考虑不加限制地使用量词的命题逻辑的二阶扩展(有人告诉我它已经比ZFC弱,但我不是逻辑学家)。我们已经可以开始表达通过交替量词不能被NP访问的定理。 我的问题是,在高阶命题陈述中是否存在一种简单的,已知的“展开”量词的方法,以便NP中定理的PCP同样适用于任何级别的PH。可能无法做到这一点–在最坏的情况下,展开量化器会花费我们证明系统的健全性或正确性的恒定部分。

2
数百个还原步骤是否太多而无法获得Y fac⌜3⌝的正常形式?
由于我最近一直在教授λ微积分的基础,因此我在Common Lisp中实现了一个简单的λ微积分评估器。当我问正常Y fac 3阶约简的正常形式时,它需要619个步骤,这似乎有点多。 当然,每次我在纸上进行类似的简化时,我都从未使用过无类型的λ微积分,而是增加了对其进行运算的数量和函数。在这种情况下,fac的定义如下: fac = λfac.λn.if (= n 0) 1 (* n (fac (- n 1))) 在这种情况下,考虑到=,*并-为讨好的功能,只需要大约50个步骤,以获得Y fac 3其正常形态6。 但是在评估人员中,我使用了以下方法: true = λx.λy.x false = λx.λy.y ⌜0⌝ = λf.λx.x succ = λn.λf.λx.f n f x ⌜n+1⌝ = succ ⌜n⌝ zero? = λn.n (λx.false) true mult = λm.λn.λf.m (n …

2
归纳类型的声明顺序重要吗?
我想知道归纳类型的声明顺序是否重要。 例如,在Coq中,您可以Nat通过以下方式之一进行定义: Inductive Nat := | O : Nat | S : Nat -&gt; Nat. 要么 Inductive Nat := | S : Nat -&gt; Nat | O : Nat. 这也许会改变自动生成的消除器中参数的顺序,但这没什么大不了的。 我想知道的是,是否可以编写像这样的声明 Inductive typewhereordermatters := | cons1 : type1 | cons2 : type2. 其中type2是一个依赖型,这取决于cons1?(在这种情况下,以其他顺序编写声明将没有任何意义,因为type2要引用的声明cons1尚不存在)。

5
编写通用递归函数
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为理论计算机科学堆栈交换的主题。 3年前关闭。 通用递归函数是否有简短的显式构造?我所看到的所有定义都以某种方式涉及对Turing机器进行编号,这可能是可行的,但似乎很难且难以用高级编程语言(如Python,Haskell等)编写。
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.