兰姆达微积分(三)

5.2扩展基本理论λ

可以使用许多扩展λ。 例如,考虑规则(η),它表达了作为推理规则的η减少原则:

λx[mx] =是提供x∉fv(是)

规则η告诉我们,某种抽象是otiose:识别m函数是安全的,因为函数x适用m到x。 通过此规则,我们还可以看到所有术语都有效功能。 人们可以使用β-减少原理直观地证明这一规则。

mx = nxm = n提供x∉fv(是)∪fv(n)

可以将规则分解为一种概括原则。 如果我们派生那个mx = nx,而且x数字在既不是m nor n,那么我们已经有效地显示了m和n是相似的。 将此原则与一阶逻辑的通用概括原则进行比较:如果我们从一个假设的γγ导出φ(x),其中x不自由,那么我们可以得出γ导出∀xφ。

λ-微积分中的另一种生产原理允许我们识别“行为”相同的术语:

对于所有术语x,mx = nxm = n

规则ω具有无限的许多假设:假设mx = nx,无论x可以是什么,那么我们可以得出结论m = n。 ω规则是在正式数字理论中引起的引起规则的λ-微积分中的模拟,根据哪一个可以得出通用公式∀xφ,提供一个有φ(x:= 0),φ(x:= 1)的证据,......。 请注意,与规则EXT不同,X不会在M或N中自由发生的条件不会出现。

6.λ-微分的一致性

λ-结石是否一致? 问题可能不会良好。 λ-微积分不是逻辑,才能推理主张; 没有明显的矛盾(⊥)或形成荒谬命题的方法(例如,p∧¬p)。 因此,λ-微积分的“不一致”不能意味着衍生⊥,或一些公式Tantamount到⊥。 但是,“一致”的合适概念可用。 直观地,如果允许我们派生太多,逻辑是不一致的。 理论λ是方程理论。 因此,我们可以采取λ的不一致意味着:遍及所有方程。 这样的财产,如果它是真的λ,则将清楚地表明λ几乎没有用作正式理论。

A.教堂的λ-微积分的早期配方确实不一致; 参见(Barendregt,1985,附录2)或(rosser,1985)进行讨论。 采取具体问题:我们如何知道等式k =我不是λ的定理? 这两个术语显然直观地截然不同。 k是两个参数的函数,而我是一个参数的函数。 如果我们可以表明k = i,那么我们可以表明KK = IK,kk = k将是λ的定理,以及许多其他方程式击中我们直观地不可接受。 但是当我们调查正式理论,例如λ,直观的不可接受性,绝不意味着很大。 缺少的是对β减少的更深入了解。

提前产生这种理解的结果被称为教堂 - 罗瑟定理:

定理(教堂 - rosser)如果p⊳βq和p⊳β,则存在术语s,使得q⊳βs和r⊳βs。

(本定理的证明是非常非凡的,并且远远超出此条目的范围。)结果是关于β-减少的深刻事实。 它说,无论我们如何通过β-减少如何偏离P,我们都可以始终汇集到共同的术语。

教堂 - rosser定理给我们,其中包括普通λ-微积分 - 也就是说,λ-术语之间的方程的理论λ是一致的,因此不是所有方程都是衍生的。

作为一名插图,我们可以使用教堂 - rosser定理来解决表明两个术语k和i未被λ识别的问题。 这两个术语在β-正常形式中,因此来自它们根本没有β还减少序列。 如果k = i是λ的定理,则将有一个术语m,其中I和K的β还是β-还原路径。然后,教堂 - rosser定理然后意味着可以合并来自m的两条路径。 但这是不可能的,因为K和我是不同的β正常形式。

教堂 - rosser定理意味着存在于从k开始的β还序列,并从常用项结束。 但是,没有从I开始的β-还原序列,因为它处于β-正常形式,同样适用于K.

定理λ是一致的,因此不是每个方程都是定理的感觉。

为了证明定理,产生一个可行的等式足以。 我们已经通过一个例子工作:我们使用了教堂 - rosser定理来表明等式k = i不是λ的定理。 当然,这两个术语没有什么特别的。 可以使用该结果的显着概括:如果m和n以β-正常形式,但m与n不同,则等式m = n不是λ的定理。 (如果我们为λ添加额外的推理规则,则这种简单的有利性条件通常不会持有。)

理论λη和λΩ同样一致。 通过将教堂 - 衡量的定理扩展到这些理论的衍生能力的更广泛的感官,可以证明这些一致性结果。

7.λ-微分的语义

正如我们已经所说的那样,λ-微积分在心脏上,关于功能及其应用。 但令人惊讶地难以以语义术语兑现这个想法。 自然方法是尝试将每个λ-term m函数fm与某个域d相关联,并使用函数应用作为fm(fn)来解释应用程序术语(mn)。 但这个想法很快陷入了困境。 首先,很容易看到,在此上下文中,我们无法使用函数的标准Set-Moreoric概念(参见本条目的第1.2节)。 根据这一概念,记住,函数f是一组参数值对,其中每个参数都被分配了一个唯一的值。 问题出现在自我应用的背景下。 请记住,从第2.1节中,没有型号λ-calculus允许λ-术语(xx),它直观地将x自身应用于自身。 在我们探索的语义图片上,我们可以通过将函数fx用于X并将其应用于本身来获取术语(XX)的相关函数f(xx):

f(xx)= fx(fx)

但遵循函数 - 如图所示,这将意味着设置的FX需要包含一个参数值对,该对具有FX作为其第一组件和F(XX)的第一个组件:

fx = {...,(fx,f(xx))),...}

但这将使FX成为一个非良好成立的对象:定义FX将涉及FX本身。 事实上,像这样的结构被排除在标准的公理集理论之外,由基础的公理(也称为规律性的公理)。 - 这是进一步的语义证据,即λ-微积分底层的函数的概念不能是扩展函数的概念。

但问题甚至比这更深。 即使我们使用函数的非扩展概念,如函数 - 根据规则构想(再次见第1.2节),我们遇到了困难。 在没有型号的λ-微积分中,一切都可以是函数和函数的参数。 相应地,我们应该希望我们的域D在某种意义上包括函数空间DD,它包含来自D的All且唯一的函数的函数和唯一的函数。要查看此项:

D的每个元素都可以是适用于D的元素的函数,然后可以再次返回的返回是D的元素的参数。因此,D直观地对应于DD的成员的每个元素。

如果,如果依次占据DD,即,来自D的参数和值的函数,这正是我们想要在我们的域D中包含的那种东西。因此,直观地,我们希望DD的每个成员对应于D的成员。

简而言之,我们希望我们在我们的域和自己的函数空间之间成为一对一的对应关系,即,我们希望它们满足“公式”Xīxx。 但这是不可能的,因为它违背了Cantor的定理。

鉴于这些困难,问题出现了是否可以首先为λ-微积分提供一个定理模型? 事实证明它是。 D. Scott是第一个在1969年度在未发表的稿件中描述这样的模型的模型。该模型d∞通过适当地限制函数空间DD来解决Cantor的定理的上述问题,仅仅让DD的某些成员对应于D.覆盖斯科特的建筑成员超出了此条目的范围,因为它涉及来自代数和拓扑的先进工具; 查看(Meyer 1982),(Barendregt,1985,第188章),或(Hindley和Seldin,2008,第16章)了解详情。 相反,我们将讨论更一般的问题:什么是λ-微积分的模型? 也就是说,留下一瞬间的问题是什么组是函数,规则或者不同的东西,我们问了什么样的数学结构是λ-微积分的模型。

7.1λ-模型

事实证明,有多个,基本上等同的方式,可以定义λ-微分的模型的概念; 参见(Barendregt,1985,第5章)或(Hindley和Seldin,2008,第15章)。 在下文中,我们将讨论熟悉熟悉的一阶逻辑标准语义的哲学家最适合的概念(参见,例如,在经典逻辑上的条目),所谓的语法λ-型号。 这些模型首先出现在(Hindley和Longo,1980)的工作中,(Koymans,1982年)和(Meyer 1982)。 他们从他们的子句与微积分λ的句法规则密切对应的事实中得出了他们的名字。 这有点不令人满意,激励“无语法”定义(见下文)。 与此同时,语法λ型号在λ - 型号的世界中提供了相当透明和可访问的路由。 此外,尽管他们的概念性缺点,但句法模型在λ-微分的语义研究中证明了技术上有用的工具。

为了避免上述设定的理论问题,λ-型号的大多数定义使用所谓的应用结构。 该想法是将λ-术语的表示不像设定的理论函数处理,而是未分明的一阶'函数 - 对象',而不是未分明的“函数 - 对象”。 然后,我们将函数应用程序视为这些函数 - 对象上的未分析二进制操作:

定义A应用结构是一对(D,⋅),其中D是一些设置和⋅上的二进制操作。为了避免琐碎的模型,我们通常假设D具有至少两个元素。

在某种意义上,应用结构是满足有问题方程x≅xx的一阶模型的函数空间。 λ - 模型又定义在它们上面。

对于我们的Λ模型的定义,我们与估值 - 一阶语义熟悉的概念。 估值为变量分配表示,并且主要用于λ-operator的语义子句。 另外,它们可用于以熟悉域的方式表达对域的一般声明,这是一种熟悉的一阶量词∃x和∀x的语义。

定义应用结构(D,⋅)中的估值是一个函数ρ,其将元素ρ(x)∈d分配给每个变量x。

作为一种有用的符号,对于某些应用结构(d,⋅),x变量和d∈d的估值,我们通过说:ρ[x∈d](y)= {d,如果y =Xρ(y)其他偏见是,ρ[x↦d]是将x值更改为d的结果,同时将所有其他其他值置于ρ不变化下。

定义一个语法λ-model是三重m =(d,⋅,[]),其中(d,d,⋅)是应用结构,[[]]是分配给每个λ-term m和估值ρa表示的函数[[m]]ρ∈d受以下约束:

[[x]]ρ=ρ(x)

[[mn]]ρ= [[是]]ρ⋅[[n]]ρ

[[λxm]]ρ⋅d= [[m]]ρ[x↦d],适用于所有d∈d

[[λxm]]ρ= [[λxn]]ρ,每当所有d∈d时,我们都有[[m]]ρ[x↦d] = [[n]]ρ[x↦d]

[[m]]ρ= [[m]]σ,每当ρ(x)=σ(x)全x∈fv(m)

直观地,在模型m中,[[m]]ρ是由λ-ingetρ的函数对象在估值ρ下表示。

它现在直截了当地定义λ-model m来满足等式m = n的意味着什么,符号m⊨m= n:

定义(满意)。

m⊨m= N IFF对于所有ρ,我们有[[m]]ρ= [[n]]ρ

言语:等式M = n在模型M中保持在λ-术语M和N在底层应用结构中的每个估值下具有相同的表示。

请注意,条款3.和4.从语法λ-model的定义,分别直接镜像λ-rulyβ和ξ(参见上面的第5.1节)。 这是我们模型的“句法”性质。 虽然这可能是语义不令人满意的(见下文),但它使其相对直截了当地证明了语法λ - 型号提供的语义的声音定理; 查看(Barendregt,1985,定理5.3.4)和(Hindley和Seldin,2008.定理15.12):

所有术语M,n,如果m = n可导向λ,则对于所有语法λ-model m,我们有那个m⊨m= n。

本定理为语义提供了第一个“Sanity-Check”。 但请注意,到目前为止,我们还没有显示出存在任何句法λ-型号。

通过构建所谓的“术语模型”来解决这种担忧,这与来自一阶语义的众所周知的Henkin结构不同。 为了定义这些模型,我们首先需要对给定λ-romal M的λ等效类的概念。该类恰恰包含λ的术语与m:

[是]λ= {n:λ证明是= n}

然后,我们通过设置定义λ,t的术语模型:

d = {[m]λ:m是λ-term}

[是]λ⋅[n]λ= [mn]λ

[[m]]ρ= [m [x1:= n1]λ,其中fv(m)= {x1,...,xn}和ρ(x1)= n1,...,ρ(xn)= nn

很容易看出,这确实定义了一个语法λ模型。 实际上,很容易检查在λ的术语模型中,我们有:

t⊨m= n当且仅当λ得出结论是= n。

这为λ相对于句法λ - 型号的λ表示非常简单的完整性证明; 查看(Meyer,1982,98-99),其中一些明确提到的文献中的一些明确提到的一个:

对于所有术语M,N,如果对于所有语法λ - 型号M,则我们具有m⊨m= n,然后m = n可导出在λ中。

证明是一种简单的证明,它通过术语模型T作为对反模块的反模块,以λ中的任何不可导出的标识。

但是有理由对句法λ-型号不满意,作为λ-微分的语义。 对于一个,借助于条款3.和4.镜像规则β和ξ,声音结果是“烘焙到”语义中的。 从语义角度来看,这是不令人满意的,因为它意味着通过语法λ - 模型,我们不会直接学习任何方法,以便充分模拟λ-微积分的情况。

相关担心是条款3.和4.本质上没有递归。 也就是说,它们不允许我们从其部分的表示和关于用于组合它们的语法操作的句法操作的信息来计算复杂λ-术语的表示。 在我们的语法中(参见第2节),有两种构造复杂λ-术语的方法:形式Mn的应用程序条款和表单的抽象条款(λx[m])。 条款1.我们的语法λ-model是语法应用程序操作的递归子句,但我们没有rECUSUSIVE子句进行λ - 抽象的语法操作。 子句3.和4.在表示功能[[]]上的条件也是递归条款。 这是不令人满意的,因为它意味着我们并没有通过语法λ - 型号给出λ-operator的组成语义。

这些担忧是在不发布语法的λ - 型号的发展中。 对无语法模型的全面讨论超出了此条目的范围; 但有关详细信息,请参阅(Barendregt,1985,第5章)和(Hinley和Seldin,2008年,第15B章)。 足以说,无语法的λ-型号的定义涉及精确地确定应用结构适用于解释λ-微分的条件。 所得到的λ - 模型,确实提供了(更接近的东西)递归,组成语义,其中λ抽象的语法操作是通过对应用结构上的相应语义操作而受到的。

然而,值得注意的是,语法λ - 模型和语法的λ-型号在一定的意义上是等效的:每个语法λ-model定义一个无语法λ-model,反之亦然; 参见(Barendregt,1985,Terem 5.3.6)和(Hinley和Seldin,2008,定理15.20)详细信息。 从技术角度来看,该结果允许我们在给定的上下文中自由地移动λ - 模型的不同介绍,并在给定的上下文中使用最有利的模型的概念。 与此同时,可能会有哲学的原因,更喜欢一个呈现的另一个呈现,例如对上述语法λ模型的语义担忧。

在移动到模型结构之前,让我们简要提到有各种方法来接近λ模型。 到目前为止,我们忽略了一个特别有趣的方法是从类别理论和分类逻辑的角度来看。 使用所谓的“笛卡尔封闭的类别”有了着名的模型描述; 查看(koymans,1982)。 覆盖这些模型描述超出了本入口的范围,因为它需要熟悉类别理论的广泛概念; 有关所涉及的机械感的入口类理论。 有关这些模型描述的详细信息,而是(BarendRegt,1985,第5.4-6节)。 近年来,对λ-微积分的分类方法进行了重新开放的兴趣,主要集中在λ-微分的类型(参见下面的第8.2和9.1.2节)上,而且还包括本发明讨论的无型λ-微积分文章。 例如,参见最近的讨论(2017年Hyland,2017)。

7.2模型结构

我们在第7.1节中看到的术语模型是相当琐碎的:它通过精确地句法平等模数λ-可提供平等来直接反映λ-术语的句法结构。 这使得数学上和哲学上的术语模型相当不感兴趣。 更有趣的混凝土λ-Models的构建和研究是λ - 微积分模型理论的主要目标之一。

我们已经提到了最重要的是什么,但绝对是λ-微积分的第一个非琐碎模型:斯科特的d∞。 但是还有其他有趣的模型结构,例如Plotkin和Scott的图形模型PΩ,首先(Plotkin 1972)和(Scott,1974)中描述。 然而,这些模型结构通常依赖于相当涉及的数学方法,这对于它们的定义以及验证它们确实是λ - 模型。 因此,涵盖这些结构超出了该条目的范围; 参见(Hinley和Seldin,2008,第16章),了解各种模型建筑和(Barendregt,1985,第18章)的许多正式细节。

具有不同模型的优点之一是,在λ - 微积分中看到不同方面的不同方面:每个不同的模型对λ-术语的识别出现不同的视图。 在这种情况下有一个有趣的问题是:给定类模型的λ-理论是什么? 在这种情况下,我们呼叫λ-Models的C类C,以防每个(一致)λ-理论在C中的某些型号满足的情况下

(本章完)

相关推荐