1. 25 Jan, 2017 1 commit
    • Clément Fumex's avatar
      + remove unused constant half · 5a44ec01
      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
      5a44ec01
  2. 05 Jan, 2017 4 commits
  3. 07 Dec, 2016 3 commits
    • Guillaume Melquiond's avatar
    • Guillaume Melquiond's avatar
      4904245a
    • Guillaume Melquiond's avatar
      Fix various inconsistencies in ieee_float. · b406eb6b
      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 infinitely-precise 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.
      b406eb6b
  4. 29 Nov, 2016 1 commit
  5. 25 Nov, 2016 1 commit
    • Guillaume Melquiond's avatar
      Add lemmas to go from finite floating-point results to finite inputs. · 9ab5761b
      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.
      9ab5761b
  6. 14 Oct, 2016 4 commits
  7. 11 Oct, 2016 3 commits
  8. 09 Oct, 2016 1 commit
  9. 07 Oct, 2016 2 commits
  10. 06 Oct, 2016 5 commits
  11. 05 Oct, 2016 1 commit
  12. 04 Oct, 2016 2 commits
  13. 03 Oct, 2016 1 commit
  14. 29 Sep, 2016 1 commit
  15. 23 Sep, 2016 2 commits
  16. 22 Sep, 2016 3 commits
  17. 21 Sep, 2016 1 commit
  18. 19 Sep, 2016 1 commit
    • Sylvain Dailler's avatar
      Keeping keep_on_simp labels during wp generation. · 64b1fda4
      Sylvain Dailler authored
      We changed t_map_simp, track_values and the eval_match transformation
      in order to prevent them from removing terms whose head has label
       keep_on_simp. Note that simplification inside those terms is
      still possible.
      
      * src/core/term.ml
      (t_map_simp): Adding the case when f has label keep_on_simp.
      
      * src/transform/eval_match.ml
      (eval_match): Adding keep_on_simp as a stop label.
      
      * src/whyml/mlw_wp.ml
      (track_values): Stopping on keep_on_simp label.
      64b1fda4
  19. 16 Sep, 2016 1 commit
  20. 15 Sep, 2016 2 commits