Add lemmas to go from finite floating-point results to finite inputs.
When proving a program that does not allow for exceptional behaviors, the context is littered with finiteness facts (due to operator preconditions), so these lemmas help some provers by reducing the amount of instantiations needed to produce the problem on real numbers. This patch also adds an axiom so that is_finite, is_infinite, and is_nan are actually disjoint. It also modifies the axiom about sqrt so that its precondition is expressed on real numbers directly.
Please register or sign in to comment