Skip to content
Snippets Groups Projects
  1. Sep 13, 2019
    • 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. Feb 21, 2019
  3. Feb 20, 2019
  4. 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
    • Robbert Krebbers's avatar
  5. Feb 06, 2017
  6. Jan 27, 2017
  7. Jan 06, 2017
    • 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. Jan 05, 2017
  9. Jan 03, 2017
  10. Dec 09, 2016
  11. Dec 06, 2016
  12. Dec 05, 2016
  13. Dec 02, 2016
  14. Nov 21, 2016
  15. Nov 20, 2016
  16. Nov 19, 2016
  17. Nov 17, 2016
  18. Nov 15, 2016
  19. Oct 03, 2016
  20. Oct 02, 2016
  21. Sep 28, 2016
  22. May 30, 2016
  23. May 27, 2016
  24. Mar 21, 2016
  25. Mar 10, 2016
  26. Mar 08, 2016
  27. Feb 20, 2016
  28. Feb 17, 2016
Loading