 13 Aug, 2019 1 commit


Sylvain Dailler authored
This adds an optional dependency on MPFR to run why3execute for floats. It is also used for reals (represented as intervals of floats). This commit does the following changes:  update the configure/Makefile to allow MPFR dependency  adds a MPFR wrapper so that why3execute can still be compiled if MPFR is not installed. In this case, an exception is raised when executing on real/float.  some updates are made to the standard library so that real/float functions are part of the program world (and can be executed).  pinterp changes to make elementary functions from real and float executable.  add some tests under bench/interp for manual testing of this feature Note that the correctness of the results given for reals depends on the precision. A too low precision may give unexpected results.

 20 Jun, 2019 1 commit


Sylvain Dailler authored

 18 Sep, 2018 1 commit


MARCHE Claude authored

 23 Jun, 2018 1 commit


Guillaume Melquiond authored

 15 Jun, 2018 2 commits


Andrei Paskevich authored

Andrei Paskevich authored
For the previous behaviour (no import), write "use/clone T as T". This shortens the most used "use/clone import" to simply "use/clone".

 14 Jun, 2018 1 commit


Andrei Paskevich authored
Clone "with axiom ." or "with goal ." to change the default ("with lemma ." is also accepted, just in case).

 12 Jan, 2018 1 commit


Guillaume Melquiond authored
The feature is not yet fully implemented (e.g. escape characters).

 22 Dec, 2017 1 commit


Andrei Paskevich authored

 15 Dec, 2017 2 commits


Guillaume Melquiond authored

Guillaume Melquiond authored

 24 Apr, 2017 1 commit


MARCHE Claude authored

 23 Apr, 2017 1 commit


MARCHE Claude authored

 11 Apr, 2017 1 commit


MARCHE Claude authored

 30 Mar, 2017 1 commit


MARCHE Claude authored

 08 Mar, 2017 1 commit


MARCHE Claude authored

 07 Mar, 2017 1 commit


Clément Fumex authored
+ add 'minInt and 'maxInt attributes for range types + add 'eb and 'sb attributes for float types + make ieee_float realization compatible with Coq 8.4

 28 Feb, 2017 1 commit


Guillaume Melquiond authored

 27 Feb, 2017 1 commit


Clément Fumex authored
+ add axioms linking eb, sb, emax and pow2sb and clone them as goal in Float(32/64) + modify section dealing with integers + update realisation

 25 Jan, 2017 1 commit


Clément Fumex authored
+ add predicate "exact_int" + add three axioms on of_int +//* + add some other axioms + guard the theory realization with a dependency to flocq in make file

 05 Jan, 2017 1 commit


Clément Fumex authored
+ simplify some others + add a realization of real.Truncate + add a, almost complete, realization (missing fma related axioms + some nonaxiomatized definitions)

 07 Dec, 2016 3 commits


Guillaume Melquiond authored

Guillaume Melquiond authored

Guillaume Melquiond authored
The _rev lemmas cannot mention anything about the to_real values. Indeed, with a directed rounding, in case of overflow, the result might still be finite, yet be unrelated to the infinitelyprecise value. Note that the lemmas were true for rounding to nearest though (since the result is necessarily infinite in case of overflow then), so it might be worth adding back some specialized versions for rounding to nearest. Note also that lemmas for neg, abs, and sqrt, do not need fixing, since these operations cannot overflow. This commit also fixes some issues about to_int_monotonic_int. Indeed, large integers are not always representable, so we get to_int RNU x = x > i for x = of_int RNU i.

 29 Nov, 2016 1 commit


Clément Fumex authored

 25 Nov, 2016 1 commit


Guillaume Melquiond authored
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.

 14 Oct, 2016 1 commit


Guillaume Melquiond authored

 05 Oct, 2016 1 commit


Clément Fumex authored
 some cleanup  add the axiom "abs_universal"

 04 Oct, 2016 1 commit


Guillaume Melquiond authored

 03 Oct, 2016 1 commit


Guillaume Melquiond authored
AltErgo was actually able to derive an inconsistency from these axioms, which is kind of incredible.

 29 Sep, 2016 1 commit


Clément Fumex authored

 23 Sep, 2016 2 commits


Clément Fumex authored

Guillaume Melquiond authored

 22 Sep, 2016 2 commits


Guillaume Melquiond authored
 to_real x = 0 does not imply is_zero x, unless x is finite.  Add missing triggers.  Move any property related to signed zeros from "_finite" to "_special".  Fix incorrect signed zeros for addition, subtraction, and FMA.  Remove inconsistent signs of NaN for negation, multiplication, and division.  Add specification for special values of abs.  Fix useless specification for sqrt(+oo).

Clément Fumex authored
