×

从一元HOL函数生成CakeML的证明合成。 (英语) Zbl 1468.68056号

摘要:我们介绍了一种自动生成有状态ML程序的方法,以及HOL中的一元函数的正确性证明。我们的机制支持引用、异常和I/O操作,并可以生成操作本地状态的函数,然后可以将其封装以在纯上下文中使用。我们将此方法应用于几个非平凡的示例,包括其他纯CakeML编译器的指令编码器和寄存器分配器,它们现在受益于更好的运行时性能。这一发展已在HOL4定理证明器中进行。

MSC公司:

68甲18 函数编程和lambda演算
68N20型 编译与解释理论
68伏15 定理证明(自动和交互式定理证明器、推导、解析等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Anand,A.,Appel,A.,Morrisett,G.,Paraskevopoulou,Z.,Pollack,R.,Belanger,O.S.,Sozeau,M.,Weaver,M.:CertiCoq:Coq的验证编译器。In:CoqPL(2017)
[2] Anand,A.,Boulier,S.,Tabarau,N.,Sozeau,M.:Coq中的类型模板Coq认证元编程。致:CoqPL(2018)·Zbl 1468.68071号
[3] Blazy,S.、Robillard,B.、Appel,A.W.:合并图形颜色寄存器分配的形式验证。In:LNCS(2010)第6012卷《员工持股计划》·Zbl 1260.68227号
[4] Bulwahn,L.、Krauss,A.、Haftmann,F.、Erkök,L.和Matthews,J.:使用Isabelle/HOL的强制函数编程。收录:Mohamed,O.A.,Muñoz,C.A.,Tahar,S.(编辑)TPHOL,LNCS第5170卷,第134-149页(2008)·Zbl 1165.68352号
[5] Guéneau,A.,Myreen,M.O.,Kumar,R.,Norrish,M.L.:CakeML的验证特征公式。收录人:Yang,H.(编辑)ESOP,LNCS第10201卷,第584-610页(2017年)·Zbl 1485.68030号
[6] Ho,S.,Abrahamsson,O.,Kumar,R.,Myreen,M.O.,Tan,Y.K.,Norrish,M.:通过一元HOL函数实现CakeML与I/O和局部状态的证明合成。收录人:Galmiche,D.,Schulz,S.,Sebastiani,R.(编辑)《国际期刊评论》,第646-662页(2018年)·Zbl 1468.68060号
[7] Hupel,L.,Nipkow,T.:从Isabelle/HOL到CakeML的经过验证的编译器。摘自:Ahmed,A.(编辑)欧洲编程研讨会(ESOP)。柏林施普林格(2018)·兹比尔1418.68045
[8] Hurd,J.:开放理论标准理论库。收录人:Bobaru,M.G.,Havelund,K.,Holzmann,G.J.,Joshi,R.(编辑)NFM,LNCS第6617卷,第177-191页(2011)
[9] 库马尔,R。;Arthan,R。;密苏里州米林;Owens,S.,《高阶逻辑语义的自形式化、可靠性和验证实现》,J.Autom。原因。,56, 3, 221-259 (2016) ·Zbl 1356.68194号 ·数字对象标识代码:10.1007/s10817-015-9357-x
[10] Kumar,R.、Myreen,M.O.、Norrish,M.、Owens,S.:CakeML:ML的验证实施。收录:Suresh,J.、Sewell,P.(编辑)POPL,第179-192页(2014年)·Zbl 1284.68405号
[11] Lammich,P.:精炼为强制性/HOL。In:ITP,LNCS第9236卷(2015)·Zbl 1465.68290号
[12] Launchbury,J.,Peyton Jones,S.L.:懒惰的功能状态线程。收录人:Sarkar,V.,Ryder,B.G.,Soffa,M.L.(编辑)PLDI,第24-35页(1994年)
[13] Mullen,E.,Pernsteiner,S.,Wilcox,J.R.,Tatlock,Z.,Grossman,D.:Œuf:最小化辅酶提取TCB。致:CPP(2018)
[14] 密苏里州米林;Owens,S.,《高阶逻辑到纯有状态ML的证明翻译》,J.Funct。程序。,24, 2-3, 284-315 (2014) ·Zbl 1297.68053号 ·doi:10.1017/S0956796813000282
[15] Owens,S.、Myreen,M.O.、Kumar,R.、Tan,Y.K.:功能性大步语义。收录:Thiemann,P.(编辑)ESOP,LNCS第9632卷,第589-615页(2016年)
[16] Reynolds,J.C.:分离逻辑:共享可变数据结构的逻辑。收录于:LICS,第55-74页(2002年)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。