×

并发演算的过滤模型。 (英语) Zbl 0916.03017号

本文的背景是由Barendregt、Dezani和Coppo在80年代早期介绍的非类型lambda演算语义的类型理论或逻辑方法。想法是这样的:为了解释非类型化lambda演算的一些扩展,我们引入了一个Curry-style类型系统,并定义了一个(封闭)项\(M\)的语义,作为它可以被赋值到的类型集\([M]\)。如果类型系统被选择得足够有表现力,那么我们可以得到形式的完整结果:\([{M}]=[{N}]\)当且仅当\(M\)和\(N\)在观测上等价(在任意上下文中产生相同的结果)。通常,这种完整性结果需要类型(sigma\leq\tau)和交集类型(simma\wedge\tau。后一种效果是通过包含规则(M:\σ\)在\(\σ\leq\τ\)时暗示\(M':\τ。
这些过滤器(按反向包含排序)形成了一个分配格,这与斯科特(Scott)开创的(lambda)演算语义的(更标准的)顺序理论方法建立了联系。在人们不知道语义模型应该具有什么形式的情况下,类型理论方法可能是有利的。
这正是所审查文件的情况。给出了非类型lambda演算的两个非确定性结构的扩展的类型理论语义:(M+N)(在(M)和(N)之间的非确定性选择)和(M并行N)((M和N的并行组合)。这种扩展旨在为并发编程语言提供元语言,其方式与(遵循Scott-Strachey)无类型lambda演算为函数式和命令式编程语言提供通用元语言相同。
除了这些非确定性结构之外,微积分还有两种抽象:\(lambda v.M)(急切抽象)和\(lampda x.M)(惰性抽象)。给出了一小步操作语义,其显著特征是:
1) 非确定性选择的规则\(M+N\右箭头M\)和\,
2) 当(M\右箭头M')和(N\右箭头N')用于并行合成时,
3) 当\(v\)是一个值(变量、抽象或具有至少一个因子a值的并行组合)和\(v\rightarrow v'\)时,并行急切\(\beta\)-约简规则(除了惰性抽象的标准\(\贝塔\)-约简规则):\((\lambda v.M)v\right arrow M[v/v]\parallel(\lampda v.M)v'\。
我在论文中提到了一些不太突出的规则。
本文的第一个技术部分(第2节)致力于此操作语义的语法研究。主要概念是“条”:如果从\(M\)开始的每个最大归约序列与\(b\)相交,则有限项集\(b\)是某个项\(M\)的条。这允许通过\(M{\Downarrow}\)定义“必须收敛”,如果\(M\)有一个由值组成的条。对于所有上下文(C[]\)(带指定孔的术语\([]\。
一个重要的技术工具是定义一个辅助约简关系(M\triangleright N),它是Church-Rosser,并且具有这样的性质:如果(M_1,dots,M_N})是(M\)的条,那么(M\tringlerightM_1+dots+M_N)(引理2.9)。这与\(\三角右\)的归纳定义一起提供了收敛的以下特征:如果\(M\三角右N\)和\(M{\Downarrow}\),那么也\(N{\Down arrow{\)(定理2.12)。
第二部分(第3节)旨在对观测等效性进行类型理论表征。为此,引入了一个具有一个基类型(ω)和三个二进制类型形式(tau_1\rightarrow\tau_2)(函数空间)、(tau_1\wedget\tau_2)(交集类型)和(tau1\vee\tau_2\)(并集类型)的类型系统。类型集上的子类型关系是最小偏序\(\leq\),这样\(\omega\)是最大的元素,\(\wedge,\vee \)是二进制的满足和连接,\(\ rightarrow \)在第一个参数中是反调的,在第二个参数中则是单调的。
类型分配系统相当规范。控制新构造类型的规则如下。每个术语都有类型\(\omega\)。类型生成器\(\wedge\)和\(\vee \)分别用于键入并行组合和非确定性选择。急切抽象(\lambda v.M\)为联合可约分解(\sigma=\sigma_1\vee\dots\vee\\sigma_n\)中出现的每个\(\sigama_i\)在\(v:\sigma_i \)下获取类型\(\sigma{\rightarrow}\tau\)。
作者认为,正是后一条规则使主要的完备性结果通过:(M{\Downarrow}\)iff\(M:\omega\rightarrow\omega\)(定理3.23(\rightarrow))和推论5.6(\Leftarrow\))。首先通过直接归纳法证明了\(左箭头\)-方向的值,然后通过引理2.9和\(三角右\)的主题展开性质将其提升到所有项(定理3.22)。完整性的\(左箭头\)方向建立在可类型性的语义特征上:\(M:\tau\)iff\(M\in[\tau]\)其中\([-]\)是对满足引理5.4中规定的某些闭包属性的那些术语集的格中类型的解释。
最后,在第5.3节中,我们将事情放在一起,以获得主要结果:对于所有类型(τ)(定理5.11),(M\simeq^{mathcal O}N\)iff\(M:\tau\Leftrightarrow N:\tau\)。事实上,按照惯例,证明了一个略为通用的预购版本。
第4节,可能应该在第5节之后,将类型理论语义与域方程素代数格范畴中最小解(D)中微积分的域理论解释联系起来是上或Smyth幂域函子。
第6节以及引言的部分内容对相关工作进行了全面的讨论。从中可以看出,尽管使用交集和并集类型对Curry类型进行扩展已经有一段时间了,但与同时具有不确定性和并行性的并发语言的连接是新的。在评论家看来,由此产生的系统出人意料地自然,并且在这种情况下为类型理论方法提供了强有力的理由。鉴于人们一直对使用并发原语扩展函数编程语言感兴趣,本文是一篇及时的贡献,值得一读。
审核人:M.霍夫曼

MSC公司:

03B40型 组合逻辑与lambda演算
68问题55 计算理论中的语义学
03G10年 格和相关结构的逻辑方面
68甲15 编程语言理论
2010年第68季度 计算模式(非确定性、并行、交互式、概率性等)
03B70号 计算机科学中的逻辑

软件:

灵活
PDF格式BibTeX公司 XML格式引用
全文: 内政部