1. 22 May, 2012 1 commit
  2. 07 May, 2012 1 commit
  3. 09 Apr, 2012 1 commit
  4. 05 Apr, 2012 1 commit
  5. 18 Mar, 2012 2 commits
  6. 17 Mar, 2012 4 commits
  7. 15 Mar, 2012 1 commit
  8. 11 Mar, 2012 1 commit
  9. 10 Mar, 2012 2 commits
  10. 26 Feb, 2012 1 commit
  11. 25 Feb, 2012 1 commit
  12. 22 Feb, 2012 1 commit
    • Andrei Paskevich's avatar
      make api of maps/sets more consistent · 33bb423f
      Andrei Paskevich authored
      - change takes function as the first argument
      - add_new takes exception as the first argument
      - find_default is renamed to find_def and takes the default value
        as the first argument
      - find_option is renamed to find_opt (to align with find_exn and find_def)
      - default_option is renamed def_option
      33bb423f
  13. 14 Feb, 2012 1 commit
  14. 09 Feb, 2012 1 commit
  15. 08 Feb, 2012 4 commits
  16. 30 Nov, 2011 1 commit
  17. 20 Oct, 2011 1 commit
  18. 22 Sep, 2011 2 commits
    • Guillaume Melquiond's avatar
      Fix incorrect usage of t_fold. · cb5c96e7
      Guillaume Melquiond authored
      t_fold already iters on the subterms of a term, so calling t_fold on a
      subterm actually iters over grandchildren of the term, which may well be
      under a quantifier. So t_fold should be called on the term itself.
      
      This explains why the transformation was trying to create declarations with
      unbounded variables.
      cb5c96e7
    • Andrei Paskevich's avatar
      simplify our formulas early · 339a7732
      Andrei Paskevich authored
      339a7732
  19. 20 Sep, 2011 1 commit
  20. 15 Sep, 2011 1 commit
  21. 13 Sep, 2011 1 commit
  22. 02 Sep, 2011 3 commits
  23. 23 Aug, 2011 1 commit
    • Guillaume Melquiond's avatar
      Add a new transformation that instantiates the axioms marked with the · 4d7dd217
      Guillaume Melquiond authored
      meta "instantiate : auto" on as many terms as possible.
      
      The transformation is rather naive, since it doesn't look for term
      candidates under quantifiers, if-then-else, let-in, and so on. So it can
      only appear late in the transformation pipe.
      
      It is only enabled for Gappa and its target axioms are the ones that state
      that any floating-point value is bounded. It was the last transformation
      from Why2 still missing in Why3.
      
      Thanks to this transformation, Gappa is now able to prove all the safety
      obligations from the following code, including the ones about division and
      downcast, which is definitely frightening.
      
      /*@ assigns \nothing;
        @ ensures \result == \abs(x);
        @*/
      extern double fabs(double x);
      
      /*@ requires \valid(AB_Ptr) && \valid(CD_Ptr);
        @ assigns *AB_Ptr, *CD_Ptr;
        @ ensures \abs(*AB_Ptr) <= 6.111111e-2;
        @ ensures \abs(*CD_Ptr) <= 6.111111e-2;
        @ */
      void limitValue(float *AB_Ptr, float *CD_Ptr)
      {
         double Fabs_AB, Fabs_CD;
         double max;
      
         Fabs_AB = fabs (*AB_Ptr);
         Fabs_CD = fabs (*CD_Ptr);
      
         max = Fabs_AB;
         if (Fabs_CD > Fabs_AB)  max = Fabs_CD;
      
         if ( max > 6.111111e-2)
         {
            *AB_Ptr = (float) (((*AB_Ptr) * 6.111111e-2) / max);
            *CD_Ptr = (float) (((*CD_Ptr) * 6.111111e-2) / max);
         }
      }
      4d7dd217
  24. 26 Jul, 2011 1 commit
    • Jean-Christophe Filliâtre's avatar
      Coq output: recursive definitions · 59b180cb
      Jean-Christophe Filliâtre authored
      introduced new transformation eliminate_non_struct_recursion for that purpose
      uses Decl.check_termination tomake the check and the pretty-print
      (could probably be improved to avoid 3 calls to check_termination)
      59b180cb
  25. 13 Jul, 2011 1 commit
    • Guillaume Melquiond's avatar
      Add support for generic printing of integers and reals. · 1ba8f1a6
      Guillaume Melquiond authored
      Prover capabilities are now represented by a record enumerating each case and which syntax to use then.
      This fixes output of nondecimal integers to provers (bug #12981).
      
      TODO: check whether some provers support more than just decimal representations.
      1ba8f1a6
  26. 06 Jul, 2011 1 commit
  27. 01 Jul, 2011 3 commits