×

Mtac:Coq中用于类型化策略编程的单子。 (英语) Zbl 1420.68189号

摘要:对定制校样自动化的有效支持对于大规模交互式校样开发至关重要。然而,通过战术要么(a)无法在附带的定理证明器的基本逻辑中指定策略的行为,要么(b)依赖于不容易集成到已建立的定理证明程序中的高级类型理论机器。
我们介绍了Mtac,它是Coq的一个轻量级但功能强大的扩展,支持独立类型的战术编程。Mtac战术可以使用普通Coq编程的所有功能,以及一组新的类型化战术原语。我们通过将这些新的战术原语的使用封装在monad中,并对Coq进行指令插入,以便它在类型推断期间执行monad策略,从而避免了接触Coq的可信内核类型检查器的需要。

MSC公司:

68吨15 定理证明(演绎、解析等)(MSC2010)
68号30 软件工程的数学方面(规范、验证、度量、需求等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Allen,S.F.,Constable,R.L.,Howe,D.J.和Aitken,W.E.(1990)反射证明的语义。在IEEE计算机科学逻辑研讨会(LICS)上。纽约:IEEE。
[2] Armand,M.、Grégoire,B.、Spiwack,A.和Théry,L.(2010)《使用命令式功能扩展Coq及其在SAT验证中的应用》。在交互式定理证明国际会议(ITP)上。柏林:斯普林格·Zbl 1291.68318号
[3] Artömov,S.N.(1999)关于定理证明和形式验证中的显式反映。在自动扣除会议(CADE)上。柏林:斯普林格·Zbl 0937.03015号
[4] Asperti,A.,Ricciotti,W.,Sacerdoti Coen,C.&Tassi,E.(2009)归纳结构微积分的紧凑内核。Sadhana34(1),71-144。doi:10.1007/s12046-009-0003-32547328·兹比尔1196.68221 ·doi:10.1007/s12046-009-0003-3
[5] Baker,H.G.(1991)浅绑定使函数数组更快。SIGPLAN非.26(8),145-147。
[6] Barendregt,H.&Geuvers,H.(2001)使用依赖型系统的抗蚀剂。《自动推理手册》,Robinson,A.和Voronkov,A.(编辑),Elsevier Science Publishers B.V.,第1149-1238页doi:10.1016/B978-044450813-3/50020-5·Zbl 1005.03011号
[7] Bertot,Y.和Casteéran,P.(2004)交互式定理证明和程序开发:Coq'Art:归纳构造的微积分。理论计算机科学课文。EATCS系列,Springer·Zbl 1069.68095号
[8] Boutin,S.(1997)利用反思构建高效且经认证的决策程序。在计算机软件理论方面国际研讨会上。柏林:斯普林格。
[9] Cave,A.和Pientka,B.(2012)《使用活页夹和索引数据类型编程》。在ACM编程语言原理研讨会上。纽约:ACM·Zbl 1321.68141号
[10] Chlipala,A.(2011a)具有依赖类型的认证编程。麻省理工学院出版社。http://adam.chlipala.net/cpdt/。 ·Zbl 1288.68001号
[11] Chlipala,A.(2011b)计算分离逻辑中低级程序的大多数自动验证。在ACM编程语言设计与实现会议(PLDI)上,第234-245页。纽约:ACM。
[12] Claret,G.、Del Carmen González Huesca,L.、Régis Gianas,Y.和Ziliani,B.(2013)使用有效计算的后验模拟进行反射的轻量级证明。在交互式定理证明国际会议(ITP)上。柏林:斯普林格·Zbl 1317.68205号
[13] Constable,R.L.(1992)构造型理论中的元级编程。《编程和数学方法》,Broy,M.(ed),《北约ASI系列》,第88卷。纽约:Springer-Verlag,第45-93页。doi:10.1007/978-3-642-77572-76
[14] Devriese,D.&Piessens,F.(2013)类型化句法元编程。在函数编程国际会议(ICFP)上。纽约:ACM·Zbl 1323.68109号
[15] Gonthier,G.(2008)形式证明——四色定理。不是。上午55(11),1382-93·Zbl 1195.05026号
[16] Gonthier,G.、Asperti,A.、Avigad,J.、Bertot,Y.、Cohen,C.、Garillot,F.、Leroux,S.、Mahboubi,A.、O'Connor,R.、Ould Biha,S.,Pasca,I.、Rideau,L.、Solovyev,A.、Tassi,E.和Théry,L.(2013b)奇数阶定理的机器检验证明。在交互式定理证明国际会议(ITP)上。柏林:斯普林格·Zbl 1317.68211号
[17] Gonthier,G.、Mahboubi,A.和Tassi,E.(2008)Coq系统的小规模反射扩展。技术报告,INRIA。
[18] Gonthier,G.、Ziliani,B.、Nanevski,A.和Dreyer,D.(2013a)《如何减少即席验证自动化的即席性》。J.功能。程序。(JFP)23(4),357-401。doi:10.1017/S09567968130000513148852·Zbl 1314.68281号
[19] Grégoire,B.&Leroy,X.(2002年)一项汇编的强减排实施。在函数编程国际会议(ICFP)上。纽约:ACM·兹比尔1322.68053
[20] Harper,R.、Honsell,F.和Plotkin,G.(1993)定义逻辑的框架。美国医学杂志(JACM)40(1),143-184。数字对象标识代码:10.1145/138027.138060·Zbl 0778.03004号 ·数字对象标识代码:10.1145/138027.138060
[21] Harrison,J.(1995)《定理证明中的元理论与反思:综述与批判》。技术报告CRC-053。SRI剑桥,Millers Yard,Cambridge,UK。
[22] Howe,D.J.(1992)反映了反射证明的语义。在证明理论中。剑桥大学出版社,第227-250页·Zbl 0808.03007号
[23] Hur,C.-K.,Neis,G.,Dreyer,D.&Vafeiadis,V.(2013)共推证明中参数化的力量。在ACM编程语言原理研讨会上。纽约:ACM·Zbl 1301.68220号
[24] Klein,G.、Andronick,J.、Elphinstone,K.、Heiser,G.和Cock,D.、Derrin,P.、Elkaduwe,D.、Engelhardt,K.和Kolanski,R.、Norrish,M.、Sewell,T.、Tuch,H.和Winwood,S.(2010)seL4:操作系统内核的形式验证。Commun公司。美国医学会(CACM)53(6),107-115。
[25] Launchbury,J.&Peyton Jones,S.L.(1994)《惰性功能状态线程》。在ACM编程语言设计与实现(PLDI)会议上。纽约:ACM。
[26] Leroy,X.(2009)现实编译器的形式验证。Commun公司。ACM(CACM)52(7),107-115。doi:10.1145/1538788.1538814·doi:10.1145/1538788.1538814
[27] Malecha,G.&Bengtson,J.(2015)《Rtac:一种全面反思的战术语言》。在公共产品成本核算国际研讨会(CoqPL)上。
[28] Malecha,G.、Chlipala,A.和Braibant,T.(2014)《合成计算反射》。在交互式定理证明国际会议(ITP)上。柏林:斯普林格·Zbl 1416.68171号
[29] Mendler,N.P.(1991)二阶lambda演算中的归纳类型和类型约束。Ann.纯粹应用。日志51(1-2),159-172。doi:10.1016/0168-0072(91)90069-X1100500·Zbl 0719.03008号 ·doi:10.1016/0168-0072(91)90069-X
[30] Miculan,M.和Paviotti,M.(2012)在coq中使用单子类型的分布式移动程序合成。在交互式定理证明国际会议(ITP)上。柏林:斯普林格·Zbl 1360.68760号
[31] Miller,D.(1991)将简单类型的lamda-terms统一为逻辑编程。在国际逻辑程序设计会议(ICLP)上。柏林:斯普林格。
[32] Nanevski,A.(2002)《名称和必要性的元编程》。在函数编程国际会议(ICFP)上。纽约:ACM·Zbl 1322.68045号
[33] Nanevski,A.、Morrisett,G.和Birkedal,L.(2008b)霍尔类型理论、多态性和分离。J.功能。程序。(JFP)18(5-6),865-911。网址:10.1017/S0956796808006952472476·Zbl 1155.68354号
[34] Nanevski,A.,Morrisett,G.,Shinnar,A.,Govereau,P.&Birkedal,L.(2008c)Ynot:命令式程序的依赖类型。在函数编程国际会议(ICFP)上。纽约:ACM·Zbl 1323.68142号
[35] Nanevski,A.、Pfenning,F.和Pientka,B.(2008a)语境模态类型理论。ACM事务处理。计算。日志。(TOCL)9(3),23:1-23:49.2426371·Zbl 1367.03060号
[36] Nanevski,A.、Vafeiadis,V.和Berdine,J.(2010)构建堆操作程序的验证。在ACM编程语言原理研讨会上。纽约:ACM·Zbl 1312.68065号
[37] Pientka,B.(2008)使用高阶抽象语法和一级替换进行编程的类型理论基础。在ACM编程语言原理研讨会上。纽约:ACM·兹比尔1295.68068
[38] Pientka,B.和Dunfield,J.(2008)《带证明和显式上下文的编程》。在声明性编程原则与实践国际研讨会上。纽约:ACM·Zbl 1291.68366号
[39] Pollack,R.(1995)关于证明检查器的可扩展性。在类型中。柏林:斯普林格。
[40] Poswolsky,A.&Schürmann,C.(2009)系统描述:Delphin–演绎系统的函数编程语言。在电子方面。注释Theor。计算。科学。(ENTCS)228113-120。doi:10.1016/j.entcs.2008.12.120
[41] Sacerdoti Coen,C.(2004)《数学知识管理与交互式定理证明》。博洛尼亚大学博士论文·Zbl 1108.68601号
[42] Saíbi,A.(1997)具有继承性的类型理论中的类型算法。在ACM编程语言原理研讨会上。纽约:ACM。
[43] Schürmann,C.、Poswolsky,A.和Sarnat,J.(2005)《微积分》。使用高阶编码的函数式编程。在国际键入Lambda演算和应用会议(TLCA)上。柏林:斯普林格·Zbl 1114.68030号
[44] Ševčík,J.,Vafeiadis,V.,Zappa Nardelli,F.,Jagannathan,S.&Sewell,P.(2013)CompCertTSO:一个用于松弛内存并发的验证编译器。美国医学杂志(JACM)60(3),22:1-22:50.3078709·Zbl 1281.68072号
[45] Sozeau,M.(2007)Coq中的子集胁迫。在类型中。柏林:斯普林格·Zbl 1178.68531号
[46] Sozeau,M.&Oury,N.(2008)第一类课程。在国际高阶逻辑定理证明会议(TPHOL)上。柏林:斯普林格·Zbl 1165.68475号
[47] Stampoulis,A.和Shao,Z.(2010)VeriML:语言中逻辑项的类型计算及其效果。在函数编程国际会议(ICFP)上。纽约:ACM·Zbl 1323.68384号
[48] Stampoulis,A.&Shao,Z.(2012)静态和用户扩展的校对。在ACM编程语言原理研讨会上。纽约:ACM·Zbl 1321.68204号
[49] (2012)Coq Proof Assistant参考手册第8.4版。
[50] Vafeiadis,V.(2013)可调节参考文献。在交互式定理证明国际会议(ITP)上。柏林:斯普林格·Zbl 1317.68234号
[51] Van Der Walt,P.&Swierstra,W.(2013)《Agda中反射的工程证明》。函数语言(IFL)的实现和应用。
[52] Ziliani,B.,Dreyer,D.,Krishnaswami,N.R.,Nanevski,A.&Vafeiadis,V.(2013)Mtac:Coq中类型化战术编程的单子。在函数编程国际会议(ICFP)上。纽约:ACM·Zbl 1323.68236号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。