| Age | Commit message (Collapse) | Author |
|
* Adding sorting on tuples.
Co-authored-by: Cyril Cohen <CohenCyril@users.noreply.github.com>
|
|
- with special cases for row, column, and diagonal matrices
- we define an order bijection between the indexing of the whole matrix
and the indexing of the blocks to preserve triangularity
|
|
|
|
Adding lemma sumnB
|
|
Drop support for Coq 8.10
|
|
|
|
Co-authored-by: Anton Trunov <anton.a.trunov@gmail.com>
|
|
cf https://stackoverflow.com/questions/61556710
|
|
|
|
- The `deprecate` notation and `iota_add` have been deprecated. All the uses of
the `deprecate` notation have been replaced with the `deprecated` attribute.
- Deprecation aliases in `ssrnat` and `ssrnum` introduced in MathComp 1.11+beta1
have been removed.
- Remove `VDFILE` related hacks from `Makefile.common`.
|
|
|
|
Add `pairwise` predicate and some missing lemmas
|
|
fun_scope
|
|
which asserts that the relation `r` holds for any i-th and j-th element of `xs`
such that i < j.
|
|
|
|
|
|
Co-authored-by: Cyril Cohen <CohenCyril@users.noreply.github.com>
|
|
Add `_in` variants of the sorting lemmas
|
|
Transpose `join_idP(l|r)` lemmas to follow the naming convention
|
|
|
|
|
|
|
|
|
|
- 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
|
|
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>
|
|
|
|
`comm(Cmx|_mxC)` -> `comm(_scalar_mx|_mx_scalar)`
|
|
Rename `eq_sorted` lemmas to `sorted_eq` and generalize `sort_le_id`
|
|
- 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).
|
|
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.
|
|
|
|
Co-authored-by: Cyril Cohen <CohenCyril@users.noreply.github.com>
Co-authored-by: Kazuhiko Sakaguchi <pi8027@gmail.com>
|
|
|
|
|
|
|
|
Reorganize, generalize, and add lemmas about `path`, `cycle`, and `sorted`
|
|
Co-authored-by: Kazuhiko Sakaguchi <pi8027@gmail.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}`.
|
|
|
|
|
|
Generalizing inj_card_onto and inj_card_bij.
|
|
|
|
lemmas for reasoning about "rot n (rot m s)"
|