1. 03 Dec, 2017 1 commit
  2. 01 Nov, 2017 2 commits
  3. 30 Oct, 2017 5 commits
    • Robbert Krebbers's avatar
      Use the sink modality in the proof mode. · f0e57c42
      Robbert Krebbers authored
      Whenever we iSpecialize something whose conclusion is persistent, we now have
      to prove all the premises under the sink modality. This is strictly more powerful,
      as we now have to use just some of the hypotheses to prove the premises, instead of
      all.
      f0e57c42
    • Robbert Krebbers's avatar
    • Robbert Krebbers's avatar
      Generalize iAlways to also introduce ■ modalities. · 386f169a
      Robbert Krebbers authored
      This also applies to the introduction pattern `!#`. Both will now
      introduce as many ■ or □ as possible. This behavior is consistent
      with the dual, `#`, which also gets rid of as many ■ and □ modalities
      as possible.
      386f169a
    • Robbert Krebbers's avatar
      Drop positivity axiom of the BI canonical structure. · f2eaf912
      Robbert Krebbers authored
      The absence of this axiom has two consequences:
      
      - We no longer have `■ (P ∗ Q) ⊢ ■ P ∗ ■ Q` and `□ (P ∗ Q) ⊢ □ P ∗ □ Q`,
        and as a result, separating conjunctions in the unrestricted/persistent
        context cannot be eliminated.
      - When having `(P -∗ ⬕ Q) ∗ P`, we do not get `⬕ Q ∗ P`. In the proof
        mode this means when having:
      
          H1 : P -∗ ⬕ Q
          H2 : P
      
        We cannot say `iDestruct ("H1" with "H2") as "#H1"` and keep `H2`.
      
      However, there is now a type class `PositiveBI PROP`, and when there is an
      instance of this type class, one gets the above reasoning principle back.
      
      TODO: Can we describe positivity of individual propositions instead of the
      whole BI? That way, we would get the above reasoning principles even when
      the BI is not positive, but the propositions involved are.
      f2eaf912
    • Robbert Krebbers's avatar
      Generalize proofmode. · 52c3006d
      Robbert Krebbers authored
      52c3006d
  4. 28 Oct, 2017 1 commit
  5. 26 Oct, 2017 1 commit
  6. 25 Oct, 2017 5 commits
  7. 10 Oct, 2017 1 commit
  8. 28 Aug, 2017 1 commit
  9. 08 Jun, 2017 1 commit
  10. 13 Apr, 2017 1 commit
  11. 07 Apr, 2017 1 commit
  12. 21 Mar, 2017 3 commits
  13. 15 Mar, 2017 2 commits
  14. 09 Mar, 2017 1 commit
  15. 22 Feb, 2017 1 commit
    • 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
  16. 11 Feb, 2017 1 commit
    • 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
  17. 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
  18. 22 Jan, 2017 1 commit
  19. 05 Jan, 2017 1 commit
  20. 03 Jan, 2017 1 commit
  21. 09 Dec, 2016 1 commit
  22. 27 Nov, 2016 1 commit
  23. 22 Nov, 2016 1 commit
  24. 03 Nov, 2016 1 commit
    • Robbert Krebbers's avatar
      Use symbol ∗ for separating conjunction. · cc31476d
      Robbert Krebbers authored
      The old choice for ★ was a arbitrary: the precedence of the ASCII asterisk *
      was fixed at a wrong level in Coq, so we had to pick another symbol. The ★ was
      a random choice from a unicode chart.
      
      The new symbol ∗ (as proposed by David Swasey) corresponds better to
      conventional practise and matches the symbol we use on paper.
      cc31476d
  25. 25 Oct, 2016 4 commits