Skip to content
Snippets Groups Projects
  1. Mar 14, 2021
  2. Feb 01, 2021
  3. Jan 07, 2021
  4. Nov 10, 2020
  5. Nov 09, 2020
  6. Oct 29, 2020
  7. Oct 28, 2020
  8. Oct 15, 2020
  9. Sep 16, 2020
  10. Jul 16, 2020
  11. Jun 15, 2020
  12. Mar 13, 2020
  13. Feb 24, 2020
  14. Feb 11, 2020
  15. Nov 07, 2019
  16. Sep 11, 2019
  17. Jun 20, 2019
  18. Apr 25, 2019
  19. Feb 20, 2019
    • Robbert Krebbers's avatar
      5f1da4ec
    • Robbert Krebbers's avatar
      Consistently use `set` and `map` names. · b7e31ce2
      Robbert Krebbers authored
      Get rid of using `Collection` and favor `set` everywhere. Also, prefer conversion
      functions that are called `X_to_Y`.
      
      The following sed script performs most of the renaming, with the exception of:
      
      - `set`, which has been renamed into `propset`. I couldn't do this rename
        using `sed` since it's too context sensitive.
      - There was a spurious rename of `Vec.of_list`, which I correctly manually.
      - Updating some section names and comments.
      
      ```
      sed '
      s/SimpleCollection/SemiSet/g;
      s/FinCollection/FinSet/g;
      s/CollectionMonad/MonadSet/g;
      s/Collection/Set\_/g;
      s/collection\_simple/set\_semi\_set/g;
      s/fin\_collection/fin\_set/g;
      s/collection\_monad\_simple/monad\_set\_semi\_set/g;
      s/collection\_equiv/set\_equiv/g;
      s/\bbset/boolset/g;
      s/mkBSet/BoolSet/g;
      s/mkSet/PropSet/g;
      s/set\_equivalence/set\_equiv\_equivalence/g;
      s/collection\_subseteq/set\_subseteq/g;
      s/collection\_disjoint/set\_disjoint/g;
      s/collection\_fold/set\_fold/g;
      s/collection\_map/set\_map/g;
      s/collection\_size/set\_size/g;
      s/collection\_filter/set\_filter/g;
      s/collection\_guard/set\_guard/g;
      s/collection\_choose/set\_choose/g;
      s/collection\_ind/set\_ind/g;
      s/collection\_wf/set\_wf/g;
      s/map\_to\_collection/map\_to\_set/g;
      s/map\_of\_collection/set\_to\_map/g;
      s/map\_of\_list/list\_to\_map/g;
      s/map\_of\_to_list/list\_to\_map\_to\_list/g;
      s/map\_to\_of\_list/map\_to\_list\_to\_map/g;
      s/\bof\_list/list\_to\_set/g;
      s/\bof\_option/option\_to\_set/g;
      s/elem\_of\_of\_list/elem\_of\_list\_to\_set/g;
      s/elem\_of\_of\_option/elem\_of\_option\_to\_set/g;
      s/collection\_not\_subset\_inv/set\_not\_subset\_inv/g;
      s/seq\_set/set\_seq/g;
      s/collections/sets/g;
      s/collection/set/g;
      ' -i $(find -name "*.v")
      ```
      b7e31ce2
  20. Jan 29, 2019
  21. Oct 27, 2017
  22. Sep 29, 2017
  23. Sep 20, 2017
  24. Sep 17, 2017
    • Robbert Krebbers's avatar
      Set Hint Mode for all classes in `base.v`. · 7d7c9871
      Robbert Krebbers authored
      This provides significant robustness against looping type class search.
      
      As a consequence, at many places throughout the library we had to add
      additional typing information to lemmas. This was to be expected, since
      most of the old lemmas were ambiguous. For example:
      
        Section fin_collection.
          Context `{FinCollection A C}.
      
          size_singleton (x : A) : size {[ x ]} = 1.
      
      In this case, the lemma does not tell us which `FinCollection` with
      elements `A` we are talking about. So, `{[ x ]}` could not only refer to
      the singleton operation of the `FinCollection A C` in the section, but
      also to any other `FinCollection` in the development. To make this lemma
      unambigious, it should be written as:
      
        Lemma size_singleton (x : A) : size ({[ x ]} : C) = 1.
      
      In similar spirit, lemmas like the one below were also ambiguous:
      
        Lemma lookup_alter_None {A} (f : A → A) m i j :
          alter f i m !! j = None :left_right_arrow: m !! j = None.
      
      It is not clear which finite map implementation we are talking about.
      To make this lemma unambigious, it should be written as:
      
        Lemma lookup_alter_None {A} (f : A → A) (m : M A) i j :
          alter f i m !! j = None :left_right_arrow: m !! j = None.
      
      That is, we have to specify the type of `m`.
      7d7c9871
  25. Mar 15, 2017
  26. Jan 31, 2017
  27. Sep 20, 2016
  28. Jul 27, 2016
  29. Jul 22, 2016
  30. Mar 23, 2016
  31. Feb 20, 2016
  32. Feb 17, 2016
Loading