- Mar 14, 2021
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
- Feb 01, 2021
-
-
Ralf Jung authored
rename elem_of_equiv -> set_equiv and set_equiv_spec -> set_equiv_subseteq, and rename some instances to get out of the way
-
- Jan 07, 2021
-
-
Ralf Jung authored
-
- Nov 10, 2020
-
-
Simon Friis Vindum authored
-
- Nov 09, 2020
-
-
Simon Friis Vindum authored
-
- Oct 29, 2020
-
-
Ralf Jung authored
-
- Oct 28, 2020
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Ralf Jung authored
-
- Oct 15, 2020
-
-
Robbert Krebbers authored
Fix in preparation for https://github.com/coq/coq/pull/13188
-
- Sep 16, 2020
-
-
Ralf Jung authored
-
- Jul 16, 2020
-
-
Robbert Krebbers authored
and `dom_map_filter_subseteq` → `dom_filter_subseteq` for consistency's sake. This was pointed out by @atrieu in iris/stdpp!175 (comment 53746)
-
-
- Jun 15, 2020
-
-
Robbert Krebbers authored
-
- Mar 13, 2020
-
-
Robbert Krebbers authored
This follows iris!387 This closes issue #54.
-
- Feb 24, 2020
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Feb 11, 2020
-
-
In accordance with <!93>
-
- Nov 07, 2019
-
-
Robbert Krebbers authored
There are not documented in https://coq.inria.fr/refman/addendum/type-classes.html?highlight=class#coq:cmd.class, and they don't have any advantage, so it's better to stop using them.
-
- Sep 11, 2019
-
-
Robbert Krebbers authored
-
- Jun 20, 2019
-
-
- Apr 25, 2019
-
-
- Feb 20, 2019
-
-
Robbert Krebbers authored
-
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") ```
-
- Jan 29, 2019
-
-
Robbert Krebbers authored
-
- Oct 27, 2017
-
-
Jacques-Henri Jourdan authored
-
- Sep 29, 2017
-
-
Hai Dang authored
-
- Sep 20, 2017
-
-
Robbert Krebbers authored
This way, type class search will fail immediately on first type class constraint of any of the `fin_map_dom` lemmas if no `Dom` can be found.
-
- Sep 17, 2017
-
-
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
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 m !! j = None. That is, we have to specify the type of `m`.
-
- Mar 15, 2017
-
-
Robbert Krebbers authored
-
- Jan 31, 2017
-
-
Robbert Krebbers authored
-
Ralf Jung authored
This patch was created using find -name *.v | xargs -L 1 awk -i inplace '{from = 0} /^From/{ from = 1; ever_from = 1} { if (from == 0 && seen == 0 && ever_from == 1) { print "Set Default Proof Using \"Type*\"."; seen = 1 } }1 ' and some minor manual editing
-
- Sep 20, 2016
-
-
Robbert Krebbers authored
-
- Jul 27, 2016
-
-
Robbert Krebbers authored
This reverts commit 20b4ae55bdf00edb751ccdab3eb876cb9b13c99f, which does not seem to work with Coq 8.5pl2 (I accidentally tested with 8.5pl1).
-
Robbert Krebbers authored
This makes type checking more directed, and somewhat more predictable. On the downside, it makes it impossible to declare the singleton on lists as an instance of SingletonM and the insert and alter operations on functions as instances of Alter and Insert. However, these were not used often anyway.
-
- Jul 22, 2016
-
-
Robbert Krebbers authored
There was not really a need for the lattice type classes, so I removed these.
-
- Mar 23, 2016
-
-
Robbert Krebbers authored
-
- Feb 20, 2016
-
-
Ralf Jung authored
-
- Feb 17, 2016
-
-
Robbert Krebbers authored
It is doing much more than just dealing with ∈, it solves all kinds of goals involving set operations (including ≡ and ⊆).
-