×

通过类型安全反射自动证明等价性。 (英语) Zbl 1367.68257号

Geuvers,Herman(编辑)等人,《智能计算机数学》。2017年7月17日至21日在英国爱丁堡举行的第十届国际会议,CICM 2017。诉讼程序。查姆:施普林格(ISBN 978-3-319-62074-9/pbk;978-3-3169-62075-6/电子书)。计算机科学课程讲稿10383。《人工智能课堂讲稿》,40-55页(2017年)。
摘要:使用依赖类型进行推理和编程的一个困难是,一旦程序变得中等大小,证明义务就会自然产生。例如,实现二进制数的加法器,使其在自然数等价物上建立索引,自然会导致证明表达式与自然数相等的义务。在内涵型理论中,对这些等式证明的需要来自于这样一个事实,即命题的等式使我们能够证明作为判断上不相等的相等项,这意味着类型检查器不可能总是通过约简获得等式。在可能的情况下,我们希望自动解决此类证明义务。在本文中,我们展示了一种通过在独立类型的编程语言Idris中进行反射来实现这些证明自动化的方法。我们展示了如何通过定义由原始Idris表达式索引的反射项来构造和操作证明。我们建立了证明半群、幺半群、交换幺半群,群、交换群、半环和环中等价性的策略层次。我们还展示了每种策略如何重用较简单结构中的那些策略,从而避免代码和证明的重复。
关于整个系列,请参见[Zbl 1364.68010号].

MSC公司:

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

参考文献:

[1] Bertot,Y.,Casteéran,P.:交互式定理证明和程序开发——Coq'Art:归纳构造的微积分。理论计算机科学课文。EATCS系列。斯普林格,海德堡(2004)·Zbl 1069.68095号 ·doi:10.1007/978-3-662-07964-5
[2] Brady,E.:构建正确的电路:用相关类型验证硬件规范的功能方面。In:函数式编程趋势(TFP 2007)(2007)
[3] Brady,E.:Idris,一种通用的依赖类型编程语言:设计与实现。J.功能。程序。23, 552–593 (2013) ·Zbl 1295.68059号 ·doi:10.1017/S095679681300018X
[4] Carette,J.,O'Connor,R.:理论呈现组合词。收录人:Jeuring,J.、Campbell,J.A.、Carette,J.,Reis,G.、Sojka,P.、Wenzel,M.、Sorge,V.(编辑)CICM 2012。LNCS,第7362卷,第202-215页。施普林格,海德堡(2012)。数字对象标识:10.1007/978-3-642-31374-5_14 ·Zbl 1360.68802号 ·doi:10.1007/978-3642-31374-5_14
[5] Chlipala,A.:具有依赖类型的认证编程——Coq证明助手的实用介绍。麻省理工学院出版社,剑桥(2013)·Zbl 1288.68001号
[6] 克雷古特(Crégut),P.:《普雷斯伯格礼仪的非程序性反思》(Une procédure de de-chesion reflective pour un fragment de l'arithmetique de Presburger)。收录:法语应用之旅(2004)
[7] Delahaye,D.:一种证明专用元语言。电气。理论注释。计算。科学。70(2),96–109(2002)·Zbl 1270.68262号 ·doi:10.1016/S1571-0661(04)80508-5
[8] Delahaye,D.,Doligez,D.,Gilbert,F.,Halmagrand,P.,Hermant,O.:Zenon模数:当阿基里斯使用演绎模数超过乌龟时。收录人:McMillan,K.、Middeldorp,A.、Voronkov,A.(编辑)LPAR 2013。LNCS,第8312卷,第274–290页。斯普林格,海德堡(2013)。数字对象标识:10.1007/978-3-642-45221-5_20 ·Zbl 1406.68105号 ·文件编号:10.1007/978-3-642-45221-5_20
[9] Delahaye,D.,Mayero,M.:Field,une procédure de de-ciscision pour les nombres reéels en Coq。摘自:Casteéran,P.(编辑)《法语国家应用杂志》(JFLA'01),第33-48页。Didactique系列,INRIA(2001)
[10] Dowek,G.,Hardin,T.,Kirchner,C.:证明模的定理。J.汽车。推理31(1),33–72(2003)。http://dx.doi.org/10.1023/A:1027357912519 ·Zbl 1049.03011号 ·doi:10.1023/A:1027357912519
[11] Farmer,W.M.:使用引用和评估对基于语法的数学算法进行形式化。作者:Carette,J.、Aspinall,D.、Lange,C.、Sojka,P.、Windsteiger,W.(编辑)CICM 2013。LNCS,第7961卷,第35-50页。斯普林格,海德堡(2013)。数字对象标识:10.1007/978-3-642-39320-4_3 ·Zbl 1390.68778号 ·doi:10.1007/978-3642-39320-43
[12] Gregoire,B.,Mahboubi,A.:证明交换环中的等式在Coq中做得很好。In:《高阶逻辑中的定理证明》(TPHOLS 2005),第98–113页(2005)·Zbl 1152.68702号 ·doi:10.1007/11541868_7
[13] 霍华德·W·:公式即类型的构造概念。收录:Seldin,J.,Hindley,J.(编辑)致H.B.Curry:关于组合逻辑、Lambda微积分和形式主义的论文。伦敦学术出版社(1980)
[14] Kokke,P.,Swierstra,W.:Agda中的自动——使用反射进行编程验证搜索。摘自:第十二届国际程序构建数学会议,MPC 2015,第276–301页(2015)·Zbl 1432.68063号
[15] Lindblad,F.,Benke,M.:Agda中自动定理证明的工具。收录:Filliátre,J.-C.,Paulin-Mohring,C.,Werner,B.(编辑)TYPES 2004。LNCS,第3839卷,第154-169页。斯普林格,海德堡(2006)。数字对象标识:10.1007/11617990_10 ·Zbl 1172.68615号 ·doi:10.1007/11617990_10
[16] Malecha,G.,Chlipala,A.,Braibant,T.:合成计算反射。摘自:第五届交互式定理证明国际会议,ITP 2014,第374–389页(2014)·Zbl 1416.68171号 ·数字对象标识代码:10.1007/978-3-319-08970-6_24
[17] Norell,U.:基于依赖类型理论的实用编程语言。查尔默斯理工大学博士论文(2007年)
[18] Ziliani,B.,Dreyer,D.,Krishnaswami,N.R.,Nanevski,A.,Vafeiadis,V.:Mtac:Coq中类型化战术编程的单子。摘自:ACM SIGPLAN功能编程国际会议,ICFP 2013,第87–100页(2013)·Zbl 1323.68236号 ·doi:10.145/2500365.2500579
此参考列表基于出版商或数字数学图书馆提供的信息。它的项目与zbMATH标识符启发式匹配,并且可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。