- Feb 15, 2017
-
-
Robbert Krebbers authored
It now first turns hypotheses `X ∪ Y ⊆ Z` into `X ⊆ Z` and `Y ⊆ Z`.
-
- Feb 06, 2017
-
-
Ralf Jung authored
-
- Jan 11, 2017
-
-
Ralf Jung authored
This approach is originally by Robbert
-
- Jan 05, 2017
-
-
Ralf Jung authored
-
- Jan 03, 2017
-
-
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
-
- Dec 16, 2016
- Dec 09, 2016
-
-
Ralf Jung authored
-
- Nov 24, 2016
-
-
Robbert Krebbers authored
-
- Nov 22, 2016
-
-
-
We do this by introducing a type class UpClose with notation ↑. The reason for this change is as follows: since `nclose : namespace → coPset` is declared as a coercion, the notation `nclose N ⊆ E` was pretty printed as `N ⊆ E`. However, `N ⊆ E` could not be typechecked because type checking goes from left to right, and as such would look for an instance `SubsetEq namespace`, which causes the right hand side to be ill-typed.
-
- Nov 17, 2016
-
-
Robbert Krebbers authored
-
- Oct 28, 2016
-
-
Robbert Krebbers authored
-
- Oct 13, 2016
-
-
Ralf Jung authored
-
- Sep 20, 2016
-
-
Robbert Krebbers authored
-
- Sep 07, 2016
-
-
Jacques-Henri Jourdan authored
Define disjointness of namespaces in terms of masks.\n\nThe proofs are made simpler and some lemmas get more general.
-
- Aug 29, 2016
-
-
Robbert Krebbers authored
This way we ensure that Coq gives an error message when one accidentially writes "N ⊆ E" instead of "nclose N ⊆ E". Before, it used the ⊆ instance of lists.
-
- Jul 22, 2016
-
-
Robbert Krebbers authored
Similar files (gmap, listset, ...) were already in singular form and matched the name of the set/map data type.
-
- Jul 20, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
Both ndot and nclose involve encodings of countable types, and conversion should thus never unfold these definitions.
-
- Jul 04, 2016
-
-
Robbert Krebbers authored
-
- Jul 02, 2016
-
-
Robbert Krebbers authored
-
- Jul 01, 2016
-
-
Robbert Krebbers authored
-
- Jun 30, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
In particular, it no longer uses set_solver (which made it often slow or diverge) but a more specific lemma about subseteq.
-
- Mar 23, 2016
-
-
Robbert Krebbers authored
-
- Mar 10, 2016
-
-
Robbert Krebbers authored
Thanks to Amin Timany for the suggestion.
-
- Feb 24, 2016
-
-
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.
-
- Feb 23, 2016
- Feb 22, 2016
-
-
Robbert Krebbers authored
The non applied one should be only parsing.
-
Ralf Jung authored
-
- Feb 19, 2016
-
-
Robbert Krebbers authored
-
- Feb 18, 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 ⊆).
-
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.
-
Ralf Jung authored
-
- Feb 16, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
Now that there is more of it, it deserves its own place :).
-