1. 09 Sep, 2016 1 commit
    • Sylvain Dailler's avatar
      Why3 counterex - Changing parsing of prover return statement for altergo. · 82188ee6
      Sylvain Dailler authored
      Adding "I don't know" as a correct keyword for provers return (inside
      counterexamples).
      Updating scripts because of move from hoare_logic to WP_revisited.
      
      * src/driver/parse_smtv2_model.ml
      (parse): Adding I dont know as a keyword.
      
      * bench/bench
      Changing to WP_revisited.
      
      * examples/bench.sh
      Changing to WP_revisited.
      
      * examples/regtests.sh
      Changing to WP_revisited.
      82188ee6
  2. 22 Feb, 2016 1 commit
  3. 05 Feb, 2016 1 commit
    • Andrei Paskevich's avatar
      Mlw_expr: fix potentially unsound pattern matching in programs · 2d1a5883
      Andrei Paskevich authored
      split the ppat_ghost field in program patterns into two distinct
      conditions:
      - ppat_ghost, indicating that the pattern starts as ghost,
        meaning that all variables in it are ghost, too;
      - ppat_fail, meaning that the pattern contains a refutable
        ghost subpattern, which makes the match in the extracted code
        impossible, which makes the whole match expression ghost.
      
      Until now, the two conditions were disjunctively combined, making
      admissible the invalid pattern matching in bench/p/b-d/ghost4.mlw.
      2d1a5883
  4. 10 Jan, 2016 1 commit
    • Andrei Paskevich's avatar
      Mlw_expr: fix potentially unsound pattern matching in programs · eda92a0b
      Andrei Paskevich authored
      split the ppat_ghost field in program patterns into two distinct
      conditions:
      - ppat_ghost, indicating that the pattern starts as ghost,
        meaning that all variables in it are ghost, too;
      - ppat_fail, meaning that the pattern contains a refutable
        ghost subpattern, which makes the match in the extracted code
        impossible, which makes the whole match expression ghost.
      
      Until now, the two conditions were disjunctively combined, making
      admissible the invalid pattern matching in bench/p/b-d/ghost4.mlw.
      eda92a0b
  5. 03 Jul, 2015 1 commit
  6. 17 Feb, 2015 1 commit
  7. 12 Feb, 2015 1 commit
  8. 22 Sep, 2014 1 commit
  9. 11 Sep, 2014 1 commit
  10. 10 Sep, 2014 1 commit
  11. 31 Aug, 2014 2 commits
  12. 21 Aug, 2014 1 commit
  13. 02 Jun, 2014 1 commit
  14. 28 May, 2014 1 commit
  15. 11 Mar, 2014 1 commit
  16. 09 Mar, 2014 1 commit
  17. 04 Mar, 2014 2 commits
  18. 27 Feb, 2014 1 commit
  19. 25 Feb, 2014 1 commit
  20. 21 Feb, 2014 2 commits
  21. 16 Feb, 2014 1 commit
  22. 15 Feb, 2014 2 commits
  23. 14 Feb, 2014 1 commit
  24. 03 Feb, 2014 4 commits
  25. 28 Jan, 2014 1 commit
  26. 21 Jan, 2014 1 commit
  27. 20 Jan, 2014 1 commit
    • Andrei Paskevich's avatar
      WhyML: add "diverges", "reads {}", and "writes {}" effect clauses · 83858597
      Andrei Paskevich authored
      - "diverges" states that the computation may not terminate (which
        does not mean that is always diverges: just as any other effect
        annotation, this clause states a possibility of a side effect).
      
      - "reads {}" states that the computation does not access any variable
        except those that are listed elsewhere in the specification (or the
        proper function arguments, if "reads" is in a function spec).
      
      - "writes {}" states that the computation does not modify any mutable
        value.
      
      - If a function definition or an abstract computation may diverge,
        but there is no "diverges" clause in the specification, a warning
        is produced. If a function definition or an abstract computation
        always terminates, but there is a "diverges" clause in the spec,
        an error is produced.
      
      - If there is a "reads" or a "writes" clause in a function definition
        or an abstract computation, then every modified value must be listed
        in "writes" and every accessed external variable not mentioned in
        the spec must be listed in "reads". (Notice that this is a stricter
        requirement than before, when the presence of a "writes" clause
        did not require to specify "reads".) However, one does not have to
        write "reads {}" or "writes {}" if the corresponding lists are empty.
      83858597
  28. 19 Jan, 2014 1 commit
  29. 16 Jan, 2014 2 commits
  30. 15 Jan, 2014 2 commits
  31. 14 Jan, 2014 1 commit