- Feb 17, 2020
-
-
Robbert Krebbers authored
This closes issue #49.
-
- Nov 21, 2019
-
-
- Ensure gmap well-formedness proofs are fully opaque. - Use pattern-matching lambdas over lets.
-
- Apr 25, 2019
-
-
- Feb 20, 2019
-
-
Robbert Krebbers authored
- Rename `gmap.to_gmap` into `gset_to_gmap`. - Rename `gmap.of_gset` into `gset_to_propset`. - Rename `coPset.to_Pset` into `coPset_to_Pset`. - Rename `coPset.of_Pset` into `coPset_to_gset`. - Rename `coPset.to_gset` into `coPset_to_gset`. - Rename `coPset.of_gset` into `gset_to_coPset`. The following `sed` script can be used for the first rename: ``` sed -i 's/to\_gmap/gset\_to\_gmap/g' $(find ./theories -name \*.v) ``` The latter is context sensitive, so was done manually.
-
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
-
- Nov 28, 2018
-
-
Tej Chajed authored
Adding a hint without a database now triggers a deprecation warning in Coq master (https://github.com/coq/coq/pull/8987).
-
- May 28, 2018
-
-
Ralf Jung authored
-
- Apr 05, 2018
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This followed from discussions in https://gitlab.mpi-sws.org/FP/iris-coq/merge_requests/134
-
- Sep 21, 2017
-
-
Robbert Krebbers authored
This allows for more control over `Hint Mode`.
-
- 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`.
-
- Sep 08, 2017
-
-
Robbert Krebbers authored
See also Coq bug #5712.
-
- Mar 15, 2017
-
-
Robbert Krebbers authored
-
- Feb 10, 2017
-
-
Robbert Krebbers authored
Some were already maximally implicit, some were not. Now it is consistent.
-
- Jan 31, 2017
-
-
Robbert Krebbers authored
-
Ralf Jung 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
-
- Aug 01, 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 25, 2016
-
-
Robbert Krebbers authored
-
- Jul 22, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
Similar files (gmap, listset, ...) were already in singular form and matched the name of the set/map data type.
-
- May 27, 2016
-
-
Robbert Krebbers authored
-
- Feb 27, 2016
-
-
Robbert Krebbers authored
-
- Feb 17, 2016
-
-
Robbert Krebbers authored
simplify_equality => simplify_eq simplify_equality' => simplify_eq/= simplify_map_equality => simplify_map_eq simplify_map_equality' => simplify_map_eq/= simplify_option_equality => simplify_option_eq simplify_list_equality => simplify_list_eq f_equal' => f_equal/= The /= suffixes (meaning: do simpl) are inspired by ssreflect.
-
Robbert Krebbers authored
-
- Feb 16, 2016
-
-
Robbert Krebbers authored
-
- Feb 13, 2016
-
-
Robbert Krebbers authored
Also, make our redefinition of done more robust under different orders of Importing modules.
-
- Feb 09, 2016
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
- Jan 16, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Dec 15, 2015
-
-
Robbert Krebbers authored
-
- Dec 11, 2015
-
-
Robbert Krebbers authored
-
- Nov 18, 2015
-
-
Robbert Krebbers authored
-