在
数学、
逻辑和
计算机科学中,递归语言或递回语言是也叫做可判定语言或图灵可判定语言的
形式语言类型。所有递归语言的类经常被称为 R。这种语言类型在
乔姆斯基层级中没有定义。
则称M
判定语言S。 若存在这样的M,S就称为图灵可判定语言。
递归语言是在下列运算下是
闭合的。就是说,如果L和P是两个递归语言,则下列语言也是递归的:
注意图灵可判定语言和
图灵可识别语言的区别:若S是图灵可识别语言,则只需存在一 台图灵机M,当M的输入 ω ∈S时,M一定会 停机并进入接受状态;当M的输入 ω ∉S时,M可能停 机并进入拒绝状态,或者永不停机。而若S是图灵可判定语言,则必须存在图灵机M, 使得对于任意输入串 ω ∈ Σ,M总能停机,并根据 ω 属于或不属于S分别进入接受或拒绝状态。
很显然,对于任何 ω,它要么属于S,要么属于S的补, 所以M1和M2中必然有且仅有一个 可以在有限步执行内接受 ω 。 若M1在k步内接受 ω,说明 ω 属于S, 则当i=k时,M会接受 ω 并停机; 同理,若M2在k步内接受 ω, 说明 ω 属于S的补,则当i=k时,M会拒绝 ω 并停机。于是M就判定了语言S。
证明:很显然 HALTING 是图灵可识别语言,若它的补语言也是图灵可识别的, 则根据上述定理知 HALTING 是图灵可判定的,这和
停机问题中证明的结论矛盾。