1. 07 Apr, 2017 1 commit
  2. 24 Mar, 2017 1 commit
    • Robbert Krebbers's avatar
      Generic big operators that are no longer tied to CMRAs. · 6fbff46e
      Robbert Krebbers authored
      Instead, I have introduced a type class `Monoid` that is used by the big operators:
      
          Class Monoid {M : ofeT} (o : M → M → M) := {
            monoid_unit : M;
            monoid_ne : NonExpansive2 o;
            monoid_assoc : Assoc (≡) o;
            monoid_comm : Comm (≡) o;
            monoid_left_id : LeftId (≡) monoid_unit o;
            monoid_right_id : RightId (≡) monoid_unit o;
          }.
      
      Note that the operation is an argument because we want to have multiple monoids over
      the same type (for example, on `uPred`s we have monoids for `∗`, `∧`, and `∨`). However,
      we do bundle the unit because:
      
      - If we would not, the unit would appear explicitly in an implicit argument of the
        big operators, which confuses rewrite. By bundling the unit in the `Monoid` class
        it is hidden, and hence rewrite won't even see it.
      - The unit is unique.
      
      We could in principle have big ops over setoids instead of OFEs. However, since we do
      not have a canonical structure for bundled setoids, I did not go that way.
      6fbff46e
  3. 09 Feb, 2017 1 commit
  4. 06 Feb, 2017 1 commit
  5. 27 Jan, 2017 1 commit
  6. 05 Jan, 2017 1 commit
  7. 03 Jan, 2017 1 commit
  8. 09 Dec, 2016 2 commits
  9. 22 Nov, 2016 1 commit
  10. 25 Oct, 2016 1 commit
  11. 06 Oct, 2016 1 commit
  12. 28 Sep, 2016 1 commit
  13. 21 Sep, 2016 2 commits
  14. 20 Aug, 2016 1 commit
    • Robbert Krebbers's avatar
      Remove the requirement that the unit of a CMRA is timeless. · 7975f872
      Robbert Krebbers authored
      This requirement was useful in Iris 2.0: in order to ensure that ownership of
      the physical state was timeless, we required the ghost CMRA to have a timeless
      unit. To avoid having additional type class parameters, or having to extend the
      algebraic hierarchy, we required the units of any CMRA to be timeless.
      
      In Iris 3.0, this issue no longer applies: ownership of the physical state is
      ghost ownership in the global CMRA, whose unit is always timeless.
      
      Thanks to Jeehoon Kang for spotting this unnecessary requirement.
      7975f872
  15. 14 Aug, 2016 1 commit
  16. 08 Aug, 2016 1 commit
  17. 27 Jul, 2016 2 commits
  18. 25 Jul, 2016 2 commits
  19. 16 Jun, 2016 2 commits
  20. 15 Jun, 2016 2 commits
  21. 31 May, 2016 1 commit
  22. 28 May, 2016 1 commit
    • Robbert Krebbers's avatar
      CMRAs with partial cores. · cfb00b3e
      Robbert Krebbers authored
      Based on an idea and WIP commits of J-H. Jourdan: the core of a CMRA
      A is now a partial function A → option A.
      
      TODO: define sum CMRA
      TODO: remove one shot CMRA and define it in terms of sum
      cfb00b3e
  23. 27 May, 2016 3 commits
  24. 25 May, 2016 2 commits
    • Robbert Krebbers's avatar
      d27b81ff
    • Robbert Krebbers's avatar
      Tweak the algebraic hierarchy. · a3d0a338
      Robbert Krebbers authored
      - Make the carrier argument of the constructors for the canonical structures
        cofeT and cmraT explicit. This way we make sure the carrier is properly
        exposed, instead of some alias of the carrier.
      - Make derived constructions (such as discreteC and discreteR) notations
        instead of definitions. This is yet again to make sure that the carrier is
        properly exposed.
      - Turn DRA into a canonical structure (it used to be a type class).
      
      This fixes some issues, notably it fixes some broken rewrites in algebra/sts
      and it makes canonical structures work properly with dec_agree.
      a3d0a338
  25. 22 May, 2016 2 commits
  26. 19 May, 2016 1 commit
  27. 12 May, 2016 1 commit
  28. 11 May, 2016 2 commits
    • Amin Timany's avatar
      Add singleton to list CMRA · 3f58d505
      Amin Timany authored
      3f58d505
    • Amin Timany's avatar
      Squashed commit of the following: · fbdb24f9
      Amin Timany authored
      commit 3b172ff49534fda906fc569449a27fcf6426ed66
      Author: Amin Timany <amintimany@gmail.com>
      Date:   Wed May 11 17:20:45 2016 +0200
      
          Add CMRA structure on lists
      
      commit ffe550b0f3cd074b95940106972865a1be1b708b
      Author: Amin Timany <amintimany@gmail.com>
      Date:   Tue May 10 21:42:09 2016 +0200
      
          Progress adding CMRA for lists.
      fbdb24f9
  29. 21 Mar, 2016 1 commit