×

以图形化的方式理解和维护策略,或者我们是如何学习到一张图的价值可能超过10K LoC。 (英语) Zbl 1451.68324号

摘要:在交互式定理证明程序中,使用函数语言实现证明策略作为证明策略,通常可以提供简短、简洁和优雅的实现。虽然很优雅,但使用高阶特征和组合词语言通常会导致对策略的过程性观点,这可能与策略背后的高级思想有很大的偏差。这可能会使策略难以理解,因此专家和非专家也很难调试和维护:为了分析整体策略中的失败,经常需要手动拆分较低级别策略的复杂组合。
在一个工业技术转让项目中,我们一直在致力于将一种非常庞大而复杂的证明策略移植到PSGraph中,PSGraph是一种用于表示证明策略的图形语言。这项工作的目标是提高战术的可理解性和可维护性。由于在这方面取得了一些初步成功,我们在这里扩展了PSGraph,增加了用于开发和调试的其他功能。通过对几种现有策略的重新实现和重构,我们展示了PSGraph与典型句子策略语言相比在调试、可读性和维护方面的优势。为了给其他人提供指导,我们对这两种方法的用户体验进行了相当详细的比较。本文由一个网页支持,该网页提供了有关实现的进一步详细信息以及示例的交互式插图。

MSC公司:

68伏15 定理证明(自动和交互式定理证明、演绎、解析等)
68甲18 函数编程和lambda演算
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] 马克·亚当斯。用战术家重构证据。在Domenico Bianculli、Radu Calinescu和Bernhard Rumpe,编辑,软件工程和形式方法:SEFM 2015。修订论文集,第53-67页,柏林,海德堡,2015年。斯普林格。34, 50 ·Zbl 1461.68246号
[2] 罗布·阿森。现在f是连续的(练习!)。形式化推理杂志,9(1):33-522016。44, 45 ·Zbl 1451.68313号
[3] 罗布·阿尔森(Rob Arthan)和罗杰·毕肖普·琼斯(Roger Bishop Jones)。Z代表HOL代表Pro-Power。BCS FACS事实,2005-1。http://www.bcs.org/upload/pdf/facts200503.pdf。 2, 3
[4] 大卫·阿斯皮纳尔和塞萨里·卡利西克。走向正式的证明标准。Perdita Stevens和Andrzej Wasowski,编辑,《软件工程的基本方法:第19届国际会议》,FASE 2016,第325-341页,柏林,海德堡,2016。斯普林格。49
[5] 理查德·博纳特(Richard Bornat)和伯纳德·苏福林(Bernard Sufrin)。Jape:一种用于动画演示的计算器。在CADE-14中,第412-415页。施普林格,1997年。49 ·Zbl 1430.68395号
[6] 阿兰·邦迪。推理科学。在国际分析表和相关方法自动推理会议上,第10-17页。斯普林格,1998年。49 ·Zbl 0913.03022号
[7] R.布尔斯托尔。证明容易:帮助人们学习做证明。ENTCS,31(0):16-322000年。49 ·Zbl 0966.68190号
[8] 卢卡斯·狄克逊(Lucas Dixon)和雅克·弗莱里奥特(Jacques D.Fleuriot)。IsaPlanner:Isabelle中的原型验证规划师。在CADE-19中,LNCS第2741卷,第279-283页。斯普林格,2003年。49 ·1099.68723兹比尔
[9] 卢卡斯·狄克逊和亚历克斯·基辛格。开放图和单体理论。CoRR,abs/1011.41142010年。10 ·Zbl 1268.18002号
[10] 哈特穆特·埃里格(Hartmut Ehrig)、卡斯滕·埃里格、乌尔里克·普兰奇(Ulrike Prange)和加布里埃尔·坦泽尔(Gabriele Taentzer)。代数图变换基础。理论计算机科学专著。斯普林格,2006年。10 ·Zbl 1095.68047号
[11] 乔治·戈蒂尔(Georges Gonthier)。计算机检查四色定理的证明,2005年。49 ·Zbl 1166.68346号
[12] Michael J.C.Gordon、Robin Milner和Christopher P.Wadsworth。爱丁堡LCF,《计算机科学讲义》第78卷。施普林格,1979年。3 ·Zbl 0421.68039号
[13] 迈克·戈登。从LCF到HOL:历史很短。戈登·普洛金(Gordon D.Plotkin)、科林·斯特林(Colin Stirling)和麦德斯·托夫特(Mads Tofte),《证据、语言和互动》(Proof,Language,and Interaction)编辑,《罗宾·米尔纳(Robin Milner)荣誉论文》,169-186页。麻省理工学院出版社,2000年。3, 6
[14] G.Grov、A.Kissinger和Y.Lin.《证明策略的图形语言》。在LPAR中,第324-339页。施普林格,2013年。2, 51 ·Zbl 1406.68107号
[15] G.Grov,A.Kissinger和Y.Lin.Tinker,Tailor,Solver,Proof。在UITP 2014中,ENTCS第167卷,第23-34页。开放出版协会,2014年。2, 12
[16] 吉姆·格兰迪。HOL系统中的窗口推理。在HOL定理证明系统及其应用国际研讨会上,第177-189页。IEEE,1991年。49
[17] Thomas Hales、Mark Adams、Gertrud Bauer、Dat Tat Dang、John Harrison、Truong Le Hoang、Cezary Kaliszyk、Victor Magron、Sean McLaughlin、Thang Tat Nguyen等。开普勒猜想的正式证明。arXiv预印arXiv:1501.021552015。49
[18] 约翰·哈里森。HOL灯:概述。Stefan Berghofer、Tobias Nipkow、Christian Urban和Makarius Wenzel主编,《高阶逻辑中的定理证明》,第22届国际会议,TPHOLs 2009,德国慕尼黑,2009年8月17日至20日。LNCS第5674卷,第60-66页。施普林格,2009年。2, 3 ·Zbl 1252.68255号
[19] Güerard Huet(格雷德·胡特)。拉链。函数编程杂志,7(05):549-5541997。49 ·Zbl 0893.68014号
[20] 拉尔斯·胡佩尔(Lars Hupel)。isabelle中的交互式简化程序跟踪和调试。CICM编辑Stephen M.Watt、James H.Davenport、Alan P.Sexton、Petr Sojka和Josef Urban,第328-343页,Cham,2014年。斯普林格。50 ·Zbl 1304.68156号
[21] 乔·赫德。开放理论:高阶逻辑理论的包管理。Gabriel Dos Reis和Laurent Tháery编辑,《PLMMS’09:ACM SIGSAM 2009机械化数学系统编程语言国际研讨会论文集》,第31-37页,2009年8月。51
[22] A.基辛格和V.扎姆季耶夫。量子:图解推理的证明助手。在CADE-25中,LNCS第9195卷,第326-336页。斯普林格,2015年。13 ·Zbl 1465.68288号
[23] 格温·克莱恩。验证工程被认为是至关重要的。FM 2014:形式方法,第16-21页。斯普林格,2014年。49
[24] 格温·克莱恩(Gerwin Klein)、琼·安德罗妮克(June Andronick)、凯文·埃尔芬斯通(Kevin Elphinstone)、托比·默里(Toby Murray)、托马斯·苏厄尔(Thomas Sewell)、拉斐尔·科兰斯基(Rafal Kolansk。操作系统微内核的全面形式验证。ACM计算机系统交易(TOCS),32(1):22014年2月。49
[25] 吉尔·H·拉金和赫伯特·A·西蒙。为什么一个图表(有时)值一万字。认知科学,11(1):65-1001987。2
[26] 梁一博、林玉慧和古德蒙德·格罗夫罗丹的补锅匠。在Michael Butler、Klaus-Dieter Schewe、Atif Mashkoor和Miklos Biro,编辑,《抽象状态机》、《合金》、《B》、《TLA》、《VDM》和《Z:第五届国际会议》,2016年5月23日至27日,奥地利林茨,ABZ 2016,会议记录,第262-268页。斯普林格,2016年。2
[27] T Libal、M Riener和M Rukhaia。在校对工具中进行高级校对查看。在UITP 2014中,EPTCS第167卷,第35-47页。开放出版协会,2014年。49
[28] Y.Lin、G.Grov和R.Arthan。以图形方式调试和重构策略-纸质资源。http://ggrov.github.io/tinker/jfr16/。访问日期:2016年7月。3, 13, 41, 51 ·Zbl 1451.68324号
[29] Yuhui Lin、Gudmund Grov、Colin O'Halloran和Priiya G.PSGraph的超级工业应用程序。将于2016年ABZ发布。2, 22, 49, 51
[30] Yuhui Lin、Pierre Le Bras和Gudmund Grov。通过修补开发和调试证明策略。Marsha Chechik和Jean-Fraņcois Raskin,编辑,《系统构建和分析的工具和算法》(TACAS),第573-579页,柏林,海德堡,2016年。斯普林格。2, 12, 13
[31] 马卡里乌斯·温泽尔和其他许多人。Isabelle/Isar参考手册。http://isabelle.in.tum.de/dist/Isabelle2013-2/doc/isar-ref.pdf。 2, 3
[32] C.奥哈洛兰。自动验证从Simulink自动生成的代码。ASE,20(2):237-2642013年。2
[33] Maris A Ozols、Anthony Cant和Katherine A Eastaughffe。西萨贝尔:系统描述。在CADE-14中,第400-403页。施普林格,1997年。49
[34] 卡罗尔·帕克。改进和重组自然演绎证明的算法。《逻辑、语法和修辞研究》,22(35):95-1122010年。49
[35] 劳伦斯·保尔森(Lawrence C.Paulson)。重写的高阶实现。科学。计算。程序。,3(2):119-149, 1983. 4 ·Zbl 0551.68076号
[36] 吉尔·普劳特、罗布·阿森、罗杰·琼斯和罗杰·斯托克斯。前端过滤器项目:安全数据库系统的规范和验证。http://www.lemma-one.com/校对电源/fef/fef.html。35, 36
[37] J¨org H.Siekmann、Stephan M.Hess、Christoph Benzmu¨ller、Lassaad Cheikhrouhou、Armin Fiedler、Helmut Horacek、Michael Kohlhase、Karsten Konrad、Andreas Meier、Erica Melis、Martin Pollet和Volker Sorge。LOUI:可爱的OMEGA用户界面。正式Asp。计算,11(3):326-3421999。49
[38] 康拉德·斯林德(Konrad Slind)和迈克尔·诺里什(Michael Norrish)。HOL4的简要概述。在《高阶逻辑定理证明》(TPHOL)中,LNCS第5170卷。施普林格,2008年。2, 3 ·Zbl 1165.68474号
[39] 马克·斯塔普斯(Mark Staples)、罗斯·杰弗里(RossJeffery)、朱恩安德罗尼克(JuneAndronick)、托比·默里(TobyMurray)、格温·克莱因(GerwinKlein)和拉法尔·科兰斯基(RafalKolanski)。验证工程的生产力。第八届ACM/IEEE国际经验软件工程与测量研讨会论文集,第15页。ACM,2014年。49
[40] I.Whiteside、D.Aspinall、L.Dixon和G.Grov。走向正式校对脚本重构。在CICM’11,LNCS第6824卷,第260-275页。施普林格,2011年。50 ·Zbl 1335.68240号
[41] 伊恩·怀特塞德。重构证明。爱丁堡大学博士论文,2013年。50 ·Zbl 1407.68434号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。