×

关联系统F和(lambda 2):Coq、Abella和Beluga的案例研究。 (英语) Zbl 1434.03030号

Miller,Dale(编辑),第二届计算和演绎形式结构国际会议。FSCD 2017,英国牛津,2017年9月3-9日。诉讼程序。Wadern:达格斯图尔宫——莱布尼茨Zentrum für Informatik。LIPIcs–莱布尼茨国际程序。通知。84,第21条,第19页(2017年)。
摘要:我们给出了系统F及其单排序纯类型系统(PTS)变体(lambda 2)的通常的两排序表示等价性的三种形式化证明。这是通过将F的典型性问题减少到\(\lambda 2 \)而建立的,反之亦然。一个关键的挑战是如何处理变量绑定和上下文信息。所有形式化都共享相同的高级证明结构,使用关系连接类型系统。然而,它们在变量和上下文信息的表示和操作上确实存在显著差异。在Coq中,我们使用纯de Bruijn指数和平行替换。在Abella中,我们使用高阶抽象语法(HOAS)和环境推理逻辑的标称常量。在白鲸中,我们也使用HOAS,但在语境模态类型理论中。我们的贡献是双重的。首先,我们提出并比较了一组机器选择的解决方案和一个非平凡的理论结果。其次,我们建议将证明作为基准,通过测试给定的证明助手或框架处理涉及多类型系统的复杂上下文信息的能力,来补充POPLmark和ORBI挑战。
关于整个系列,请参见[Zbl 1372.68017号].

MSC公司:

03B35型 证明和逻辑运算的机械化
03B38型 类型理论
03B40型 组合逻辑与lambda演算
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[2] 马丁·阿巴迪、卢卡·卡德利、皮埃尔·路易斯·居里和珍妮·雅克·莱维。显式替换。{\it-JFP},1(4):375-4161991·Zbl 0941.68542号
[3] 布莱恩·艾德米尔(Brian E.Aydimer)、亚伦·博哈农(Aaron Bohannon)、马修·费尔拜恩(Matthew Fairbairn)、J.内森·福斯特(J.Nathan Foster)、本杰明·皮尔斯(Benjamin C.Pierce)、彼得·苏厄尔(Peter Sewell)、迪米特里奥斯·维蒂尼奥提斯(Dimitrios。面向大众的机械化元理论:POPLmark挑战。在{it TPHOL},LNCS 3603,第50-65页。斯普林格,2005年·Zbl 1152.68516号
[4] :Coq、Abella和Beluga中的一个案例研究请注意,{itλA.s}中的{it A}是绑定项变量的类型,而不是其名称。悬空指数对应于自由变量。它们被作为环境上下文的索引,环境上下文通常被表示为附加到每个变量的信息列表。标准类型上下文Γ表示为一个简单的类型列表。为了理解具有并行替换的术语或类型的实例化,让我们首先回忆一下{itσ}-演算的一些基本类型(详细信息请参见[1]):T,其中T是某种语法排序,可以看作流{\itM}0{\it,M}1{\it…},其中{\itM}{\iti}:T。这激发了{\it-cons}运算{\it-M}·{\itσ}的概念,它将索引0映射到{\itM-},并将所有其他索引{\it-x}+1映射到{\ itσx}。{移位}操作↑只是将所有索引提高一个,而恒等式替换id是一个派生概念。替换的具体类型和该框架的相应实例取决于定义替换概念的句法类型。让我们首先考虑一下示例的类型。带有并行替换{itσ}的类型{it-a}的实例化写成{it-a{it-Sσ}],它与并行替换的前向组合是相互递归的。{it x}ty[{itσ}]={it∑x}ty=∀{\it.A}[⇑{\ itσ}],其中\8657\{\ it∑}=0 ty·{\ itΔ}°↑对于项,我们实际上需要一个由两个平行替换组成的向量,即h{itσ,τ}i,因为类型变量和项变量都可以出现在给定项中:{it x}tm[{itσ),τ{]={itτx}tmh{它σ,τ}i){它x}tm=({它∑}0{它x}tm 57;tmh{itσ,τ}i]与⇑tmh{\ itσii({它是A})[{它σ,τ}]={它s}[{itσ,Tah}]{它A}[{itσ}](∧这两种情况的关键思想都是并行替换同时作用于所有自由变量,这导致了优雅的方程理论,并为证明自动化奠定了良好的基础。一个很好的例子是{itβ}-约化,它可以简洁地表示为({itλA.s}){it t}{it s}[id{it,t}·id]。Autosubst框架能够根据带注释的归纳语法定义以及相应的等式理论自动生成所有这些。它进一步提供了一种决策策略,可以根据[27]中的结果解决涉及替换表达式的目标。
[5] 布莱恩·艾德米尔(Brian E.Aydimer)、亚瑟·查古·劳德(Arthur Charguéraud)、本杰明·皮尔斯(Benjamin C.Pierce)、兰迪·波拉克(Randy Pollack)和斯蒂芬妮·威里奇。工程形式元理论。在{it POPL 2008}中,第3-15页。ACM,2008年·Zbl 1295.68052号
[6] David Baelde、Kaustuv Chaudhuri、Andrew Gacek、Dale Miller、Gopalan Nadathur、Alwen Tiu和Yuting Wang。Abella:关于关系规范的推理系统。{\it JFR},7(2):2014年1月9日·Zbl 1451.68315号
[7] 亨克·巴伦德雷格特。广义类型系统简介。{\it-JFP},1(2):125-1541991·Zbl 0931.03019号
[8] 考证助理。网址:网址:http://coq.inria.fr/。 ·Zbl 1138.68525号
[9] 尼古拉·戈弗特·德布鲁因。带有无名假人的Lambda演算符号,一个用于自动公式操作的工具,应用于Church-Rosser定理。{it Indaga-}{it tiones Mathematicae(Proceedings)},75(5):381-3921972·Zbl 0253.68007号
[10] Amy P.Felty和Alberto Momigliano。混合-使用高阶抽象语法进行推理的定义性两级方法。{\it JAR},48(1):43-1052012·Zbl 1252.68252号
[11] Amy P.Felty、Alberto Momigliano和Brigitte Pientka。接下来的700个挑战性问题是如何使用高阶抽象语法表示进行推理:第2部分-调查。自动化推理杂志,55(4):307-3722015·Zbl 1357.68198号
[12] Amy P.Felty和Brigitte Pientka。用高阶抽象语法和上下文进行推理:比较。在{it ITP 2010}中,LNCS 6172,第227-242页。施普林格,2010年·Zbl 1291.68340号
[13] 安德鲁·加塞克(Andrew Gacek)、戴尔·米勒(Dale Miller)和戈帕兰·纳达瑟(Gopalan Nadathur)。将通用判断与递归定义相结合。编辑弗兰克·普芬宁(Frank Pfenning),{\it LICS 2008}。IEEE计算机学会出版社,2008年。
[14] 安德鲁·加塞克(Andrew Gacek)、戴尔·米勒(Dale Miller)和戈帕兰·纳达瑟(Gopalan Nadathur)。推理计算的两级逻辑方法。{\it JAR},49(2):241-2732012年·Zbl 1290.68088号
[15] 简·赫尔曼·杰弗斯(Jan Herman Geuvers)。逻辑和类型系统。Katholieke Univ.Nijmegen教授,1993年。
[16] 吉恩·伊夫·吉拉德。行政法庭解释。巴黎第七大学博士学位,1972年。
[17] Jean-Yves Girard、Paul Taylor和Yves Lafont。{\it-Proofs和types}。剑桥大学出版社,1989年·Zbl 0671.68002号
[18] Healdene Goguen和James McKinna。替代候选人。技术报告ECS-LFCS-97-358,爱丁堡大学,1997年。
[19] 罗伯特·哈珀。{编程语言的实用基础}。剑桥大学出版社,2013年·兹比尔1347.68001
[20] Robert Harper、Furio Honsell和Gordon Plotkin。定义逻辑的框架。美国医学会杂志,40(1):143-1841993年1月·Zbl 0778.03004号
[21] Jonas Kaiser、Tobias Tebbi和Gert Smolka。基于上下文同构引理的Coq中系统F和{itλ}2的等价性。在{2017年清洁石油产品价格协议}中。ACM,2017年。
[22] Aleksandar Nanevski、Frank Pfenning和Brigitte Pientka。语境模态类型理论。{\it ACM计算逻辑汇刊},9(3):1-492008·Zbl 1367.03060号
[23] :18
[24] :17
[25] Frank Pfenning和Conal Elliott。高阶抽象语法。在{it PLDI 1988}中,第199-208页。ACM,1988年。
[26] :19 Ty F{\it,}Tm F:
[27] Frank Pfenning和Carsten Schurmann。系统描述:Twelf-演绎系统的元逻辑框架。在{\it CADE 1999},第202-206页。斯普林格,1999年。
[28] 布里吉特·皮恩特卡。使用高阶抽象语法和一级替换进行编程的类型理论基础。在{it POPL 2008}中,第371-382页。ACM出版社,2008年·Zbl 1295.68068号
[29] 布里吉特·皮恩特卡。白鲸:使用依赖类型、上下文数据和上下文进行编程。在{it FLOPS 2010},LNCS 6009,第1-12页。施普林格,2010年·Zbl 1309.68051号
[30] 布里吉特·皮恩特卡和安德鲁·凯夫。归纳白鲸:编程证明(系统描述)。在{it CADE 2015}中,LNCS 9195,第272-281页。斯普林格,2015年·Zbl 1465.68294号
[31] 约翰·查尔斯·雷诺兹。走向类型结构理论。在《巴黎滨海学术讨论会》,LNCS 19,第408-423页。施普林格,1974年·Zbl 0309.68016号
[32] Steven Schäfer、Gert Smolka和Tobias Tebbi。Coq中de Bruijn代换代数的完备性和可判定性。在《2015年CPP》第67-73页中。ACM,2015年·Zbl 1465.68037号
[33] 史蒂文·谢弗(Steven Schäfer)、托比亚斯·特比(Tobias Tebbi)和格特·斯莫尔卡(Gert Smolka)。Autosubst:用de Bruijn术语和并行替换进行推理。在{it ITP 2015}中,LNCS 9236,第359-374页。斯普林格,2015年·Zbl 1465.68037号
[34] Roberto Virga.{\依赖类型的高阶重写}。数学系博士论文。卡内基梅隆大学科学系,1999年。CMU-CS-99-167·Zbl 1504.68093号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。