1. 13 Sep, 2019 1 commit
    • 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 1 commit
  3. 20 Feb, 2019 1 commit
  4. 24 Mar, 2017 2 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 1 commit
  6. 27 Jan, 2017 1 commit
  7. 06 Jan, 2017 1 commit
    • 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 1 commit
  9. 03 Jan, 2017 1 commit
  10. 09 Dec, 2016 2 commits
  11. 06 Dec, 2016 2 commits
  12. 05 Dec, 2016 1 commit
  13. 02 Dec, 2016 1 commit
  14. 21 Nov, 2016 2 commits
  15. 20 Nov, 2016 1 commit
  16. 19 Nov, 2016 1 commit
  17. 17 Nov, 2016 1 commit
  18. 15 Nov, 2016 1 commit
  19. 03 Oct, 2016 2 commits
  20. 02 Oct, 2016 1 commit
  21. 28 Sep, 2016 6 commits
  22. 30 May, 2016 1 commit
  23. 27 May, 2016 1 commit
  24. 21 Mar, 2016 2 commits
  25. 10 Mar, 2016 1 commit
  26. 08 Mar, 2016 1 commit
  27. 20 Feb, 2016 1 commit
  28. 17 Feb, 2016 2 commits