| Age | Commit message (Collapse) | Author |
|
Using Arguments / to deal with volatile definitions
|
|
Removing duplicate clears and turning the warning into an error
|
|
|
|
Removing unused cpo_sort scope
|
|
|
|
|
|
add declare scopes
|
|
|
|
Refactor, reshuffle, and rename sorting lemmas in `path.v`
|
|
|
|
Co-authored-by: Cyril Cohen <CohenCyril@users.noreply.github.com>
|
|
Co-authored-by: Christian Doczkal <christian.doczkal@inria.fr>
|
|
- Lemmas `sorted_(lt|le)_nth` have been renamed to `sorted_(ltn|leq)_nth`.
- Lemmas `(ltn|leq)_index` have been renamed to `sorted_(ltn|leq)_index` and
generalized for non-`eqType`s.
- Lemmas `order_path_min`, `path_sortedE`, `subseq_order_path`, `subseq_sorted`,
`sorted_uniq`, `sorted_eq`, `irr_sorted_eq`, `sorted_(ltn|leq)_nth`, and
`sorted_(ltn|leq)_index` have been relocated since their proofs are
independent from `merge` and `sort`.
- The stability proofs for `iota` sequences (`push_stable`, `pop_stable`, and
`sort_iota_stable`) have been simplified by sorting out their hypotheses and
by redefining `push_invariant` to include the `sorted` condition. Their main
result `sort_iota_stable`, formerly a local `Let` to prove `sort_stable`, has
been turned into a lemma.
- Some stability proofs for general sequences (`sort_stable` and `filter_sort`)
have also been simplified, of which the former one uses the above
`sorted_ltn_nth` lemma for a non-`eqType`.
|
|
Adding size_merge_sort_push
|
|
Intro pattern extensions for dup, swap and apply
|
|
fixes #608
|
|
This documents the fact that `merge_sort_push` preserves an invariant on its second argument.
Importing a statement and proof by Georges Gonthier, inspired by one of Karl Palmskog's contribution.
Co-Authored-By: Karl Palmskog <palmskog@kth.se>
Co-Authored-By: Georges Gonthier <georges.gonthier@inria.fr>
|
|
Maximal rank and full rank row submatrices
|
|
|
|
`comm(Cmx|_mxC)` -> `comm(_scalar_mx|_mx_scalar)`
|
|
Rename `eq_sorted` lemmas to `sorted_eq` and generalize `sort_le_id`
|
|
Fix CHANGELOG entries for #604, #611, and #624
|
|
- Rename `eq_sorted` lemmas to `sorted_eq` to address a naming inconsistency.
- Lemma `sort_le_id` has been generalized from `orderType` to `porderType`.
|
|
- Unindent three entries for #611 and #624 (first part).
- Remove duplicated entries for #604 (second part).
|
|
Adding some theory for `rem` and generalizing and renaming `subset_maskP`
|
|
Replace `exact:` with `apply:` in `Hint Extern` declarations
|
|
Co-authored-by: Kazuhiko Sakaguchi <pi8027@gmail.com>
|
|
|
|
Co-authored-by: Kazuhiko Sakaguchi <pi8027@gmail.com>
|
|
- Added helper lemmas about `rem`: `rem_cons` (to control unfolding),
`remE`, `count_rem`, `count_mem_rem`, and `subseq_mem`.
(New lemma `drop_index` briges the gap between `cat_take_drop` and `remE`).
- `subset_maskP`, which was not released yet is generalized with
hypothesis `(forall x, count_mem x s1 <= count_mem x s2)`, instead of
`uniq s1` and `{subset s1 <= s2}`, the previous behaviour can be
restored with helper lemma `leq_uniq_count`
- Its trivial consequence `subset_subseqP` has been added too.
|
|
since `exact` might call `ssrdone` which calls use of level 0 hints, potentially
causing a loop in some weird cases.
|
|
|
|
Deprecation of iota_add delayed, and not the one of iter_add
|
|
lemmas on `subseq` and `rot`
|
|
Co-authored-by: Cyril Cohen <CohenCyril@users.noreply.github.com>
|
|
|
|
Co-authored-by: Cyril Cohen <CohenCyril@users.noreply.github.com>
Co-authored-by: Kazuhiko Sakaguchi <pi8027@gmail.com>
|
|
|
|
Co-authored-by: Cyril Cohen <CohenCyril@users.noreply.github.com>
|
|
|
|
|
|
|
|
Reorganize, generalize, and add lemmas about `path`, `cycle`, and `sorted`
|
|
New lemmas about allpairs
|
|
Co-authored-by: Kazuhiko Sakaguchi <pi8027@gmail.com>
|
|
|
|
Co-authored-by: Cyril Cohen <CohenCyril@users.noreply.github.com>
|
|
- Add `allss` and `all_mask` lemmas.
- Since `path`, `cycle`, and `sorted` share similar properties, these lemmas
have been relocated in the same place to improve the visibility. Some missing
lemmas have also been discovered and added.
- Generalize `sub_path_in`, `sub_sorted_in`, and `eq_path_in` for non-`eqType` T
by introducing a predicate `P : {pred T}`.
|
|
[CI] Update only/except rules (Add a variable to rebuild mathcomp only for coq-dev)
|
|
Fix changelog
|