是否存在类型化的Lambda演算,其中Curry-Howard对应关系下的相应逻辑是一致的,并且每个可计算函数都有可键入的Lambda表达式?
公认地,这是一个不精确的问题,缺少“类型化λ演算”的精确定义。我基本上想知道是否有(a)此方面的已知示例,或(b)该领域中某些事物的已知不可能证明。
编辑:@cody在下面的回答中给出了此问题的精确版本:是否存在一个逻辑上纯的类型系统(LPTS),该系统是一致的并且图灵完整的(在下面定义的意义上)?
是否存在类型化的Lambda演算,其中Curry-Howard对应关系下的相应逻辑是一致的,并且每个可计算函数都有可键入的Lambda表达式?
公认地,这是一个不精确的问题,缺少“类型化λ演算”的精确定义。我基本上想知道是否有(a)此方面的已知示例,或(b)该领域中某些事物的已知不可能证明。
编辑:@cody在下面的回答中给出了此问题的精确版本:是否存在一个逻辑上纯的类型系统(LPTS),该系统是一致的并且图灵完整的(在下面定义的意义上)?
Answers:
好吧,我会对此加以说明:通常对于给定的类型系统,以下内容是正确的:
如果演算中的所有良好型项都已归一化,则T在被视为逻辑时是一致的。
证明通常通过假设你有一个术语前进的类型˚F 一升小号ê,使用发明的还原,以获得正常的形式,然后在这样的术语的结构出发通过感应得到一个矛盾。
很自然地想知道相反是否成立,即
对于任何类型的系统,如果牛逼是逻辑一致,然后在每一个良好的长期输入Ť是正火。
这样做的问题是,没有真正的最普遍的“类型系统”概念,甚至在此类系统的逻辑一致性意义上的共识也更少。但是,我们可以凭经验验证
对于大多数具有逻辑解释的类型系统,确实存在相反的情况。
这如何与图灵完整性相关联?好吧,对于一个,如果类型检查是可判定的,那么Andrej的参数表明以下条件之一必须成立:
这倾向于表明:
具有逻辑解释且一致且可递归枚举的类型系统不是图灵完整的。
给出一个实际的定理而不是一个建议,需要使类型系统和逻辑解释的概念在数学上精确。
现在,我想到两点:
有一个不确定的类型系统,交叉类型系统具有逻辑解释并可以表示每个归一化的项。如您所言,这与图灵完成并不完全相同,因为在将总函数的类型应用于所需参数之前,可能需要对其进行更新(实际上是经过改进)。结石是“咖喱风格”演算和等于STLC + Γ ⊢ 中号:τ 和 Γ⊢中号:τ∩σ
存在一类类型系统,即纯类型系统,其中此类问题可能很精确。但是,在此框架中,逻辑解释不太清楚。有人可能会说:“如果PTS具有无人居住的类型,则它是一致的”。但这是行不通的,因为类型可能存在于不同的“宇宙”中,其中某些可能是一致的,而有些则可能不一致。 Coquand和Herbelin定义了“ 逻辑纯类型系统”的概念,在这个概念中问题是有道理的,并表明
每个不一致的,非依赖的 LPTS都有一个循环组合器(图灵完成也是如此)
在这种情况下,哪个方向回答了一个问题(不一致)。据我所知,关于通用LPTS的问题仍然悬而未决。
编辑: Coquand-Herbelin结果的相反过程并不像我想的那么简单!到目前为止,这是我想出的。
甲逻辑纯类型系统是与PTS(至少)的种类和Ť ÿ p ë,(至少)公理P - [R ø p:Ť ÿ p È和(至少)的规则(P ř o p,p r o p,P r o p),并进一步要求没有类型的P r o p。
现在,我将假设图灵完整性的特定声明:修复LPTS 并让Γ为上下文
的图灵完备当且仅当对于每个总可计算函数 ˚F :Ñ → Ñ有一个术语吨˚F使得 Γ ⊢ 吨˚F:Ñ 一吨 → Ñ 一吨 并为每 Ñ ∈ Ñ 吨˚F(小号Ñ 0 )→ * β小号˚F (ñ ) 0
现在,安德烈的对角化论证表明,有是非终止的型ñ 一个牛逼。
现在看来我们已经中途了!给定一个非终端项,我们要替换的出现ñ 一个牛逼由一些通用的类型一,摆脱0和小号在Γ,我们将有我们的不一致性(一个有人居住在上下文A中:P r o p)!
不幸的是,这很容易卡住我,因为很容易用标识替换,但是0则更难消除。理想情况下,我们想使用一些Kleene递归定理,但我还没有弄清楚。
这是@cody对我的问题进行精确描述的一种答案。如果我们允许引入其他公理和归约规则,则存在一个一致的LPTS,大致在@cody的意义上是图灵完成的。因此严格来说,该系统不是 LPTS。它仅仅是一个类似的东西。
考虑构造的演算(或您最喜欢的 cube 成员)。这是一个LPTS,但我们将添加额外的内容,使其不成为LPTS。选择常量符号nat ,0 ,S,然后添加公理:
⊢ 0 :NAT ⊢ 小号:NAT → NAT
指数自然数图灵机的程序,并为每个自然数,选择一个常量符号˚F ē,添加公理˚F Ë:NAT → NAT,并为所有ē ,X ∈ ñ,添加β -还原规则
其中照常是的输出ë个上图灵机程序X。如果Φ Ë(X )发散则此规则不执行任何操作。注意,通过添加这些公理和规则,系统的定理仍然可以递归枚举,尽管它的β-约简规则集不再是可判定的,而仅是递归可枚举的。我相信,通过在系统的语法和规则中明确说明计算模型的细节,我们可以轻松地确定β约简规则集。
现在,从蛮横的角度来看,这个理论显然是图灵大致上的图灵完成的;但声称它也是一致的。让我们构建一个模型。
The existence of such sets follows, for example, from ZFC plus the axiom that every cardinal is bounded by an inaccessible cardinal; we can take each set to be a Grothendieck universe.
We define an "interpretation" to be a mapping from the set of variable names to elements of . Given an interpretation , we can define an interpretation of terms of the system in the evident way:
We have that for all terms , . Now we say that an interpretation satisfies , written , if . We say that if for all interpretations , if for all , then .
It is straightforward to check that if , then , so this is a model of the system. But, for any variables , it is not the case that , because we can interpret by , so the system is consistent.
Now, this is an answer to my original question, in the sense that this is something that it's reasonable to call a typed lambda calulus, which is consistent and Turing complete. However, it's not an answer to @cody's question, because this is not an LPTS, because of the addition of extra axioms and -reduction rules. I imagine that the answer to @cody's question is much harder.