1. 13 Sep, 2019 40 commits
    • Jacques-Henri Jourdan's avatar
      Reorder Requires so that we do not depend of Export bugs. · 43a1a90f
      Jacques-Henri Jourdan authored
      The general idea is to first import/export modules which are further
      than the current one, and then import/export modules which are close
      dependencies.
      
      This commit tries to use the same order of imports for every file, and
      describes the convention in ProofGuide.md. There is one exception,
      where we do not follow said convention: in program_logic/weakestpre.v,
      using that order would break printing of texan triples (??).
      43a1a90f
  2. 21 Feb, 2019 40 commits
  3. 20 Feb, 2019 40 commits
  4. 24 Mar, 2017 40 commits
    • 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
    • Robbert Krebbers's avatar
      15bfdc15
  5. 06 Feb, 2017 40 commits
  6. 27 Jan, 2017 40 commits
  7. 06 Jan, 2017 40 commits
    • Robbert Krebbers's avatar
      Renaming in prelude/list. · ddf8ef49
      Robbert Krebbers authored
      Rename:
      
      - prefix_of -> prefix and suffix_of -> suffix because that saves keystrokes
        in lemma names. However, keep the infix notations with l1 `prefix_of` l2 and
        l1 `suffix_of` l2 because those are easier to read.
      - change the notation l1 `sublist` l2 into l1 `sublist_of` l2 to be consistent.
      - rename contains -> submseteq and use the notation ⊆+
      ddf8ef49
  8. 05 Jan, 2017 40 commits
  9. 03 Jan, 2017 40 commits
  10. 09 Dec, 2016 40 commits
  11. 06 Dec, 2016 40 commits
  12. 05 Dec, 2016 40 commits
  13. 02 Dec, 2016 40 commits
  14. 21 Nov, 2016 40 commits
  15. 20 Nov, 2016 40 commits
  16. 19 Nov, 2016 40 commits
  17. 17 Nov, 2016 40 commits
  18. 15 Nov, 2016 40 commits
  19. 03 Oct, 2016 40 commits
  20. 02 Oct, 2016 40 commits
  21. 28 Sep, 2016 40 commits
  22. 30 May, 2016 40 commits
  23. 27 May, 2016 40 commits
  24. 21 Mar, 2016 40 commits
  25. 10 Mar, 2016 40 commits
  26. 08 Mar, 2016 40 commits
  27. 20 Feb, 2016 40 commits
  28. 17 Feb, 2016 40 commits