1. 10 Jul, 2015 2 commits
  2. 08 Jul, 2015 1 commit
    • Jean-Christophe Filliatre's avatar
      63-bit integers · e6d53f4a
      Jean-Christophe Filliatre authored
      new module mach.int.Refint63
      new module mach.int.MinMax63
      new module mach.matrix.Matrix63
      mach.array.Array63: type array renamed into array63
      e6d53f4a
  3. 20 Apr, 2015 1 commit
  4. 12 Apr, 2015 1 commit
  5. 11 Apr, 2015 2 commits
    • Andrei Paskevich's avatar
      examples/vstte10_queens: strong updates · 340ffc11
      Andrei Paskevich authored
      1. Strong region updates can only work with direct assignments, e.g.
           r.contents <- something_completely_different
         but not with functions such as (:=) : ref 'a -> 'a -> unit
         Why3 requires 'a to be instantiated with one concrete type,
         not with a bunch of types that differ in their regions.
      
      2. Strong region updates will restrict the updated regions to their
         covers. However, in the current implementation, Why3 does not know
         if the region corresponding to the field "contents" is the only
         cover for 'a in the type [ref 'a] or if there is a way to retrieve
         'a from [ref 'a] without going through "contents". Therefore, to
         ensure soundness, a strong update of r.contents will forbid to
         use r itself. A solution consists in writing an adhoc "reference"
         type, where the mutable contents (O.t in this case) is explicitly
         given in the type definition. Then the strong update of the field
         containing O.t will preserve the covering "reference".
      
         This problem is fixed in the "new system", where mutable types
         carry information about the access paths of the type variables.
         There, "r.contents <- something_different" preserves r.
      340ffc11
    • Jean-Christophe Filliatre's avatar
  6. 15 Jan, 2014 1 commit
  7. 30 Jan, 2013 2 commits
    • Andrei Paskevich's avatar
      d2cc224b
    • Andrei Paskevich's avatar
      reorganize examples/ · 4b1bc2b0
      Andrei Paskevich authored
      - all programs with sessions are in examples/
      - all programs without sessions are in examples/in_progress/
        (if you have private sessions for those, just move them there)
      - all pure logical problems are in logic/
        (to simplify bench scripts and gallery building; they are few anyway)
      - all OCaml programs are in examples/use_api/
      - all strange stuff is in examples/misc/
        (most of it should probably go)
      - Claude's solutions for Foveoos 2011 are in examples/foveoos11-cm/
        (why do we need two sets of solutions for quite simple problems?)
      - hoare_logic, bitvectors, vacid_0_binary_heaps are in examples/
      
      Bench scripts and documentation are updated.
      Also, bench/bench is simplified a little bit.
      4b1bc2b0
  8. 14 Jan, 2013 1 commit
  9. 12 Oct, 2012 1 commit
  10. 05 Jul, 2011 2 commits
  11. 29 Jun, 2011 1 commit
    • Andrei Paskevich's avatar
      several changes in syntax · aa2c430e
      Andrei Paskevich authored
      - No more "and", "or", "implies", "iff", and "~".
        Use "/\", "\/", "->", "<->", and "not" instead.
      
      - No more "logic". Use "function" or "predicate".
      aa2c430e
  12. 24 Jun, 2011 1 commit
  13. 22 Jun, 2011 2 commits
  14. 30 May, 2011 1 commit
  15. 17 May, 2011 3 commits
  16. 16 May, 2011 1 commit
  17. 19 Mar, 2011 1 commit
  18. 18 Mar, 2011 3 commits
  19. 30 Dec, 2010 1 commit
  20. 29 Dec, 2010 1 commit
  21. 11 Nov, 2010 2 commits
  22. 10 Nov, 2010 2 commits