1. 12 Jun, 2017 5 commits
  2. 24 May, 2017 1 commit
    • MARCHE Claude's avatar
      allow relative pathnames for drivers stored in the Why3 config file · eb751c1b
      MARCHE Claude authored
      If drivers in why3.conf are simple names like "alt_ergo", then the driver file
      is search as <datadir>/drivers/alt_ergo.drv
      
      This behavior is now the same as when a driver is given with option -D on the
      command line for why3prove, why3replay or why3extract
      
      Reminder: the datadir is either given as
      1) the environment variable WHY3DATA
      2) the field "datadir" of the [main] section of the
         why3 config file if exists
      3) or by default the compile-time datadir
      eb751c1b
  3. 12 Apr, 2017 2 commits
  4. 05 Apr, 2017 1 commit
  5. 28 Feb, 2017 1 commit
    • Clément Fumex's avatar
      Add the ability to · f0547868
      Clément Fumex authored
      * declare range types and float types,
      * use integer (resp. real) literals for those types through casting,
      * specify how to print them in drivers.
      
      Change in syntax
      * use
      
        type t = < range 1 2 >   (* integers from 1 to 2 *)
        type t' = < float 4 12 > (* float with 4 bits in exponent and 12 in mantissa *)
      
        the two projections :
        t'int
        t''real
      
        and the predicate :
        t''isFinite
      
      * Restrict the use of "'" in whyml:
        Users are not allowed to introduce names where a quote symbol
        is followed by a letter. Thus, the following identifiers are
        valid:
      
        t'
        toto'0''
        toto'_phi
      
        whereas toto'phi is not.
      
      Note: we do not yet support negative numbers in range declaration
      and casting of a literal.
      f0547868
  6. 26 Jul, 2016 2 commits
  7. 19 Jul, 2016 1 commit
    • Johannes Kanig's avatar
      Allow to keep unmatched theories · 4c744eba
      Johannes Kanig authored
      When Why3 is run on a file where some theories have been suppressed, it
      will delete the corresponding theories from the session file.  We now
      add an option keep_unmatched_theories to Session.update_session, which
      keeps all theories. In this commit, this option is always disabled.
      
      This is useful for SPARK, which sometimes only generates part of the
      Why3 file for efficiency reasons, but doesn't want the session file to
      be damaged because of that.
      
      * session.ml
      (import_theory)
      (import_goal)
      (import_proof_attempt)
      (import_transf): new functions to copy a session tree from an old
        session file
      (merge_file): keep old theories when keep_unmatched_theories is true
      * session_scheduler.ml
      (update_session): pass keep_unmatched_theories
      * why3session_lib.ml
      (read_update_session): pass keep_unmatched_theories
      4c744eba
  8. 10 Jun, 2016 1 commit
  9. 14 Apr, 2016 2 commits
  10. 15 Mar, 2016 2 commits
  11. 14 Mar, 2016 2 commits
  12. 08 Mar, 2016 1 commit
  13. 18 Jan, 2016 1 commit
  14. 10 Dec, 2015 1 commit
  15. 17 Nov, 2015 1 commit
    • David Hauzar's avatar
      Query cvc4 for reason of answer unknown and use it for counterexamples. · 5c3038bf
      David Hauzar authored
      When resource limit is hit, cvc4 outputs useless counterexample. Query
      cvc4 for the reason of answer unknown and use the answer to decide
      whether resource limit was hit. If it was hit, do not display the
      counterexample.
      
      * src/driver/call_provers.{ml|mli}
      (parse_prover_run): If the prover answers unknown, get the information
      about the reason of this answer.
      
      * src/printer/smtv2.ml
      (print_prop_decl): Query solver for the reason of answer unknown.
      
      * src/driver/driver.ml
      (load_driver): Initialize Unknown with no information about the reason
      of answer unknown.
      
      * src/session/session.ml
      (load_result): Initialize Unknown with no information about the reason
      of answer unknown.
      
      * src/session/session_scheduler.ml
      (schedule_proof_attempt)
      (edit_proof): Initialize Unknown with no information about the reason
      of answer unknown.
      
      * src/why3session/why3session_lib.ml
      (filter_spec): Initialize Unknown with no information about the reason
      of answer unknown.
      5c3038bf
  16. 09 Sep, 2015 1 commit
  17. 22 Jul, 2015 1 commit
  18. 12 Jun, 2015 1 commit
  19. 10 Jun, 2015 1 commit
  20. 09 Jun, 2015 1 commit
  21. 04 Jun, 2015 1 commit
  22. 03 Jun, 2015 1 commit
  23. 26 May, 2015 1 commit
  24. 23 May, 2015 1 commit
  25. 23 Apr, 2015 1 commit
  26. 22 Apr, 2015 1 commit
  27. 23 Mar, 2015 1 commit
  28. 21 Mar, 2015 1 commit
  29. 20 Mar, 2015 1 commit
  30. 19 Mar, 2015 1 commit
  31. 04 Mar, 2015 1 commit