1. 03 Jan, 2017 1 commit
  2. 08 Dec, 2016 4 commits
  3. 07 Dec, 2016 3 commits
  4. 06 Dec, 2016 1 commit
  5. 05 Dec, 2016 1 commit
  6. 23 Nov, 2016 2 commits
  7. 16 Nov, 2016 2 commits
  8. 08 Nov, 2016 1 commit
  9. 24 Oct, 2016 1 commit
  10. 21 Oct, 2016 2 commits
    • Sylvain Dailler's avatar
      PA03-013 counterex: Projection function defined after being applied. · b00248b5
      Sylvain Dailler authored
      This patch solves a problem on the order of the generation of new
      declarations by intro_projections_counterexmp. The problem came from
      the combination of Trans.on_tagged_ls and Trans.decl. The former was used
      to know each projection function in advance and the latter would
      introduce new declarations directly at the definition of the decl being
      analysed sometimes using projections functions before they are defined.
      
      This patch makes intro_projections_counterexmp.ml adds declarations only
      at the end of the task. So we are sure that any meta is really defined
      before.
      
      * src/transform/intro_projections_counterexmp.ml
       (introduce_constant): Minor clarification.
       (projections_for_term): Replacing append with proper symbol. Also adding
        already computed list of declaration to the output.
       (introduce_projs): Removing already defined declarations from the set of
        declaration we will add.
       (build_projections_map): The order of elements is irrelevant so
        it is faster to use cons instead of append.
       (meta_transform2): Add declarations created by f at the end of the task.
       (encapsulate): Compose meta_transform2 and introduce_projs.
       (commented meta_transform2): Request for a fold able to do what is
        described.
      b00248b5
    • Sylvain Dailler's avatar
      P419-017 counterex- Missing one liner with multidim array · bc0b6ca9
      Sylvain Dailler authored
      The one liner is missing because we did not project value of array
      elements in intro_projections_counterexmp. I changed the whole algorithm
      of projections to allow projecting values of multidim array. Also,
      moved local functions outside the main function. Added some trivial
      helping functions.
      
      * intro_projections_counterexmp
       (detect_map_types): Takes a type and return the list of successive types
        in the map and the return type. On map int (map int int) returns
        ([int; int], int).
       (last_type): Takes a list of proj_functions and returns the return type
        of the last projections_function that will be applied.
       (recreate_types): Recreates the type of the map with projected return
        type.
       (create_index_list): Returns a list of new well typed symbol for
        application in the axiom.
       (recreate_term_applications): Apply array to indices.
       (list_projection_until_base_type): Returns the list of all possible
        list of proj_functions applied to it.
       (projections_for_term): Changed the map part almost completely. We do
        not call this function recursively but we used other functions to get
        the recursive behavior.
      bc0b6ca9
  11. 20 Oct, 2016 2 commits
  12. 19 Oct, 2016 1 commit
  13. 18 Oct, 2016 1 commit
    • Andrei Paskevich's avatar
      vim-pathogen compliance · 7908605b
      Andrei Paskevich authored
      To install the Why3-related Vim files, just create a symbolic link:
        ln -s "$(why3 --print-datadir)/vim" ~/.vim/bundle/why3
      
      Thanks to Johanness Kanig for the suggestion.
      7908605b
  14. 11 Oct, 2016 2 commits
    • Johannes Kanig's avatar
      minor replace magic constant by named constant · 636e2c1f
      Johannes Kanig authored
      Change-Id: I296e85a9aa76594b51bf045f61df65f2e20e3a35
      636e2c1f
    • Johannes Kanig's avatar
      P909-002 allow for large exit codes · 883af7f6
      Johannes Kanig authored
      Sometimes the windows syscall GetExitCodeProcess returns a large result,
      larger than the ocaml [int] type. This is expected and not an error. For
      example the constant STATUS_QUOTA_EXCEEDED, which is 0xC0000044, may be
      a valid exit code. Such large values trip up the [int_of_string] parsing
      in the client.
      
      This patch implements the following solution to this problem:
      * the server doesn't care and sends the large value;
      * (the server now recognizes this value, though, to set the timeout flag
        more often)
      * the client uses an Int64 value to parse that big constant;
      * when converting to the internal Unix.process_status type, we simply
        convert to [int], because such large values don't have any special
        meaning for Why3 anyway.
      
      * call_provers.ml
      (parse_prover_run): now directly take the exit status as argument, and
      convert it to int;
      (handle_answer): don't wrap argument to parse_prover_run into unix type
      * prove_client.ml
      (read_answer): read Int64 type now
      * server-win.c
      (handle_child_event): set timeout boolean also when exitcode is equal to
         constant STATUS_QUOTA_EXCEEDED
      
      Change-Id: I1163a6f1adf1bdbfe1f53269ce0ae57dc8bd0287
      883af7f6
  15. 29 Sep, 2016 1 commit
  16. 26 Sep, 2016 6 commits
  17. 22 Sep, 2016 2 commits
  18. 21 Sep, 2016 1 commit
  19. 19 Sep, 2016 2 commits
  20. 16 Sep, 2016 1 commit
  21. 15 Sep, 2016 2 commits
  22. 14 Sep, 2016 1 commit