×

相依λ消去的演算。 (英语) Zbl 1418.68038号

摘要:现代构造型理论基于纯依赖类型的lambda演算,并添加了用户定义的数据类型。本文提出了一种替代方案,称为相关Lambda消除演算,它基于无辅助数据类型系统的纯Lambda编码。定义了新的类型构造,它支持归纳,以及使用lambda编码进行大范围消除。这些构造是构造函数约束的递归类型,以及将简单类型的术语提升到类型级别的提升操作。使用格理论的类型指称语义,证明了该语言的逻辑一致性。CDLE的强大功能通过几个示例进行了演示,并通过一个名为Cedille的原型实现进行了验证。

MSC公司:

68甲18 函数编程和lambda演算
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 阿贝尔公司马修斯·R。(2004)类型构造函数和基元递归的不动点。《第18届计算机科学逻辑国际研讨会(CSL)论文集》,MarcinkowskiJerzy和TarleckiAndrzej(eds),《计算机科学讲义》,第3210卷。斯普林格,第190-204页·Zbl 1095.68059号
[2] 阿尔滕基尔奇。,丹尼尔森。A.、LöhA.和OuryN公司。(2010)PiSigma:不含糖的依赖型。第十届功能与逻辑编程国际研讨会论文集,BlumeM。,小林寺维达尔G。(编辑),《计算机科学讲义》,第6009卷。施普林格,柏林,海德堡,第40-55页·兹比尔1284.68122
[3] AtkeyR.公司。,加纳和约翰·P。(2014)依赖型理论的相关参数模型。Sigplan不是。49(1),503-515·Zbl 1284.68163号
[4] 奥古斯松。(1998)Cayenne-一种具有相关类型的语言。在第三届ACM SIGPLAN函数编程国际会议(ICFP)的会议记录中,FelleisenM。,Hudak公司奎因内克。(编辑)。ACM,第239-250页·Zbl 1428.68094号
[5] 伯杰大学SchwichtenbergH。(1991)类型lambda-calculus的求值函数的逆。第六届计算机科学逻辑年度研讨会(LICS)论文集。IEEE计算机学会,第203-211页。
[6] 伯纳迪J-P.&LassonM公司。(2011)纯类型系统中的可实现性和参数性。第14届软件科学和计算结构基础国际会议论文集,计算机科学讲义,第6604卷。施普林格,柏林,海德堡,第108-122页·Zbl 1326.68068号
[7] BöhmC.和BerarducciA公司。(1985)项代数上类型lambda-programs的自动合成。西奥。计算。科学39135-154.10.1016/0304-3975(85)90135-5·Zbl 0597.68017号 ·doi:10.1016/0304-3975(85)90135-5
[8] CaretteJ.、。,基塞利约夫O.&ShanC公司-C.(2009)最后,无标签,部分评估:用于简单类型语言的无标签阶段口译员。J.功能。程序.19(5),509-543.10.1017/S0956796809007205·Zbl 1191.68158号 ·doi:10.1017/S0956796809007205
[9] 查普曼J。,DagandP-É., 麦克布莱德公司莫里斯。(2010)轻柔的悬浮艺术。在第15届ACM SIGPLAN国际功能编程会议(ICFP)上,HudakP.&Weirich S.公司。(编辑),第3-14页。ACM公司·Zbl 1323.68239号
[10] ChlipalaA公司。(2008)用于机械化语义的参数化高阶抽象语法。在第13届ACM SIGPLAN函数编程国际会议(ICFP)的会议记录中,HookJ.&蒂曼P。(编辑),第143-156页。ACM公司·Zbl 1323.68184号
[11] 丘吉尔。(1940)简单类型理论的表述。J.塞姆。日志5(2),56-68.10.2307/2266170·JFM 66.1192.06号 ·doi:10.2307/2266170
[12] 丘吉尔。(1941)兰姆达转换的微积分,数学研究年鉴,第6卷。普林斯顿大学出版社·JFM 67.0041.01号
[13] 康斯坦布尔。L.、AllenS。F.、BromleyM.、。,克利夫兰。,Cremer J.F.、HarperR.W.、HoweD。J.、KnoblockT。B.、Mendler N.P.、Panangaden P.、。,佐佐木。T.&SmithS公司。F.(1986)用Nuprl证明开发系统实现数学。普伦蒂斯·霍尔。
[14] 可口的。(1986)吉拉德悖论分析。《计算机科学中的逻辑研讨会论文集》(LICS),IEEE计算机学会,第227-236页。
[15] 可口的。(1992)与依赖类型的模式匹配。第三届逻辑框架年度文胸研讨会电子会议记录,NordströmB。,彼得森K.&绘图G。(编辑)。可从Coquand的主页获取。
[16] CoquandT.和保林·C。(1988)归纳定义类型。在Colog-88,国际计算机逻辑会议,Martin-LöfP.&MintsG公司。(eds),《计算机科学讲义》,第417卷。斯普林格,第50-66页·Zbl 0722.03006号
[17] 克里克。(2010)子结构逻辑的高阶表示。在第15届ACM SIGPLAN国际功能编程会议(ICFP)上,HudakP.&Weirich S.公司。(编辑)。ACM,第131-142页·Zbl 1323.68461号
[18] 费加拉斯L.&安全带T。(1996)使用嵌入式函数(或来自外层空间的程序)重新审视数据类型的变形。在第23届ACM SIGPLAN-SIGACT编程语言原理研讨会(POPL)会议记录中,博姆-J.&SteeleG公司。L.Jr.(编辑)。ACM,第284-294页。
[19] 《财富》。,利万特公司奥唐纳。(1983)简单型和二阶型结构的表现力。J.ACM30(1),第151-185.10.1145/32258.322370页·Zbl 0519.68046号 ·数字对象标识代码:10.1145/322358.322370
[20] FuP.和斯顿帕。(2014)独立类型lambda编码的自类型。在第25届改写技术和应用国际会议(RTA)与第12届国际Lambda演算和应用会议(TLCA)联合召开的会议记录中,DowekG。(d),《计算机科学讲义》,第8560卷。施普林格,第224-239页·Zbl 1416.68162号
[21] 格乌弗什。(2001)归纳法在二阶依赖型理论中是不可推导的。在《Lambda演算与应用类型》(TLCA)中,Abramsky S。(d),《计算机科学讲义》,第2044卷。施普林格,第166-181页·Zbl 0981.03023号
[22] 加纳。,约翰·P·&烟雾C。(2010)初始代数的纤维理性归纳规则。计算机科学逻辑,第24届国际研讨会(CSL),DawarA.&VeithH公司。(eds),《计算机科学讲义》,第6247卷。施普林格,第336-350页·兹比尔1287.68113
[23] 吉拉德J-Y.、Taylor P.和拉丰。(1989)证据和类型。美国纽约:剑桥大学出版社·Zbl 0671.68002号
[24] 高更。,麦克布莱德公司麦金纳J。(2006)消除依赖模式匹配。在《代数、意义和计算》一书中,在约瑟夫·戈根65岁生日之际为他撰写的论文,FutatsugiK。,JouannaudJ-P.&MeseguerJ.(编辑),第521-540页·Zbl 1132.68327号
[25] 哈珀·R和波拉克。(1989)类型检查、宇宙多态性和构造演算中的典型歧义(草案)。1989年3月13日至17日,西班牙巴塞罗那,Tapsoft’89:软件开发理论与实践国际联合会议论文集,第2卷:创新软件开发基础高级研讨会II和编程语言当前问题学术讨论会(CCIPL),迪亚兹JOrejasF。(eds),《计算机科学讲义》,第352卷。斯普林格,第241-256页。
[26] 霍夫曼。(2000)更高类型和bck-代数的安全递归。Ann.纯粹应用。日志104(1-3),113-166.10.1016/S0168-0072(00)00010-5·Zbl 0959.68075号 ·doi:10.1016/S0168-0072(00)00010-5
[27] 霍夫曼和斯特里彻T。(1998)类型理论的群系解释。建构型理论二十五年。牛津逻辑指南,第36卷。牛津大学出版社,第83-111页·兹伯利0930.03089
[28] 科普曼公司。,Plasmeijer R.和Jansen J。M.(2014)被认为对实现有害的数据类型的教会编码。在第26届函数语言实现与应用研讨会(IFL)的会议记录中,PlasmeijerR.&Tobin-HochstadtS。(编辑)。ACM,第4:1-4:12页。
[29] 科帕洛夫A。(2003)依赖交集:类型理论中定义记录的新方法。第18届IEEE交响乐会议录。日志。计算。科学。(LICS),第86-95页。
[30] 克里希纳斯瓦米。R.&DreyerD公司。(2013)在构造的可拓演算中内化关系参数。2013年计算机科学逻辑(CSL),RoccaS。R.D.(ed),LIPIcs,第23卷。达格斯图尔-莱布尼兹·泽特鲁姆·福尔·信息化宫(Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik),第432-451页·Zbl 1356.68043号
[31] 利万特。(1983)关于与类型学科相关的函数程序和复杂性类的推理。1983年第24届计算机科学基础年度研讨会论文集。IEEE计算机学会,第460-469页。
[32] 利万特。(1991)有限分层多态性。信息计算93(1),93-113.10.1016/0890-5401(91)90053-5·Zbl 0799.68041号 ·doi:10.1016/0890-5401(91)90053-5
[33] 马丁·洛夫。(1984)直觉主义类型理论。那不勒斯:图书馆·Zbl 0571.03030号
[34] MendlerN.(1988)类型理论中的归纳定义。康奈尔大学博士论文。
[35] 迈耶A。R.和ReinholdM。B.(1986)“类型”不是类型。第13届ACM SIGACT-SIGPLAN编程语言原理研讨会(POPL)会议记录。美国纽约:ACM,第287-295页。
[36] 米克拉。(2001)构造的隐式演算,使用交叉类型活页夹和子类型扩展纯类型系统。在类型Lambda微积分和应用中,AbramskyS。(d),《计算机科学讲义》,第2044卷。施普林格,第344-359页·Zbl 0981.03029号
[37] 莫根森。Æ。(1992)lambda演算中的有效自我解释。J.功能。程序2(3),345-363.10.1017/S0956796800000423·Zbl 0817.68051号 ·doi:10.1017/S0956796800000423
[38] 诺雷尔大学。(2007)基于依赖类型理论的实用程序设计语言。瑞典哥德堡SE-412 96查尔默斯理工大学计算机科学与工程系博士论文。
[39] 帕里戈特。(1988)带证明的编程:二阶类型理论。在欧洲程序设计研讨会(ESOP)上,GanzingerH.(ed),计算机科学讲稿,第300卷。斯普林格,第145-159页。
[40] 帕里戈特。(1989)关于用λ-微积分表示数据。在计算机科学逻辑(CSL),BörgerE。,BüningHansKleine&RichterM.(编辑),《计算机科学讲义》,第440卷。施普林格,第309-321页·Zbl 0925.03149号
[41] PfenningF.和埃利奥特C。(1988)高阶抽象语法。ACM SIGPLAN’88编程语言设计与实现(PLDI)会议记录,WexelblatR。L.(编辑)。ACM,第199-208页。
[42] PfenningF.和保林·莫林。(1989)构造演算中的归纳定义类型。第五届国际编程语义学数学基础会议论文集。G.、MeltonA.、。,失恋M。W.和SchmidtD。A.(eds),《计算机科学讲义》,第442卷。施普林格,第209-228页·Zbl 1509.68053号
[43] PfenningF.和舒尔曼。(1999)系统描述:Twelf——演绎系统的元逻辑框架。《第16届自动扣减国际会议论文集-Cade-16》,GanzingerH.(ed),《计算机科学讲义》,第1632卷。施普林格,第202-206页。
[44] PientkaB。(2008)使用高阶抽象语法和一级替换进行编程的类型论基础。第35届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,NeculaG。C.和WadlerP。(编辑)。ACM,第371-382页·Zbl 1295.68068号
[45] 皮尔斯B。C.和TurnerD。N.(2000)局部类型推断。ACM事务处理。程序。语言系统22(1),1-44.10.1145/345099.345100·doi:10.1145/345099.345100
[46] 波兰考夫J。(2015)在Haskell中嵌入一个完整的线性lambda演算。《2015年ACM SIGPLAN Haskell研讨会论文集》,第177-188页。ACM公司。
[47] Poswolsky A&SchürmannC公司。(2009)系统描述:Delphin-演绎系统的函数编程语言。选举人。注释Theor。计算。科学228113-120.10.1016/j.entcs.2008.12.120·doi:10.1016/j.entcs.2008.12.120
[48] SchürmannC.公司。,Despeyroux公司PfenningF。(2001)高阶抽象语法的原语递归。西奥。计算。科学266(1-2),1-57.10.1016/S0304-3975(00)00418-7·Zbl 0994.68028号 ·doi:10.1016/S0304-3975(00)00418-7
[49] 斯顿帕。(2016)验证Agda中的函数编程。ACM图书。
[50] StumpA.和FuP公司。(2016)lambda编码在总类型理论中的效率。J.功能。程序.26(003)·Zbl 1420.68045号
[51] TannenV.&可口的。(1988)多态性的扩展模型。西奥。计算。科学59,85-114.10.1016/0304-3975(88)90097-7·兹比尔0713.03005 ·doi:10.1016/0304-3975(88)90097-7
[52] Coq开发团队(2015)《Coq证明助理参考手册》。LogiCal项目。8.4版。
[53] Univalent Foundations Program(2013)同构类型理论:数学的Univalent Foundations。高等研究院:http://homotopypetheory.org/book。上次访问时间:2017年4月21日·兹比尔1298.03002
[54] 清洗烧伤与WeirichS公司。(2003)Boxes go banas:使用参数多态性编码高阶抽象语法。第八届ACM SIGPLAN函数编程国际会议(ICFP)会议记录。ACM,第249-262页·Zbl 1315.68061号
[55] 沃纳B。(1992)整数上具有大消元的非独立型系统的规范化证明。1992年校对和程序类型研讨会论文集。可从http://www.cse.chalmers.se/research/group/logic/Types/previousevents.html,上次访问日期:2017年4月23日。第341-357页。
[56] 沃纳B。(1994)Une Théorie des Constructions Inductives。博士论文。巴黎第七大学:巴黎迪德罗大学。
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。