×

四个区间算术运算符的计算机辅助验证。 (英语) Zbl 1434.65063号

摘要:区间算术库为浮点数限定的操作数区间提供了四个基本算术运算符。实际实现需要进行大型案例分析,例如考虑所有参数边界对之间的量级关系、参数和零之间的位置关系以及特殊值\(\pm\infty)和NaN的处理。它们的正确性并不明显,因为它们是用人手实现的,这对可靠性至关重要。这项工作提供了一个机械验证的区间算术库。为此,我们使用Why3平台,该平台配备了用于注释程序和后端定理证明程序的规范语言。我们对目标代码的三个属性中的每一个进行了几个证明任务:有效性、稳健性和紧密性;还验证了除法代码的零除法异常处理。为了完成证明,我们提出了几种规范/验证技术。首先,我们指定额外的引理来支持后端SMT解算器所做的推论,从而能够在包含非线性项的浮点算法中免除证明义务。其次,我们检查了紧密性的注释,这需要假设计算可能导致NaN;为此,我们提出了特定的极值算子。在实验中,将这些技术与Alt-Ergo SMT求解器和Coq证明助手结合使用,证明了整个代码。

MSC公司:

65G30型 区间和有限算术
60年第68季度 规范和验证(程序逻辑、模型检查等)
68伏15 定理证明(自动和交互式定理证明、演绎、解析等)
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Moore,R.E.,《区间分析》(1966年),Prentice-Hall·Zbl 0176.13301号
[2] Neumaier,A.,《方程组的区间方法》(1990),剑桥大学出版社·Zbl 2009年6月7日
[3] Kashiwagi,M.,kv区间算术库(版本0.4.43)(2017),URLhttp://verifiedby.me/kv/index-e.html
[4] Bobot,F。;费利特,J.-C。;马奇,C。;Melquiond,G。;Paskevich,A.,why3平台(1.1.0版)(2017),URL网址:http://why3.lri.fr/
[5] F.Bobot,J.-C.Filliátre,C.Marché,A.Paskevich,Why3:牧羊人,收录于:中级验证语言国际研讨会,BOOGIE,2011年,第53-64页。
[6] 博尔多,S。;Clément,F。;费利特,J.-C。;梅耶罗,M。;Melquiond,G。;Weis,P.,波动方程数值解:c程序的综合机械化证明,J.Automat。原因。,50, 4, 423-456 (2013) ·Zbl 1267.68208号
[7] Bobot,F。;康雄,S。;孔特让,E。;伊格尔内拉拉,M。;Lescuyer,S。;Mebsout,A.,Alt-Ergo定理证明器(版本2.2.0)(2017),URLhttps://alt-ergo.ocamlpro.com/
[8] IEEE,F.,1788-2015:IEEE区间算术标准(2015)
[9] IEEE,F.,754-2008:IEEE浮点运算标准(2008)
[10] 大脑,M。;Tinelli,C。;Ruemmer,P。;Wahl,T.,IEEE-754浮点算法的自动形式语义,IEEE第22届计算机算术研讨会,ARITH,160-167(2015)
[11] Pryce,J.D。;Corliss,G.F.,包含集的区间算术,计算,78,3,251-276(2006)·Zbl 1108.65043号
[12] 臀部,S.M。;大吉田,T。;森村,Y。;Oishi,S.,固定舍入模式的区间算法,非线性理论应用。,7362-373(2016),网址https://www.jstage.jst.go.jp/article/nota/7/3/7_362/_article
[13] F.Goualard,《区间算术的快速和正确SIMD算法》,载于:第九届科学与并行计算最新技术国际研讨会,PARA,2008年,第6126-6127页。
[14] Ayad,A。;Marché,C.,浮点程序的多元验证,(国际自动推理联合会议,IJCAR。国际自动推理联席会议,IJAR,LNAI,第6173卷(2010)),127-141·Zbl 1291.68321号
[15] Daramy-Loirat,C。;迪福,D。;De Dinechin,F。;加勒特,M。;加斯特,N。;Quirin Lauter,C。;Muller,J.-M.,CRlibm-双精度正确舍入初等函数库(版本1.0beta4)(2016)
[16] Daumas,M。;Melquiond,G.,涉及四舍五入运算符的表达式边界的证明,ACM Trans。数学。软件,37,1,1-20(2010),URLhttp://gappa.gforg.inria.fr/ ·Zbl 1364.68328号
[17] 博尔多,S。;Marché,C.,数值程序的形式验证:从C注释程序到机械证明,数学。计算。科学。,5, 4, 377-393 (2011) ·Zbl 1264.68054号
[18] Roux,P.,舍入误差界的形式证明,J.Automat。原因。,57, 2, 135-156 (2016) ·Zbl 1409.68263号
[19] 博尔多,S。;Melquiond,G.,Flocq:Coq中证明浮点算法的统一库,IEEE第20届计算机算术研讨会,ARITH,243-252(2011),URLhttp://flocq.gforge.inia.fr/
[20] 康雄,S。;伊瓜恩拉拉,M。;Ji,K。;Melquiond,G。;Fumex,A.,《SMT中关于浮点数推理的三层策略》,(计算机辅助验证国际会议,CAV.国际计算机辅助验证会议,CAV,LNCS,第10427卷(2017)),419-435·Zbl 1494.68282号
[21] Kashiwagi,M.,Tanten ni mugendai wo motsu kukan enzan matome《无限边界区间算术概述》(2015),URLhttp://verifiedby.me/kv/interval/table3.pdf(日语)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。