是否存在一致且图灵完成的类型化lambda演算?


20

是否存在类型化的Lambda演算,其中Curry-Howard对应关系下的相应逻辑是一致的,并且每个可计算函数都有可键入的Lambda表达式?

公认地,这是一个不精确的问题,缺少“类型化λ演算”的精确定义。我基本上想知道是否有(a)此方面的已知示例,或(b)该领域中某些事物的已知不可能证明。

编辑:@cody在下面的回答中给出了此问题的精确版本:是否存在一个逻辑上纯的类型系统(LPTS),该系统是一致的并且图灵完整的(在下面定义的意义上)?


2
没有递归可公理化的演算(lambda或其他),其可证明的总递归函数都是递归函数,因此您的演算必须包含非终止项。
— EmilJeřábek在2015年

2
这个答案有一个定理,说,你不能有任何类型的结石,既图灵完备和总。
— Andrej Bauer

1
一旦使其足够精确,它很可能会回答您的问题。我认为Andrej的证明不必要地复杂(但它显示了更多的意思):重点仅仅是,如果有一个有效描述的系统,其中所有递归函数都可以表示,这样您就可以在语法上证明表达式是a的诚实表示。递归函数(例如,通过检查它是否在系统中正确键入),那么您将获得通用的总递归函数,这是不可能的。
— EmilJeřábek在2015年

1
当然,对此类问题的经典答案可能是:键入具有交集类型的微积分,因为它会键入所有(且仅那些)强烈归一化的项。但是,问微积分是否接受“柯里-霍华德解释”更是一个哲学问题。λ
— cody 2015年

2
这里很难更精确,因为问题并不精确。
— 安德烈·鲍尔

Answers:


21

好吧,我会对此加以说明:通常对于给定的类型系统,以下内容是正确的:T

如果演算中的所有良好型项都已归一化,则T在被视为逻辑时是一致的。TT

证明通常通过假设你有一个术语前进的类型˚F 一升小号ê,使用发明的还原,以获得正常的形式,然后在这样的术语的结构出发通过感应得到一个矛盾。absurdFalse

很自然地想知道相反是否成立,即

对于任何类型的系统,如果牛逼是逻辑一致,然后在每一个良好的长期输入Ť是正火。TTT

这样做的问题是,没有真正的最普遍的“类型系统”概念,甚至在此类系统的逻辑一致性意义上的共识也更少。但是,我们可以凭经验验证

对于大多数具有逻辑解释的类型系统,确实存在相反的情况。

这如何与图灵完整性相关联?好吧,对于一个,如果类型检查是可判定的,那么Andrej的参数表明以下条件之一必须成立:

  1. 该组中的所有良好类型的程序是不是图灵完备。
  2. 有一个不终止的类型良好的程序。

这倾向于表明:

具有逻辑解释且一致且可递归枚举的类型系统不是图灵完整的。

给出一个实际的定理而不是一个建议,需要使类型系统和逻辑解释的概念在数学上精确。

现在,我想到两点:

  1. 有一个不确定的类型系统,交叉类型系统具有逻辑解释并可以表示每个归一化的项。如您所言,这与图灵完成并不完全相同,因为在将总函数的类型应用于所需参数之前,可能需要对其进行更新(实际上是经过改进)。结石是“咖喱风格”演算和等于STLC + Γ ⊢ 中号:τλ 和 Γ⊢中号:τ∩σ

    Γ⊢M:τΓ⊢M:σΓ⊢M:τ∩σ
    很显然,该“解释”∩=∧通向一致的逻辑解释。
    Γ⊢中号:τ∩σΓ⊢中号:τΓ⊢中号:τ∩σΓ⊢中号:σ
    ∩=∧
  2. 存在一类类型系统,即纯类型系统,其中此类问题可能很精确。但是,在此框架中,逻辑解释不太清楚。有人可能会说:“如果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。P[RØpŤÿpËP[RØp:ŤÿpË(Prop,Prop,Prop)Prop

现在,我将假设图灵完整性的特定声明:修复LPTS 并让Γ为上下文LΓ

Γ=nat:Prop, 0:nat, S:nat→nat

的图灵完备当且仅当对于每个总可计算函数 ˚F :Ñ → Ñ有一个术语吨˚F使得 Γ ⊢ 吨˚F:Ñ 一吨 → Ñ 一吨 并为每 Ñ ∈ Ñ 吨˚F(小号Ñ 0 )→ * β小号˚F (ñ ) 0Lf:N→Ntf

Γ⊢tf:nat→nat
n∈N
tf (Sn 0)→β∗Sf(n) 0

现在,安德烈的对角化论证表明,有是非终止的型ñ 一个牛逼。tnat

现在看来我们已经中途了!给定一个非终端项,我们要替换的出现ñ 一个牛逼由一些通用的类型一,摆脱0和小号在Γ,我们将有我们的不一致性(一个有人居住在上下文A中:P r o p)!Γ⊢loop:natnatA0SΓAA:Prop

不幸的是,这很容易卡住我,因为很容易用标识替换,但是0则更难消除。理想情况下,我们想使用一些Kleene递归定理,但我还没有弄清楚。S0


好的,因此请先对您的发言做两点澄清(1)。当您说此交集类型系统不可递归枚举时,您是什么意思?当然,系统定理的集合是重新的,因为您已经将其定为直接的后续演算。另外,我看到您所链接的论文中证明的结果是,系统中可键入的术语恰好是严格归一化的术语。但这与说它可以准确键入全部可计算函数有什么不同吗?比如,是不是强烈正常化,但不是全部?λx.xx
— Morgan Thomas

现在,关于您的发言的问题(2)。在我看来,您引述的定理不是我们感兴趣的定理。它说,对于每个非依赖的LPTS,如果不一致,那么它就是图灵完成的。但是我们想知道是否对于每个LPTS,如果它的图灵完成,那么就不一致了。我在这里误会什么吗?
— Morgan Thomas

@MorganThomas:啊,你是对第一点正确的:我的意思说的是,该类型的系统不能可判定,即给定,声明Γ ⊢ 牛逼:一个是不可判定。我会在帖子中更正此问题。Γ,t,AΓ⊢t:A
— 科迪2015年

第二点:您还可以正确地确定一个非总计函数的类型正确(尽管不一定将其应用于给定的参数)。我会修改答案。
— 2015年

1
第三点。你又是对的!但是,相反的情况(在LPTS的特殊情况下)则微不足道。我将概述论点。
— 2015年

11

这是@cody对我的问题进行精确描述的一种答案。如果我们允许引入其他公理和归约规则,则存在一个一致的LPTS,大致在@cody的意义上是图灵完成的。因此严格来说,该系统不是 LPTS。它仅仅是一个类似的东西。β

考虑构造的演算(或您最喜欢的 cube 成员)。这是一个LPTS,但我们将添加额外的内容,使其不成为LPTS。选择常量符号nat ,0 ,S,然后添加公理:λnat,0,S

⊢ 0 :NAT ⊢ 小号:NAT → NAT

⊢nat:∗
⊢0:nat
⊢S:nat→nat

指数自然数图灵机的程序,并为每个自然数,选择一个常量符号˚F ē,添加公理˚F Ë:NAT → NAT,并为所有ē ,X ∈ ñ,添加β -还原规则efefe:nat→nate,x∈Nβ

fe(x)→βΦe(x),

其中照常是的输出ë个上图灵机程序X。如果Φ Ë(X )发散则此规则不执行任何操作。注意,通过添加这些公理和规则,系统的定理仍然可以递归枚举,尽管它的β-约简规则集不再是可判定的,而仅是递归可枚举的。我相信,通过在系统的语法和规则中明确说明计算模型的细节,我们可以轻松地确定β约简规则集。Φe(x)exΦe(x)ββ

现在,从蛮横的角度来看,这个理论显然是图灵大致上的图灵完成的;但声称它也是一致的。让我们构建一个模型。

U1∈U2∈U3

  • ∅,N,0,S∈U1S
  • a∈b∈Uia∈Ui
  • A,B∈UiBA∈Ui
  • A∈Ui and f:A→Ui, then ∏a∈Af(a)∈Ui.

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 Ui to be a Grothendieck universe.

We define an "interpretation" to be a mapping v from the set of variable names to elements of U2. Given an interpretation v, we can define an interpretation Iv of terms of the system in the evident way:

  • Iv(x)=v(x), for x a variable name.
  • Iv(∗)=U1,Iv(◻)=U2.
  • Iv(nat)=N,Iv(0)=0,Iv(S)=S.
  • Iv(fe)=Φe, i.e., the function N→N defined by the eth Turing program.
  • Iv(AB)=Iv(A)(Iv(B)), if Iv(A) is a function with Iv(B) in its domain, or Iv(AB)=0 otherwise (just an arbitrary choice).
  • Iv(λx:A.B) is the function which maps an element a∈Iv(A) to Iv[x:=a](B).
  • Iv(Πx:A.B)=∏a∈Iv(A)Iv[x:=a](B).

We have that for all terms A, Iv(A)∈U3. Now we say that an interpretation v satisfies A:B, written v⊨A:B, if Iv(A)∈Iv(B). We say that Γ⊨A:B if for all interpretations v, if v⊨x:C for all (x:C)∈Γ, then v⊨A:B.

It is straightforward to check that if Γ⊢A:B, then Γ⊨A:B, so this is a model of the system. But, for any variables x,y, it is not the case that y:∗⊨x:y, because we can interpret y 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.


2
This is a nice answer, but I'm not sure you need to go through all those calisthenics to prove consistency: a term of type A in the empty context can be "de-sugared" to a term in the CoC: I'll call the fe(x)→Φe(x) rules ι-rules and keep β for the usual ones. Perform all β-reductions (this terminates since you have only added constants), and replace every term of the form fe(x) by its reduct if it has one. The idea here is that the ι-rules only operate on ground terms, so you can do all the β-reductions first to get them out of the way.
— cody

I think you're right. This is not my field, so I'm a bit clumsy doing things. :-) I think your proof works, and one interesting consequence, if I'm right, is that this theory doesn't have very much consistency strength. It looks like a potentially very powerful theory, since it has types and natural numbers, which should let you interpret set theory; but apparently you can't, because you can prove it consistent without using powerful set theory!
— Morgan Thomas
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.