×

编程共推证明的案例研究:豪的方法。 (英语) 兹比尔1430.68418

摘要:在编程语言中,双模拟证明在建立丰富的属性(如上下文等价)方面发挥着核心作用。它们也很难机械化,因为它们需要在开放条件下结合归纳推理和共推推理。在本文中,我们使用Howe的方法在白鲸形式推理系统。开发依赖于三个关键要素:(1)我们给出了lambda术语的高阶抽象语法(HOAS)编码及其作为内部类型化术语的操作语义,从而不仅避免了处理绑定、重命名和替换的需要,而且保持了所有类型不变量的隐式;(2) 我们利用白鲸支持使用内置上下文和同时替换来表示开放术语:这允许我们直接声明中心定义,如开放模拟,而无需求助于通常的归纳闭包操作,并对非常痛苦的证明进行编码,如豪关系的替换性;(3) 我们在白鲸的推理逻辑。由于采用了高级抽象和基元,最终的结果简洁而优雅白鲸提供。我们认为,这种机械化是一个重要的例子,说明了白鲸在使用HOAS编码实现具有挑战性(共同)归纳证明方面的优势。

MSC公司:

68伏15 定理证明(自动和交互式定理证明、演绎、解析等)
68甲18 函数编程和lambda演算
68V20型 数学形式化与定理证明
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 阿贝尔。(2012). 基于类型的终止、通货膨胀定点和混合电感类型。摘自:第八届计算机科学定点研讨会(FICS’12)1-11邀请演讲录·Zbl 1457.68058号
[2] 阿贝尔。和PientkaB。(2013). 具有共同模式的资金充足的递归:终止和生产力的统一方法。摘自:第18届函数式编程国际会议(ICFP'13)185-196年会议记录·Zbl 1323.68087号
[3] 阿贝尔。和PientkaB。(2016). 具有共同模式和大小类型的功能完善的递归。函数编程杂志26e2·Zbl 1420.68031号
[4] 阿贝尔。,PientkaB。,ThibodeauD公司。和SetzerA。(2013). 共同模式:通过观察编程无限结构。载:第40届程序设计语言原理研讨会论文集(POPL'13),美国计算机学会出版社,27-38·Zbl 1301.68080号
[5] 艾布拉姆斯基S。(1991). 用于互模拟的域方程。信息与计算92(2)161-218·Zbl 0718.68057号
[6] 艾哈迈德。(2006). 递归和量化类型的逐步诱导句法逻辑关系。收件人:SestoftP。(eds.)《第15届欧洲编程研讨会论文集》(ESOP’06),施普林格出版社,69-83·Zbl 1178.68146号
[7] 阿拉伊斯集团。,查普曼J。,麦克布赖德。和McKinnaJ。(2017年)。类型和范围安全程序及其证明。收件人:BertotY。和VafeiadisV。(eds.)第六届认证程序和证明会议记录(CPP’17),ACM,195-207年。
[8] AmblerS S.和CroleR。L.(1999)。通过(共同)归纳实现机械化操作语义。在:BertotY。,道威克集团。,赫肖维茨。,保林·C。和ThéryL。(eds.)《第十二届高阶逻辑定理证明国际会议论文集》(TPHOLs'99),《计算机科学讲义》,第1690卷,施普林格出版社,221-238·Zbl 0954.68093号
[9] 巴尔德。,乔杜里。,GacekA.公司。,米勒博士。,纳达图尔。,蒂亚。和WangY。(2014). Abella:关于关系规范的推理系统。形式化推理杂志7(2)1-89·Zbl 1451.68315号
[10] 巴尔德。,GacekA.公司。,米勒博士。,纳达图尔。和TiuA。(2007). 用于对句法表达式进行模型检查的Bedwyr系统。摘自:《第21届自动扣除会议论文集》,《计算机科学讲义》,第4603卷,施普林格出版社,391-397。
[11] 本特森J。和ParrowJ。(2009). 使用标称逻辑对像素进行形式化。计算机科学中的逻辑方法5(2)1-36·Zbl 1168.68030号
[12] 本特森J。,帕罗J。和WeberT。(2016). Isabelle的Psi-calculi。《自动推理杂志》56(1)1-47·Zbl 1356.68175号
[13] 北本顿。,胡克。,肯尼迪。和McBrideC。(2012). coq中的强类型术语表示。《自动推理杂志》49(2)141-159·Zbl 1269.68041号
[14] BiendarraJ。,布兰切特J。C.、BouzyA.等人。,DesharnaisM公司。,FleuryM.、。,HölzlJ。,昆卡罗。,洛赫比赫勒。,梅耶夫。,PannyL.公司。,波佩斯库阿。,斯特纳格尔公司。,蒂曼R。和TraytelD。(2017年)。高阶逻辑的基础(co)数据类型和(co)递归。收件人:DixonC。和FingerM.(eds.)《第11届组合系统前沿国际研讨会论文集》(FroCoS’17),《计算机科学讲义》,第10483卷,Springer,3-21·Zbl 1495.68238号
[15] 洞穴A。和PientkaB。(2012). 使用活页夹和索引数据类型进行编程。摘自:第39届程序设计语言原理研讨会论文集(POPL'12),ACM出版社,413-424·Zbl 1321.68141号
[16] 洞穴A。和PientkaB。(2013). 语境类型理论中的第一类替代。摘自:第八届ACM SIGPLAN逻辑框架和元语言国际研讨会论文集:理论与实践(LFMTP’13),ACM出版社,15-24。
[17] 洞穴A。和PientkaB。(2015). 使用上下文类型的逻辑关系案例研究。收件人:CervesatoI。和乔杜里克。(编辑)第十届逻辑框架和元语言国际研讨会论文集:理论与实践(LFMTP'15),理论计算机科学电子论文集,18-33。
[18] 洞穴A。和PientkaB。(2018)。用逻辑关系机械化证明——克里普克式。计算机科学中的数学结构,28(专刊9)1606-1638·Zbl 1400.68193号
[19] 乔杜里克。(2018)。关于(同时)替换的两级逻辑观点。在AndronickJ。和FeltyA。P.(编辑)第七届ACM SIGPLAN认证程序和校对国际会议记录(CPP 2018),美国加利福尼亚州洛杉矶,2018年1月8日至9日,ACM,280-292。
[20] 乔杜里。,Cimini公司。和MillerD。(2015). LeroyX中互模拟元理论的轻量级形式化。和TiuA。(eds.)2015年认证课程和证明会议记录(CPP 2015),印度孟买,2015年1月15日至17日,ACM,157-166。
[21] 切尼J。和MomiglianoA。(2017年)。α检查:机械化元理论模型检查器。TPLP17(3)311-352·兹比尔1379.68236
[22] 克里克。和HarperR.(2007)。多态和递归类型的句法关系。理论计算机科学电子笔记172259-299·Zbl 1277.68119号
[23] 毛毡A。P.和MomiglianoA。(2012). 混合:使用高阶抽象语法进行推理的定义性两级方法。《自动推理杂志》48(1)43-105·Zbl 1252.68252号
[24] 福特J。和梅森。A.(2003年)。操作语义的形式基础。高阶和符号计算16(3)161-202·Zbl 1074.68033号
[25] 吉卡德。R.和McCuskerG。(2000年)。使用正则语言对理想化ALGOL进行推理。收件人:蒙塔那利大学。,罗利姆J。D.P.和WelzlE。(编辑)第27届国际学术讨论会论文集,自动机,语言和程序设计(ICALP 2000),《计算机科学讲义》,第1853卷,施普林格,103-115·Zbl 0973.68506号
[26] 吉梅内兹。(1996). Un Calcul de Constructions Infinies et son application a la vérification de systèmes communicators无限计算及其应用。里昂高等师范学院博士论文。
[27] HonsellF哈珀。和PlotkinG。(1993). 定义逻辑的框架。ACM40期刊(1)143-184·Zbl 0778.03004号
[28] 赫施科夫D。(1997). 构造微积分中微积分理论的完整形式化。输入:GunterE。L.和FeltyA。P.(eds.)《第十届高阶逻辑定理证明国际会议论文集》(TPHOLs'97),《计算机科学讲义》,第1275卷,Springer,153-169·Zbl 0883.03012号
[29] HonsellF、。,米库兰姆。和ScagnettoI。(2001). (co)归纳型理论中的∏-演算。理论计算机科学2(253)239-285·Zbl 0956.68095号
[30] 豪。J.(1996)。证明函数式编程语言中互模拟的一致性。信息与计算124(2)103-112·Zbl 0853.68073号
[31] 雅各布·拉奥。,PientkaB。和ThibodeauD。(2018)。指数分层类型。参见:KirchnerH.(编辑)《第三届计算和演绎形式结构国际会议论文集》(FSCD’18),LIPIcs,Schloss Dagstuhl-Leibniz Zentrum für Informatik,19:1-19:17·Zbl 1462.68021号
[32] 拉弗盖普。和Régis GianasY。(2017年)。OCaml中的Copattern匹配和一流观测,带有宏。摘自:第19届声明性编程原则与实践国际研讨会论文集,PPDP’17,97-108。
[33] 拉森S。B.(1998年)。关于函数和非决定论的关系推理。奥胡斯大学计算机科学系博士论文。
[34] 利兹。K.、CraryK。和HarperR(2007年)。《迈向标准ML的机械化元理论》,载《第34届程序设计语言原理研讨会论文集》(POPL'07),美国计算机学会出版社,173-184·Zbl 1295.68088号
[35] LengletS公司。和SchmittA。(2018)。coq中的Hoπ。收件人:AndronickJ。和FeltyA。P.(eds.)《第七届ACM SIGPLAN认证程序和证明国际会议论文集》(CPP 2018),美国加利福尼亚州洛杉矶,2018年1月8日至9日,ACM,252-265。
[36] 梅森一世。和TalcottC。(1991). 功能语言中的等效性和效果。函数编程杂志1(03)287-327·Zbl 0941.68540号
[37] 麦克道尔。和MillerD。(1997). 用高阶抽象语法进行推理的逻辑。收件人:WinskelG。(编辑)第12届计算机科学逻辑研讨会论文集,IEEE计算机社会出版社,434-445。
[38] 麦克道尔。,米勒D。和帕拉米德斯。(1996). 序列演算中转换系统的编码:初步报告。理论计算机科学电子笔记,3138-152·Zbl 0908.03049号
[39] 麦克劳林。,麦金纳J。和StarkI(2018年)。三角化上下文引理。收件人:AndronickJ。和FeltyA。P.(eds.)《第七届ACM SIGPLAN认证程序和证明国际会议论文集》(CPP 2018),美国加利福尼亚州洛杉矶,2018年1月8日至9日,ACM,102-114。
[40] 米勒D。和NadathurG。(2012). 《用高阶逻辑编程》,第1版,剑桥大学出版社,美国纽约·Zbl 1267.68014号
[41] 米勒D。和帕拉米德斯。(1999). 语法的基本方面。ACM计算调查31(3es)1-7。
[42] 米勒D。和TiuA。(2005). 一般判断的证明理论。美国计算机学会计算逻辑学报6(4)749-783·Zbl 1367.03059号
[43] MilnerR.(1977)。类型化结石的完全抽象模型。理论计算机科学4(1)1-22·Zbl 0386.03006号
[44] 莫米利亚诺。(2012). 我可能还得再做一件有趣的事:Howe方法的HOAS编码。摘自:《逻辑框架与元语言:理论与实践第七届国际研讨会论文集》(LFMTP’12),ACM,33-42。
[45] 莫米利亚诺。,AmblerS S.和CroleR。L.(2002)。Howe方法的一种混合编码,用于建立双相似性的同余。理论计算机科学电子笔记70(2)60-75·Zbl 1270.68072号
[46] 莫米利亚诺。和TiuA。(2003). 序贯微积分中的归纳法和共归纳法。包含:CoppoM。,贝拉迪斯。和达米亚尼。(编辑)2003年类型的后期处理,计算机科学讲稿,第3085卷,293-308·Zbl 1100.03516号
[47] 纳内夫斯基。,PfenningF。和PientkaB。(2008). 语境模态类型理论。ACM计算逻辑事务9(3)1-49·Zbl 1367.03060号
[48] OuryN公司。(2008). 共导体类型和类型保存。coq-club邮件列表上的消息。
[49] 帕罗J。,博格斯特罗姆。,RaabjergP.和PohjolaJ.Å。(2014). 高阶psi-calculi。计算机科学中的数学结构24(2)1-36·Zbl 1342.68239号
[50] PfenningF。(1997). 计算和推导。2018年1月31日查阅。
[51] PfenningF。和SchürmannC。(1999). 系统描述:Twelf-演绎系统的元逻辑框架。在:GanzingerH.(编辑)《第16届自动推导国际会议论文集》(CADE-16),《人工智能讲义》,第1632卷,施普林格出版社,202-206年。
[52] PientkaB。(2005). 验证高阶逻辑程序的终止和约简属性。《自动推理杂志》34(2)179-207·Zbl 1102.68648号
[53] PientkaB。(2008). 使用高阶抽象语法和一级替换进行编程的类型理论基础。摘自:第35届程序设计语言原理研讨会论文集(POPL'08),ACM出版社,371-382·Zbl 1295.68068号
[54] PientkaB。(2013). 一位内部人士对LF型重建的看法:你从未想过要知道的一切。功能编程杂志23(1)1-37·Zbl 1262.68030号
[55] PientkaB。和AbelA。(2015). 上下文对象上的结构递归。在AltenkirchT。(ed.)《第十三届国际Lambda类型演算与应用会议论文集》(TLCA’15),莱布尼茨国际信息学论文集,Schloss Dagstuhl,273-287·Zbl 1367.68073号
[56] PientkaB。和CaveA。(2015). 归纳白鲸:编程证明(系统描述)。收件人:FeltyA。P.和MiddeldorpA。(eds.)《第25届自动扣除国际会议论文集》(CADE-25),《计算机科学讲义》,第9195卷,施普林格出版社,272-281·Zbl 1465.68294号
[57] PientkaB。和邓菲尔德J。(2008). 用证明和明确的上下文进行编程。收件人:AntoyS。和阿尔伯特。(编辑)2008年7月15日至17日在西班牙巴伦西亚举行的第十届ACM SIGPLAN宣言式编程原理与实践国际会议论文集,ACM,163-173。
[58] PientkaB。和邓菲尔德J。(2010). 白鲸:用演绎系统进行编程和推理的框架(系统描述)。收件人:GieslJ。和HaehnleR。(eds.)第五届国际自动推理联合会议(IJCAR’10),《人工智能讲义》,第6173卷,施普林格出版社,15-21页·Zbl 1291.68366号
[59] 皮特斯A。M.(1997)。基于操作的程序等价理论。收件人:DybjerP。和PittsA。《计算的语义和逻辑》,剑桥大学出版社,241-298·Zbl 0919.68086号
[60] 皮特斯A。M.(2005)。键入操作推理。输入:PierceB。C.(ed.)类型和编程语言高级主题,第7章,麻省理工出版社,245-289·兹比尔1080.68009
[61] 皮特斯A。M.(2011)。豪的高阶语言方法。在SangiorgiD。和RuttenJ。(eds.)《互模拟和共归纳高级专题》,《剑桥理论计算机科学丛书》,第52卷,第5章,剑桥大学出版社,197-232·Zbl 1285.68110号
[62] ThibodeauD公司。,洞穴A。和PientkaB。(2016). 编入索引的代码。收件人:GarrigueJ。,凯勒G。和SumiiE。(eds.)《第21届函数编程国际会议论文集》(ICFP’16),ACM,351-363·Zbl 1360.68342号
[63] 蒂亚。和MillerD。(2010). π演算的互模拟和模态逻辑的证明搜索规范。ACM计算逻辑事务11(2)1-35·Zbl 1351.68186号
[64] 蒂亚。和MomiglianoA。(2012). 带归纳和共归纳的逻辑的截消。应用逻辑杂志10(4)330-367·Zbl 1278.03086号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。