Built-in Treatment of an Axiomatic Floating-Point Theory for SMT Solvers
The treatment of the axiomatic theory of floating-point numbers isout of reach of current SMT solvers, especially when it comes toautomatic reasoning on approximation errors. In this paper, wedescribe a dedicated procedure for such a theory, which provides aninterface akin to the instantiation mechanism of an SMT solver.This procedure is based on the approach of the Gappa tool: itperforms saturation of consequences of the axioms, in order torefine bounds on expressions. In addition to the original approach,bounds are further refined by a constraint solver for lineararithmetic. Combined with the natural support for equalitiesprovided by SMT solvers, our approach improves the treatment ofgoals coming from deductive verification of numeric programs. Wehave implemented it in the Alt-Ergo SMT solver.