1. 15 Mar, 2016 40 commits
  2. 06 Oct, 2015 40 commits
    • David Hauzar's avatar
      Marking record fields that will not be shown in counterexample. · f0cdb661
      David Hauzar authored
      Record fields labeled with label model_trace:@hide_field will be not
      shown in counterexample.
      f0cdb661
    • David Hauzar's avatar
      Not appending "." to names of record fields in counterexamples. · da802d43
      David Hauzar authored
      Previously, "." was automatically appended to names stored in
      model_trace label when creating variables corresponding to record
      fields in eval_match and when projecting record fields in the
      transformation intro_projections_counterexmp. Now, this is not done
      and "." must be given in model_trace label of the projection or
      record field.
      
      The reason is that for SPARK, character different from "." (e.g., "'"
      needs to be sometimes appended.
      da802d43
  3. 08 Sep, 2015 40 commits
  4. 07 Sep, 2015 40 commits
  5. 04 Sep, 2015 40 commits
  6. 03 Sep, 2015 40 commits
    • David Hauzar's avatar
      Bugfix: instead of replacing original labels with new labels, new labels · 101ed70b
      David Hauzar authored
      were added to original labels.
      101ed70b
    • David Hauzar's avatar
      Prevent loosing labels while doing eval_match. · f4a22d69
      David Hauzar authored
      When eval_match creates new terms from original terms, all labels of
      the original terms are copied to the new terms. The exception are
      labels of the form "model_trace:*". These labels are not copied if both
      original terms and new terms contain this label.
      f4a22d69
    • David Hauzar's avatar
      Traceability for record field names in counterexamples. · b25b6a72
      David Hauzar authored
      In wp, eval_match is used to replace record fields with simple variables
      of the same type. Originally, all labels from the variable that field
      was accessed were copied to new variables representing fields of this
      variable. Therefore also "model_trace:var_name" label was copied and thus
      the field had name "var_name" in the counterexample.
      
      This commit solves this problem by appending names of the fields to
      "model_trace:*" label of new variables representing record fields.
      b25b6a72
  7. 20 Mar, 2015 40 commits
  8. 19 Mar, 2015 40 commits
  9. 05 Mar, 2015 40 commits
  10. 11 Jul, 2014 40 commits
    • Martin Clochard's avatar
      Hack to prevent eval-match from decomposing quantified records · 698ca990
      Martin Clochard authored
        This is to prevent quantified records from being decomposed by
        eval_match. e.g, assert { forall x:t. ... } was previously
        transformed to assert { forall x1:t1, x2:t2, x3:t3. ... } if x was
        a record type with fields x1,x2,x3. This changed the
        instantiation pattern, which could be harmful.
      698ca990
  11. 14 Mar, 2014 40 commits
  12. 18 Jan, 2014 40 commits
  13. 10 Nov, 2013 40 commits
  14. 26 Oct, 2013 40 commits
    • Andrei Paskevich's avatar
      Pattern: add compile_bare which does not require known_map · 43aeab83
      Andrei Paskevich authored
      In pattern compilation, we only need to know the full list of
      constructors for a given type, whenever
      1. we want to check that a symbol used in a pattern is indeed
         a constructor;
      2. we want to check for non-exhaustive matching and return an
         example of a non-covered pattern, if any.
      Thus, we need to give Pattern.compile access to the current
      known_map whenever we check new declarations in Decl or Mlw_decl.
      However, once we have checked the patterns, we do not need the
      full constructor lists just to compile the match expressions.
      Just knowing the number of constructors (provided in ls_constr)
      is enough to detect non-exhaustive matching during compilation.
      43aeab83
  15. 28 Sep, 2013 40 commits
  16. 06 Mar, 2013 40 commits
  17. 21 Oct, 2012 40 commits
  18. 20 Oct, 2012 40 commits
    • Andrei Paskevich's avatar
      simplify copyright headers · 11598d2b
      Andrei Paskevich authored
      + create AUTHORS file
      + fix the linking exception in LICENSE
      + update the "About" in IDE
      + remove the trailing whitespace
      + inflate my scores at Ohloh
      11598d2b
  19. 12 Oct, 2012 40 commits
  20. 18 Sep, 2012 40 commits
  21. 31 Aug, 2012 40 commits
  22. 09 Jun, 2012 40 commits
  23. 09 Apr, 2012 40 commits
  24. 18 Mar, 2012 40 commits
    • Andrei Paskevich's avatar
      separate abstract types and logic symbols · 1b769a78
      Andrei Paskevich authored
      - put abstract types and aliases in Dtype of tysymbol
      - put (recursive) algebraic types in Ddata of (ts,constr list) list
      - put abstract function/predicate symbols in Dparam of lsymbol
      - put defined logic symbols in Dlogic of (ls,ls_definition) list
      1b769a78
  25. 26 Feb, 2012 40 commits
  26. 25 Feb, 2012 40 commits
  27. 08 Feb, 2012 40 commits
  28. 22 Sep, 2011 40 commits
  29. 02 Sep, 2011 40 commits
  30. 01 Jul, 2011 40 commits
  31. 03 Jun, 2011 40 commits
  32. 31 May, 2011 40 commits
  33. 30 May, 2011 40 commits
    • Andrei Paskevich's avatar
      rework eval_match · 132bd08d
      Andrei Paskevich authored
      - in particular, we simplify function definitions before testing
      them for linearity (this allows to inline array updates which are
      defined via a record update {| a with map = a.map[i <- v] |}).
      We really need to add some memoization here, otherwise we might
      pay too much.
      132bd08d
  34. 25 May, 2011 40 commits
  35. 24 May, 2011 40 commits