A Reflexive Tactic for Polynomial Positivity using Numerical Solvers and Floating-Point Computations

被引:8
|
作者
Martin-Dorel, Erik [1 ]
Roux, Pierre [2 ]
机构
[1] Univ Paul Sabatier, IRIT, 118 Route Narbonne, F-31062 Toulouse 9, France
[2] Off Natl Etud & Rech Aerosp, 2 Ave Edouard Belin, F-31055 Toulouse 4, France
关键词
Coq formal proof; reflexive tactic; multivariate polynomials; witness verification; SDP solvers; floating-point; data refinement; Cholesky decomposition; BOUNDS;
D O I
10.1145/3018610.3018622
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Polynomial positivity over the real field is known to be decidable but even the best algorithms remain costly. An incomplete but often efficient alternative consists in looking for positivity witnesses as sum of squares decompositions. Such decompositions can in practice be obtained through convex optimization. Unfortunately, these methods only yield approximate solutions. Hence the need for formal verification of such witnesses. State of the art methods rely on heuristic roundings to exact solutions in the rational field. These solutions are then easy to verify in a proof assistant. However, this verification often turns out to be very costly, as rational coefficients may blow up during computations. Nevertheless, overapproximations with floating-point arithmetic can be enough to obtain proofs at a much lower cost. Such overapproximations being non trivial, it is mandatory to formally prove that rounding errors are correctly taken into account. We develop a reflexive tactic for the Coq proof assistant allowing one to automatically discharge polynomial positivity proofs. The tactic relies on heavy computation involving multivariate polynomials, matrices and floatingpoint arithmetic. Benchmarks indicate that we are able to formally address positivity problems that would otherwise be untractable with other state of the art methods.
引用
收藏
页码:90 / 99
页数:10
相关论文
共 50 条
  • [1] Termination of Floating-Point Computations
    Alexander Serebrenik
    Danny De Schreye
    Journal of Automated Reasoning, 2005, 34 : 141 - 177
  • [2] Termination of floating-point computations
    Serebrenik, A
    De Schreye, D
    JOURNAL OF AUTOMATED REASONING, 2005, 34 (02) : 141 - 177
  • [3] Verified Compilation of Floating-Point Computations
    Sylvie Boldo
    Jacques-Henri Jourdan
    Xavier Leroy
    Guillaume Melquiond
    Journal of Automated Reasoning, 2015, 54 : 135 - 163
  • [4] The pitfalls of verifying floating-point computations
    Monniaux, David
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2008, 30 (03):
  • [5] Verified Compilation of Floating-Point Computations
    Boldo, Sylvie
    Jourdan, Jacques-Henri
    Leroy, Xavier
    Melquiond, Guillaume
    JOURNAL OF AUTOMATED REASONING, 2015, 54 (02) : 135 - 163
  • [6] Faithfully Rounded Floating-point Computations
    Lange, Marko
    Rump, Siegfried M.
    ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2020, 46 (03):
  • [7] Symbolic execution of floating-point computations
    Botella, Bernard
    Gotlieb, Arnaud
    Michel, Claude
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2006, 16 (02): : 97 - 121
  • [8] Floating-point computations on reconfigurable computers
    Morris, Gerald R.
    PROCEEDINGS OF THE HPCMP USERS GROUP CONFERENCE 2007, 2007, : 339 - 344
  • [9] A Compiler for Sound Floating-Point Computations using Affine Arithmetic
    Rivera, Joao
    Franchetti, Franz
    Puschel, Markus
    CGO '22: PROCEEDINGS OF THE 2022 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO), 2022, : 66 - 78
  • [10] An Interval Compiler for Sound Floating-Point Computations
    Rivera, Joao
    Franchetti, Franz
    Puschel, Markus
    CGO '21: PROCEEDINGS OF THE 2021 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO), 2021, : 52 - 64