- 09 Nov, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 17 Sep, 2017 1 commit
-
-
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`.
-
- 08 Sep, 2017 1 commit
-
-
Robbert Krebbers authored
See also Coq bug #5712.
-
- 15 Mar, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 31 Jan, 2017 3 commits
-
-
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
-
- 22 Jul, 2016 1 commit
-
-
Robbert Krebbers authored
Similar files (gmap, listset, ...) were already in singular form and matched the name of the set/map data type.
-
- 27 Feb, 2016 1 commit
-
-
Robbert Krebbers authored
-
- 24 Feb, 2016 3 commits
-
-
Robbert Krebbers authored
It now traverses terms at most once, whereas the setoid_rewrite approach was travering terms many times. Also, the tactic can now be extended by defining type class instances.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- 16 Feb, 2016 5 commits
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Ralf Jung authored
-
- 15 Feb, 2016 1 commit
-
-
Ralf Jung authored
-
- 13 Feb, 2016 1 commit
-
-
Robbert Krebbers authored
Also, make our redefinition of done more robust under different orders of Importing modules.
-
- 16 Nov, 2015 1 commit
-
-
Robbert Krebbers authored
-
- 03 Feb, 2017 1 commit
-
-
Robbert Krebbers authored
-