1. 11 Feb, 2017 2 commits
    • Robbert Krebbers's avatar
      Improve `iSpecialize ("H" $! x1 .. xn)`. · 9ea6fa45
      Robbert Krebbers authored
      Instead of doing all the instantiations by invoking a single type
      class search, it now performs the instantiations by invoking
      individual type class searches. This a.) gives better error messages
      and b.) works when `xj` depends on `xi`.
      9ea6fa45
    • Robbert Krebbers's avatar
      Improve `iIntros "_"`. · 211c2363
      Robbert Krebbers authored
      In the following ways:
      - When having `P → Q` it will now also work when the spatial context
        is non-empty.
      - When having `∀ x : A, Q` it will now do an `iIntros (_)`.
      211c2363
  2. 09 Feb, 2017 2 commits
  3. 06 Feb, 2017 1 commit
  4. 30 Jan, 2017 3 commits
    • Robbert Krebbers's avatar
      Support introduction patterns /=, {H}, {$H} in iDestruct. · 686f5740
      Robbert Krebbers authored
      This fixes issue #57.
      
      I considered supporting these introduction patterns also in a nested fashion --
      for example allowing `iDestruct foo as [H1 [{H1} H1 /= H2|H2]` -- but that
      turned out to be quite difficult.
      
      Where should we allow `/=`, `{H}` and `{$H}` exactly. Clearly something like
      `>/=` makes no sense, unless we adopt to some kind of 'stack like' semantics
      for introduction patterns as in ssreflect. Alternatively, we could only allow
      these patterns in the branches of the destructing introduction pattern
      `[... | ... | ...]` but that brings other complications, e.g.:
      
      - What to do with `(H1 & /= & H3)`?
      - How to distinguish the introduction patterns `[H _]` and `[_ H]` for
        destructing a spatial conjunction? We cannot simply match on the shape of the
        introduction pattern anymore, because one could also write `[_ H /=]`.
      686f5740
    • Robbert Krebbers's avatar
      6fc0ecff
    • Robbert Krebbers's avatar
      1805a435
  5. 29 Jan, 2017 1 commit
  6. 24 Jan, 2017 4 commits
  7. 23 Jan, 2017 2 commits
  8. 22 Jan, 2017 2 commits
  9. 20 Jan, 2017 2 commits
  10. 12 Jan, 2017 1 commit
  11. 11 Jan, 2017 1 commit
  12. 05 Jan, 2017 2 commits
  13. 04 Jan, 2017 1 commit
  14. 03 Jan, 2017 1 commit
  15. 01 Jan, 2017 1 commit
  16. 28 Dec, 2016 1 commit
  17. 27 Dec, 2016 1 commit
  18. 20 Dec, 2016 2 commits
  19. 12 Dec, 2016 1 commit
  20. 09 Dec, 2016 1 commit
  21. 29 Nov, 2016 1 commit
  22. 27 Nov, 2016 3 commits
  23. 26 Nov, 2016 1 commit
  24. 24 Nov, 2016 1 commit
  25. 23 Nov, 2016 2 commits