1. 27 Aug, 2019 1 commit
  2. 16 Jun, 2019 1 commit
    • Robbert Krebbers's avatar
      Replace `C`s with `O`s since we use OFEs instead of COFEs. · 2855d1f5
      Robbert Krebbers authored
      Used the following script:
      
      sed '
      s/\bCofeMor/OfeMor/g;
      s/\-c>/\-d>/g;
      s/\bcFunctor/oFunctor/g;
      s/\bCFunctor/OFunctor/g;
      s/\b\%CF/\%OF/g;
      s/\bconstCF/constOF/g;
      s/\bidCF/idOF/g
      s/\bdiscreteC/discreteO/g;
      s/\bleibnizC/leibnizO/g;
      s/\bunitC/unitO/g;
      s/\bprodC/prodO/g;
      s/\bsumC/sumO/g;
      s/\bboolC/boolO/g;
      s/\bnatC/natO/g;
      s/\bpositiveC/positiveO/g;
      s/\bNC/NO/g;
      s/\bZC/ZO/g;
      s/\boptionC/optionO/g;
      s/\blaterC/laterO/g;
      s/\bofe\_fun/discrete\_fun/g;
      s/\bdiscrete\_funC/discrete\_funO/g;
      s/\bofe\_morC/ofe\_morO/g;
      s/\bsigC/sigO/g;
      s/\buPredC/uPredO/g;
      s/\bcsumC/csumO/g;
      s/\bagreeC/agreeO/g;
      s/\bauthC/authO/g;
      s/\bnamespace_mapC/namespace\_mapO/g;
      s/\bcmra\_ofeC/cmra\_ofeO/g;
      s/\bucmra\_ofeC/ucmra\_ofeO/g;
      s/\bexclC/exclO/g;
      s/\bgmapC/gmapO/g;
      s/\blistC/listO/g;
      s/\bvecC/vecO/g;
      s/\bgsetC/gsetO/g;
      s/\bgset\_disjC/gset\_disjO/g;
      s/\bcoPsetC/coPsetO/g;
      s/\bgmultisetC/gmultisetO/g;
      s/\bufracC/ufracO/g
      s/\bfracC/fracO/g;
      s/\bvalidityC/validityO/g;
      s/\bbi\_ofeC/bi\_ofeO/g;
      s/\bsbi\_ofeC/sbi\_ofeO/g;
      s/\bmonPredC/monPredO/g;
      s/\bstateC/stateO/g;
      s/\bvalC/valO/g;
      s/\bexprC/exprO/g;
      s/\blocC/locO/g;
      ' -i $(find theories -name "*.v")
      2855d1f5
  3. 03 Jun, 2019 1 commit
  4. 04 May, 2019 3 commits
  5. 05 Mar, 2019 1 commit
  6. 10 Dec, 2018 1 commit
  7. 20 Jun, 2018 1 commit
  8. 29 May, 2018 1 commit
  9. 20 Feb, 2018 3 commits
  10. 29 Nov, 2017 1 commit
  11. 25 Oct, 2017 4 commits
  12. 17 Sep, 2017 3 commits
  13. 07 Apr, 2017 1 commit
  14. 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
  15. 09 Feb, 2017 1 commit
  16. 06 Feb, 2017 1 commit
  17. 27 Jan, 2017 1 commit
  18. 05 Jan, 2017 1 commit
  19. 03 Jan, 2017 1 commit
  20. 09 Dec, 2016 2 commits
  21. 22 Nov, 2016 1 commit
  22. 25 Oct, 2016 1 commit
  23. 06 Oct, 2016 1 commit
  24. 28 Sep, 2016 1 commit
  25. 21 Sep, 2016 2 commits
  26. 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
  27. 14 Aug, 2016 1 commit
  28. 08 Aug, 2016 1 commit
  29. 27 Jul, 2016 1 commit