×

代码数据类型的等式不确定。 (英语) Zbl 1519.68145号

科琳娜(Corina)(编辑),《计算机科学中的协同代数方法》(Coalgebraic methods in computer science)。2018年4月14日至15日,第14届IFIP工作组1.3国际研讨会,CMCS 2018,与ETAPS 2018在希腊塞萨洛尼基共同举办。修订了选定的论文。查姆:斯普林格。莱克特。注释计算。科学。11202, 34-55 (2018).
摘要:依赖类型语言的类型检查的可判定性通常需要类型上的可判定相等。由于流等(弱最终)余代数上的双相似性是不可判定的,因此不能将其用作类型检查中的等式。相反,基于具有可判定类型检查的依赖类型的语言(如Coq或Agda)使用内涵相等进行类型检查。如果基础项简化为相同的标准形式,即如果基础程序在语法上等价,则两个流在定义上是相等的。在关于流的相等性的推理中,引入了作为命题而非判断相等的双相似性。
本文证明了当等式遵循一步展开的性质时,不可能以可判定的方式加强内涵等式,这意味着具有头(n)和尾(s)的流等于(operatorname{cons}(n,s)。这个性质在类型检查中非常有用,它不一定意味着双相似流是相等的,并且我们证明了这个性质存在与双相似性不一致的等式。虽然证明流上的双相似性是不可判定的很简单,但证明尊重一步展开使等式不可判定要复杂得多,并且依赖于图灵机代码集的不可分割性结果。我们证明了这一定理,无论是对于具有原始同体的流,还是以同体作为引入规则的流。
因此,从字面上理解,流上的模式匹配不是一个有效的原则,因为它假定每个流都等于形式为\(operatorname{cons}(n,s)\)的流。我们将这个问题与Coq和Agda在余代数上添加模式匹配时发现的主题约简问题联系起来。我们讨论了如何在Agda中通过定义余代数的消去规则来解决这个问题,并用余模式匹配替换余代数上的模式匹配,以及这与Agda中使用延迟计算类型的方法(即所谓的余数据类型的“音乐符号”)有何关联。
有关整个系列,请参见[Zbl 1396.68009号].

MSC公司:

68问题65 抽象数据类型;代数规范
03B70号 计算机科学中的逻辑
68V20型 数学形式化与定理证明
PDF格式BibTeX公司 XML格式引用
全文: DOI程序 链接

参考文献:

[1] 雅培,M。;Altenkirch,T。;北加尼。;Gordon,AD,容器类别,软件科学和计算结构基础,23-38(2003),海德堡:施普林格·Zbl 1029.68096号 ·doi:10.1007/3-540-36576-1_2
[2] Abel,A.,Adelsberger,S.,Setzer,A.:ooAgda。Agda图书馆(2016)。https://github.com/agda/ooAgda
[3] Abel,A.,Adelsberger,S.,Setzer,A.:Agda中的交互式编程-对象和图形用户界面。J.功能。程序。2017年1月27日。doi:10.1017/S0956796816000319·Zbl 1418.68031号
[4] Altenkirch,T。;Danielsson,NA;Löh,A。;Oury,北。;布鲁姆,M。;小林,N。;Vidal,G.,(\varPi\varSigma):无糖依赖类型,《函数和逻辑编程》,40-55(2010),海德堡:斯普林格,海德伯格·Zbl 1284.68122号 ·doi:10.1007/978-3642-12251-4-5
[5] Agda Wiki:共创性数据类型,2011年1月1日。http://wiki.portal.chalmers.se/agda/pmwiki.php?n=ReferenceManual.Codatatypes
[6] Agda团队:Agda Wiki(2014)。http://wiki.portal.chalmers.se/agda/pmwiki.php
[7] Altenkirch,T.:法典。2004年12月在Jouy-en-Josas举行的TYPES研讨会上发表的演讲。网址:http://www.cs.nott.ac.uk/txa/teaks/types04.pdf
[8] Abel,A.,Pientka,B.,Thibodeau,D.,Setzer,A.:共同模式:通过观察规划无限结构。摘自:Giacobazzi,R.,Cousot,R.(编辑)《2013年POPL会议录》,第27-38页。ACM,纽约(2013)。doi:10.1145/2429069.2429075·Zbl 1301.68080号
[9] Bertot,Y.,Casteéran,P.:交互式定理证明和程序开发。Coq'Art:归纳结构的微积分。理论计算机科学课文。EATCS系列。斯普林格(2004)。国际标准图书编号(ISBN)3-540-20854-2·Zbl 1069.68095号
[10] Bertot,Y.:Coq中的联合归纳,2006年3月。电话:0603119
[11] Basold,H.,Geuvers,H.:基于依赖归纳和共归纳类型的类型理论。摘自:第31届ACM/IEEE年度计算机科学逻辑研讨会论文集,LICS 2016,第327-336页。ACM,纽约(2016)。doi:10.1145/2933575.2934514·Zbl 1394.03007号
[12] 科克特,R.,福岛,T.:关于慈善。技术报告,计算机科学系,卡尔加里大学,1992年6月。黄色系列报告编号92/480/18。ftp://ftp.cpsc.ucalgary.ca/pub/projects/charity/literature/papers_and_reports/about_charity.ps.gz
[13] Coquand,T。;巴伦德雷格特,H。;Nipkow,T.,类型理论中的无限对象,《证明和程序的类型》,62-78(1994),海德堡:斯普林格·Zbl 1527.03008号 ·doi:10.1007/3-540-58085-972
[14] Danielsson,NA;Altenkirch,T。;Bolduc,C。;Desharnais,J。;Ktari,B.,《分类,声明性》,《程序构建的数学》,100-118(2010),海德堡:斯普林格·Zbl 1286.68074号 ·doi:10.1007/978-3-642-13321-38
[15] Danielsson,N.A.:2009年3月17日,《铸币的变化》。消息发布在gmane.comp.lang.agda上。http://article.gmane.org/gmane.comp.lang.agda/763/
[16] Gasarch,W.,第16章递归组合学概述,逻辑和数学基础研究,1041-1176(1998)·Zbl 0936.03041号
[17] Geuvers,H.:带迭代和递归的归纳和共归纳类型。收录于:Nordström,B.,Peterson,K.,Plotkin,G.(eds.)《1992年证据和程序类型研讨会非正式会议记录》,瑞典巴斯塔德,1992年,第183-207页(1992)。http://www.lfcs.inf.ed.ac.uk/research/types-bra/proc/proc92.ps.gz
[18] Giménez,E。;Dybjer,P。;诺德斯特伦,B。;Smith,J.,《用递归模式编纂保护定义,证明和程序的类型》,39-59(1995),海德堡:施普林格·Zbl 1530.03054号 ·doi:10.1007/3-540-60579-73
[19] Giménez,C.E.:通信系统的非计算构建与应用。无限结构微积分及其在通信系统验证中的应用。法国里昂高等师范学院博士论文(1996年)。doi:10.1.1.16.9849&等级=1
[20] Granström,J.G.:直觉主义类型理论中的参考和计算。瑞典乌普萨拉大学数学系博士论文(2008年)。http://直觉主义.files.wordpress.com/2010/07/theses_published_uppsala.pdf
[21] Greiner,J.:归纳和共归纳类型编程。技术报告CMU-CS-92-109,ADA249562,美国宾夕法尼亚州匹兹堡卡内基梅隆大学计算机科学系,1992年1月27日。第37页。http://www.dtic.mil/docs/citations/ADA249562
[22] Hagino,T.:一种分类编程语言。爱丁堡大学计算机科学基础实验室博士论文(1987年)。http://www.tom.sfc.keio.ac.jp/哈基诺/thesis.pdf·Zbl 0643.03010号
[23] Hagino,T.,《ML中的代码类型》,J.Symb。计算。,8, 6, 629-650 (1989) ·Zbl 0693.68012号 ·doi:10.1016/S0747-7171(89)80065-3
[24] 霍华德,B.T.:归纳型、共创型和尖型。摘自:《第一届ACM SIGPLAN函数编程国际会议论文集》,ICFP 1996,第102-109页。ACM,纽约(1996年)。doi:10.1145/232627.232640·Zbl 1345.68058号
[25] Hancock,P。;Setzer,A。;克洛特,PG;Schwichtenberg,H.,依赖型理论中的交互程序,计算机科学逻辑,317-331(2000),海德堡:施普林格·Zbl 0973.68041号 ·doi:10.1007/3-540-44622-221
[26] Hancock,P.,Setzer,A.:交互式程序和弱最终余代数(扩展版)。收录:Altenkirch,T.,Hofmann,M.,Hughes,J.(编辑)《依赖型编程》,Dagstuhl研讨会论文集编号04381。国际建筑协会(IBFI),德国达格斯图尔宫(2004年)。http://drops.dagstuhl.de/opus/ ·Zbl 1102.03034号
[27] 彼得·汉考克;安东·塞泽尔(Anton Setzer),依赖型理论中的交互式程序和弱最终煤层,从集合和类型到拓扑和分析,115-136(2005)·Zbl 1102.03034号 ·doi:10.1093/acprof:oso/9780198566519.003.0007
[28] INRIA。考证助理参考手册。INRIA,8.7.1版(2017年)。https://coq.inia.fr/refman/
[29] Igried,B.,Setzer,A.:在依赖类型理论中使用一元CSP型进程进行编程。参见:《类型驱动发展第一届国际研讨会论文集》,TyDe 2016,第28-38页。ACM,纽约(2016)。doi:10.1145/2976022.2976032
[30] 巴沙尔·伊格里德;安东·塞泽尔(Anton Setzer),《CSP-Agda的跟踪和稳定故障语义》,《理论计算机科学电子论文集》,25836-51(2017)·doi:10.4204/EPTCS.258.3
[31] Igried,B.,Setzer,A.:为CSP-Agda定义跟踪语义,2018年1月30日。接受发表于《2016年后诉讼类型》,23页。网址:http://www.cs.swan.ac.uk/csetzer/articles/types2016后处理/igriedSetzerTypes2016后处理.pdf
[32] Jacobs,B.,Rutten,J.:关于(共)代数和(共)归纳的教程。EATCS牛市。62, 62-222 (1997). http://www.cs.ru.nl/B.Jacobs/PAPERS/JR.pdf ·Zbl 0880.68070号
[33] Kleene,SC,哥德尔定理的对称形式,Ind.Math。,12, 244-246 (1950) ·Zbl 0038.03101号 ·doi:10.2307/2266709
[34] McBride,C。;A.库尔兹。;Lenisa,M。;Tarlecki,A.,《让我们看看事情是如何展开的:调和无限与内涵(扩展抽象)》,《计算机科学中的代数和余代数》,113-126(2009),海德堡:斯普林格,海德伯格·Zbl 1239.68025号 ·doi:10.1007/978-3-642-03741-29
[35] Mendler,N.P.:二阶lambda演算中的递归类型和类型约束。摘自:Gries,D.(eds.)第二届IEEE计算机科学逻辑年会论文集,1987年,第30-36页。IEEE计算机学会出版社,1987年6月
[36] NP,Mendler,《二阶lambda演算中的归纳类型和类型约束》,Ann.Pure Appl。逻辑,51,1-2,159-172(1991)·Zbl 0719.03008号 ·doi:10.1016/0168-0072(91)90069-X
[37] 诺雷尔,U。:基于依赖类型理论的实用编程语言。2007年9月,瑞典哥德堡查尔默斯理工大学计算机科学与工程系博士论文。http://www.cse.chalmers.se/ulfn/papers/thesis.pdf
[38] Odifreddi,P.:经典递归理论,第125卷。Elsevier(1992)。doi:10.1016/S0049-237X(08)70011-9·Zbl 0744.03044号
[39] Oury,N.:铸币类型和类型保存。2008年6月6日在science.mathematics.logic.coq.club上发布的电子邮件。(2008).https://sympa-roc.inria.fr/wws/arc/coq-club/2008-06/msg00022.html?checked_cas=2
[40] 罗瑟,巴克利,哥德尔和丘奇一些定理的推广,符号逻辑杂志,1,3,87-91(1936)·Zbl 0015.33802号 ·doi:10.2307/2269028
[41] Rutten,J.,《宇宙余代数:系统理论》,Theor。计算。科学。,249, 1, 3-80 (2000) ·兹比尔0951.68038 ·doi:10.1016/S0304-3975(00)00056-6
[42] 安东·塞泽尔(Anton Setzer),《作为由消除规则决定的类型的Coalgebras》,《认识论与本体论》,351-369(2012),多德雷赫特:施普林格荷兰,多德雷赫特·Zbl 1314.68192号 ·doi:10.1007/978-94-007-4435-6_16
[43] Setzer,A。;Kahle,R。;斯特拉姆,T。;Studer,T.,《如何非正式地进行共性推理》,《证明理论的进展》,377-408(2016),查姆:斯普林格,查姆·Zbl 1439.03071号 ·doi:10.1007/978-3-319-29198-7_12
[44] Trakhtenbrot,BA,《关于递归可分性》,Dokl。阿卡德。诺克,88,953-956(1953)·Zbl 0050.00801号
[45] 特纳,DA;哈特尔,PH;Plasmeijer,R.,《初等强函数编程》,《教育中的函数编程语言》,1-13(1995),海德堡:斯普林格出版社·doi:10.1007/3-540-60675-0_35
[46] 特纳,D.A.:全功能编程。J.大学计算机。科学。10(7), 751-768 (2004). http://www.jucs.org/jucs_10_7/total_functional_programming
[47] Vene,V.,Uustalu,T.:带无形态的函数式编程(corecursion)。程序。爱沙尼亚Acad。科学。物理学。数学。47(3), 147-161 (1998). 网址:http://cs.ioc.ee/tarmo/papers/nwpt97-peas.pdf·Zbl 0963.68028号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。