×

波动方程数值解:C程序的综合机械化证明。 (英语) Zbl 1267.68208号

摘要:我们正式证明了一个C程序的正确性,该程序实现了一维声波方程求解的数值格式。这种实现在几个层面上引入了错误:数值方案引入了方法错误,浮点计算导致舍入错误。我们对这个C程序进行注释,以指定方法错误和舍入错误。我们使用Frama-C生成保证代码可靠性的定理。我们使用SMT解算器、Gappa和Coq实现这些定理。这需要进行大量的Coq开发,以证明C程序对数值格式的充分性并限制误差。据我们所知,这是第一次对这样的数值分析程序进行全面的机器检查。

MSC公司:

68吨15 定理证明(演绎、解析等)(MSC2010)
35升05 波动方程
65平方米 含偏微分方程初值和初边值问题离散方程的数值解
65克50 舍入误差
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Achenbach,J.D.:弹性固体中的波传播。北荷兰,阿姆斯特丹(1973年)·Zbl 0268.73005号
[2] Andrews,G.E.,Askey,R.,Roy,R.:特殊功能。剑桥大学出版社,剑桥(1999)·Zbl 0920.33001号
[3] Askey,R.,Gasper,G.:幂级数具有正系数的某些有理函数。美国数学。周一。79, 327-341 (1972) ·Zbl 0242.33023号 ·doi:10.2307/2978081
[4] Avigad,J.,Donnelly,K.:线性“大O”方程的决策程序。J.自动化。原因。38(4), 353-373 (2007) ·Zbl 1122.03004号 ·doi:10.1007/s10817-007-9066-1
[5] Barrett,C.,Tinelli,C.:CVC3。摘自:第19届计算机辅助验证国际会议(CAV’07),LNCS,第4590卷,第298-302页。柏林施普林格出版社(2007)·Zbl 1119.68005号
[6] Baudin,P.、Cuoq,P.,Filliátre,J.C.、Marché,C.、Monate,B.、Moy,Y.、Prevosto,V.:ACSL:ANSI/ISO C规范语言,版本1.5(2009)。网址http://frama-c.cea.fr/acsl.html ·Zbl 1230.76049号
[7] Bécache,E.:《道德规范》(Etude de schémas numériques pour la résolution de l’équation des ondes)。Master Modélisation et simulation,Cours ENSTA(2009)。网址网址:http://www-rocq.inria.fr/贝卡奇/COURS-ONDES/Poly-num-0209.pdf·Zbl 0242.33023号
[8] Bertot,Y.,Casteéran,P.:交互式定理证明和程序开发。Coq'Art:归纳结构的微积分。收录:理论计算机科学课文。斯普林格(2004)·Zbl 1069.68095号
[9] Bertot,Y。;Gonthier,G。;Ould Biha,S。;Pasca,I.,Canonical大型运营商,86-101(2008),蒙特利尔·兹比尔1165.68450 ·doi:10.1007/978-3-540-71067-7_11
[10] Bobot,F.、Conchon,S.、Contejean,E.、Iguernelala,M.、Lescuyer,S.和Mebsout,A.:Alt-Ergo自动定理证明器(2008)。网址网址:http://alt-ergo.lri.fr/
[11] 博尔多(Boldo),S.:前葡萄球菌(Preuves formelles en arithmétiquesávirgule flottante)。里昂高等师范学院博士论文(2004)
[12] Boldo,S.,Floats&Ropes:正式数值程序验证的案例研究,91-102(2009),Rhodos·Zbl 1248.65045号
[13] 博尔多,S。;Filliátre,JC,浮点程序的形式验证,187-194(2007),法国·doi:10.1109/ARITH.2007.20
[14] Boldo,S.,Nguyen,T.M.T.:编译器优化时数值程序的证明。创新系统。柔和。工程7(2),151-160(2011)·doi:10.1007/s11334-011-0151-6
[15] 博尔多,S。;费利特,JC;Melquiond,G。;Carette,J.(编辑);Dixon,L.(编辑);科恩,CS(编辑);Watt,SM(编辑),结合Coq和Gappa验证浮点程序,59-74(2009),加拿大安大略省·Zbl 1247.68232号
[16] 博尔多,S。;Clément,F。;费利特,JC;梅耶罗,M。;Melquiond,G。;韦斯,P。;考夫曼,M.(编辑);Paulson,LC(编辑),波动方程解析方案的形式证明:方法误差,147-162(2010),爱丁堡·Zbl 1291.68329号 ·doi:10.1007/978-3642-14052-5_12
[17] 博尔多,S。;Melquiond,G。;Antelo,E.(编辑);Hough,D.(编辑);Ienne,P.(编辑),Flocq:在Coq中证明浮点算法的统一库,243-252(2011),德国
[18] Brekhovskikh,L.M.,Goncharov,V.:连续介质力学和波动动力学。斯普林格(1994)·Zbl 0791.73001号
[19] Conchon,S.,Contejean,E.,Kanig,J.,Lescuyer,S.:CC(X):同余闭包与可解理论的语义组合。载:《第五届可满足性模块理论国际研讨会论文集》(SMT 2007),《计算机科学电子笔记》,第198-2卷,第51-69页。爱思唯尔(2008)·Zbl 1277.68240号
[20] Coquand,T.,Paulin Mohring,C.:归纳定义的类型。收录:Martin-Löf,P.,Mints,G.(编辑)Colog’88,LNCS,第417卷。斯普林格(1990)·兹比尔0722.03006
[21] Courant,R.,Friedrichs,K.,Lewy,H.:关于数学物理的偏微分方程。IBM J.Res.Develop公司。11(2), 215-234 (1967) ·Zbl 0145.40402号 ·doi:10.1147/rd.112.0215
[22] 库索,P.,库索,R.,费雷特,J.,毛博恩,L.,米内,A.,莫尼奥,D.,对手,X.:ASTRéE分析仪。收录于:ESOP,LNCS第3444号,第21-30页(2005)·Zbl 1108.68422号
[23] 克鲁兹·菲利佩,L。;Geuvers,H.(编辑);Wiedijk,F.(编辑),微积分基本定理的构造性形式化(2002),Berg-en-Dal
[24] Daumas,M.,Melquiond,G.:涉及四舍五入运算符的表达式边界的证明。事务处理。数学。柔和。37(1), 1-20 (2010) ·Zbl 1364.68328号 ·数字对象标识代码:10.1145/1644001.1644003
[25] Daumas,M.,Rideau,L.,Théry,L.:浮点数的通用库及其在精确计算中的应用。收录于:TPHOL,第169-184页(2001)·Zbl 1005.68544号
[26] Delmas,D.,Goubault,E.,Puto,S.,Souyris,J.,Tekkal,K.,Védrine,F.:在安全关键航空电子软件上实现FLUCTUAT的工业应用。收录于:FMICS,LNCS,第5825卷,第53-69页。施普林格(2009)
[27] de Dinechin,F.,Lauter,C.,Melquiond,G.:使用Gappa证明初等函数的浮点实现。IEEE传输。计算。60(2), 242-253 (2011) ·Zbl 1367.65250号 ·doi:10.1109/TC.2010.128
[28] de Moura,L.,Björner,N.:Z3,一个高效的SMT求解器。收录于:TACAS,《计算机科学讲义》,第4963卷,第337-340页。施普林格(2008)
[29] Dutertre,B。;Wright,J.(编辑);Grundy,J.(编辑);Harrison,J.(编辑),《PVS中的数学分析要素》,141-156(1996),图尔库·doi:10.1007/BFb0105402
[30] 费利特,JC;Marché,C.,演绎程序验证的Why/Krakatoa/Caduceus平台,173-177(2007),柏林
[31] Fleuriot,J.D.:关于Isabelle/HOL中真实分析的机械化。摘自:Aagaard,M.,Harrison,J.(编辑)第13届定理证明和高阶逻辑国际会议(TPHOLs'00),LNCS,第1869卷,第145-161页。斯普林格(2000)·兹伯利0974.68186
[32] Gamboa,R.,Kaufmann,M.:ACL2中的非标准分析。J.自动化。原因。27(4), 323-351 (2001) ·Zbl 0991.03018号 ·doi:10.1023/A:1011908113514
[33] Geuvers,H。;尼基,M。;Callaghan,P.(编辑);Luo,Z.(编辑);McKinna,J.(编辑);Pollack,R.(编辑),《Coq中的构造实域:公理和范畴》,79-95(2002),达勒姆·Zbl 1054.03039号
[34] Harrison,J.:用实数证明定理。斯普林格(1998)·Zbl 0932.68099号
[35] 哈里森:欧几里德空间的HOL理论。参见:Hurd,J.,Melham,T.F.(eds.)第18届定理证明和高阶逻辑国际会议(TPHOLs'05),LNCS,第3603卷,第114-129页。斯普林格(2005)·Zbl 1152.68520号
[36] John,F.:偏微分方程。施普林格(1986)·Zbl 1209.68108号
[37] Krebbers,R.,Spitters,B.:Coq中高效精确实数运算的类型类。arXiv:1106.3448v1(2011)。网址http://arXiv.org/abs/106.3448 ·Zbl 1260.68378号
[38] le Rond D’Alembert,J.:重新整理课程中的内容,形成新的核心内容。收录于:Historie de l'Académie Royale des Sciences et Belles Lettres(Anneée 1747),第3卷,第214-249页。柏林豪德和斯宾纳(1749年)
[39] Lee,G.,Werner,B.:具有预测归纳和判断平等的CC相关证明模型。计算机科学中的逻辑方法7(4)(2011)·Zbl 1237.03008号
[40] Lelay,C.,Melquiond,G.:Differentiabilitéet intégrabilityéen Coq。阿伦贝尔公式的应用。收录:《法语应用杂志》第23卷,第119-133页。法国卡纳克(2012)
[41] Letouzey,P。;Geuvers,H.(编辑);Wiedijk,F.(编辑),Coq的新提取(2003),Berg en Dal·Zbl 1023.68516号
[42] Marché,C.,Jessie:Java和C验证的中间语言,1-2(2007),弗赖堡
[43] Mayero,M.:报告分析的形式化和自动化。巴黎第六大学博士论文(2001年)
[44] 梅耶罗,M。;塔哈尔,S。;Carreño,V.(编辑);穆尼奥斯,C.(编辑),将定理证明用于数值分析(自动微分算法的正确性证明),246-262(2002),汉普顿·Zbl 1013.68203号 ·doi:10.1007/3-540-45685-6_17
[45] 微处理器标准委员会:浮点运算IEEE标准。IEEE标准754-2008,第1-58页(2008)。doi:10.1109/IEEESTD.2008.4610935
[46] 牛顿,I.:Axiomata,sive Leges Motus。收录于:《自然哲学与数学原理》,第1卷。伦敦(1687)·Zbl 0050.00201号
[47] O'Connor,R.:证明了Coq中的精确超越实数计算。参见:第21届国际高阶逻辑定理证明会议(TPHOLs'08),LNCS,第5170卷,第246-261页。施普林格(2008)·Zbl 1165.68466号
[48] O'Connor,R.,Spitters,B.:积分的计算机验证单数函数实现。西奥。公司。科学。411(37), 3386-3402 (2010) ·Zbl 1209.68108号 ·doi:10.1016/j.tcs.2010.05.031
[49] Rosinger,E.E.:舍入误差的传播以及稳定性在线性和非线性偏微分方程数值方法中的作用。申请。数学。模型。9(5), 331-336 (1985) ·Zbl 0622.65072号 ·doi:10.1016/0307-904X(85)90019-8
[50] Rosinger,E.E.:偏微分方程数值方法中的L-收敛悖论。申请。数学。模型。15(3), 158-163 (1991) ·Zbl 0725.65085号 ·doi:10.1016/0307-904X(91)90025-K
[51] Roy,C.J.,Oberkampf,W.L.:科学计算中验证、验证和不确定性量化的综合框架。计算。方法应用。机械。工程200(25-28),2131-2144(2011)·Zbl 1230.76049号 ·doi:10.1016/j.cma.2011.03.016
[52] Rudnicki,P.:MIZAR项目概述。参见:《证明和程序类型》,第311-332页(1992年)
[53] Szyszka,B.:求解一维波动方程的区间方法。参加:第七届EUROMECH固体力学大会(ESMC2009)。葡萄牙里斯本(2009)
[54] Coq参考手册。网址http://coq.inria.fr/refman/
[55] 用于C程序静态分析的Frama-C平台(2008年)。网址http://www.frama-c.cea.fr/
[56] Thomas,J.W.:数值偏微分方程:有限差分方法。摘自:《应用数学课文》,第22期。斯普林格(1995)·Zbl 0831.65087号
[57] Zach,R.:希尔伯特的“Verunglueckter Beweis”,第一个ε定理,以及一致性证明。网址http://front.math.ucdavis.edu/math.LO/0204255 ·Zbl 1069.03002号
[58] Zwillinger,D.:微分方程手册。学术出版社(1998)·Zbl 0912.34001号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。