游戏,全抽象和完整的完整性(三)
2.5.3混凝土数据结构和顺序算法
如果序列的充分定义所需的域名是描述计算事件发生之间的因果关系,则必须通过考虑位于地方的事件,概括在vuillemin和milner的定义中的参数概念概括了我们的图片取决于如何呈现函数。 这导致了具体数据结构(CDS)(Kahn&Plotkin 1993)的概念,以及一阶数据域的阶层的秩序性质的公理化。 Kahn和Plotkin获得了由其公理域,具体域名描述的域的域的表示定理,该域在探索的具体数据结构的探索过程中,其中包括填充状态x,任何由已经启用的事件集启用的任何单元格发生在x中,从最初,空状态中启用的初始单元格开始:这类似于在摘要演绎系统中的定理类似,其规则是启用性。 作为一个激励例子,想到一个联系的,例如自然数。 可以以任何值N1随时填充初始单元。 此事件启用列表的第二个单元,然后可以(且仅当时)填充有任何值N2,依此类别的单元格。
观察混凝土数据结构的框架给出了必要的概念来重建连续性的语义版本。 粗略地,来自M的M'的状态的单调函数f是顺序(在状态x),如果对于任何输出单元c',则存在必须在从x到y的任何转变中填充的输入单元c,使得从f(x)到f(y)的转换填充c'(如果存在这样的C')(CURIEN 1986:DEF。2.4.5)。 细胞C是用于C'的F的序度指数。
目的是具体数据结构的类别,并且其致法是刚被定义的顺序函数,但不是笛卡尔关闭,不会意外地关闭。 此观察(对于一个简单的证据,请参阅Amadio&Curien 1998(定理14.1.12))阻止使用此类别作为PCF的模型。 然而,可以为每个两个具体数据结构M,M'是一个新的一个m→m'定义,其状态表示顺序算法,并且是笛卡尔封闭类别中的m和m'的指数对象,其致法是顺序算法(锡蒂莉恩1986:秒。2.5)。 PCF模型理论的概括对分类模型允许我们从这种新类别获得PCF的模型,即使其态度在通常的设定理论上不起作用。 事实证明,连续算法模型没有扩展,因为存在不同的PCF术语,其表示相同的连续功能,但表示不同的算法。 作为示例,考虑以下两个术语,该术语表示相同的功能但不同的算法:
rror(x,y)=如果x然后(如果y然后tt x)
否则(如果y然后ff)
rlor(x,y)=如果y然后(如果x然后tt y)
否则(如果x然后ff)。
通过适当地引入语义中的错误值2,错误2,并强制执行术语解释的错误传播属性(从而扩大语言的可观察物),然后可以区分与上述术语相对应的函数:清楚地,用于解释功能我们有的rror和rlor
lror(error1,error2)= error1 rlor(error1,error2)= error2
这还指出了在PCF与控制运营商(Cartwright,Curien,&Felleisen 1994)的扩展方面证明了这一(非标准)扩展模型的全面抽象的可能性。
在留下这种追求概述的概述之前,我们应该提及Bucciarelli&Ehrhard(1994),谁介绍了支持强烈稳定功能概念的浆果概念的细化构建PCF的扩展模型,这不是完全抽象的。 在这种情况下完全抽象失败的原因取决于PCF可定义功能满足在稳定顺序排序函数时失败的扩展性属性的事实。 这也是有动机引入竞争的原因(浆果1978),其中稳定和伸展(=何时)函数共存排列。
2.6历史记录和进一步读数
在规划语言的指示和运营解释之间的关系中,预计完全抽象的问题已经预期。 特别是,在20世纪70年代初的一群人在Zohar Manna聚集的一群人,包括Jean Marie Cadiou,Robin Milner和Jean Vuillemin,还在托恩福德在斯坦福大学中进行了开创性的工作与Gilles Kahn互动。
完全抽象问题的背景也是相当有影响力的,即基于Böhm树(Barendregt 1984年),主要是由于Lévy和浆果(参见Berry等,1985和Curien 1992),用于搜索这条线的全抽象模型的PCF)。
PCF全抽象的基本文件是Milner 1977; Plotkin 1977.它们可以一起阅读,因为提供这种语言的语义分析的相干图片。 从一定类别的连续计算策略(Sazonov 1975,1976)方面,来自俄罗斯逻辑师Vladimir Sazonov的独立抽象方法来自PCF的可明确性。 然而,他的工作对全面抽象问题的大部分研究没有直接影响,并且只有最近还有试图将Sazonov的特征与游戏理论方法相关联(Sazonov 2007)。
另一个完全不同的抽象方法,利用特殊类型的逻辑关系来隔离连续模型的商。 在全抽象问题的上下文中首次使用逻辑关系是Mulmuley 1987,但是通过蛮力获得了完全抽象模型的构造,因此不是完全抽象问题搜索的问题。 后来,Sieber(1992)和O'Hearn&Riecke(1995)采用了这种技术的改进,以更好地了解完全抽象模型的结构,通过在特殊逻辑关系中通过不变性地表征标准连续模型的可定义元素非顺序功能。
PCF全面抽象问题的详细说明可以在Gunter 1992(Chaps 5,6),Streicher 2006,Ong 1995,Stoughton 1988和Amadio&Curien 1998(Chaps 6,12,15)中找到,大约增加了技术复杂性。 在教科书(Longley&Normann 2015:Chaps 6,7)中详细讨论了PCF的递归 - 理论问题及其全抽象问题的重点 较短的账户可以在Longley 2001(秒4)中找到。
3.游戏语义
3.1完整的完整性
定理2.2突出了有限元在PCF的全抽象模型中的可定定能力的基本作用,这是在CIRIES 2007中强调的一个方面。作为基于游戏的形式主义的顺利过渡,部分遵循主题的历史发展,我们停顿很快审查在计算和建设性逻辑系统的证明理论之间产生的可定义的另一个方面。 它一直是一种显着的发现,即天然扣除证据的结构,例如,直觉突出的突出微积分的可令人意识形态的片段是完全描述的简单类型的λ-微积分,其中形式σ→τ的可提供的突出公式阅读作为代表其证明的术语的类型。 这是一个名词,归因于Curry,De Bruijn,Scott,Läuchli,Lawvere和Howard,它延伸到多大富裕的正式系统(对于这封信函的历史看Cardone&Hindley 2009:SEC。8.1.4)。
这种信件的存在使得可以谈论证据的语义,它扩展到建设性正式证明键入的λ-calculi的指示解释,并且在这种情况下,询问某些dσ的元素x是否在一个模型中询问某些dσ的元素x也是有意义的类型的λ-微积分是解释式σ的某些证据。 另一个问题询问是否满足适当选择的属性的Dσ的每个元素是解释公式σ的证据。 合适的性质可以是在逻辑关系下的不变性,适当地定义在每个Dσ上,就像在帕特金,挪证,Dekkers,&Statman 2013中汇总的奇迹,统计事例和其他结果(i.3,i.4)。 我们可以阅读后一种问题,如提出所谓的系统的强大完整性形式(Abramsky&Jagadeesan 1994),其定义在建设性逻辑系统的分类语义中可以更好地理解。 常常将这种系统的公式a解释为合适类别M的对象[[a]],以及Sements a -b作为态态的证据p [[p]]:[[a]]⟶[[b]]。 虽然普通完整性指出,对于每个有效的搜索A 1B的组([[a]],[[a]],[[a]],[[b]])的态态不是空的,但在当前设置完整完整性表达了每种态度f:[[a]]⟶[[a]]的更强的要求在语义类别中,M是对某些证据的解释,即Sequenta⊢b的某些证据P.,F = [[P]]。 已经证明了全面完整性结果,即线性逻辑Girard(1987年)的几个子系统,见Abramsky(2000)是一般框架。 此外,它还提出了实现PCF模型定义的技术,享受密集的全抽象所需的强定能力。
3.2互动
在我们对PCF的连续模型的改进中的描述中,为了保证每种类型的有限元的可定性,我们逐步更接近计算的交互式说明。 例如,顺序算法M→M'(CURIES 1986:SEC.3.3)的动作利用外部调用代理,该代理触发了一个关于引导(可能)的输入单元的请求和响应的循环,以发射输出值。 这种相互作用应该是在计算分析中的中央概念,特别是与全抽象有关,可能是在运营当量定义中采取的观察立场的自然结果。 我们对游戏语义的简短陈述精确地开始分析互动的一般概念作为对游戏的第一次形式化的动机,这无论是足够丰富的富裕,以便为解释限制类型和条款的解释提供宇宙。 后来我们将添加到这个游戏的这个定义和策略来表达允许策略来表征精确更高阶,顺序计算的特征所需的功能所需的功能是通过完整抽象问题所针对的目标语义设置的目标。 目前对游戏语义的概念背景的叙述欠Abramsky和Curien的工作(Abramsky 1994,1994,1999,1997; Cien 2003a)。
由于仅在近年来,广泛的研究领域来自相对近年来,尤其是线性逻辑(Girard 1987)和并发过程理论,因此孤立的相关互动概念是孤立的。 在这些领域,组合物的概念作为模块的相互作用形成。 我们在这里给了这里只是一个简单的例子,以“平行成分+隐藏”形式的模块的组成是自然界的,以便将其与该想法的起源连接在由Hoare(1985)开发的并发进程的语义中,也能够首次瞥见简化的游戏形式主义。
考虑一个模块S,其中包含四个频道标记为AIN,AOUT,RIN,RIT。 该模块旨在返回通过通道AIN传入的号码N的AUT的AUT AOT的AUT,因此其行为可以如下规定:
s接收输入信号?在频道rin,然后
在频道溃败上发出信号?
等待频道AIN上的值n,然后在收到它后,
在通道AOUT上发出值n + 1。
(这种交互模式与硬件设计中使用的握手协议同样相同,用于同步组件,以避免信号干扰引起的危害。)可以如下映射该行为,如下所示:
[一个带有字母S内部的矩形框,在左上角的左上角的线条标记为“?_in”,在左下方的左下方的线圆圈中标记为“n + 1out”,在黑色圆圈的右上角的右上角是标记为“?_out”,在右下方的右下方是一个白色圆圈的线被标记为“n_in”
图1:继承功能的模块。
其中∘意味着输入或更一般地,模块在相应的动作中的被动参与,而∙∙意味着输出或主动参与该动作。 我们可以使用迹线(HOARA 1985),即来自无限字母αs= {in的有限序列的符号的行为= {?OUT,nin,mout}:
τs= {ε,?中,?吗?出来,?吗?outnin,?吗?outninn + 1out,...}
如果我们考虑使用字母αs'= {的另一个实例s'{?
'
在...里面
,?
'
出
,n
'
在...里面
,是
'
出
我们可以通过识别(=连接)频道rat,r来撰写s和s'
'
在...里面
和ain,a
'
出
和通过它们的信号,如图所示:
?出,?
'
在...里面
⇝x
n + 1in,n + 1
'
出
⇝y
这代表了模块的并联组成,s‖s':
[两个矩形,左边的一个包含's'和右边的\ prime'。 左上方的左上方有一个在标有“?_in”的白色圆圈中的线,左下方是一个标有'n + 2_out'的黑色圆圈的线。 右侧矩形的右上角有一条以黑色圆圈结尾的线,标记为“?\ prime_out”,右下方是标有'n \ prime_in'的线。 两个矩形通过两行连接。 鞋面上有一个黑色圆圈,右侧有一个白色圆圈标记为'x'。 左侧的白色圆圈和右侧的黑色圆圈较低,标记为“y”。]
图2
该组迹线描述了复合模块的行为
{ε,?中,?inx,?inx?
'
出
,?inx?
'
出
n
'
在...里面
,?inx?
'
出
n
'
在...里面
y,?inx?
'
出
n
'
在...里面
yn + 2out,...}
现在可以隐藏符号x,y,表示最终系统的行为
[两个矩形的两侧,侧面的侧面,左边的一个左边的一个'和右边的\ prime'。 左上方的左上方有一个在标有“?_in”的白色圆圈中的线,左下方是一个标有'n + 2_out'的黑色圆圈的线。 右侧矩形的右上角有一条以黑色圆圈结尾的线,标记为“?\ prime_out”,右下方是标有'n \ prime_in'的线。 两个矩形通过两个虚线连接。 鞋面上有一个黑色圆圈,右侧的白色圆圈,没有标记。 左下方的白色圆圈和右侧的黑色圆圈较低,没有标记。 具有固体侧面的较大矩形包围两个矩形,使左侧矩形的左侧和右侧矩形的右侧位于封闭矩形的左侧和右侧]
图3
谁的迹线有所需的形式
{ε,?中,?吗?
'
出
,?吗?
'
出
n
'
在...里面
,?吗?
'
出
n
'
在...里面
n + 2out,...}。
此示例包含许多游戏语义所基于的成分。 有一个系统的想法,它的行为是由环境的来源触发的行为:在游戏形式中,这些是支持者和对手在两人游戏中的角色。 每个模块的行为被描述为与其他代理的可能交互的迹线,并且行为可以通过作用的特殊变化来组成,其中播放作为系统的模块(在上面的示例中发出频道漏电时的请求信号)以表现为环境当在通道r输入中接收到该信号时的S'
'
在...里面
。 让我们了解这个例子如何概括。
3.3游戏和策略
我们只给出了了解游戏的基本结构所需的定义,并了解这些类别,遵循阿布拉姆斯基1997年和1997年,其中包含更多正式的细节和证据。
3.3.1游戏
定义3.1通过给出一组移动MG来指定游戏G,将动作的标记ℓg为Proponent(P)或对手(O)的移动。 此外,存在一组位置PG,这是一组动作的序列,其中:(1)两个玩家交替,从O开始; (2)如果s∈pg然后s的每个前缀S也是pg。
例如,考虑与BBOOL的数据类型相关联的游戏。 有三种可能的动作,
一个o-move?bool和
两个p-moves tt,ff
(即,ℓbool(?bool)= o,ℓbool(tt)=ℓbool(ff)= p)。 这个游戏中的职位是
?布尔,?booltt,?boolff:
想到?BOOL作为单元格(如在一个具体数据结构中),其可以由两个值TT和FF中的一个填充,或者作为对手的问题,该对手被支持者是TT或FF的答案。 同样,我们可以用O-Move的游戏Gnum描述一个o-move?num和p-movesn∈n。
3.3.2策略及其构成
球员交替地在比赛中移动,每次移动到PG中的法律地位。 他们的行为是最好的看,描述了一个规定规定的策略,这些策略是在其转向移动的位置中对o的响应是什么。
定义3.2。 游戏G上的策略σ是G的前缀闭合的G组,使得每次SAB,SACσ,我们有B = C。
例如,GNUM上的策略是ε和所有序列?NUMN,分别对应于域N1的元素⊥和n。
我们想考虑上面描述的继承模块作为组的策略的一个元素,这些策略计算自然数上的功能。 如果我们仅考虑如图1的模块的左侧或右侧发生的s的相互作用序列,我们认为它们描述了谷杆菌的位置,其反转极性(主动/被动),具体取决于相互作用的侧面:模块最初是最初的被动,并且在接收到环境的请求时变得处于活动状态。 这种反转,由互补标记标记表示
¯
λg
,分配给Guident的对手的动作,相反,对游戏的定义至关重要:
定义3.3。 鉴于任何一对游戏g,h,游戏g⊸h已经移动mg⊸h的脱节Union mg + mh的游戏g和h,在哪里
λg⊸h(是)= {
¯
λg
(m)=。如果m∈mg,
λh(m)=。如果m∈mh。
pg⊸h中的位置是移动的任何交替序列(mg⊸h),其限制s↾mg,s↾mh分别在g和h中的移动,是g和h的位置。
解释SUC的策略:NUM→NUM对应于上面用作指导示例的模块S的行为。 现在可以将两个实例的并联成分+藏身方法现在可以作为策略的构成重新解释,表明一般模式:
gnum⊸gnum gnum⊸gnum
?在o
?
'
在...里面
o?出p
?
'
出
p o
⋮⋮⋮
n
'
在...里面
o p
n + 1
'
出
p n + 1in o
o n + 2out p
定义3.4。 策略σ上的组成τΣσ在h⊸k和τ上的g⊸k上,由Mg + Mk的动作序列组成,通过将MH的序列S的MH中的MH的移动彼此覆盖而获得的MG + MK。s↾g,h位于pg⊸h和s↾h,k处于ph⊸k。