1. 22 Feb, 2017 2 commits
    • Robbert Krebbers's avatar
      Change Hint Mode for FromAssumption. · 2cbcc992
      Robbert Krebbers authored
      There is no need to restrict the type class using Hint Mode, we have
      a default instance that will always be used first. In case of evars,
      the default instance should apply.
      
      The reason for this change is that `iAssumption` should be able to
      prove `H : ?e |- P` and `H : P |- ?e`. The former Hint Mode prevented
      it from doing that.
      2cbcc992
    • Robbert Krebbers's avatar
      Fix error message of iApply. · b81b27d3
      Robbert Krebbers authored
      b81b27d3
  2. 21 Feb, 2017 1 commit
  3. 18 Feb, 2017 1 commit
  4. 15 Feb, 2017 7 commits
  5. 13 Feb, 2017 2 commits
  6. 12 Feb, 2017 1 commit
    • Robbert Krebbers's avatar
      Make iSpecialize work with coercions. · f1b30a2e
      Robbert Krebbers authored
      For example, when having `"H" : ∀ x : Z, P x`, using
      `iSpecialize ("H" $! (0:nat))` now works. We do this by first
      resolving the `IntoForall` type class, and then instantiating
      the quantifier.
      f1b30a2e
  7. 11 Feb, 2017 3 commits
  8. 09 Feb, 2017 2 commits
  9. 06 Feb, 2017 1 commit
  10. 30 Jan, 2017 4 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
      0090c56c
    • Robbert Krebbers's avatar
      6fc0ecff
    • Robbert Krebbers's avatar
      1805a435
  11. 29 Jan, 2017 1 commit
  12. 27 Jan, 2017 1 commit
  13. 26 Jan, 2017 1 commit
    • Robbert Krebbers's avatar
      Fix issue #68. · 2550dff5
      Robbert Krebbers authored
      TODO: document the setup of the IntoWand and WandWeaken type classes
      and the tricks using Hint Mode.
      2550dff5
  14. 24 Jan, 2017 4 commits
  15. 23 Jan, 2017 3 commits
  16. 22 Jan, 2017 2 commits
  17. 20 Jan, 2017 2 commits
  18. 12 Jan, 2017 1 commit
  19. 11 Jan, 2017 1 commit