Skip to content
Snippets Groups Projects
  1. Dec 10, 2018
  2. Nov 29, 2017
  3. Nov 14, 2017
  4. Oct 31, 2017
  5. Oct 30, 2017
  6. Oct 25, 2017
  7. Sep 17, 2017
  8. Aug 17, 2017
  9. Jun 08, 2017
  10. Apr 07, 2017
  11. Mar 24, 2017
    • 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
  12. Feb 09, 2017
  13. Jan 27, 2017
  14. Jan 05, 2017
  15. Jan 03, 2017
  16. Dec 09, 2016
  17. Nov 29, 2016
  18. Nov 28, 2016
    • Robbert Krebbers's avatar
      Simplify proof of auth_local_update. · ce32b224
      Robbert Krebbers authored
      Also, use explicit unfolding lemmas for auth_valid and auth_validN.
      The `Arguments valid _ _ !_ /` hack did not really work when one
      has to deal with the valid instance of the cmra, which underneath also
      includes a `cmra_valid`. Declaring a similar Arguments for `cmra_valid`
      is a bad idea, it will also end up unfold stuff for the exclusive and
      option CMRA.
      ce32b224
    • Ralf Jung's avatar
      Add a local update for auth (needed for nested auth) · 692b8570
      Ralf Jung authored
      Proof was done by Hai & me
      692b8570
  19. Nov 25, 2016
  20. Nov 22, 2016
  21. Oct 25, 2016
  22. Oct 06, 2016
  23. Oct 05, 2016
  24. Oct 03, 2016
  25. Sep 28, 2016
  26. Sep 20, 2016
  27. Sep 09, 2016
  28. Sep 01, 2016
  29. Aug 20, 2016
    • 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
  30. Aug 14, 2016
Loading