×

有利益的朋友。在基础证明助手中实现同位语。 (英语) Zbl 1485.68280号

Yang,Hongseok(编辑),《编程语言和系统》。2017年4月22日至29日在瑞典乌普萨拉举行的第26届欧洲编程研讨会(ESOP 2017),是欧洲软件理论与实践联合会议(ETAPS 2017)的一部分。诉讼程序。柏林:斯普林格。莱克特。注释计算。科学。10201, 111-140 (2017).
摘要:我们介绍了AmiCo,这是一个扩展了证明助手Isabelle/HOL的工具,它具有灵活的函数定义,远远超出了原始同余。所有定义都由助手的推理内核进行认证,以防止不一致。一个中心概念是友元:保留参数生产力的函数,并且在同体草书调用上下文中是允许的。注册新朋友后,同音异义词会变得更具表达力。我们描述了这个过程及其实现,从用户的规范到高阶定义的合成,再到朋友的注册。我们展示了一些实质性的案例研究,其中我们的方法发挥了作用。
关于整个系列,请参见[Zbl 1360.68021号].

MSC公司:

68伏15 定理证明(自动和交互式定理证明、演绎、解析等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 雅培,M。;Altenkirch,T。;加尼,N。《容器:构造严格正型》,Theor。计算。科学。,342, 1, 3-27 (2005) ·Zbl 1077.68015号 ·doi:10.1016/j.tcs.2005.06.002
[2] Abel,A.:MiniAgda:集成大小型和依赖型。在:Bove,A.,Komendantskaya,E.,Niqui,M.(编辑)PAR 2010。EPTCS,第43卷,第14-28页(2010年)
[3] 阿贝尔。;Hasuo,I.,《大小字体的合成合成》,《计算机科学中的拼合方法》,5-10(2016),海德堡:斯普林格·Zbl 1475.68073号 ·doi:10.1007/978-3-319-40370-02
[4] 阿贝尔。;Pientka,B.,具有共模式和大小类型的有充分依据的递归,J.Funct。程序。,26,e2(2016)·Zbl 1420.68031号 ·doi:10.1017/S0956796816000022
[5] Abel,A.,Pientka,B.,Thibodeau,D.,Setzer,A.:共同模式:通过观察规划无限结构。收录于:Giacobazzi,R.,Cousot,R.(编辑)POPL 2013,第27-38页。ACM(2013)·Zbl 1301.68080号
[6] 亚当斯,M。;福田,K。;Hoeven,J。;Joswig,M。;Takayama,N.,《HOL Zero简介》,数学软件-ICMS 2010,142-143(2010),海德堡:斯普林格·doi:10.1007/978-3-642-15582-6_25
[7] Asperti,A。;Ricciotti,W。;Sacerdoti Coen,C。;塔西,E。;比约纳,北。;Sofronie-Stokkermans,V.,《Matita交互式定理证明器》,自动演绎-CADE-23,64-69(2011),海德堡:斯普林格·Zbl 1341.68179号 ·doi:10.1007/978-3-642-22438-67
[8] Atkey,R.,McBride,C.:具有保护递归的高效协同编程。收录于:Morrisett,G.,Uustalu,T.(编辑)ICFP 2013,第197-208页。ACM(2013)·Zbl 1323.68092号
[9] Berger,U.,Schwichtenberg,H.:类型lambda-calculus的求值函数的逆。收录于:LICS 1991,第203-211页。IEEE计算机学会(1991)
[10] 伯纳迪,JP;Jansson,P。;Paterson,R.,《免费证明:依赖类型的参数化》,J.Funct。程序。,22, 2, 107-152 (2012) ·Zbl 1271.68076号 ·doi:10.1017/S095679681200056
[11] 贝托,Y。;Urzyczyn,P.,共导流过滤器,埃拉托斯特尼筛的应用,《类型化Lambda演算与应用》,102-115(2005),海德堡:斯普林格,海德伯格·兹伯利1114.68062 ·doi:10.1007/114171709
[12] 贝托,Y。;Casteran,P.,《交互式定理证明与程序开发——科克艺术:归纳构造的微积分》(2004),海德堡:斯普林格出版社·Zbl 1069.68095号 ·doi:10.1007/978-3-662-07964-5
[13] 贝托,Y。;Komendantskaya,E.,Coq中同体函数的归纳和共导成分,Electr。注释Theor。计算。科学。,203, 5, 25-47 (2008) ·Zbl 1279.68285号 ·doi:10.1016/j.entcs.2008.05.018
[14] Blanchette,J.C.,Bouzy,A.,Lochbihler,A.,Popescu,A.,Traytel,D.:与本文相关的档案。http://matryoshka.gforge.inria.fr/pubs/amico_material.tar.gz ·Zbl 1485.68280号
[15] Blanchette,J.C.,Bouzy,A.,Lochbihler,A.,Popescu,A.,Traytel,D.:利益之友:在基础证明助理中实施同位语。技术报告(2017)。http://matryoshka.gforge.inria.fr/pubs/amio_report.pdf ·Zbl 1485.68280号
[16] JC布兰切特;Hölzl,J。;Lochbihler,A。;Panny,L。;Popescu,A。;特雷特尔,D。;克莱因,G。;Gamboa,R.,Isabelle/HOL的真正模块化(co)数据类型,交互式定理证明,93-110(2014),海德堡:斯普林格·Zbl 1416.68151号 ·doi:10.1007/978-3-319-08970-67
[17] Blanchette,J.C.,Popescu,A.,Traytel,D.:基础可扩展同位语:一个证明助手的观点。摘自:Fisher,K.,Reppy,J.H.(编辑)ICFP 2015,第192-204页。ACM(2015)·Zbl 1360.68358号
[18] JC布兰切特;Popescu,A。;Traytel,D。;Vitek,J.,《见证(共同)数据类型,编程语言和系统》,359-382(2015),海德堡:施普林格,海德伯格·Zbl 1335.68224号 ·doi:10.1007/978-3-662-46669-8_15
[19] Bove,A。;Dybjer,P。;诺雷尔,美国。;Berghofer,S。;Nipkow,T。;城市,C。;Wenzel,M.,Agda——一种具有依赖类型的函数语言的简要概述,《高阶逻辑中的定理证明》,73-78(2009),海德堡:斯普林格·Zbl 1252.68062号 ·doi:10.1007/978-3-642-03359-96
[20] 布尔瓦恩,L。;克劳斯,A。;Nipkow,T。;施耐德,K。;Brandt,J.,《在Isabelle/HOL中寻找终止证明的字典序》,《高阶逻辑中的定理证明》,38-53(2007),海德堡:斯普林格·Zbl 1144.68352号 ·doi:10.1007/978-3-540-74591-45
[21] Chlipala,A.,《依赖类型认证编程——考克证明助理的实用介绍》(2013),剑桥:麻省理工学院出版社,剑桥·Zbl 1288.68001号
[22] Danielsson,N.A.:使用嵌入式语言击败生产力检查器。收录:Bove,A.、Komendantskaya,E.、Niqui,M.(编辑)PAR 2010。EPTCS,第43卷,第29-48页(2010年)
[23] Dijkstra,电子战;Dijkstra,EW,R.M.Burstall博士的练习,《计算机文选:个人视角》,215-216(1982),海德堡:计算机科学文本和专著。海德堡施普林格·Zbl 0497.68001号 ·doi:10.1007/978-1-4612-5695-3_36
[24] 埃尔维格,M。;Kollmansberger,S.,Haskell中的概率函数编程,J.Funct。程序。,16, 1, 21-34 (2006) ·Zbl 1091.68023号 ·doi:10.1017/S0956796805005721
[25] Gammie,P.,Lochbihler,A.:Stern-Brocot树。《正式证据档案》(2015)。https://www.isa-afp.org/entries/Stern_Brocot.shtml
[26] Giménez,E。;Dybjer,P。;诺德斯特伦,B。;Smith,J.,《用递归模式编纂保护定义,证明和程序的类型》,39-59(1995),海德堡:施普林格·Zbl 1530.03054号 ·doi:10.1007/3-540-60579-7_3
[27] MJC戈登;Melham,TF,《HOL简介:高阶逻辑的定理证明环境》(1993),剑桥:剑桥大学出版社,剑桥·兹比尔0779.68007
[28] Gulwani,S.:示例编程及其在数据争论中的应用。摘自:《可靠软件系统工程》,《北约和平与安全科学系列D:信息和通信安全》,第45卷,第137-158页。IOS出版社(2016)
[29] 哈夫特曼,F。;Nipkow,T。;布鲁姆,M。;小林,N。;Vidal,G.,《通过高阶重写系统生成代码》,《函数和逻辑编程》,103-117(2010),海德堡:施普林格,海德伯格·Zbl 1284.68131号 ·doi:10.1007/978-3-642-12251-49
[30] Hagino,T.:一种分类编程语言。爱丁堡大学博士论文(1987年)·Zbl 0643.03010号
[31] 哈里森,J。;托马斯·舒伯特,E。;温德利,PJ;Alves-Foss,J.,归纳定义:自动化和应用,高阶逻辑定理证明及其应用,200-213(1995),海德堡:施普林格·Zbl 1063.03501号 ·doi:10.1007/3-540-60275-566
[32] 哈里森,J。;Berghofer,S。;Nipkow,T。;城市,C。;Wenzel,M.,HOL Light:概述,《高阶逻辑中的定理证明》,60-66(2009),海德堡:施普林格·Zbl 1252.68255号 ·doi:10.1007/978-3-642-03359-94
[33] Hinze,R.,《鸟树》,J.Func。程序。,19, 5, 491-508 (2009) ·Zbl 1191.68161号 ·doi:10.1017/S09567968099990116
[34] Homeier,光伏;Berghofer,S。;Nipkow,T。;城市,C。;Wenzel,M.,HOL-Omega逻辑,高阶逻辑中的定理证明,244-259(2009),海德堡:施普林格·Zbl 1252.68257号 ·doi:10.1007/978-3642-03359-9_18
[35] 霍夫曼,B.:HOLCF’11:用于验证函数程序的定义域理论。波特兰州立大学博士论文(2012年)
[36] Huffman,B.,Kun(check{\rm c})ar,O.:提升和转移:Isabelle/HOL中商的模块化设计。收录:Gonthier,G.,Norrish,M.(编辑)CPP 2013。LNCS,第8307卷,第131-146页。斯普林格,海德堡(2013)。doi:doi:10.1007/978-3-319-03545-19·Zbl 1426.68284号
[37] Hur,C.K.,Neis,G.,Dreyer,D.,Vafeiadis,V.:共推证明中参数化的力量。收录于:Giacobazzi,R.,Cousot,R.(编辑)POPL 2013,第193-206页。ACM(2013)·Zbl 1301.68220号
[38] Jeannin,J-B;Kozen博士。;席尔瓦,A。;Felleisen,M。;Gardner,P.,《非完善计算的语言构造》,《编程语言与系统》,61-80(2013),海德堡:施普林格出版社·Zbl 1381.68034号 ·doi:10.1007/978-3-642-37036-64
[39] Jones,G.,Gibbons,J.:线性时间宽度第一树算法:折叠和拉链算法练习。技术报告71,奥克兰大学计算机科学系(1993年)
[40] Keller,C.,Lasson,M.:《无关紧要的参数性》,载于:Cégielski,P.,Durand,A.(编辑)CSL 2012。LIPIcs,第16卷,第381-395页。Dagstuhl-Leibniz-Zentrum für Informatik学校(2012年)·Zbl 1252.68259号
[41] 克努思,DE;莫里斯,JH;Pratt,VR,字符串中的快速模式匹配,SIAM J.Compute。,6, 2, 323-350 (1977) ·Zbl 0372.68005号 ·数字对象标识代码:10.1137/0206024
[42] 克劳斯,A。;美国富巴赫。;Shankar,N.,《高阶逻辑中的部分递归函数》,《自动推理》,589-603(2006),海德堡:Springer,Heidelberg·Zbl 1222.68367号 ·doi:10.1007/11814771_48
[43] 克劳斯,A.:一元函数的递归定义。收录:Bove,A.、Komendantskaya,E.、Niqui,M.(编辑)PAR 2010。EPTCS,第43卷,第1-13页(2010年)
[44] van Laarhoven,T.:《哈斯克尔的Knuth-Morris-Pratt》(2007)。http://www.twanvl.nl/blog/haskell/Knuth-Morris-Pratt-in-haskell
[45] KRM Leino;布拉齐,S。;Paulin Mohring,C.教授。;Pichardie,D.,用SMT自动证明定理,交互式定理证明,2-16(2013),海德堡:斯普林格·Zbl 1317.68217号 ·doi:10.1007/978-3-642-39634-22
[46] KRM Leino;莫斯卡尔,M。;琼斯,C。;Pihlajasaari,P。;Sun,J.,《简单共归纳:程序验证器中的自动共归纳证明》,FM 2014:形式方法,382-398(2014),海德堡:斯普林格,海德伯格·doi:10.1007/978-3-319-06410-927
[47] Lochbihler,A。;Thiemann,P.,《高阶逻辑中的概率函数和密码预言》,《编程语言和系统》,503-531(2016),海德堡:斯普林格出版社·Zbl 1335.68033号 ·doi:10.1007/978-3-662-49498-1_20
[48] Lochbihler,A。;Hölzl,J。;克莱因,G。;Gamboa,R.,通过域和拓扑实现惰性列表上的递归函数,交互定理证明,341-357(2014),海德堡:斯普林格·Zbl 1416.68169号 ·doi:10.1007/978-3-319-08970-6_22
[49] Lochbihler,A.,Züst,M.:Isabelle/HOL中的TLS编程。伊莎贝尔研讨会2014(2014)。https://www.ethz.ch/content/dam/ethz/special-interest/infk/inst-infsec/information-security-group-dam/research/publications/pub2014/lochbihler14iw.pdf
[50] 卢卡努,D。;Goriac,E-I;卡尔泰斯,G。;罗什·G。;A.库尔兹。;Lenisa,M。;Tarlecki,A.,《CIRC:一种基于循环共约的行为验证工具》,《计算机科学中的代数和余代数》,433-442(2009),海德堡:斯普林格·Zbl 1239.68066号 ·doi:10.1007/978-3-642-03741-2_30
[51] Milius,S.,完全迭代代数和完全迭代单子,Inf.Comput。,196, 1, 1-41 (2005) ·Zbl 1062.68075号 ·doi:10.1016/j.ic.2004.05.003
[52] 米利厄斯,S。;苔藓,LS;Schwencke,D.,抽象GSOS规则和递归定义的模块化处理,Log。方法。计算。科学。,9, 3-28, 1-52 (2013) ·Zbl 1307.68051号
[53] Moss,LS,参数同化,Theor。计算。科学。,260, 1-2, 139-163 (2001) ·Zbl 0973.68134号 ·doi:10.1016/S0304-3975(00)00126-2
[54] de Moura,L。;孔,S。;Avigad,J。;van Doorn,F。;冯·劳默,J。;毛毡,AP;Middeldorp,A.,精益定理证明器(系统描述),自动演绎-CADE-25,378-388(2015),海德堡:斯普林格·Zbl 1465.68279号 ·doi:10.1007/978-3-319-21401-626
[55] 密苏里州米林;贝林格,L。;Felty,A.,《函数程序:深嵌入和浅嵌入之间的转换》,《交互式定理证明》,412-417(2012),海德堡:施普林格·doi:10.1007/978-3642-32347-8_29
[56] Nipkow,T。;保尔森,LC;Wenzel,M.,Isabelle/HOL:高阶逻辑的证明助理(2002),海德堡:施普林格·Zbl 0994.68131号 ·doi:10.1007/3-540-45949-9
[57] 保尔森,LC;Bundy,A.,实现(共同)归纳定义的定点方法,自动演绎-CADE-12148-161(1994),海德堡:施普林格·Zbl 1433.68560号 ·doi:10.1007/3-540-58156-1_11
[58] 保尔森,LC,《高阶逻辑中的机械化共约和共递归》,J.Log。计算。,7, 2, 175-204 (1997) ·Zbl 0878.68111号 ·doi:10.1093/logcom/7.2.175
[59] Pous,D.:一直到现在都是巧合。收录于:Grohe,M.,Koskinen,E.,Shankar,N.(编辑)LICS 2016,第307-316页。ACM(2016)·Zbl 1394.68352号
[60] Reynolds,J.C.:类型、抽象和参数多态性。收录于:Mason,R.E.A.(编辑)IFIP 1983,第513-523页。北荷兰/IFIP(1983年)
[61] 罗特,J。;Bonsangue,M。;鲁滕,J。;埃姆德·博厄斯,P。;格伦,FCA;意大利,GF;Nawrocki,J。;Sack,H.,Coalgebraic bisimulation-up to,SOFSEM 2013:计算机科学理论与实践,369-381(2013),海德堡:斯普林格·兹比尔1303.68088 ·doi:10.1007/978-3-642-35843-232
[62] JJMM鲁顿;Sangiorgi,D。;Simone,R.,《自动机与共创(一种组合文法的练习)》,CONCUR’98并发理论,194-218(1998),海德堡:斯普林格,海德伯格·Zbl 0940.68085号 ·doi:10.1007/BFb0055624
[63] 斯林德,K。;古斯,G。;Hartmanis,J。;Leeuwen,J。;Wright,J。;格兰迪,J。;Harrison,J.,高阶逻辑中的函数定义,高阶逻辑学中的定理证明,381-397(1996),海德堡:施普林格·doi:10.1007/BFb0105417
[64] 斯林德,K。;诺里什,M。;穆罕默德,OA;穆尼奥斯,C。;Tahar,S.,HOL4的简要概述,高阶逻辑中的定理证明,28-32(2008),海德堡:施普林格·Zbl 1165.68474号 ·doi:10.1007/978-3-540-71067-7_6
[65] Thibodeau,D.,Cave,A.,Pientka,B.:索引尾数据类型。收录:Sumii,E.(编辑)ICFP 2016。ACM(2016)·Zbl 1360.68342号
[66] Traytel,D.:正式语言,正式的和共同的。收录人:Kesner,D.,Pientka,B.(编辑)FSCD。LIPIcs,第52卷,第31:1-31:17页。Dagstuhl-Leibniz-Zentrum für Informatik学校(2016)·Zbl 1387.68161号
[67] Traytel,D.,Popescu,A.,Blanchette,J.C.:高阶逻辑的基础、复合(co)数据类型:应用于定理证明的范畴理论。收录于:LICS 2012,第596-605页。IEEE计算机学会(2012)·Zbl 1362.68251号
[68] 特纳,DA;哈特尔,PH;Plasmeijer,R.,《初等强函数编程》,《教育中的函数编程语言》,1-13(1995),海德堡:斯普林格出版社·doi:10.1007/3-540-60675-0_35
[69] Wadler,P.:免费定理!收录于:Stoy,J.E.(编辑)FPCA 1989,第347-359页。ACM(1989)
[70] Winskel,G.,关于模态演算模型检验的注释,Theor。计算。科学。,83157-167(1991年)·Zbl 0745.68083号 ·doi:10.1016/0304-3975(91)90043-2
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。