1. 04 Oct, 2017 1 commit
  2. 26 Sep, 2017 1 commit
    • Robbert Krebbers's avatar
      Fix issue #98. · e17ac4ad
      Robbert Krebbers authored
      We used to normalize the goal, and then checked whether it was of
      a certain shape. Since `uPred_valid P` normalized to `True ⊢ P`,
      there was no way of making a distinction between the two, hence
      `True ⊢ P` was treated as `uPred_valid P`.
      
      In this commit, I use type classes to check whether the goal is of
      a certain shape. Since we declared `uPred_valid` as `Typeclasses
      Opaque`, we can now make a distinction between `True ⊢ P` and
      `uPred_valid P`.
      e17ac4ad
  3. 25 Sep, 2017 4 commits
  4. 24 Mar, 2017 1 commit
  5. 09 Mar, 2017 1 commit
  6. 06 Feb, 2017 1 commit
  7. 05 Jan, 2017 1 commit
  8. 03 Jan, 2017 1 commit
  9. 22 Dec, 2016 1 commit
  10. 20 Dec, 2016 1 commit
  11. 12 Dec, 2016 1 commit
  12. 09 Dec, 2016 6 commits
  13. 08 Dec, 2016 2 commits
  14. 06 Dec, 2016 3 commits
  15. 22 Nov, 2016 1 commit
  16. 08 Nov, 2016 1 commit
  17. 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
  18. 01 Nov, 2016 3 commits
  19. 28 Oct, 2016 1 commit
  20. 25 Oct, 2016 1 commit
  21. 16 Oct, 2016 1 commit
  22. 12 Oct, 2016 1 commit
  23. 05 Oct, 2016 1 commit
  24. 30 Aug, 2016 1 commit
  25. 28 Aug, 2016 1 commit
  26. 23 Aug, 2016 1 commit
  27. 22 Aug, 2016 1 commit
    • Robbert Krebbers's avatar
      Generalize equality of heap_lang so it works on any value. · 8111cab0
      Robbert Krebbers authored
      This is more consistent with CAS, which also can be used on any value.
      Note that being able to (atomically) test for equality of any value and
      being able to CAS on any value is not realistic. See the discussion at
      https://gitlab.mpi-sws.org/FP/iris-coq/issues/26, and in particular JH
      Jourdan's observation:
      
        I think indeed for heap_lang this is just too complicated.
      
        Anyway, the role of heap_lang is not to model any actual
        programming language, but rather to show that we can do proofs
        about certain programs. The fact that you can write unrealistic
        programs is not a problem, IMHO. The only thing which is important
        is that the program that we write are realistic (i.e., faithfully
        represents the algorithm we want to p
      
      This commit is based on a commit by Zhen Zhang who generalized equality
      to work on any literal (and not just integers).
      8111cab0