stdpp merge requestshttps://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests2020-05-07T14:13:20Zhttps://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/158add map_Forall_lookup2020-05-07T14:13:20ZRalf Jungjung@mpi-sws.orgadd map_Forall_lookupI was just searching for this lemma for at least 5 minutes until I realized that this is the definition of `map_Forall` -- usually our definitions are such that just `Print`ing stuff doesn't actually get me anywhere useful.
I think it w...I was just searching for this lemma for at least 5 minutes until I realized that this is the definition of `map_Forall` -- usually our definitions are such that just `Print`ing stuff doesn't actually get me anywhere useful.
I think it would be good for a lemma like this to show up in `Search` results.https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/157tactics.v: Fix parsing precedence for `select` tactic2020-05-06T20:04:57ZPaolo G. Giarrussotactics.v: Fix parsing precedence for `select` tactichttps://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/156Alternative take on #153: fix `le` in future versions of Coq2020-05-07T11:20:16ZRobbert KrebbersAlternative take on #153: fix `le` in future versions of CoqThis should provide compatibility for https://github.com/coq/coq/pull/12162
Other changes:
- Use `Arith` instead of `NPeano`, since the latter is deprecated. While it may also be possible to import `NPeano`, numbers export `PArith NAri...This should provide compatibility for https://github.com/coq/coq/pull/12162
Other changes:
- Use `Arith` instead of `NPeano`, since the latter is deprecated. While it may also be possible to import `NPeano`, numbers export `PArith NArith ZArith`, so it seemed logical to also export `Arith`.
- Add test to check for correct version of `le`.https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/155Add Countable instances for byte2020-05-12T17:53:49ZTej Chajedtchajed@gmail.comAdd Countable instances for bytehttps://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/154Add Countable instance for Ascii.ascii2020-05-01T15:01:36ZTej Chajedtchajed@gmail.comAdd Countable instance for Ascii.asciihttps://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/153overlay for coq/coq#121622020-05-07T11:20:25ZOlivier Laurentoverlay for coq/coq#12162The PR [coq/coq#12162](https://github.com/coq/coq/pull/12162) renames `Bool.leb` into `Bool.le` which is more coherent with the rest of the standard library since it has type `bool -> bool -> Prop`.
This generates possible clashes with `...The PR [coq/coq#12162](https://github.com/coq/coq/pull/12162) renames `Bool.leb` into `Bool.le` which is more coherent with the rest of the standard library since it has type `bool -> bool -> Prop`.
This generates possible clashes with `Nat.le` or `Peano.le` so that additional qualification is required.https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/152notation for forall2020-05-27T21:51:21ZGregory Malechanotation for forallhttps://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/151fix imap_seq and imap_seq0 to make them useful2020-04-23T12:57:45ZMichael Sammlerfix imap_seq and imap_seq0 to make them usefulI think I made a mistake when I originally upstreamed these lemmas. Now they are more generic and thus actually useful.I think I made a mistake when I originally upstreamed these lemmas. Now they are more generic and thus actually useful.https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/150WIP: rework of naive_solver after discussion with Robbert2020-05-01T17:22:55ZMichael SammlerWIP: rework of naive_solver after discussion with RobbertThis is a slightly reworked version of `naive_solver`, which hopefully fails faster. @robbertkrebbers What do you think? What would be other kinds of goals I should try this version on?This is a slightly reworked version of `naive_solver`, which hopefully fails faster. @robbertkrebbers What do you think? What would be other kinds of goals I should try this version on?https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/149Add a way to disable typeclass search in `Program` obligations2020-11-03T12:13:26ZPaolo G. GiarrussoAdd a way to disable typeclass search in `Program` obligationsFrom the coqdoc of the new feature:
```coq
(** When using [Program], you can use [notc_hole] in place of [_] to create
an obligation that does not trigger typeclass search. That is useful if the
search fails slowly, for instance for [Pro...From the coqdoc of the new feature:
```coq
(** When using [Program], you can use [notc_hole] in place of [_] to create
an obligation that does not trigger typeclass search. That is useful if the
search fails slowly, for instance for [Proper] obligations.
Should https://github.com/coq/coq/issues/12147 be fixed, this can be
deprecated or replaced by the new syntax. *)
```
#### Rationale for inclusion
I think https://github.com/coq/coq/issues/12147 is potentially bad enough that it could belong in stdpp. I haven't found very compelling usecases in iris: in part, you already avoid writing `Program Definition foo ...: A -n> B`, at the cost of more boilerplate.
See also: discussion from https://mattermost.mpi-sws.org/iris/pl/r885z6apefr9bjpuctczruogrr onwards.https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/148Create HintDBs with the discriminated option2020-04-23T09:16:19ZMichael SammlerCreate HintDBs with the discriminated optionAccording to the documentation
https://coq.inria.fr/distrib/current/refman/proof-engine/tactics.html#coq:cmd.create-hintdb,
when creating a hint database without discrimination, Coq uses the
legacy implementation, which only uses Discrim...According to the documentation
https://coq.inria.fr/distrib/current/refman/proof-engine/tactics.html#coq:cmd.create-hintdb,
when creating a hint database without discrimination, Coq uses the
legacy implementation, which only uses Discrimination Trees for goals
without evars and does not use opaqueness information. This commit
switches the hint databases of stdpp to the new implementation.https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/147Add filter_app lemma2020-04-17T19:46:33ZTej Chajedtchajed@gmail.comAdd filter_app lemmahttps://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/146Add `ProofIrrel ()`2020-04-16T14:00:35ZPaolo G. GiarrussoAdd `ProofIrrel ()`This instance might seem odd, but `ProofIrrel` takes a `Type` and not a `Prop`,
and stdpp already has instances for products.This instance might seem odd, but `ProofIrrel` takes a `Type` and not a `Prop`,
and stdpp already has instances for products.https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/145Add `encode_Z` function to encode element of countable type as `Z`.2020-04-11T10:35:24ZRobbert KrebbersAdd `encode_Z` function to encode element of countable type as `Z`.https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/144Another try at removing strings.length2020-04-11T09:32:46ZMichael SammlerAnother try at removing strings.lengthSee discussion in https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/129
The idea of this version is to have two notations, one which shadows the bad definition `Strings.length` and the other which shadows the bad Notation `List.len...See discussion in https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/129
The idea of this version is to have two notations, one which shadows the bad definition `Strings.length` and the other which shadows the bad Notation `List.length`, which is bad because it is parsing only.https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/143Add tests for equiv notation2020-04-10T05:58:08ZPaolo G. GiarrussoAdd tests for equiv notationExtracted from https://gitlab.mpi-sws.org/iris/iris/-/merge_requests/409.Extracted from https://gitlab.mpi-sws.org/iris/iris/-/merge_requests/409.https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/142Added select and select_revert tactics2021-01-20T11:02:05ZMichael SammlerAdded select and select_revert tacticsAs discussed with @robbertkrebbers
open points:
- [x] Names of the tactics (What are the names in Mtac? @janno )
- [x] Changelog entry?As discussed with @robbertkrebbers
open points:
- [x] Names of the tactics (What are the names in Mtac? @janno )
- [x] Changelog entry?https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/141Extracted list_numbers.v with seq, seqZ, sum_list and max_list2020-04-15T10:44:28ZMichael SammlerExtracted list_numbers.v with seq, seqZ, sum_list and max_listThis is in preparation for adding the `rotate` functions.This is in preparation for adding the `rotate` functions.https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/140Add notation `wn` of weakly normalizing terms; and prove some common theorems about it.2020-04-07T21:20:36ZRobbert KrebbersAdd notation `wn` of weakly normalizing terms; and prove some common theorems about it.Most important common theorem: strongly normalizing → weakly normalizing.Most important common theorem: strongly normalizing → weakly normalizing.https://gitlab.mpi-sws.org/iris/stdpp/-/merge_requests/139Added strings to prelude to fix printing of strings.length2020-04-08T07:28:27ZMichael SammlerAdded strings to prelude to fix printing of strings.lengthThis should hopefully fix `strings.length` showing up in random places. I tested it with iris and RefinedC. Both compile without changes and `length` is no more printed as `strings.length` in RefinedC. See the comment for the reasoning w...This should hopefully fix `strings.length` showing up in random places. I tested it with iris and RefinedC. Both compile without changes and `length` is no more printed as `strings.length` in RefinedC. See the comment for the reasoning why I think this works.