CohenCyril milestoned Issue #501 Intro pattern extensions for rewrite, dup, swap and apply (assigned to gares):
Motivation for this change
Intro pattern ltac views (rewrite, dup, swap, apply)
- calling rewrite from an intro pattern, use with parsimony
=> /[1 rules]
doesrewrite rules
=> /[-1 rules]
doesrewrite rules
=> /[! rules]
doesrewrite rules
=> /[-! rules]
doesrewrite rules
=> /[? rules]
doesrewrite rules
=> /[-? rules]
doesrewrite rules
=> /[/def]
doesrewrite /def
- top of the stack actions:
=> /apply
does=> hyp {}/hyp
=> /swap
does=> x y; move: y x
(also swap and perserves let bindings)
=> /dup
does=> x; have copy := x; move: copy x
(also copies and preserves let bindings)This is a part of #372, simplified, rewritten and rebased.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] open corresponding PR in Coq to integrate changes from
ssreflect.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril assigned PR #501 Intro pattern extensions for rewrite, dup, swap and apply to gares.
CohenCyril opened PR #501 Intro pattern extensions for rewrite, dup, swap and apply (assigned to gares) from intro_rw
to master
:
Motivation for this change
Intro pattern ltac views (rewrite, dup, swap, apply)
- calling rewrite from an intro pattern, use with parsimony
=> /[1 rules]
doesrewrite rules
=> /[-1 rules]
doesrewrite rules
=> /[! rules]
doesrewrite rules
=> /[-! rules]
doesrewrite rules
=> /[? rules]
doesrewrite rules
=> /[-? rules]
doesrewrite rules
=> /[/def]
doesrewrite /def
- top of the stack actions:
=> /apply
does=> hyp {}/hyp
=> /swap
does=> x y; move: y x
(also swap and perserves let bindings)
=> /dup
does=> x; have copy := x; move: copy x
(also copies and preserves let bindings)This is a part of #372, simplified, rewritten and rebased.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] open corresponding PR in Coq to integrate changes from
ssreflect.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #501 Intro pattern extensions for rewrite, dup, swap and apply (assigned to gares) from intro_rw
to master
:
Motivation for this change
Intro pattern ltac views (rewrite, dup, swap, apply) in order not to break intro patterns for silly rewrites.
- calling rewrite from an intro pattern, use with parsimony
=> /[1 rules]
doesrewrite rules
=> /[-1 rules]
doesrewrite rules
=> /[! rules]
doesrewrite rules
=> /[-! rules]
doesrewrite rules
=> /[? rules]
doesrewrite rules
=> /[-? rules]
doesrewrite rules
=> /[/def]
doesrewrite /def
- top of the stack actions:
=> /apply
does=> hyp {}/hyp
=> /swap
does=> x y; move: y x
(also swap and perserves let bindings)
=> /dup
does=> x; have copy := x; move: copy x
(also copies and preserves let bindings)This is a part of #372, simplified, rewritten and rebased.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] open corresponding PR in Coq to integrate changes from
ssreflect.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #501 Intro pattern extensions for rewrite, dup, swap and apply (assigned to gares) from intro_rw
to master
:
Motivation for this change
Intro pattern ltac views (rewrite, dup, swap, apply) in order not to break intro patterns for silly rewrites.
- calling rewrite from an intro pattern, use with parsimony
=> /[1 rules]
doesrewrite rules
=> /[-1 rules]
doesrewrite rules
=> /[! rules]
doesrewrite rules
=> /[-! rules]
doesrewrite rules
=> /[? rules]
doesrewrite rules
=> /[-? rules]
doesrewrite rules
=> /[/def]
doesrewrite /def
- top of the stack actions:
=> /apply
does=> hyp {}/hyp
=> /swap
does=> x y; move: y x
(also swap and perserves let bindings)
=> /dup
does=> x; have copy := x; move: copy x
(also copies and preserves let bindings)This is a part of #372, simplified, rewritten and rebased.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] open corresponding PR in Coq to integrate changes from
ssreflect.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #501 Intro pattern extensions for rewrite, dup, swap and apply (assigned to gares) from intro_rw
to master
:
Motivation for this change
Intro pattern ltac views (rewrite, dup, swap, apply) in order not to break intro patterns for silly rewrites.
- calling rewrite from an intro pattern, use with parsimony
=> /[1 rules]
doesrewrite rules
=> /[-1 rules]
doesrewrite rules
=> /[! rules]
doesrewrite rules
=> /[-! rules]
doesrewrite rules
=> /[? rules]
doesrewrite rules
=> /[-? rules]
doesrewrite rules
=> /[/def]
doesrewrite /def
- top of the stack actions:
=> /apply
does=> hyp {}/hyp
=> /swap
does=> x y; move: y x
(also swap and perserves let bindings)
=> /dup
does=> x; have copy := x; move: copy x
(also copies and preserves let bindings)This is a part of #372, simplified, rewritten and rebased.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] open corresponding PR in Coq to integrate changes from
ssreflect.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril opened PR #502 Intro discharge subst from intro_discharge_subst
to master
:
Motivation for this change
Adding to intro pattern: discharge in and rewrite in.
Working syntax/[: x @y z]
, (limited to three variables)
and/[-> in x0 .. x6]
, and/[<- in x0 .. x6]
(limited to seven variables).Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] pull request in Coq with the final proposition.
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #502 Intro discharge subst from intro_discharge_subst
to master
:
Motivation for this change
Adding to intro pattern: discharge in and rewrite in.
Working syntax/[: x @y z]
, (limited to three variables)
and/[-> in x0 .. x6]
, and/[<- in x0 .. x6]
(limited to seven variables).(This is another simplified part of #377, and sequel of #501)
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] merge of dependency #501
- [ ] pull request in Coq with the final proposition.
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #502 Intro discharge subst from intro_discharge_subst
to master
:
Motivation for this change
Adding to intro pattern: discharge in and rewrite in.
Working syntax/[: x @y z]
, (limited to three variables)
and/[-> in x0 .. x6]
, and/[<- in x0 .. x6]
(limited to seven variables).(This is a sequel of #501, which should close #372)
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] merge of dependency #501
- [ ] pull request in Coq with the final proposition.
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
amahboubi:
CohenCyril edited PR #501 Intro pattern extensions for rewrite, dup, swap and apply (assigned to gares) from intro_rw
to master
:
Motivation for this change
Intro pattern ltac views (rewrite, dup, swap, apply) in order not to break intro patterns for silly rewrites.
- calling rewrite from an intro pattern, use with parsimony
=> /[1 rules]
doesrewrite rules
=> /[-1 rules]
doesrewrite -rules
=> /[! rules]
doesrewrite !rules
=> /[-! rules]
doesrewrite -!rules
=> /[? rules]
doesrewrite ?rules
=> /[-? rules]
doesrewrite -?rules
=> /[/def]
doesrewrite /def
- top of the stack actions:
=> /apply
does=> hyp {}/hyp
=> /swap
does=> x y; move: y x
(also swap and perserves let bindings)
=> /dup
does=> x; have copy := x; move: copy x
(also copies and preserves let bindings)This is a part of #372, simplified, rewritten and rebased.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] open corresponding PR in Coq to integrate changes from
ssreflect.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril:
chdoc opened PR #503 closed/closure for non-symmetric relations from fix-closure
to master
:
Motivation for this change
Adapt the definitions of
closed
andclosure
so that they apply to general relations (i.e., those for whichconnect_sym
does not hold.Resolves #466
Observation: for mathcomp, no changes are required outside of
fingraph.v
.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] check impact on dependent libraries (in particular fourcolor)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 opened PR #504 Revise proofs in ssreflect/*.v from selectors
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
This PR reduces
- use of numerical occurrence selectors (#436) and
- use of non ssreflect tactics such as
auto
,and improves use of comparison predicates such as
posnP
,leqP
,ltnP
,ltngtP
, andeqVneq
.Things done/to do
<!-- please fill in the following checklist -->
- ~[ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #504 Revise proofs in ssreflect/*.v from selectors
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
This PR reduces
- use of numerical occurrence selectors (#436) and
- use of non ssreflect tactics such as
auto
,and improves use of comparison predicates such as
posnP
,leqP
,ltnP
,ltngtP
, andeqVneq
.Things done/to do
<!-- please fill in the following checklist -->
- ~[ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
MrSet opened Issue #505 Suggestions for various additions to seq.v, ssrnat.v and order.v:
Hi,
I have been using math-comp for a while and have by doing so created a few lemmas which I thought might be useful for others than just me.I would like opinions on if you think that some of the Lemmas should be submitted in a PR. Before submitting such a PR I will, of course, try to make the naming-conventions and phrasings adhere to the
contributing.md
specifications. I have excluded proofs as I for the moment being only are interested in knowing whether you find the lemmas relevant or not.It might very well be that some of the content already is and math-comp and I simply have not been able to locate it. Any comments/suggestions are welcome!
Suggestions for
seq.v
Addition of a find-first-option function
I suggest to add the following function to
seq.v
as right now there is only an indexing function to get the first element that fullfills a predicate from a list. Also, this function ensures that it is actually the first element that fulfills the predicate that is returned (i have founds this useful for constructing proofs).Fixpoint findo {T : Type} (p : ssrbool.pred T) (s : seq T) := if s is x :: xs then if p x then Some x else findo p xs else None. Lemma findo_has {T : Type} (p : ssrbool.pred T) (s : seq T) : ((findo p s) : bool) = has p s. Lemma perm_findo {T : eqType} (p : ssrbool.pred T) (s1 s2 : seq T): perm_eq s1 s2 -> (findo p s1 : bool) = (findo p s2 : bool). Lemma mem_findo {T : eqType} (p : ssrbool.pred T) (s1 s2 : seq T): s1 =i s2 -> (findo p s1 : bool) = (findo p s2 : bool). Lemma findoP {T : eqType} (p : ssrbool.pred T) (s : seq T) (x : T): reflect (exists s1 s2, s1 ++ [:: x] ++ s2 = s /\ p x /\ all (predC p) s1) ((Some x) == (findo p s)). Lemma findo_pred {T : eqType} (p : ssrbool.pred T) (s : seq T) (x : T) : (findo p s) = Some x -> p x. Lemma findo_mem {T : eqType} (p : ssrbool.pred T) (s : seq T) (x : T) : Some x = findo p s -> x \in s.
Also I suggest to add an function that finds the last element of a list that satisfies some predicate.
Definition rfindo {T : Type} (p : ssrbool.pred T) (s : seq T) := findo p (rev s). Lemma rfindo_has {T : Type} (p : ssrbool.pred T) (s : seq T) : ((rfindo p s) : bool) = has p s. Lemma rfindoP {T : Type} (p : ssrbool.pred T) (s : seq T) : reflect (exists s1 s2 x, s1 ++ [:: x] ++ s2 = s /\ p x /\ all (predC p) s2) (rfindo p s).
Subset lemmas
Lemma subset_trans {T : eqType} (s1 s2 s3 : seq T) : {subset s1 <= s2} -> {subset s2 <= s3} -> {subset s1 <= s3}. Lemma subset_all {T : eqType} p (s1 s2 : seq T) : {subset s1 <= s2} -> all p s2 -> all p s1. Lemma subset_cons {T : eqType} (s: seq T) (x : T): {subset s <= x:: s}. Lemma subset_cons2 {T : eqType} (s1 s2: seq T) (x : T): {subset s1 <= s2} -> {subset x::s1 <= x:: s2}. Lemma subset_catl {T : eqType} (s s': seq T): {subset s <= s' ++ s}. Lemma subset_catr {T : eqType} (s s': seq T): {subset s <= s' ++ s}. Lemma subset_cat2 {T : eqType} (s1 s2 s3: seq T): {subset s1 <= s2} -> {subset s3 ++ s1 <= s3 ++ s2}. Lemma filter_subset {T : eqType} p (s : seq T) : {subset [seq a <- s | p a] <= s}. Lemma subset_filter {T : eqType} p (s1 s2 : seq T) : {subset s1 <= s2} -> {subset [seq a <- s1 | p a] <= [seq a <- s2 | p a]}. Lemma map_subset {T1 T2 : eqType} (s1 s2 : seq T1) (f : T1 -> T2) : {subset s1 <= s2} -> {subset [seq f x | x <- s1 ] <= [seq f x | x <- s2]}.
Membership equality
Lemma map_mem_eq {T A : eqType} (f : T -> A) (s1 s2 : seq T) : s1 =i s2 -> [seq f a | a <- s1 ] =i [seq f a | a <- s2]. Lemma filter_mem_eq {T : eqType} p (s1 s2 : seq T) : s1 =i s2 -> [seq a <- s1 | p a] =i [seq a <- s2 | p a].
Various
All of these are fairly obvious but is handy to have when proving other stuff.
Lemma inP {T : eqType} (s : seq T) a : reflect (exists s' s'', s = s' ++ (a :: s'')) (a \in s). Lemma map_map {A B C : Type} (f : A -> B) (g : B -> C) (s : seq A): [seq g x | x <- [seq f x | x <- s] ] = [seq g (f x) | x <- s]. Lemma cat_injr {T : Type} (s : seq T) : injective (cat s). Lemma cat_injl {T : Type} (s : seq T) : injective (cat^~ s). Lemma ohead_cat_some {T : Type} (a b : seq T) x : ohead a = Some x -> ohead a = ohead (a ++ b). Lemma all_count0 {T: Type} (p : ssrbool.pred T) (s : seq T): count p s == 0 = all (predC p) s. Lemma perm_rem {T : eqType} (x : T) (s1 s2 : seq T) : perm_eq s1 s2 -> perm_eq (rem x s1) (rem x s2).
Suggestions for
ssrnat.v
These follow immediately by the corresponding lemmas for
ltn
, but I find them use to have specialized as these can easier be found by searching.Lemma gtn_trans : transitive gtn. Lemma gtn_irr : irreflexive gtn.
Also: Is there any reason why the irreflextivity lemma of
ltn
is namedltnn
and does not use theirreflexive
construction?I also wondered if the following should be provided:
Lemma addn_injl n: injective (addn^~ n). Lemma addn_injr n: injective (addn n).
I also wondered why there is a lemma called
leq_ltn_trans
but not the symmetric one:Lemma ltn_leq_trans n m p : m < n -> n <= p -> m < p.
Suggestions for
order.v
I have also my self found it useful to have sequences of equality types as a meet-semi-lattice, ordered by the suffix-relation and with longest-common-suffix as meet.
In general, I think that is reasonable to include the suffix predicate in
seq.v
(excluding the notation)?Fixpoint suffix {T : eqType} (s1 s2 : seq T) : bool := (s1 == s2) || if s2 is (x :: xs) then suffix s1 xs else false. Lemma suffix_rec {T : eqType} (s1 s2 : seq T) : suffix s1 s2 = (s1 == s2) || suffix s1 s2. Notation "a ⪯ b" := (suffix a b) (at level 20). Lemma suffix_refl {T : eqType} : reflexive (@suffix T). Lemma suffixP {T : eqType} (s1 s2 : seq T) : reflect (exists xs, xs ++ s1 = s2) (s1 ⪯ s2). Lemma suffix_catl {T : eqType} (xs ys : seq T) : xs ⪯ (ys ++ xs). Lemma suffix_trans {T : eqType} : transitive (@suffix T). Lemma suffix_anti {T : eqType} : antisymmetric (@suffix T). Lemma suffix_nil {T : eqType} (s : seq T) : [::] ⪯ s. Fixpoint lcs {T : eqType} (s1 s2 : seq T) : seq T := if s1 ⪯ s2 then s1 else if s1 is x :: xs then lcs xs s2 else [::]. Lemma lcs_suffix {T : eqType} (s1 s2 : seq T) : lcs s1 s2 ⪯ s1 && lcs s1 s2 ⪯ s2. Lemma lcsP {T : eqType} (s s1 s2 : seq T) : s ⪯ s1 && s ⪯ s2 = s ⪯ lcs s1 s2. Lemma lcsC {T : eqType} : commutative (@lcs T). Lemma lcsA {T : eqType} : associative (@lcs T). Lemma lcsss {T : eqType} : idempotent (@lcs T).
Should I suggest this to #464 or make it a separate PR?
Random
I often find my self trying to prove a goal of the form:
(true -> B) -> A
, where it somehow follows from the context thatB -> A
. In these situations, I find it useful to use the following lemma instead of doingmove/(_ (eq_refl true))
to get rid of thetrue
.Lemma trueI (A : Type) : (true -> A) -> A.
Also: I needed the following at some point and couldn't find it:
Lemma predIC {T : Type} (p1 p2 : ssrbool.pred T): predI p1 p2 =1 predI p2 p1.
CohenCyril:
anton-trunov opened PR #506 ssrnat: add subnA, addnCB, addnCAC, addnAl lemmas from ssrnat-extra-assoc-lemmas
to master
:
Motivation for this change
This PR addresses issue #212 by adding some lemmas about natural numbers.
subnA
: the name was suggested by @CohenCyril in this comment;addnCAC
: I call this "central commutativity", hence the name, but I'm happy to change it to anything else (this applies to any name in this PR);addnAl
: "left cyclic associativity" (right cyclic associativity is just commutativity in this case);addnCB
: can be proved alsoby rewrite [RHS]addnC -!maxnE maxnC.
, butmaxn
is defined later in the file; I'd like to add this for the sake of completeness (I only needed it once) and because I've seen more ~five bright students to believe this wasn't provable.I find
addnCAC
andaddnAl
sometimes convenient because having them in the library might save several rewrites once in a while.I'm open to suggestions (including removing some of this PR's lemmas altogether). Thank you for your time.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
anton-trunov edited PR #506 ssrnat: add subnA, addnCB, addnCAC, addnAl lemmas from ssrnat-extra-assoc-lemmas
to master
:
Motivation for this change
This PR addresses issue #212 by adding some lemmas about natural numbers.
subnA
: the name was suggested by @CohenCyril in this comment;addnCAC
: I call this "central commutativity", hence the name, but I'm happy to change it to anything else (this applies to any name in this PR);addnAl
: "left cyclic associativity" (right cyclic associativity is just commutativity in this case);addnCB
: can be proved alsoby rewrite [RHS]addnC -!maxnE maxnC.
, butmaxn
is defined later in the file; I'd like to add this for the sake of completeness (I only needed it once) and because I've seen more ~five bright students to believe this wasn't provable (I'm not saying this should be a reason to include this lemma into the library, though).I find
addnCAC
andaddnAl
sometimes convenient because having them in the library might save several rewrites once in a while.I'm open to suggestions (including removing some of this PR's lemmas altogether). Thank you for your time.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 opened PR #507 Add more test cases for higher-order recursive functions in seq.v w.r.t. the guard condition from test-guard-cond
to master
:
Motivation for this change
This PR adds some test cases in
test_suite/test_guard.v
which I promised to do in https://github.com/math-comp/math-comp/pull/471#issuecomment-611521366.<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- ~[ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #507 Add more test cases for higher-order recursive functions in seq.v w.r.t. the guard condition from test-guard-cond
to master
:
Motivation for this change
This PR adds some test cases in
test_suite/test_guard.v
which I promised to do in https://github.com/math-comp/math-comp/pull/471#issuecomment-611521366. Currently, test cases forfind
,filter
,count
,pmap
,pairmap
,scanl
are missing.<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- ~[ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc opened Issue #508 mem_imset mem_map naming/statement inconsistency:
while cleaning, I noticed the following oddity:
Lemma mem_imset (aT rT : finType) (f : aT -> rT) (D : {pred aT}) (x : aT) : x \in D -> f x \in [set f x | x in D] Lemma map_f (T1 T2 : eqType) (f : T1 -> T2) (s : seq T1) (x : T1) : x \in s -> f x \in [seq f i | i <- s] Lemma mem_map (T1 T2 : eqType) (f : T1 -> T2), injective f -> forall (s : seq T1) (x : T1), (f x \in [seq f i | i <- s]) = (x \in s)
Wouldn't it be more consistent to rename
mem_imset
toimset_f
and add the following lemma:Lemma mem_imset (aT rT : finType) (f : aT -> rT) (A : {set aT}) (x : aT) : injective f -> (f x \in f @: A) = (x \in A).
chdoc opened PR #509 Card lemmas from card-lemmas
to master
:
Motivation for this change
Additional lemmas about cardinalities of predicates and sets. Mainly picking
n
distinct elements for an a predicate withn <= #|A|
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #509 Card lemmas.
CohenCyril created PR Review Comment on #509 Card lemmas:
In thought I did that one when I added
fintype_le1P
tomorrow. :laughing: I will double check tomorrow, if I forgot to push something.
CohenCyril submitted PR Review for #509 Card lemmas.
CohenCyril created PR Review Comment on #509 Card lemmas:
Nice one to have indeed, I think there is a lot of refactoring to do with all the
card_*
lemma you added, throughenum
(which isuniq
which size is the cardinal of the considered set). Indeed, I thinkcard_eqP
would be almost a one liner andcard_geqP
, andcards2P
is a simple twice case analysis (the main step being something likecase: (enum A) (enum_uniq A) (size_enum ...) => [|x [|y []//]
; exists x; exists y). I also think it would be nice to have le/lt variants and
pred` variants.
CohenCyril edited PR Review Comment on #509 Card lemmas.
CohenCyril edited PR Review Comment on #509 Card lemmas.
CohenCyril edited PR Review Comment on #509 Card lemmas.
CohenCyril edited PR Review Comment on #509 Card lemmas.
CohenCyril opened Issue #510 Filling as many holes as convenient for lemma composition:
Hi @math-comp/core, @pi8027, @chdoc, @erikmd, @anton-trunov and everyone else (sorry for my non-exhaustivity)...
When combining lemmas in a high-order way, (e.g.
can_inj
,le_trans
, ...) the leafs of the term that I build are often of the form(my_thm _ _ _ _)
, which makes it harder to read and write: my personal methodology varies fromAbout
to "wildguessing and adjusting". The nice exceptions are some well adjustedreflect
lemmas, which often have all arguments butreflect
hypotheses as maximal implicits, which means they can either be used combined with otherreflect
(as such), or used as a simple implication (by performing a single application without@
).I was wondering if we could deal with
cancel
, inequalities and the like in some way... Since we sometimes need to provide arguments and sometimes not, we cannot simply put everything as maximal implicits. So what about using a symbol, let's say%
for the example, to denote _"fill as many holes as needed if I am going to compose"_?
That way,
can_inj (@opprK _)
could becan_inj %opprK
ler_trans _ (ler_norm_sub _ _)
could beler_trans _ %ler_norm_sub
- ...
A simple implementation that comes to mind with
Notation
will naturally impose that in such cases we always need the same number of filled holes... which may be a good enough approximation?
I this case I am still wondering how we could do that without adding manuallyNotation "%stuff" = (@stuff _ _ _).
everywhere in the library (maybe an attribute?).Another (more robust?) implementation would be to modify Coq's pretyper...
Does someone have other ideas that would solve the same problem? (Both in terms of specification or implementation of this issue.)
CohenCyril edited Issue #510 Filling as many holes as convenient for lemma composition:
Hi @math-comp/core, @pi8027, @chdoc, @erikmd, @anton-trunov and everyone else (sorry for my non-exhaustivity)...
When combining lemmas in a high-order way, (e.g.
can_inj
,le_trans
, ...) the leafs of the term that I build are often of the form(my_thm _ _ _ _)
, which makes it hard to read and write: my personal methodology varies fromAbout
to "wildguessing and adjusting". The nice exceptions are some well adjustedreflect
lemmas, which often have all arguments butreflect
hypotheses as maximal implicits, which means they can either be used combined with otherreflect
(as such), or used as a simple implication (by performing a single application without@
).I was wondering if we could deal with
cancel
, inequalities and the like in some way... Since we sometimes need to provide arguments and sometimes not, we cannot simply put everything as maximal implicits. So what about using a symbol, let's say%
for the example, to denote _"fill as many holes as needed if I am going to compose"_?
That way,
can_inj (@opprK _)
could becan_inj %opprK
ler_trans _ (ler_norm_sub _ _)
could beler_trans _ %ler_norm_sub
- ...
A simple implementation that comes to mind with
Notation
will naturally impose that in such cases we always need the same number of filled holes... which may be a good enough approximation?
I this case I am still wondering how we could do that without adding manuallyNotation "%stuff" = (@stuff _ _ _).
everywhere in the library (maybe an attribute?).Another (more robust?) implementation would be to modify Coq's pretyper...
Does someone have other ideas that would solve the same problem? (Both in terms of specification or implementation of this issue.)
CohenCyril edited Issue #510 Filling as many holes as convenient for lemma composition:
Hi @math-comp/core, @pi8027, @chdoc, @erikmd, @anton-trunov and everyone else (sorry for my non-exhaustivity)...
When combining lemmas in a high-order way, (e.g.
can_inj
,le_trans
, ...) the leafs of the term that I build are often of the form(my_thm _ _ _ _)
, which makes it hard to read and write: my personal methodology varies fromAbout
to "wildguessing and adjusting". The nice exceptions are some well adjustedreflect
lemmas, which often have all arguments butreflect
hypotheses as maximal implicits, which means they can either be combined with otherreflect
(as such), or used as a simple implication (by performing a single application without@
).I was wondering if we could deal with
cancel
, inequalities and the like in some way... Since we sometimes need to provide arguments and sometimes not, we cannot simply put everything as maximal implicits. So what about using a symbol, let's say%
for the example, to denote _"fill as many holes as needed if I am going to compose"_?
That way,
can_inj (@opprK _)
could becan_inj %opprK
ler_trans _ (ler_norm_sub _ _)
could beler_trans _ %ler_norm_sub
- ...
A simple implementation that comes to mind with
Notation
will naturally impose that in such cases we always need the same number of filled holes... which may be a good enough approximation?
I this case I am still wondering how we could do that without adding manuallyNotation "%stuff" = (@stuff _ _ _).
everywhere in the library (maybe an attribute?).Another (more robust?) implementation would be to modify Coq's pretyper...
Does someone have other ideas that would solve the same problem? (Both in terms of specification or implementation of this issue.)
CohenCyril edited Issue #510 Filling as many holes as convenient for lemma composition:
Hi @math-comp/core, @pi8027, @chdoc, @erikmd, @anton-trunov and everyone else (sorry for my non-exhaustivity)...
When combining lemmas in a high-order way, (e.g.
can_inj
,le_trans
, ...) the leafs of the term that I build are often of the form(my_thm _ _ _ _)
, which makes it hard to read and write: my personal methodology varies fromAbout
to "wildguessing and adjusting". The nice exceptions are some well adjustedreflect
lemmas, which often have all arguments butreflect
hypotheses as maximal implicits, which means they can either be combined with otherreflect
(as such), or used as a simple implication (by performing a single application without@
).I was wondering if we could deal with
cancel
, inequalities and the like in some way... Since we sometimes need to provide arguments and sometimes not, we cannot simply put everything as maximal implicits. So what about using a symbol, let's say%
for the example, to denote _"fill as many holes as needed if I am going to compose"_?
That way,
can_inj (@opprK _)
could becan_inj %opprK
ler_trans _ (ler_norm_sub _ _)
could beler_trans _ %ler_norm_sub
- ...
Now
A simple implementation that comes to mind with
Notation
will naturally impose that in such cases we always need the same number of filled holes... which may be a good enough approximation?
I this case I am still wondering how we could do that without adding manuallyNotation "%stuff" = (@stuff _ _ _).
everywhere in the library (maybe an attribute?).Another (more robust?) implementation would be to modify Coq's pretyper...
Does someone have other ideas that would solve the same problem? (Both in terms of specification or implementation of this issue.)
CohenCyril edited Issue #510 Filling as many holes as convenient for lemma composition:
Hi @math-comp/core, @pi8027, @chdoc, @erikmd, @anton-trunov and everyone else (sorry for my non-exhaustivity)...
When combining lemmas in a high-order way, (e.g.
can_inj
,le_trans
, ...) the leafs of the term that I build are often of the form(my_thm _ _ _ _)
, which makes it hard to read and write: my personal methodology varies fromAbout
to "wildguessing and adjusting". The nice exceptions are some well adjustedreflect
lemmas, which often have all arguments butreflect
hypotheses as maximal implicits, which means they can either be combined with otherreflect
(as such), or used as a simple implication (by performing a single application without@
).I was wondering if we could deal with
cancel
, inequalities and the like in some way... Since we sometimes need to provide arguments and sometimes not, we cannot simply put everything as maximal implicits. So what about using a symbol, let's say%
for the example, to denote _"fill as many holes as needed if I am going to compose"_?
That way,
can_inj (@opprK _)
could becan_inj %opprK
ler_trans _ (ler_norm_sub _ _)
could beler_trans _ %ler_norm_sub
- ...
Implementation-wise,
A simple implementation that comes to mind with
Notation
will naturally impose that in such cases we always need the same number of filled holes... which may be a good enough approximation?
I this case I am still wondering how we could do that without adding manuallyNotation "%stuff" = (@stuff _ _ _).
everywhere in the library (maybe an attribute?).Another (more robust?) implementation would be to modify Coq's pretyper...
Does someone have other ideas that would solve the same problem? (Both in terms of specification or implementation of this issue.)
CohenCyril opened PR #511 adding default nix shell from nix
to master
:
Motivation for this change
Adding a default nix-shell.
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited Issue #510 Filling as many holes as convenient for lemma composition:
Hi @math-comp/core, @pi8027, @chdoc, @erikmd, @anton-trunov and everyone else (sorry for my non-exhaustivity)...
When combining lemmas in a high-order way, (e.g.
can_inj
,le_trans
, ...) the leafs of the term that I build are often of the form(my_thm _ _ _ _)
, which makes it hard to read and write: my personal methodology varies fromAbout
to "wildguessing and adjusting". The nice exceptions are some well adjustedreflect
lemmas, which often have all arguments butreflect
hypotheses as maximal implicits, which means they can either be combined with otherreflect
(as such), or used as a simple implication (by performing a single application without@
).I was wondering if we could deal with
cancel
, inequalities and the like in some way... Since we sometimes need to provide arguments and sometimes not, we cannot simply put everything as maximal implicits. So what about using a symbol, let's say%
for the example, to denote _"fill as many holes as needed if I am going to compose"_?
That way,
can_inj (mulrK _)
could becan_inj %mulrK
ler_trans _ (ler_norm_sub _ _)
could beler_trans _ %ler_norm_sub
- ...
Implementation-wise,
A simple implementation that comes to mind with
Notation
will naturally impose that in such cases we always need the same number of filled holes... which may be a good enough approximation?
I this case I am still wondering how we could do that without adding manuallyNotation "%stuff" = (@stuff _ _ _).
everywhere in the library (maybe an attribute?).Another (more robust?) implementation would be to modify Coq's pretyper...
Does someone have other ideas that would solve the same problem? (Both in terms of specification or implementation of this issue.)
affeldt-aist requested affeldt-aist for a review on PR #504 Revise proofs in ssreflect/*.v.
ybertot requested ybertot for a review on PR #504 Revise proofs in ssreflect/*.v.
affeldt-aist requested ybertot and affeldt-aist for a review on PR #504 Revise proofs in ssreflect/*.v.
affeldt-aist assigned PR #504 Revise proofs in ssreflect/*.v.
affeldt-aist milestoned Issue #504 Revise proofs in ssreflect/*.v (assigned to affeldt-aist):
Motivation for this change
<!-- please explain your reason for doing this change -->
This PR reduces
- use of numerical occurrence selectors (#436) and
- use of non ssreflect tactics such as
auto
,and improves use of comparison predicates such as
posnP
,leqP
,ltnP
,ltngtP
, andeqVneq
.Things done/to do
<!-- please fill in the following checklist -->
- ~[ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist milestoned Issue #509 Card lemmas:
Motivation for this change
Additional lemmas about cardinalities of predicates and sets. Mainly picking
n
distinct elements for an a predicate withn <= #|A|
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist milestoned Issue #507 Add more test cases for higher-order recursive functions in seq.v w.r.t. the guard condition:
Motivation for this change
This PR adds some test cases in
test_suite/test_guard.v
which I promised to do in https://github.com/math-comp/math-comp/pull/471#issuecomment-611521366. Currently, test cases forfind
,filter
,count
,pmap
,pairmap
,scanl
are missing.<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- ~[ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist milestoned Issue #506 ssrnat: add subnA, addnCB, addnCAC, addnAl lemmas:
Motivation for this change
This PR addresses issue #212 by adding some lemmas about natural numbers.
subnA
: the name was suggested by @CohenCyril in this comment;addnCAC
: I call this "central commutativity", hence the name, but I'm happy to change it to anything else (this applies to any name in this PR);addnAl
: "left cyclic associativity" (right cyclic associativity is just commutativity in this case);addnCB
: can be proved alsoby rewrite [RHS]addnC -!maxnE maxnC.
, butmaxn
is defined later in the file; I'd like to add this for the sake of completeness (I only needed it once) and because I've seen more ~five bright students to believe this wasn't provable (I'm not saying this should be a reason to include this lemma into the library, though).I find
addnCAC
andaddnAl
sometimes convenient because having them in the library might save several rewrites once in a while.I'm open to suggestions (including removing some of this PR's lemmas altogether). Thank you for your time.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist milestoned Issue #499 contra lemmas involving propositions:
Motivation for this change
Various forms of contraposition are constructively provable and having a collection of lemmas whose naming is consistent with the
contra
lemmas already in mathcomp makes it easier and more idiomatic to use them.fixes #491
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers (
contra
lemmas have no header documentation)- [ ] Coq side pull request to launch propagation to
Coq.ssr.ssrbool
- [ ] find places within mathcomp where these should be used (optional)
<!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist milestoned Issue #210 The vector space of bounded degree polynomials:
Includes a decidable predicate for irreducibly of polynomials of
bounded size over a finite field, and the'X^i
and lagrange basis.
- [x] update ChangeLog
- [ ] update
Make
andall_
- [x] merge dependency #209
affeldt-aist:
chdoc submitted PR Review for #509 Card lemmas.
chdoc created PR Review Comment on #509 Card lemmas:
I'm not sure I follow. There is no
card_eqP
(yet) and indeed I'm not sure that would be useful, sinceenum A
has already good lemma support. Andcard_geqP
is about encapsulating the picking of a subsequence ofenum A
, if one only has a lower bound.
Admittedly, using the_gt?P
lemmas to provecards2P
may be overkill.
affeldt-aist submitted PR Review for #504 Revise proofs in ssreflect/*.v.
affeldt-aist submitted PR Review for #504 Revise proofs in ssreflect/*.v.
ybertot submitted PR Review for #504 Revise proofs in ssreflect/*.v.
ybertot created PR Review Comment on #504 Revise proofs in ssreflect/*.v:
In other contexts you would write
-[RHS]partnT // ...
would it be suitable here?
ybertot submitted PR Review for #504 Revise proofs in ssreflect/*.v.
CohenCyril submitted PR Review for #509 Card lemmas.
CohenCyril created PR Review Comment on #509 Card lemmas:
Here is an elaboration of what I had in mind:
Lemma set_enum A : [set x | x \in enum A] = A. Proof. by apply/setP => x; rewrite inE mem_enum. Qed. Variant cards_eq_spec A : seq T -> {set T} -> nat -> Type := | CardEq (s : seq T) & uniq s : cards_eq_spec A s [set x | x \in s] (size s). Lemma cards_eqP A : cards_eq_spec A (enum A) A #|A|. Proof. by move: (enum A) (cardE A) (set_enum A) (enum_uniq A) => s -> <-; constructor. Qed. Lemma cards1P A : reflect (exists x, A = [set x]) (#|A| == 1). Proof. apply: (iffP idP) => [|[x ->]]; last by rewrite cards1. have [[|x []]// _] := cards_eqP; exists x; apply/setP => y; rewrite !inE. Qed. Lemma cards2P A : reflect (exists x y : T, x != y /\ A = [set x; y]) (#|A| == 2). Proof. apply: (iffP idP) => [|[x] [y] [xy ->]]; last by rewrite cards2 xy. have [[|x [|y [|z s]]]//= s_uniq] := cards_eqP; rewrite !inE andbT in s_uniq. by exists x, y; split=> //; apply/setP => z; rewrite !inE. Qed.
and something like this for fintype...
CohenCyril edited PR Review Comment on #509 Card lemmas.
CohenCyril edited PR Review Comment on #509 Card lemmas.
CohenCyril submitted PR Review for #509 Card lemmas.
CohenCyril created PR Review Comment on #509 Card lemmas:
And
card_geqP
is about encapsulating the picking of a subsequence ofenum A
, if one only has a lower bound.Indeed, I missed that...
pi8027 submitted PR Review for #504 Revise proofs in ssreflect/*.v.
pi8027 created PR Review Comment on #504 Revise proofs in ssreflect/*.v:
That's right.
pi8027 updated PR #504 Revise proofs in ssreflect/*.v (assigned to affeldt-aist) from selectors
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
This PR reduces
- use of numerical occurrence selectors (#436) and
- use of non ssreflect tactics such as
auto
,and improves use of comparison predicates such as
posnP
,leqP
,ltnP
,ltngtP
, andeqVneq
.Things done/to do
<!-- please fill in the following checklist -->
- ~[ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #504 Revise proofs in ssreflect/*.v (assigned to affeldt-aist) from selectors
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
This PR reduces
- use of numerical occurrence selectors (#436) and
- use of non ssreflect tactics such as
auto
,and improves use of comparison predicates such as
posnP
,leqP
,ltnP
,ltngtP
, andeqVneq
.Things done/to do
<!-- please fill in the following checklist -->
- ~[ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc opened Issue #512 lemma for proper and setC?
I noticed that there are quite a few lemmas combining
_ \subset _
and~: _
but none for
_ \proper _
and~: _
.How about adding (possibly with a different name):
Lemma properC (T : finType) (A B : {set T}) : A \proper B = (~: B \proper ~: A). Proof. rewrite !properEneq setCS [~: _ == _]inj_eq 1?eq_sym //; exact/inv_inj/setCK. Qed.
I think this is sufficient, since any introduced double complement can easily be eliminated with
?setCK
.
chdoc submitted PR Review for #509 Card lemmas.
chdoc created PR Review Comment on #509 Card lemmas:
Okay, for
{set _}
what you propose is indeed more general and more direct than what I had proposed. However, I'm not sure it transfers all that well to predicates: due to the lack of extensionality, one cannot pull the[set x | x \in enum A]
trick. One could instead generates =i A
as an assumption, but I'm not sure this view would be all that useful.The same goes for lower bounds, albeit for a different reason: there one doesn't even want to replace the original predicate/set.
chdoc:
chdoc updated PR #509 Card lemmas from card-lemmas
to master
:
Motivation for this change
Additional lemmas about cardinalities of predicates and sets. Mainly picking
n
distinct elements for an a predicate withn <= #|A|
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
amahboubi:
amahboubi:
amahboubi:
amahboubi:
CohenCyril milestoned Issue #511 adding default nix shell:
Motivation for this change
Adding a default nix-shell.
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril pushed 1 commit to branch mono_lemmas.
CohenCyril deleted the branch mono_lemmas.
CohenCyril opened PR #513 Missing mono lemmas from mono_lemmas
to master
:
Motivation for this change
Added lemmas about monotony of functions
nat -> T
whereT
is an ordered typeThings done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist milestoned Issue #514 Lemma addition to ssralg and ssrnum (assigned to ybertot):
Motivation for this change
Three lemmas that we found useful in the context of the mathcomp-analysis project (https://github.com/math-comp/analysis/blob/f8d361a93db5906a73327d4fcf1fe9070e1960b8/theories/normedtype.v#L90-L103) and which we think are better suited to mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist assigned PR #514 Lemma addition to ssralg and ssrnum to ybertot.
affeldt-aist requested CohenCyril for a review on PR #514 Lemma addition to ssralg and ssrnum.
affeldt-aist opened PR #514 Lemma addition to ssralg and ssrnum (assigned to ybertot) from lemmas_from_analysis_20200521
to master
:
Motivation for this change
Three lemmas that we found useful in the context of the mathcomp-analysis project (https://github.com/math-comp/analysis/blob/f8d361a93db5906a73327d4fcf1fe9070e1960b8/theories/normedtype.v#L90-L103) and which we think are better suited to mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #514 Lemma addition to ssralg and ssrnum.
CohenCyril submitted PR Review for #514 Lemma addition to ssralg and ssrnum.
CohenCyril created PR Review Comment on #514 Lemma addition to ssralg and ssrnum:
This lemma was already generalized and added as
subrKA
(just above), math-comp analysis should use it instead now.
CohenCyril created PR Review Comment on #514 Lemma addition to ssralg and ssrnum:
I believe the naming I picked in mathcomp analysis is wrong, and we should provide a more complete interface the following lemmas:
`|x - y| < e -> y - e < x
`|x - y| < e -> x < y + e
`|x - y| < e -> y < x + e
- same with
<=
and the naming convention should encompass all these variants
CohenCyril submitted PR Review for #514 Lemma addition to ssralg and ssrnum.
CohenCyril created PR Review Comment on #514 Lemma addition to ssralg and ssrnum:
maybe something like
(gtr|ltr)_dist[lr]
? WDYT?
CohenCyril edited PR Review Comment on #514 Lemma addition to ssralg and ssrnum.
CohenCyril edited PR Review Comment on #514 Lemma addition to ssralg and ssrnum.
affeldt-aist updated PR #514 Lemma addition to ssralg and ssrnum (assigned to ybertot) from lemmas_from_analysis_20200521
to master
:
Motivation for this change
Three lemmas that we found useful in the context of the mathcomp-analysis project (https://github.com/math-comp/analysis/blob/f8d361a93db5906a73327d4fcf1fe9070e1960b8/theories/normedtype.v#L90-L103) and which we think are better suited to mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist submitted PR Review for #514 Lemma addition to ssralg and ssrnum.
affeldt-aist created PR Review Comment on #514 Lemma addition to ssralg and ssrnum:
I couldn't make sense of it right away so I looked for an alternative (also for the sake of the conversation). What about?
ltr_dist_addl
: on the model ofltr_subl_addl
because it looks the sameltr_dist_subl
:sub
instead ofadd
(does not change the order betweenx
andy
)ltr_distr_{addl,subl}
: because it is just a matter of reversing the dist
affeldt-aist edited PR #514 Lemma addition to ssrnum (assigned to ybertot) from lemmas_from_analysis_20200521
to master
:
Motivation for this change
Three lemmas that we found useful in the context of the mathcomp-analysis project (https://github.com/math-comp/analysis/blob/f8d361a93db5906a73327d4fcf1fe9070e1960b8/theories/normedtype.v#L90-L103) and which we think are better suited to mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc updated PR #509 Card lemmas from card-lemmas
to master
:
Motivation for this change
Additional lemmas about cardinalities of predicates and sets. Mainly picking
n
distinct elements for an a predicate withn <= #|A|
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
amahboubi:
amahboubi:
ybertot prereleased release The Mathematical Components Library 1.11+beta1 for tag mathcomp-1.11+beta1.
ybertot created release The Mathematical Components Library 1.11+beta1 for tag mathcomp-1.11+beta1.
ybertot published release The Mathematical Components Library 1.11+beta1 for tag mathcomp-1.11+beta1.
ybertot pushed tag mathcomp-1.11+beta1.
CohenCyril:
CohenCyril:
CohenCyril:
CohenCyril:
CohenCyril:
CohenCyril pushed 1 commit to branch master.
CohenCyril:
CohenCyril:
CohenCyril edited release The Mathematical Components Library 1.11+beta1 for tag mathcomp-1.11+beta1.
CohenCyril edited release The Mathematical Components Library 1.11+beta1 for tag mathcomp-1.11+beta1.
amahboubi:
ybertot submitted PR Review for #504 Revise proofs in ssreflect/*.v.
affeldt-aist merged PR #504 Revise proofs in ssreflect/*.v.
affeldt-aist pushed 3 commits to branch master. Commits by pi8027 (2) and affeldt-aist (1).
ybertot merged PR #511 adding default nix shell.
ybertot pushed 2 commits to branch master. Commits by CohenCyril (1) and ybertot (1).
CohenCyril opened Issue #515 max and min are too specific:
From 1.10 to 1.11+beta1 we lost in generality in
ssrnum.v````: indeed
maxand
minwhere defined in a
numDomainType, but they are now defined in terms of
meetand
join, which requires at least lattice, which a
numDomainType`` is not...One possible fix is to reintroduce
Order.max
(andOrder.min
) asif x <= y then y else x
(and similar for min), and develop their theory in a partial order, when elements are all comparable between themselves. Then link them with meet and join when appropriate.Another fix is to reintroduce
Num.max
andNum.min
but this would be confusing if we keepOrder.min
andOrder.max
.
CohenCyril closed Issue #496 Bugfixes for 1.11.0 (assigned to CohenCyril):
- add again
maxr
lemmas (maxrC
, ...)- reincorportate
incnr_inj
etc,- add missing
leW_mono
etc for order too.
CohenCyril reopened Issue #496 Bugfixes for 1.11.0 (assigned to CohenCyril):
- add again
maxr
lemmas (maxrC
, ...)- reincorportate
incnr_inj
etc,- add missing
leW_mono
etc for order too.
CohenCyril edited Issue #515 max and min are too specific:
From 1.10 to 1.11+beta1 we lost in generality in
ssrnum.v
: indeedmax
andmin
where defined in anumDomainType
, but they are now defined in terms ofmeet
andjoin
, which requires at least lattice, which anumDomainType
is not...One possible fix is to reintroduce
Order.max
(andOrder.min
) asif x <= y then y else x
(and similar for min), and develop their theory in a partial order, when elements are all comparable between themselves. Then link them with meet and join when appropriate.Another fix is to reintroduce
Num.max
andNum.min
but this would be confusing if we keepOrder.min
andOrder.max
.
CohenCyril edited Issue #515 max and min are too specific:
From 1.10 to 1.11+beta1 we lost in generality in
ssrnum.v
: indeedmax
andmin
where defined in anumDomainType
, but they are now defined in terms ofmeet
andjoin
, which requires at least lattice, which anumDomainType
is not...One possible fix is to reintroduce
Order.max
(andOrder.min
) asif x <= y then y else x
(and similar for min), and develop their theory in a partial order, when elements are all comparable between themselves. Then link them with meet and join when appropriate.Another fix is to reintroduce
Num.max
andNum.min
but this would be confusing if we keepOrder.min
andOrder.max
.In any case these definitions must match exactly the one that existed in 1.10.0 for backward compatiblity reasons and the equations given in the factories for total order (which should be updated if they do not match).
CohenCyril milestoned Issue #513 Missing mono lemmas:
Motivation for this change
Added lemmas about monotony of functions
nat -> T
whereT
is an ordered typeThings done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #513 Missing mono lemmas from mono_lemmas
to master
:
Motivation for this change
Added lemmas about monotony of functions
nat -> T
whereT
is an ordered typeThings done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #513 Missing mono lemmas.
CohenCyril created PR Review Comment on #513 Missing mono lemmas:
done?
ybertot submitted PR Review for #513 Missing mono lemmas.
ybertot created PR Review Comment on #513 Missing mono lemmas:
Good for me!
CohenCyril requested ybertot for a review on PR #513 Missing mono lemmas.
CohenCyril opened PR #516 Greneralizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [ ] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
ybertot submitted PR Review for #513 Missing mono lemmas.
CohenCyril milestoned Issue #516 Greneralizing max and min to porderType:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [ ] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [ ] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [ ] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery opened PR #517 Extra theorems about subn min and max from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery updated PR #517 Extra theorems about subn min and max from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery updated PR #517 Extra theorems about subn min and max from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery updated PR #517 Extra theorems about subn min and max from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery updated PR #517 Extra theorems about subn min and max from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
erikmd:
gares:
gares:
gares:
gares:
affeldt-aist updated PR #514 Lemma addition to ssrnum (assigned to ybertot) from lemmas_from_analysis_20200521
to master
:
Motivation for this change
Three lemmas that we found useful in the context of the mathcomp-analysis project (https://github.com/math-comp/analysis/blob/f8d361a93db5906a73327d4fcf1fe9070e1960b8/theories/normedtype.v#L90-L103) and which we think are better suited to mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
gares:
affeldt-aist edited PR #514 Lemma addition to ssrnum (assigned to ybertot) from lemmas_from_analysis_20200521
to master
:
Motivation for this change
A few lemmas about norm that we found useful in the context of the mathcomp-analysis project (among them: https://github.com/math-comp/analysis/blob/f8d361a93db5906a73327d4fcf1fe9070e1960b8/theories/normedtype.v#L90-L103) and which we think are better suited to mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
gares edited PR #517 Extra theorems about subn minn and maxn from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril opened Issue #518 Missing mono/homo lemmas:
CohenCyril milestoned Issue #518 Missing mono/homo lemmas:
gares:
CohenCyril created PR Review Comment on #514 Lemma addition to ssrnum:
The prefix
n
fornorm
does not exist yet, and I am not in favor if it. I suggest this is renamednorm_lt_eqF
.
CohenCyril submitted PR Review for #514 Lemma addition to ssrnum.
pi8027 submitted PR Review for #516 Generalizing max and min to porderType.
pi8027 created PR Review Comment on #516 Generalizing max and min to porderType:
If we wish to make it compatible as much as possible with
minr
andmaxr
of version 1.10.0, shouldn't we use<=
rather than<
? https://github.com/math-comp/math-comp/blob/mathcomp-1.10.0/mathcomp/algebra/ssrnum.v#L256-L257
CohenCyril edited PR Review Comment on #514 Lemma addition to ssrnum.
gares:
CohenCyril submitted PR Review for #516 Generalizing max and min to porderType.
CohenCyril created PR Review Comment on #516 Generalizing max and min to porderType:
minn
andmaxn
are defined using<
and<=
, I'd rather loose backward compatibility than convertibility with nat definitions.
CohenCyril edited PR Review Comment on #516 Generalizing max and min to porderType.
pi8027 submitted PR Review for #516 Generalizing max and min to porderType.
pi8027 created PR Review Comment on #516 Generalizing max and min to porderType:
OK. That's fine (as I said in a MC call).
CohenCyril updated PR #501 Intro pattern extensions for rewrite, dup, swap and apply (assigned to gares) from intro_rw
to master
:
Motivation for this change
Intro pattern ltac views (rewrite, dup, swap, apply) in order not to break intro patterns for silly rewrites.
- calling rewrite from an intro pattern, use with parsimony
=> /[1 rules]
doesrewrite rules
=> /[-1 rules]
doesrewrite -rules
=> /[! rules]
doesrewrite !rules
=> /[-! rules]
doesrewrite -!rules
=> /[? rules]
doesrewrite ?rules
=> /[-? rules]
doesrewrite -?rules
=> /[/def]
doesrewrite /def
- top of the stack actions:
=> /apply
does=> hyp {}/hyp
=> /swap
does=> x y; move: y x
(also swap and perserves let bindings)
=> /dup
does=> x; have copy := x; move: copy x
(also copies and preserves let bindings)This is a part of #372, simplified, rewritten and rebased.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] open corresponding PR in Coq to integrate changes from
ssreflect.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
gares:
CohenCyril edited PR #501 Intro pattern extensions for rewrite, dup, swap and apply (assigned to gares) from intro_rw
to master
:
Motivation for this change
Intro pattern ltac views (rewrite, dup, swap, apply) in order not to break intro patterns for silly rewrites.
- calling rewrite from an intro pattern, use with parsimony
=> /[1! rules]
doesrewrite rules
=> /[-1! rules]
doesrewrite -rules
=> /[! rules]
doesrewrite !rules
=> /[-! rules]
doesrewrite -!rules
=> /[? rules]
doesrewrite ?rules
=> /[-? rules]
doesrewrite -?rules
=> /[/def]
doesrewrite /def
- top of the stack actions:
=> /apply
does=> hyp {}/hyp
=> /swap
does=> x y; move: y x
(also swap and perserves let bindings)
=> /dup
does=> x; have copy := x; move: copy x
(also copies and preserves let bindings)This is a part of #372, simplified, rewritten and rebased.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] open corresponding PR in Coq to integrate changes from
ssreflect.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
gares:
gares:
gares:
gares:
gares:
affeldt-aist updated PR #514 Lemma addition to ssrnum (assigned to ybertot) from lemmas_from_analysis_20200521
to master
:
Motivation for this change
A few lemmas about norm that we found useful in the context of the mathcomp-analysis project (among them: https://github.com/math-comp/analysis/blob/f8d361a93db5906a73327d4fcf1fe9070e1960b8/theories/normedtype.v#L90-L103) and which we think are better suited to mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #514 Lemma addition to ssrnum.
CohenCyril created PR Review Comment on #514 Lemma addition to ssrnum:
@affeldt-aist I edited my comment by the mail you might have received was not. I prefer
gt_norm_eqF
pi8027 closed Issue #442 Generalization of order (in fingraph.v) and related lemmas to non-frel graphs:
order f x
(in fingraph.v) means the size off
-orbit ofx
:Definition order (T : finType) (f : T -> T) (x : T) := #|fconnect f x|.
This definition can naturally be generalized to non
frel
-graphs, which means the number of reachable elements fromx
in general. Some lemmas that useorder
can probably be generalized as well. At least, the following lemma introduced by #261 seems to hold in general.eq_order_cycle : forall p : seq T, fcycle f p -> {in p &, forall x y : T, order y = order x}
CohenCyril opened PR #519 Missing homo/mono lemmas in the presence of cancellation from homomono_in
to master
:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril milestoned Issue #519 Missing homo/mono lemmas in the presence of cancellation:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #514 Lemma addition to ssrnum.
CohenCyril created PR Review Comment on #514 Lemma addition to ssrnum:
Lemma gt_norm_eqF (x y : R) : `|x| < y -> (x == - y = false) * (x == y = false).
CohenCyril submitted PR Review for #514 Lemma addition to ssrnum.
CohenCyril submitted PR Review for #514 Lemma addition to ssrnum.
CohenCyril created PR Review Comment on #514 Lemma addition to ssrnum:
For consistency, we should also add
Lemma gtr_norm : `|x| < y -> x < y. Lemma gtrNnorm : `|x| < y -> - y < x. Lemma ger_norm : `|x| <= y -> x <= y. Lemma gerNnorm : `|x| <= y -> - y <= x.
and all the
real_
variants...
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [ ] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [ ] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [ ] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril has marked PR #516 as ready for review.
pi8027 submitted PR Review for #516 Generalizing max and min to porderType.
pi8027 created PR Review Comment on #516 Generalizing max and min to porderType:
I think this was left as a comment on purpose. See L.293 (and L.351 which you may also want to remove).
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #516 Generalizing max and min to porderType.
CohenCyril created PR Review Comment on #516 Generalizing max and min to porderType:
:+1: I withdrew this deletion from the PR, since it was an accidental removal unrelated to the changes in this PR, maybe we can open an issue to document or remove this comment.
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril opened PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist updated PR #514 Lemma addition to ssrnum (assigned to ybertot) from lemmas_from_analysis_20200521
to master
:
Motivation for this change
A few lemmas about norm that we found useful in the context of the mathcomp-analysis project (among them: https://github.com/math-comp/analysis/blob/f8d361a93db5906a73327d4fcf1fe9070e1960b8/theories/normedtype.v#L90-L103) and which we think are better suited to mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril has marked PR #520 as ready for review.
CohenCyril edited PR #520 Cachix action from cachix-action
to master
:
Motivation for this change
Setting up a github action for mathcomp.
This adds a new CI that also building mathcomp on nix and making it available via cachix.Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril pushed 2 commits to branch master.
CohenCyril merged PR #520 Cachix action.
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #514 Lemma addition to ssrnum.
CohenCyril created PR Review Comment on #514 Lemma addition to ssrnum:
Actually I believe this one should be obtained by letting the user compose a
gtr_norm
lemma withgt_eqF
, otherwise there are two many variants and multi-rules to take into account.
CohenCyril edited PR Review Comment on #514 Lemma addition to ssrnum.
CohenCyril submitted PR Review for #514 Lemma addition to ssrnum.
CohenCyril created PR Review Comment on #514 Lemma addition to ssrnum:
I do not like the lack of symmetry between
dist
anddistr
, (the former should then bedistl
), but actually all of them must bedistl
becausedist
is on the left side of<
, swapping arguments ofdist
should be replaced with the use of suffixC
.BTW I noticed a discrepancy introduced by this PR:
- the current convention is that:
norm
on the right of<
isltr_normr
- the current convention is that:
norm
on the left of<
isltr_norml
, while this PR introduces the conventiongt_norm
. I'd rather keep the old convention for1.11
and do a global pass for1.12
. In which case we cannot keepgtr_norm
and we should go for e.g.ltr_normlW
.
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril pushed 11 commits to branch maxr. Commits by CohenCyril (10) and affeldt-aist (1).
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril deleted the branch maxr.
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist updated PR #514 Lemma addition to ssrnum (assigned to ybertot) from lemmas_from_analysis_20200521
to master
:
Motivation for this change
A few lemmas about norm that we found useful in the context of the mathcomp-analysis project (among them: https://github.com/math-comp/analysis/blob/f8d361a93db5906a73327d4fcf1fe9070e1960b8/theories/normedtype.v#L90-L103) and which we think are better suited to mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist updated PR #514 Lemma addition to ssrnum (assigned to ybertot) from lemmas_from_analysis_20200521
to master
:
Motivation for this change
A few lemmas about norm that we found useful in the context of the mathcomp-analysis project (among them: https://github.com/math-comp/analysis/blob/f8d361a93db5906a73327d4fcf1fe9070e1960b8/theories/normedtype.v#L90-L103) and which we think are better suited to mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 submitted PR Review for #514 Lemma addition to ssrnum.
pi8027 created PR Review Comment on #514 Lemma addition to ssrnum:
Using
(real_)
rather than{real_,}
would be consistent with the released changelog. See, e.g.: https://github.com/math-comp/math-comp/blob/master/CHANGELOG.md#renamed
affeldt-aist updated PR #514 Lemma addition to ssrnum (assigned to ybertot) from lemmas_from_analysis_20200521
to master
:
Motivation for this change
A few lemmas about norm that we found useful in the context of the mathcomp-analysis project (among them: https://github.com/math-comp/analysis/blob/f8d361a93db5906a73327d4fcf1fe9070e1960b8/theories/normedtype.v#L90-L103) and which we think are better suited to mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
amahboubi:
affeldt-aist updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist updated PR #519 Missing homo/mono lemmas in the presence of cancellation from homomono_in
to master
:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist edited PR #519 Missing homo/mono lemmas in the presence of cancellation from homomono_in
to master
:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist updated PR #519 Missing homo/mono lemmas in the presence of cancellation from homomono_in
to master
:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #519 Missing homo/mono lemmas in the presence of cancellation from homomono_in
to master
:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #519 Missing homo/mono lemmas in the presence of cancellation from homomono_in
to master
:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #519 Missing homo/mono lemmas in the presence of cancellation from homomono_in
to master
:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril has marked PR #519 as ready for review.
CohenCyril milestoned Issue #521 In and on:
Motivation for this change
These new lemmas describe more precisely the possible interactions between
in
andon
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
- [ ] backport to Coq
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril opened PR #521 In and on from in_on
to master
:
Motivation for this change
These new lemmas describe more precisely the possible interactions between
in
andon
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
- [ ] backport to Coq
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #207 Work In Progress: adding forms and spectral theorems from experiment/forms
to master
:
Content:
- Adding bilinear, sesquilinear, hermitian (symmetric, skew symmetric and hermitian) and hermitian positive definite forms.
- A proof of the spectral theorem for normal matrices, and some theory of stability wrt a sub(mx)space.
- Several auxiliary lemmas of general purpose.
TODO:
- [ ] document,
- [ ] replace ad hoc
cfdot
in classfun (@LaurenceRideau),- [ ] backport several theorems to matrix, vector or mxalgebra,
- [ ] bridge vector and mxalgebra to port results.
- [ ] update ChangeLog
TODO update after @LaurenceRideau tried on the odd-order repo (https://github.com/math-comp/odd-order/pull/2)
- [ ] Infer the canonical form on a vector space in notations such as
'[_ ,_]
,orthogonal
,isometry
...- [ ] Make the right
linear_for
on the right and the left for bilinear forms (so that'[a *: x, b *: y] = a * b^* * '[x ,y]
instead of'[a *: x, b *: y] = a *: b^* *: '[x ,y]
)- [ ] Have lemmas
linearZl
,linearZr
,linearZlr
,linearZrl
(right now onlylinearZl_LR
is only available)
CohenCyril closed without merge PR #372 Taking advantage of Coq 8.10 ssreflect new features.
coqbot demilestoned Issue #372 Taking advantage of Coq 8.10 ssreflect new features (assigned to gares):
Motivation for this change
<!-- please explain your reason for doing this change -->
Mostly testing ltac in notations in views:
Proposing a few different syntax for rewriting in views, up to debate.
While doing so, I encountered a problem with parsing! term
in ssr rewrite but only when followed by a clear. Cf https://github.com/coq/coq/issues/10531. The original intent was to be able to use=> x /!inE x_mem
to perform simplification between two introductions.Proposing
=> /[->]
syntax to substitute with an equality everywhere in the goal and context.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- if items above are irrelevant, explain what you did here -->
<!-- please fill in the following checklist -->
<!-- leave this note as a reminder to reviewers -->Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist merged PR #513 Missing mono lemmas.
affeldt-aist pushed 1 commit to branch master. Commits by CohenCyril (1).
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist updated PR #514 Lemma addition to ssrnum (assigned to ybertot) from lemmas_from_analysis_20200521
to master
:
Motivation for this change
A few lemmas about norm that we found useful in the context of the mathcomp-analysis project (among them: https://github.com/math-comp/analysis/blob/f8d361a93db5906a73327d4fcf1fe9070e1960b8/theories/normedtype.v#L90-L103) and which we think are better suited to mathcomp.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #501 Intro pattern extensions for rewrite, dup, swap and apply (assigned to gares) from intro_rw
to master
:
Motivation for this change
Intro pattern ltac views (rewrite, dup, swap, apply) in order not to break intro patterns for silly rewrites.
- calling rewrite from an intro pattern, use with parsimony
=> /[1! rules]
doesrewrite rules
=> /[-1! rules]
doesrewrite -rules
=> /[! rules]
doesrewrite !rules
=> /[-! rules]
doesrewrite -!rules
=> /[? rules]
doesrewrite ?rules
=> /[-? rules]
doesrewrite -?rules
=> /[/def]
doesrewrite /def
- top of the stack actions:
=> /apply
does=> hyp {}/hyp
=> /swap
does=> x y; move: y x
(also swap and perserves let bindings)
=> /dup
does=> x; have copy := x; move: copy x
(also copies and preserves let bindings)This is a part of #372, simplified, rewritten and rebased.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] open corresponding PR in Coq to integrate changes from
ssreflect.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #501 Intro pattern extensions for rewrite, dup, swap and apply (assigned to gares) from intro_rw
to master
:
Motivation for this change
Intro pattern ltac views (rewrite, dup, swap, apply) in order not to break intro patterns for silly rewrites.
- calling rewrite from an intro pattern, use with parsimony
=> /[1! rules]
doesrewrite rules
=> /[! rules]
doesrewrite !rules
- top of the stack actions:
=> /apply
does=> hyp {}/hyp
=> /swap
does=> x y; move: y x
(also swap and perserves let bindings)
=> /dup
does=> x; have copy := x; move: copy x
(also copies and preserves let bindings)This is a part of #372, simplified, rewritten and rebased.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] open corresponding PR in Coq to integrate changes from
ssreflect.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #519 Missing homo/mono lemmas in the presence of cancellation from homomono_in
to master
:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #516 Generalizing max and min to porderType.
CohenCyril created PR Review Comment on #516 Generalizing max and min to porderType:
(* [arg min_(i < i0 | P) M] == a value i : T minimizing M : R, subject to *)
CohenCyril edited PR Review Comment on #516 Generalizing max and min to porderType.
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #516 Generalizing max and min to porderType.
CohenCyril created PR Review Comment on #516 Generalizing max and min to porderType:
(* [arg max_(i > i0 | P) M] == a value i maximizing M subject to P and *)
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #514 Lemma addition to ssrnum.
CohenCyril edited PR #519 Missing homo/mono lemmas in the presence of cancellation from homomono_in
to master
:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
- [ ] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 submitted PR Review for #516 Generalizing max and min to porderType.
pi8027 submitted PR Review for #516 Generalizing max and min to porderType.
pi8027 created PR Review Comment on #516 Generalizing max and min to porderType:
`join`, and providing a theory about for min and max, hence generalizing
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
ybertot merged PR #514 Lemma addition to ssrnum.
ybertot pushed 9 commits to branch master. Commits by affeldt-aist (8) and ybertot (1).
affeldt-aist opened PR #522 change links to the wiki to links to the website from update_readme
to master
:
Motivation for this change
The README points to pages of the wiki that have not been updated while the website contains more up-to-date and better formatted information.
Things done/to do
<!-- please fill in the following checklist -->
~- [ ] added corresponding entries inCHANGELOG_UNRELEASED.md
~
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist updated PR #522 change links to the wiki to links to the website from update_readme
to master
:
Motivation for this change
The README points to pages of the wiki that have not been updated while the website contains more up-to-date and better formatted information.
Things done/to do
<!-- please fill in the following checklist -->
~- [ ] added corresponding entries inCHANGELOG_UNRELEASED.md
~
~- [ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #516 Generalizing max and min to porderType from maxr
to master
:
Motivation for this change
From 1.10 to 1.11+beta1, max and min had lost their generality, introducing a regression.
This PR redefines max and min with a general theory in order.v, and thus fixes #515.
It also fixes several potential bugs in their definition.
- max and min are not defined in terms or meet and join anymore
- extremum_inP is a generalization of extremum suitable for a partial order
- arg_min and arg_max are usable in a porderType
- equivalences between min and meet, and max and join are proven for orderType
- leP, ltP, ltgtP, and
[l]?comparable_.*P
lemmas have been generalized to take this into account- total_display was completely removed
Order.max
andOrder.min
are now convertible tomaxn
andminn
Inserting
(fun _ _ => erefl)
inLeOrderMixin
andLtOrderMixin
givesmeet
/join
which are convertible tomin
/max
Order.max
andOrder.min
are not convertible to formerNum.max
andNum.min
- min and max can now be used in a partial order (sometimes under preconditions)
- min and max can now be used in a
numDomainType
(sometimes under preconditions)- the compatibility module has been fixed accordingly
- deprecating
fintype.arg_(min|max)P
- removing dangling comments connecting min max and meet join
- better compatibility module
- removing broken notations with
\min
and\max
(no neutral available)- fixing
incompare
andincomparel
in order.v- adding missing elimination lemmas (
(comparable_)?(max|min)E[lg][et]
)- adding missing
(comparable|real)_arg(min|max)P
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(explain the renaming)- [x] added corresponding documentation in the headers (must add
min
andmax
in the header oforder.v
)
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #519 Missing homo/mono lemmas in the presence of cancellation from homomono_in
to master
:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
- [ ] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist closed Issue #515 max and min are too specific:
From 1.10 to 1.11+beta1 we lost in generality in
ssrnum.v
: indeedmax
andmin
where defined in anumDomainType
, but they are now defined in terms ofmeet
andjoin
, which requires at least lattice, which anumDomainType
is not...One possible fix is to reintroduce
Order.max
(andOrder.min
) asif x <= y then y else x
(and similar for min), and develop their theory in a partial order, when elements are all comparable between themselves. Then link them with meet and join when appropriate.Another fix is to reintroduce
Num.max
andNum.min
but this would be confusing if we keepOrder.min
andOrder.max
.In any case these definitions must match exactly the one that existed in 1.10.0 for backward compatiblity reasons and the equations given in the factories for total order (which should be updated if they do not match).
affeldt-aist merged PR #516 Generalizing max and min to porderType.
affeldt-aist pushed 6 commits to branch master. Commits by CohenCyril (4) and affeldt-aist (2).
CohenCyril updated PR #519 Missing homo/mono lemmas in the presence of cancellation from homomono_in
to master
:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
- [ ] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril merged PR #522 change links to the wiki to links to the website.
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and affeldt-aist (1).
CohenCyril closed Issue #496 Bugfixes for 1.11.0 (assigned to CohenCyril):
- add again
maxr
lemmas (maxrC
, ...)- reincorportate
incnr_inj
etc,- add missing
leW_mono
etc for order too.
CohenCyril submitted PR Review for #509 Card lemmas.
CohenCyril submitted PR Review for #509 Card lemmas.
CohenCyril created PR Review Comment on #509 Card lemmas:
if you are going to add
take_uniq
, also adddrop_uniq
CohenCyril created PR Review Comment on #509 Card lemmas:
exists [:: x; y; z]; rewrite /= !inE negb_or xDy xDz eq_sym yDz; split=> // u.
CohenCyril created PR Review Comment on #509 Card lemmas:
by exists a, b; rewrite aDb !subD ?inE ?eqxx ?orbT.
CohenCyril created PR Review Comment on #509 Card lemmas:
by exists x, y, z; rewrite xDy yDz eq_sym xDz !subA ?inE ?eqxx ?orbT.
CohenCyril created PR Review Comment on #509 Card lemmas:
by exists [:: x; y]; rewrite /= !inE xDy ; split=> // z; rewrite !inE => /pred2P[]->.
CohenCyril created PR Review Comment on #509 Card lemmas:
Proof. apply: (iffP (card_le1_eqP {:T})); [exact: in2T | exact: in2W]. Qed.
CohenCyril created PR Review Comment on #509 Card lemmas:
reflect {in A &, forall x, all_equal_to x} (#|A| <= 1).
CohenCyril created PR Review Comment on #509 Card lemmas:
CohenCyril created PR Review Comment on #509 Card lemmas:
by exists x; do 1?exists y; rewrite // -root_connect // (eqP rfx) (eqP rfy).
CohenCyril created PR Review Comment on #509 Card lemmas:
move=> [x] [y] [/andP [/= rfx xA]] [/andP[/= rfy yA] xDy].
CohenCyril created PR Review Comment on #509 Card lemmas:
case: s => [|x [|y [|z []]]]//=; rewrite !inE !andbT negb_or -andbA.
CohenCyril created PR Review Comment on #509 Card lemmas:
case: s => [|a [|b []]]//=; rewrite inE andbT => aDb _ subD.
CohenCyril created PR Review Comment on #509 Card lemmas:
by rewrite !inE => /or3P [] /eqP->.
chdoc submitted PR Review for #509 Card lemmas.
chdoc created PR Review Comment on #509 Card lemmas:
Will do.
chdoc updated PR #509 Card lemmas from card-lemmas
to master
:
Motivation for this change
Additional lemmas about cardinalities of predicates and sets. Mainly picking
n
distinct elements for an a predicate withn <= #|A|
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc updated PR #509 Card lemmas from card-lemmas
to master
:
Motivation for this change
Additional lemmas about cardinalities of predicates and sets. Mainly picking
n
distinct elements for an a predicate withn <= #|A|
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc requested CohenCyril for a review on PR #509 Card lemmas.
chdoc opened Issue #523 Cachix actions running and failing on forks:
Unlike the GitLab CI pipeline, which is not executed on forks of
math-comp
, thecachix
actions are trying to execute and fail (while they succeed on the same commits in themath-comp
context).See https://github.com/chdoc/math-comp/runs/746817379
This means that updating the master branch of a fork generates emails about run failures.
erikmd opened PR #524 [CI/CD] Deploy mathcomp/mathcomp-dev:coq-8.12 (with Coq 8.12+alpha) from coq-8.12
to master
:
Motivation for this change
Coq 8.12+beta1 is not yet released (see this wiki page for the roadmap) but as suggested by @palmskog on Zulip, it can be useful to test projects with Coq 8.12+alpha in advance.
So a
coqorg/coq:8.12 = coqorg/coq:8.12-alpha
is now available and rebuilt every night from thev8.12
branch. Also, this PR will auto-deploy an accompanying version of mathcomp.dev inmathcomp/mathcomp-dev:coq-8.12
.Things done/to do
<!-- please fill in the following checklist -->
- [x] ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [x] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
erikmd edited PR #524 [CI/CD] Deploy mathcomp/mathcomp-dev:coq-8.12 (with Coq 8.12+alpha) from coq-8.12
to master
:
Motivation for this change
Coq 8.12+beta1 is not yet released (see this wiki page for the roadmap) but as suggested by @palmskog on Zulip, it can be useful to test projects with Coq 8.12+alpha in advance.
So a
coqorg/coq:8.12 = coqorg/coq:8.12-alpha
is now available and rebuilt every night from thev8.12
branch. Also, this PR will auto-deploy an accompanying version of mathcomp.dev inmathcomp/mathcomp-dev:coq-8.12
.Things done/to do
<!-- please fill in the following checklist -->
- [x] ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [x] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
erikmd updated PR #524 [CI/CD] Deploy mathcomp/mathcomp-dev:coq-8.12 (with Coq 8.12+alpha) from coq-8.12
to master
:
Motivation for this change
Coq 8.12+beta1 is not yet released (see this wiki page for the roadmap) but as suggested by @palmskog on Zulip, it can be useful to test projects with Coq 8.12+alpha in advance.
So a
coqorg/coq:8.12 = coqorg/coq:8.12-alpha
is now available and rebuilt every night from thev8.12
branch. Also, this PR will auto-deploy an accompanying version of mathcomp.dev inmathcomp/mathcomp-dev:coq-8.12
.Things done/to do
<!-- please fill in the following checklist -->
- [x] ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [x] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
erikmd updated PR #524 [CI/CD] Deploy mathcomp/mathcomp-dev:coq-8.12 (with Coq 8.12+alpha) from coq-8.12
to master
:
Motivation for this change
Coq 8.12+beta1 is not yet released (see this wiki page for the roadmap) but as suggested by @palmskog on Zulip, it can be useful to test projects with Coq 8.12+alpha in advance.
So a
coqorg/coq:8.12 = coqorg/coq:8.12-alpha
is now available and rebuilt every night from thev8.12
branch. Also, this PR will auto-deploy an accompanying version of mathcomp.dev inmathcomp/mathcomp-dev:coq-8.12
.Things done/to do
<!-- please fill in the following checklist -->
- [x] ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [x] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
erikmd closed without merge PR #524 [CI/CD] Deploy mathcomp/mathcomp-dev:coq-8.12 (with Coq 8.12+alpha)
erikmd reopened PR #524 [CI/CD] Deploy mathcomp/mathcomp-dev:coq-8.12 (with Coq 8.12+alpha) from coq-8.12
to master
:
Motivation for this change
Coq 8.12+beta1 is not yet released (see this wiki page for the roadmap) but as suggested by @palmskog on Zulip, it can be useful to test projects with Coq 8.12+alpha in advance.
So a
coqorg/coq:8.12 = coqorg/coq:8.12-alpha
is now available and rebuilt every night from thev8.12
branch. Also, this PR will auto-deploy an accompanying version of mathcomp.dev inmathcomp/mathcomp-dev:coq-8.12
.Things done/to do
<!-- please fill in the following checklist -->
- [x] ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [x] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril merged PR #524 [CI/CD] Deploy mathcomp/mathcomp-dev:coq-8.12 (with Coq 8.12+alpha)
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and erikmd (1).
CohenCyril updated PR #519 Missing homo/mono lemmas in the presence of cancellation from homomono_in
to master
:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
- [ ] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #509 Card lemmas.
CohenCyril created PR Review Comment on #509 Card lemmas:
this is not resolved...
CohenCyril submitted PR Review for #509 Card lemmas.
CohenCyril created PR Review Comment on #509 Card lemmas:
move=> clfA; apply: (iffP card_gt0P) => [[x /andP[]]|[x xA]]; first by exists x.
CohenCyril submitted PR Review for #509 Card lemmas.
CohenCyril created PR Review Comment on #509 Card lemmas:
This change I suggested apparently causes an overflow of the 80 character liimit, I suggest splitting the line as follows:
exists [:: x; y]; rewrite /= !inE xDy. by split=> // z; rewrite !inE => /pred2P[]->.
CohenCyril opened PR #525 Cachix action from cachix-action
to master
:
Motivation for this change
Fixes #523
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #525 Cachix action from cachix-action
to master
:
Motivation for this change
Fixes #523
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #525 Cachix action from cachix-action
to master
:
Motivation for this change
Fixes #523
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
we are just about to merge #519 and then start the release process.
we wish to invite you on skype
affeldt-aist opened Issue #526 backport ssrbool and ssrfun to Coq:
Backport
ssrbool.v
(PR #513 PR #519 ) andssrfun.v
.NB: https://github.com/affeldt-aist/coq/tree/ssrbool_backport_MathComp1.11
already contains anssrbool.v
file with PR #513 and PR #519.@CohenCyril @ybertot
CohenCyril closed Issue #523 Cachix actions running and failing on forks:
Unlike the GitLab CI pipeline, which is not executed on forks of
math-comp
, thecachix
actions are trying to execute and fail (while they succeed on the same commits in themath-comp
context).See https://github.com/chdoc/math-comp/runs/746817379
This means that updating the master branch of a fork generates emails about run failures.
CohenCyril merged PR #525 Cachix action.
CohenCyril pushed 1 commit to branch master.
affeldt-aist milestoned Issue #447 treating deprecation warnings that appear with coq-8.10 (assigned to CohenCyril):
Motivation for this change
<!-- please explain your reason for doing this change -->
Remove deprecation warnings that became apparent at the time of the 1.10.0 release.Things done/to do
<!-- please fill in the following checklist -->
- [ ] ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist demilestoned Issue #447 treating deprecation warnings that appear with coq-8.10 (assigned to CohenCyril):
Motivation for this change
<!-- please explain your reason for doing this change -->
Remove deprecation warnings that became apparent at the time of the 1.10.0 release.Things done/to do
<!-- please fill in the following checklist -->
- [ ] ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
ybertot edited PR #519 Missing homo/mono lemmas in the presence of cancellation from homomono_in
to master
:
Motivation for this change
The current section
MonoHomoMorphismTheory_in
fromcoq/theories/ssr/ssrbool.v
is completely unusable because it'srD
is too specific, and the cancellation hypothesis is too restrictive{on D, cancel f a g}
which barely covers the use cases (e.g. in mathcomp/analysis).Fixes #518
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
- [x] backport to
coq/theories/ssr/ssrbool.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril opened PR #527 Adding only parsong to notations in ssrAC from ssrAC_only_parsing_fix
to master
:
Motivation for this change
Silence warning by declaring some notations
only parsing
.Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist edited Issue #526 backport ssrbool and ssrfun to Coq:
TODO: Backport
ssrbool.v
(PR #513 PR #519 ) andssrfun.v
.NB: https://github.com/affeldt-aist/coq/tree/ssrbool_backport_MathComp1.11
already contains anssrbool.v
file with PR #513 and PR #519.@CohenCyril @ybertot
ybertot closed Issue #518 Missing mono/homo lemmas:
ybertot merged PR #519 Missing homo/mono lemmas in the presence of cancellation.
ybertot pushed 6 commits to branch master. Commits by CohenCyril (3), affeldt-aist (2) and ybertot (1).
CohenCyril opened PR #528 silencing warnings in individual packages from silence_warnings
to master
:
Motivation for this change
Subsumes and closes #447
We opt for an aggressive silencing in package subdirectoriesMake
in order for users of individual packages (through opam and nix mainly) to get no warnings.
We keep the current, light, silencing in the mainMake
to make sure we get some diagnostics.We should open an issue for silencing in a better way (by fixing the code) from 1.12.0 is we support only Coq >= 8.10.0
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril milestoned Issue #528 silencing warnings in individual packages:
Motivation for this change
Subsumes and closes #447
We opt for an aggressive silencing in package subdirectoriesMake
in order for users of individual packages (through opam and nix mainly) to get no warnings.
We keep the current, light, silencing in the mainMake
to make sure we get some diagnostics.We should open an issue for silencing in a better way (by fixing the code) from 1.12.0 is we support only Coq >= 8.10.0
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist opened Issue #529 Reducing the number of displayed warnings:
This issue records comments that occurred with PR #447
(merged on the occasion of the release of MathComp 1.11).By default, there are many warnings and we do not want to have
too much of them when compiling, in particular for end-users
(likely to compile via opam and thus using Makefiles in MathComp
subdirectories).Currently, we silence (see
mathcomp/Make
):
- "undeclared scope" and "duplicate clear" warnings
- We cannot yet get rid of them because of backward compatibility.
- "ambiguous paths" warnings
- Developers may actually want to be aware of them and there is
on-going work at the Coq level to reduce their numbersTODO:
- Timing to get rid of
-arg -w -arg -undeclared-scope
(by definitely fixing what cause these warnings)?- Restore display of "ambiguous paths" warnings for developers?
@CohenCyril @ybertot
affeldt-aist edited Issue #529 Reducing the number of displayed warnings:
This issue records comments that occurred with PR #447
(merged on the occasion of the release of MathComp 1.11).By default, there are many warnings and we do not want to have
too much of them when compiling, in particular for end-users
(likely to compile via opam and thus using Makefiles in MathComp
subdirectories).See PR #528 for current policy.
Currently, we silence (see
mathcomp/Make
):
- "undeclared scope" and "duplicate clear" warnings
- We cannot yet get rid of them because of backward compatibility.
- "ambiguous paths" warnings
- Developers may actually want to be aware of them and there is
on-going work at the Coq level to reduce their numbersTODO:
- Timing to get rid of
-arg -w -arg -undeclared-scope
(by definitely fixing what cause these warnings)?- Restore display of "ambiguous paths" warnings for developers?
@CohenCyril @ybertot
affeldt-aist edited Issue #526 backport ssrbool to Coq:
TODO: Backport
ssrbool.v
(PR #513 PR #519 ) andssrfun.v
.NB: https://github.com/affeldt-aist/coq/tree/ssrbool_backport_MathComp1.11
already contains anssrbool.v
file with PR #513 and PR #519.@CohenCyril @ybertot
affeldt-aist edited Issue #526 backport ssrbool to Coq:
Backport to Coq new contents from
ssrbool.v
(as introduced by PR #513 PR #519 ).https://github.com/affeldt-aist/coq/tree/ssrbool_backport_MathComp1.11
already contains anssrbool.v
file with an integration of PR #513 and PR #519
and is ready to be PRed.@CohenCyril @ybertot
(NB: this issue has been edited, it was mentioning
ssrfun.v
but its contents have already made their way to Coq)
affeldt-aist milestoned Issue #529 Reducing the number of displayed warnings:
This issue records comments that occurred with PR #447
(merged on the occasion of the release of MathComp 1.11).By default, there are many warnings and we do not want to have
too much of them when compiling, in particular for end-users
(likely to compile via opam and thus using Makefiles in MathComp
subdirectories).See PR #528 for current policy.
Currently, we silence (see
mathcomp/Make
):
- "undeclared scope" and "duplicate clear" warnings
- We cannot yet get rid of them because of backward compatibility.
- "ambiguous paths" warnings
- Developers may actually want to be aware of them and there is
on-going work at the Coq level to reduce their numbersTODO:
- Timing to get rid of
-arg -w -arg -undeclared-scope
(by definitely fixing what cause these warnings)?- Restore display of "ambiguous paths" warnings for developers?
@CohenCyril @ybertot
affeldt-aist labeled Issue #529 Reducing the number of displayed warnings:
This issue records comments that occurred with PR #447
(merged on the occasion of the release of MathComp 1.11).By default, there are many warnings and we do not want to have
too much of them when compiling, in particular for end-users
(likely to compile via opam and thus using Makefiles in MathComp
subdirectories).See PR #528 for current policy.
Currently, we silence (see
mathcomp/Make
):
- "undeclared scope" and "duplicate clear" warnings
- We cannot yet get rid of them because of backward compatibility.
- "ambiguous paths" warnings
- Developers may actually want to be aware of them and there is
on-going work at the Coq level to reduce their numbersTODO:
- Timing to get rid of
-arg -w -arg -undeclared-scope
(by definitely fixing what cause these warnings)?- Restore display of "ambiguous paths" warnings for developers?
@CohenCyril @ybertot
affeldt-aist milestoned Issue #526 backport ssrbool to Coq:
Backport to Coq new contents from
ssrbool.v
(as introduced by PR #513 PR #519 ).https://github.com/affeldt-aist/coq/tree/ssrbool_backport_MathComp1.11
already contains anssrbool.v
file with an integration of PR #513 and PR #519
and is ready to be PRed.@CohenCyril @ybertot
(NB: this issue has been edited, it was mentioning
ssrfun.v
but its contents have already made their way to Coq)
CohenCyril merged PR #528 silencing warnings in individual packages.
CohenCyril closed without merge PR #447 treating deprecation warnings that appear with coq-8.10.
CohenCyril pushed 2 commits to branch master.
coqbot demilestoned Issue #447 treating deprecation warnings that appear with coq-8.10 (assigned to CohenCyril):
Motivation for this change
<!-- please explain your reason for doing this change -->
Remove deprecation warnings that became apparent at the time of the 1.10.0 release.Things done/to do
<!-- please fill in the following checklist -->
- [ ] ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril opened PR #530 More CI from moreCI
to master
:
- fourcolor 8.11 and 8.12
- odd-order 8.11 and 8.12
- bigenough 8.11 and 8.12
- finmap 8.11 and 8.12
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #530 More CI from moreCI
to master
:
- fourcolor 8.11 and 8.12
- odd-order 8.11 and 8.12
- bigenough 8.11 and 8.12
- finmap 8.11 and 8.12
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril opened PR #531 turning let into local definition from fix_cyclotomic
to master
:
Motivation for this change
This silences a warning, by replacing a toplevel
Let
with aLocal Definition
as sugested by the warning.
```
Warning: Interpreting this declaration as if a global declaration prefixed by
"Local", i.e. as a global declaration which shall not be available without
qualification when imported. [local-declaration,scope]##### Things done/to do <!-- please fill in the following checklist --> - ~added corresponding entries in `CHANGELOG_UNRELEASED.md`~ - ~added corresponding documentation in the headers~ <!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent --> <!-- You may also add more items to explain what you did and what remains to do --> <!-- leave this note as a reminder to reviewers --> ##### Automatic note to reviewers Read [this Checklist](https://github.com/math-comp/math-comp/wiki/Checklist-for-following,-reviewing-and-playing-with-a-PR#checklist-for-reviewing-a-pr) and make sure there is a milestone. ~~~
CohenCyril milestoned Issue #531 turning let into local definition:
Motivation for this change
This silences a warning, by replacing a toplevel
Let
with aLocal Definition
as sugested by the warning.
```
Warning: Interpreting this declaration as if a global declaration prefixed by
"Local", i.e. as a global declaration which shall not be available without
qualification when imported. [local-declaration,scope]##### Things done/to do <!-- please fill in the following checklist --> - ~added corresponding entries in `CHANGELOG_UNRELEASED.md`~ - ~added corresponding documentation in the headers~ <!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent --> <!-- You may also add more items to explain what you did and what remains to do --> <!-- leave this note as a reminder to reviewers --> ##### Automatic note to reviewers Read [this Checklist](https://github.com/math-comp/math-comp/wiki/Checklist-for-following,-reviewing-and-playing-with-a-PR#checklist-for-reviewing-a-pr) and make sure there is a milestone. ~~~
CohenCyril merged PR #531 turning let into local definition.
CohenCyril pushed 2 commits to branch master.
CohenCyril opened PR #532 fix coq 8.12 warnings from silence-8.12-warnings
to master
:
Motivation for this change
We address new warnings that arise from coq 8.12
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #527 Adding only parsing to notations in ssrAC from ssrAC_only_parsing_fix
to master
:
Motivation for this change
Silence warning by declaring some notations
only parsing
.Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #532 fix coq 8.12 warnings from silence-8.12-warnings
to master
:
Motivation for this change
We address new warnings that arise from coq 8.12
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #532 fix coq 8.12 warnings from silence-8.12-warnings
to master
:
Motivation for this change
We address new warnings that arise from coq 8.12
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril milestoned Issue #532 fix coq 8.12 warnings:
Motivation for this change
We address new warnings that arise from coq 8.12
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril merged PR #532 fix coq 8.12 warnings.
CohenCyril pushed 2 commits to branch master.
ybertot:
ybertot:
ybertot:
CohenCyril:
CohenCyril:
CohenCyril:
CohenCyril:
affeldt-aist opened PR #533 edit changelogs before release from changelogs_before_release
to master
:
Motivation for this change
Update changelogs before release
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist requested CohenCyril for a review on PR #533 edit changelogs before release.
affeldt-aist requested CohenCyril and ybertot for a review on PR #533 edit changelogs before release.
affeldt-aist updated PR #533 edit changelogs before release from changelogs_before_release
to master
:
Motivation for this change
Update changelogs before release
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril:
affeldt-aist updated PR #533 edit changelogs before release from changelogs_before_release
to master
:
Motivation for this change
Update changelogs before release
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
ybertot:
CohenCyril:
CohenCyril:
CohenCyril milestoned Issue #533 edit changelogs before release:
Motivation for this change
Update changelogs before release
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #533 edit changelogs before release.
CohenCyril opened PR #534 add lua&sed to shell and switch to coq 8.11 + fixing doc from doc-1.11
to master
:
Motivation for this change
- The doc of order.v was badly displayed,
<<
and<<<
was interpreted as<tt>
messing with the rest of the doc- The nix shell is now ready to use with make doc (howto release updated accordingly)
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #534 add lua&sed to nixshell and switch to coq 8.11 + fixing doc from doc-1.11
to master
:
Motivation for this change
- The doc of order.v was badly displayed,
<<
and<<<
was interpreted as<tt>
messing with the rest of the doc- The nix shell is now ready to use with make doc (howto release updated accordingly)
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril merged PR #534 add lua&sed to nixshell and switch to coq 8.11 + fixing doc.
CohenCyril pushed 2 commits to branch master.
affeldt-aist merged PR #533 edit changelogs before release.
affeldt-aist pushed 2 commits to branch master.
CohenCyril milestoned Issue #534 add lua&sed to nixshell and switch to coq 8.11 + fixing doc:
Motivation for this change
- The doc of order.v was badly displayed,
<<
and<<<
was interpreted as<tt>
messing with the rest of the doc- The nix shell is now ready to use with make doc (howto release updated accordingly)
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
ybertot created release The Mathematical Components Library 1.11.0 for tag mathcomp-1.11.0.
ybertot published release The Mathematical Components Library 1.11.0 for tag mathcomp-1.11.0.
ybertot prereleased release The Mathematical Components Library 1.11.0 for tag mathcomp-1.11.0.
ybertot pushed tag mathcomp-1.11.0.
ybertot released release The Mathematical Components Library 1.11.0 for tag mathcomp-1.11.0.
CohenCyril deleted release The Mathematical Components Library 1.11.0+beta1 for tag mathcomp-1.11.0+beta1.
CohenCyril edited release The Mathematical Components Library 1.11.0 for tag mathcomp-1.11.0.
CohenCyril:
CohenCyril:
CohenCyril pushed 1 commit to branch master.
ybertot:
CohenCyril pushed 1 commit to branch master.
CohenCyril edited release The Mathematical Components Library 1.11.0 for tag mathcomp-1.11.0.
CohenCyril:
CohenCyril:
CohenCyril edited release The Mathematical Components Library 1.11+beta1 for tag mathcomp-1.11+beta1.
CohenCyril pushed 1 commit to branch master.
CohenCyril pushed 1 commit to branch master.
| (= "dev")
for released packages (313e443)CohenCyril:
ybertot:
ybertot:
CohenCyril opened PR #535 Generated opam packages allow coq-dev again from allow-coq-dev
to master
:
Motivation for this change
As a result of a discussion on Zulip
Reverts "removing opam| (= "dev")
for released packages"
(commit 313e44316177c918b363c118f15297e08d13eb4e).Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril merged PR #535 Generated opam packages allow coq-dev again.
CohenCyril pushed 2 commits to branch master.
CohenCyril updated PR #501 Intro pattern extensions for rewrite, dup, swap and apply (assigned to gares) from intro_rw
to master
:
Motivation for this change
Intro pattern ltac views (rewrite, dup, swap, apply) in order not to break intro patterns for silly rewrites.
- calling rewrite from an intro pattern, use with parsimony
=> /[1! rules]
doesrewrite rules
=> /[! rules]
doesrewrite !rules
- top of the stack actions:
=> /apply
does=> hyp {}/hyp
=> /swap
does=> x y; move: y x
(also swap and perserves let bindings)
=> /dup
does=> x; have copy := x; move: copy x
(also copies and preserves let bindings)This is a part of #372, simplified, rewritten and rebased.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] open corresponding PR in Coq to integrate changes from
ssreflect.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #530 More CI from moreCI
to master
:
- fourcolor 8.11 and 8.12
- odd-order 8.11 and 8.12
- bigenough 8.11 and 8.12
- finmap 8.11 and 8.12
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #521 In and on from in_on
to master
:
Motivation for this change
These new lemmas describe more precisely the possible interactions between
in
andon
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
- [ ] backport to Coq
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #507 Add more test cases for higher-order recursive functions in seq.v w.r.t. the guard condition from test-guard-cond
to master
:
Motivation for this change
This PR adds some test cases in
test_suite/test_guard.v
which I promised to do in https://github.com/math-comp/math-comp/pull/471#issuecomment-611521366. Currently, test cases forfind
,filter
,count
,pmap
,pairmap
,scanl
are missing.<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- ~[ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #464 [WIP] meet semilattice structures from semilattices
to master
:
Motivation for this change
This PR adds the following structures:
meetSemilatticeType
: inf-semilattice,bSemilatticeType
: inf-semilattice with the bottom.cc: @strub
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] merge dependency: #494
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #494 Get rid of displays in class fields and mixin parameters (assigned to CohenCyril) from rm-displays-in-classes
to master
:
Motivation for this change
This PR removes displays from class fields and mixin parameters, and also refactor factories and builders, as preliminary work for PR #464.
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [x] merge dependency: #490
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #458 [WIP] new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures. The main achievements are that intervals on a
latticeType
form alatticeType
where join is the intersection and meet is the convex hull, and intervals on anorderType
form adistrLatticeType
as well.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #458 [WIP] new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures. The main achievements are that intervals on a
latticeType
form alatticeType
where join is the intersection and meet is the convex hull, and intervals on anorderType
form adistrLatticeType
as well.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 opened PR #536 Fix some hierarchy.ml related issues from hierarchy
to master
:
Motivation for this change
- Fix some issues reported by @strub:
- pass
Unix.environment ()
tocoqtop
to preserve the parent process environment,- check the exit status of
coqtop
and report an error if it is wrong.- Fix some
Makefile
issues:
- rename
hierarchy_test.v
totest_hierarchy_all.v
because other test cases are namedtest_*.v
and we may also havetest_hierarchy_ssreflect.v
,test_hierarchy_fingroup.v
, etc. (but I actually had some issues to implement this feature in theMakefile
),- the
build
prerequisite oftest_suite/test_hierarchy_all.v
should be order only (right?),- fix
make test_suite/*.vo
by adding a rule.Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #536 Fix some hierarchy.ml related issues from hierarchy
to master
:
Motivation for this change
- Fix some issues reported by @strub:
- pass
Unix.environment ()
tocoqtop
to preserve the parent process environment,- check the exit status of
coqtop
and report an error if it is wrong.- Fix some
Makefile
issues:
- rename
hierarchy_test.v
totest_hierarchy_all.v
because other test cases are namedtest_*.v
and we may also havetest_hierarchy_ssreflect.v
,test_hierarchy_fingroup.v
, etc. (but I actually had some issues to implement this feature in theMakefile
),- since the
test_suite
directory exists from the beginning, we do not need to domkdir -p test_suite
,- the
build
prerequisite oftest_suite/test_hierarchy_all.v
should be order only (right?),- fix
make test_suite/*.vo
by adding a rule.Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 submitted PR Review for #536 Fix some hierarchy.ml related issues.
pi8027 created PR Review Comment on #536 Fix some hierarchy.ml related issues:
@CohenCyril I meant "order-only prerequisites" in this documentation. If we remove this pipe symbol, repeating
make test-suite
forces us to rerun the test suite.
pi8027 submitted PR Review for #536 Fix some hierarchy.ml related issues.
pi8027 created PR Review Comment on #536 Fix some hierarchy.ml related issues:
After re-reading the documentation, I think this is not the right solution. Sorry for the mess.
CohenCyril submitted PR Review for #499 contra lemmas involving propositions.
CohenCyril submitted PR Review for #499 contra lemmas involving propositions.
CohenCyril created PR Review Comment on #499 contra lemmas involving propositions:
auto
has an impredictable behavior wrt the use of the section context. So I'd recommend doing the proof by hand or writing an explicitProof using T1.
to make sureT2
is not pulled in by accident...
pi8027 edited PR #536 Fix some hierarchy.ml related issues from hierarchy
to master
:
Motivation for this change
- Fix some issues reported by @strub:
- pass
Unix.environment ()
tocoqtop
to preserve the parent process environment,- check the exit status of
coqtop
and report an error if it is wrong.- Fix some
Makefile
issues:
- rename
hierarchy_test.v
totest_hierarchy_all.v
because other test cases are namedtest_*.v
and we may also havetest_hierarchy_ssreflect.v
,test_hierarchy_fingroup.v
, etc. (but I actually had some issues to implement this feature in theMakefile
),- since the
test_suite
directory exists from the beginning, we do not need to domkdir -p test_suite
,- ~the
build
prerequisite oftest_suite/test_hierarchy_all.v
should be order only (right?),~- fix
make test_suite/*.vo
by adding a rule.Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #536 Fix some hierarchy.ml related issues from hierarchy
to master
:
Motivation for this change
- Fix some issues reported by @strub:
- pass
Unix.environment ()
tocoqtop
to preserve the parent process environment,- check the exit status of
coqtop
and report an error if it is wrong.- Fix some
Makefile
issues:
- rename
hierarchy_test.v
totest_hierarchy_all.v
because other test cases are namedtest_*.v
and we may also havetest_hierarchy_ssreflect.v
,test_hierarchy_fingroup.v
, etc. (but I actually had some issues to implement this feature in theMakefile
),- since the
test_suite
directory exists from the beginning, we do not need to domkdir -p test_suite
,- ~the
build
prerequisite oftest_suite/test_hierarchy_all.v
should be order only (right?),~- fix
make test_suite/*.vo
by adding a rule.Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
gares:
gares:
gares:
CohenCyril closed Issue #327 Issue with the Howto release:
Missing steps for Howto Release:
- [x] how to publish released docker images
- [x] how to update the online documentation
cc @gares
cc @erikmd
gares:
gares:
pi8027 updated PR #536 Fix some hierarchy.ml related issues from hierarchy
to master
:
Motivation for this change
- Fix some issues reported by @strub:
- pass
Unix.environment ()
tocoqtop
to preserve the parent process environment,- check the exit status of
coqtop
and report an error if it is wrong.- Fix some
Makefile
issues:
- rename
hierarchy_test.v
totest_hierarchy_all.v
because other test cases are namedtest_*.v
and we may also havetest_hierarchy_ssreflect.v
,test_hierarchy_fingroup.v
, etc. (but I actually had some issues to implement this feature in theMakefile
),- since the
test_suite
directory exists from the beginning, we do not need to domkdir -p test_suite
,- ~the
build
prerequisite oftest_suite/test_hierarchy_all.v
should be order only (right?),~- fix
make test_suite/*.vo
by adding a rule.Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril:
affeldt-aist opened PR #537 missing bigop lemmas from from_analysis_20200617
to master
:
Co-authored-by: Cohen Cyril <cyril.cohen@inria.fr>
Motivation for this change
missing lemmas discovered while developing mathcomp-analysis
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc updated PR #499 contra lemmas involving propositions from contra-prop
to master
:
Motivation for this change
Various forms of contraposition are constructively provable and having a collection of lemmas whose naming is consistent with the
contra
lemmas already in mathcomp makes it easier and more idiomatic to use them.fixes #491
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers (
contra
lemmas have no header documentation)- [ ] Coq side pull request to launch propagation to
Coq.ssr.ssrbool
- [ ] find places within mathcomp where these should be used (optional)
<!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc updated PR #499 contra lemmas involving propositions from contra-prop
to master
:
Motivation for this change
Various forms of contraposition are constructively provable and having a collection of lemmas whose naming is consistent with the
contra
lemmas already in mathcomp makes it easier and more idiomatic to use them.fixes #491
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers (
contra
lemmas have no header documentation)- [ ] Coq side pull request to launch propagation to
Coq.ssr.ssrbool
- [ ] find places within mathcomp where these should be used (optional)
<!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc submitted PR Review for #499 contra lemmas involving propositions.
chdoc created PR Review Comment on #499 contra lemmas involving propositions:
Done.
chdoc updated PR #509 Card lemmas from card-lemmas
to master
:
Motivation for this change
Additional lemmas about cardinalities of predicates and sets. Mainly picking
n
distinct elements for an a predicate withn <= #|A|
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc updated PR #509 Card lemmas from card-lemmas
to master
:
Motivation for this change
Additional lemmas about cardinalities of predicates and sets. Mainly picking
n
distinct elements for an a predicate withn <= #|A|
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc updated PR #509 Card lemmas from card-lemmas
to master
:
Motivation for this change
Additional lemmas about cardinalities of predicates and sets. Mainly picking
n
distinct elements for an a predicate withn <= #|A|
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #509 Card lemmas.
CohenCyril created PR Review Comment on #509 Card lemmas:
One last nitpicking that I did not see (we should really have a linter):
reflect (exists x y z, [/\ x \in A, y \in A & z \in A] /\ [/\ x != y, y != z & z != x])
CohenCyril updated PR #509 Card lemmas from card-lemmas
to master
:
Motivation for this change
Additional lemmas about cardinalities of predicates and sets. Mainly picking
n
distinct elements for an a predicate withn <= #|A|
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #509 Card lemmas from card-lemmas
to master
:
Motivation for this change
Additional lemmas about cardinalities of predicates and sets. Mainly picking
n
distinct elements for an a predicate withn <= #|A|
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #509 Card lemmas.
CohenCyril submitted PR Review for #509 Card lemmas.
CohenCyril created PR Review Comment on #537 missing bigop lemmas:
In ssrnum,
%O
can and must be omitted (unless I am mistaken, but if they can, they must).
CohenCyril submitted PR Review for #537 missing bigop lemmas.
CohenCyril submitted PR Review for #499 contra lemmas involving propositions.
CohenCyril closed Issue #491 "contra" lemmas for propositions:
I've grown quite accustomed to using the various "contra" lemmas to be found
ssrbool
. However, sometimes the involved facts are actual propositions and their negations. For this purpose, I've started to use the following collection of lemmas:Lemma contraTnot b (P : Prop) : (P -> ~~ b) -> (b -> ~ P). Lemma contraNnot (b : bool) (P : Prop) : (P -> b) -> (~~ b -> ~ P). Lemma contraPT (P : Prop) (b : bool) : (~~ b -> ~ P) -> P -> b. Lemma contra_notT (b : bool) (P : Prop) : (~~ b -> P) -> ~ P -> b. Lemma contraPN (b : bool) (P : Prop) : (b -> ~ P) -> (P -> ~~ b). Lemma contraPneq (T:eqType) (a b : T) (P : Prop) : (a = b -> ~ P) -> (P -> a != b). Lemma contraPeq (T:eqType) (a b : T) (P : Prop) : (a != b -> ~ P) -> (P -> a = b).
The naming scheme is inspired by the remaining contra lemmas, using "P" for assumptions with type in
Prop
and "not" for~ P
. Do you think this is useful? Should I create a pull request?
CohenCyril merged PR #499 contra lemmas involving propositions.
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and chdoc (1).
affeldt-aist updated PR #537 missing bigop lemmas from from_analysis_20200617
to master
:
Co-authored-by: Cohen Cyril <cyril.cohen@inria.fr>
Motivation for this change
missing lemmas discovered while developing mathcomp-analysis
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist updated PR #537 missing bigop lemmas from from_analysis_20200617
to master
:
Co-authored-by: Cohen Cyril <cyril.cohen@inria.fr>
Motivation for this change
missing lemmas discovered while developing mathcomp-analysis
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery requested thery for a review on PR #537 missing bigop lemmas.
thery milestoned Issue #537 missing bigop lemmas:
Co-authored-by: Cohen Cyril <cyril.cohen@inria.fr>
Motivation for this change
missing lemmas discovered while developing mathcomp-analysis
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #507 Add more test cases for higher-order recursive functions in seq.v w.r.t. the guard condition.
chdoc updated PR #509 Card lemmas from card-lemmas
to master
:
Motivation for this change
Additional lemmas about cardinalities of predicates and sets. Mainly picking
n
distinct elements for an a predicate withn <= #|A|
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
affeldt-aist edited Issue #526 backport ssrbool to Coq:
Backport to Coq new contents from
ssrbool.v
(as introduced by PR #513 PR #519 PR #499 ).https://github.com/affeldt-aist/coq/tree/ssrbool_backport_MathComp1.11
already contains anssrbool.v
file with an integration of PR #513, PR #519, and PR #499
and is ready to be PRed.@CohenCyril @ybertot
(NB: this issue has been edited, it was mentioning
ssrfun.v
but its contents have already made their way to Coq)
chdoc updated PR #509 Card lemmas from card-lemmas
to master
:
Motivation for this change
Additional lemmas about cardinalities of predicates and sets. Mainly picking
n
distinct elements for an a predicate withn <= #|A|
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc:
chdoc:
CohenCyril submitted PR Review for #509 Card lemmas.
CohenCyril merged PR #509 Card lemmas.
CohenCyril pushed 8 commits to branch master. Commits by chdoc (6) and CohenCyril (2).
pi8027 opened Issue #538 Shouldn't notations dual_(bottom|top|join|meet|max|min)
be qualified by Order
module?
Since
Order.bottom
, etc. are qualified, I thought they should, but actually they are not. @CohenCyril
pi8027 edited Issue #538 Notations dual_(bottom|top|join|meet|max|min)
should be qualified by the Order
module:
Since
Order.bottom
, etc. are qualified, I thought they should, but actually they are not. @CohenCyril
pi8027 updated PR #494 Get rid of displays in class fields and mixin parameters (assigned to CohenCyril) from rm-displays-in-classes
to master
:
Motivation for this change
This PR removes displays from class fields and mixin parameters, and also refactor factories and builders, as preliminary work for PR #464.
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [x] merge dependency: #490
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #464 [WIP] meet semilattice structures from semilattices
to master
:
Motivation for this change
This PR adds the following structures:
meetSemilatticeType
: inf-semilattice,bSemilatticeType
: inf-semilattice with the bottom.cc: @strub
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] merge dependency: #494
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #494 Get rid of displays in class fields and mixin parameters (assigned to CohenCyril) from rm-displays-in-classes
to master
:
Motivation for this change
This PR removes displays from class fields and mixin parameters, and also refactor factories and builders, as preliminary work for PR #464.
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [x] merge dependency: #490
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #494 Get rid of displays in class fields and mixin parameters (assigned to CohenCyril) from rm-displays-in-classes
to master
:
Motivation for this change
This PR removes displays from class fields and mixin parameters, and also refactor factories and builders, as preliminary work for PR #464.
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [x] merge dependency: #490
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery submitted PR Review for #537 missing bigop lemmas.
thery submitted PR Review for #537 missing bigop lemmas.
thery created PR Review Comment on #537 missing bigop lemmas:
Maybe in two moves (there is a
iter_addn_0
fornat
)Lemma iter_addr_0 n (m : V) : iter n (+%R m) 0 = m *+ n. Proof. by elim: n => //= n ->; rewrite mulrS. Qed. Lemma sumr_const_nat (m n : nat) (x : V) : \sum_(n <= i < m) x = x *+ (m - n). Proof. by rewrite big_const_nat iter_addr_0. Qed.
thery created PR Review Comment on #537 missing bigop lemmas:
Maybe this is simpler
Lemma ler_sum_nat (m n : nat) (F G : nat -> R) : (forall i, (m <= i < n)%N -> F i <= G i) -> \sum_(m <= i < n) F i <= \sum_(m <= i < n) G i. Proof. move=> leFG. by rewrite ![\sum_(_ <= _ < _) _]big_nat_cond ler_sum // => i /andP[] /leFG. Qed.
thery opened PR #539 simpler proof from sum_nat_const
to master
:
Motivation for this change
While reviewing #537. I've noticed that we could take advantage of
iter_addn_0
to simplify the proof ofsum_nat_const_nat
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery edited PR #539 simpler proof of sum_nat_const_nat in bigop from sum_nat_const
to master
:
Motivation for this change
While reviewing #537. I've noticed that we could take advantage of
iter_addn_0
to simplify the proof ofsum_nat_const_nat
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery edited PR #539 simpler proof of sum_nat_const_nat
in bigop.v
from sum_nat_const
to master
:
Motivation for this change
While reviewing #537. I've noticed that we could take advantage of
iter_addn_0
to simplify the proof ofsum_nat_const_nat
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery edited PR #539 simpler proof of sum_nat_const_nat in bigop.v from sum_nat_const
to master
:
Motivation for this change
While reviewing #537. I've noticed that we could take advantage of
iter_addn_0
to simplify the proof ofsum_nat_const_nat
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #539 simpler proof of sum_nat_const_nat in bigop.v from sum_nat_const
to master
:
Motivation for this change
While reviewing #537. I've noticed that we could take advantage of
iter_addn_0
to simplify the proof ofsum_nat_const_nat
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #539 simpler proof of sum_nat_const_nat in bigop.v.
CohenCyril pushed 2 commits to branch pr/537. Commits by CohenCyril (1) and affeldt-aist (1).
CohenCyril pushed the branch pulls/537.
CohenCyril deleted the branch pulls/537.
CohenCyril deleted the branch pr/537.
CohenCyril pushed 2 commits to branch pull/537. Commits by CohenCyril (1) and affeldt-aist (1).
CohenCyril deleted the branch pull/537.
CohenCyril pushed 2 commits to branch pull/537/head. Commits by CohenCyril (1) and affeldt-aist (1).
CohenCyril deleted the branch pull/537/head.
CohenCyril updated PR #537 missing bigop lemmas from from_analysis_20200617
to master
:
Co-authored-by: Cohen Cyril <cyril.cohen@inria.fr>
Motivation for this change
missing lemmas discovered while developing mathcomp-analysis
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery opened PR #540 fix the doc for ubnP in ssrnat from doc
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery edited PR #540 fix the doc for ubnP in ssrnat from doc
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery requested ggonthier for a review on PR #540 fix the doc for ubnP in ssrnat.
thery requested ybertot for a review on PR #540 fix the doc for ubnP in ssrnat.
CohenCyril updated PR #537 missing bigop lemmas from from_analysis_20200617
to master
:
Co-authored-by: Cohen Cyril <cyril.cohen@inria.fr>
Motivation for this change
missing lemmas discovered while developing mathcomp-analysis
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #537 missing bigop lemmas from from_analysis_20200617
to master
:
Co-authored-by: Cohen Cyril <cyril.cohen@inria.fr>
Motivation for this change
missing lemmas discovered while developing mathcomp-analysis
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #540 fix the doc for ubnP in ssrnat from doc
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery merged PR #537 missing bigop lemmas.
thery pushed 2 commits to branch master. Commits by affeldt-aist (1) and thery (1).
CohenCyril submitted PR Review for #540 fix the doc for ubnP in ssrnat.
CohenCyril milestoned Issue #540 fix the doc for ubnP in ssrnat:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril milestoned Issue #539 simpler proof of sum_nat_const_nat in bigop.v:
Motivation for this change
While reviewing #537. I've noticed that we could take advantage of
iter_addn_0
to simplify the proof ofsum_nat_const_nat
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril merged PR #539 simpler proof of sum_nat_const_nat in bigop.v.
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and thery (1).
CohenCyril merged PR #540 fix the doc for ubnP in ssrnat.
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and thery (1).
CohenCyril requested maximedenes for a review on PR #536 Fix some hierarchy.ml related issues.
CohenCyril assigned PR #536 Fix some hierarchy.ml related issues to CohenCyril.
CohenCyril:
chdoc opened PR #541 lemmas for proper and setC from properC
to master
:
Motivation for this change
This adds a few trivial lemmas on
proper
andsetC
closes #512
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc opened PR #542 fix "Nothing to inject" warnings from nothing-to-inject
to master
:
Motivation for this change
This fixes two "Noting to inject" warnings introduced by #509 :disappointed:
Things done/to do
<!-- please fill in the following checklist -->
- [ ] ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #464 [WIP] meet semilattice structures from semilattices
to master
:
Motivation for this change
This PR adds the following structures:
meetSemilatticeType
: inf-semilattice,bSemilatticeType
: inf-semilattice with the bottom.cc: @strub
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] merge dependency: #494
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #494 Get rid of displays in class fields and mixin parameters (assigned to CohenCyril) from rm-displays-in-classes
to master
:
Motivation for this change
This PR removes displays from class fields and mixin parameters, and also refactor factories and builders, as preliminary work for PR #464.
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [x] merge dependency: #490
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #536 Fix some hierarchy.ml related issues (assigned to CohenCyril) from hierarchy
to master
:
Motivation for this change
- Fix some issues reported by @strub:
- pass
Unix.environment ()
tocoqtop
to preserve the parent process environment,- check the exit status of
coqtop
and report an error if it is wrong.- Fix some
Makefile
issues:
- rename
hierarchy_test.v
totest_hierarchy_all.v
because other test cases are namedtest_*.v
and we may also havetest_hierarchy_ssreflect.v
,test_hierarchy_fingroup.v
, etc. (but I actually had some issues to implement this feature in theMakefile
),- since the
test_suite
directory exists from the beginning, we do not need to domkdir -p test_suite
,- ~the
build
prerequisite oftest_suite/test_hierarchy_all.v
should be order only (right?),~- fix
make test_suite/*.vo
by adding a rule.Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027:
gares:
gares:
gares:
CohenCyril milestoned Issue #508 mem_imset mem_map naming/statement inconsistency:
while cleaning, I noticed the following oddity:
Lemma mem_imset (aT rT : finType) (f : aT -> rT) (D : {pred aT}) (x : aT) : x \in D -> f x \in [set f x | x in D] Lemma map_f (T1 T2 : eqType) (f : T1 -> T2) (s : seq T1) (x : T1) : x \in s -> f x \in [seq f i | i <- s] Lemma mem_map (T1 T2 : eqType) (f : T1 -> T2), injective f -> forall (s : seq T1) (x : T1), (f x \in [seq f i | i <- s]) = (x \in s)
Wouldn't it be more consistent to rename
mem_imset
toimset_f
and add the following lemma:Lemma mem_imset (aT rT : finType) (f : aT -> rT) (A : {set aT}) (x : aT) : injective f -> (f x \in f @: A) = (x \in A).
gares:
gares:
erikmd:
erikmd:
erikmd:
erikmd:
erikmd:
pi8027:
affeldt-aist:
chdoc opened Issue #543 Definition of "rot" suboptomal?
I tried to use list (cycle) rotation today, I and I was surprised to see that
rot n s
only performs a rotation ifn <= size s
. In fact, there is even a lemma stating this. Moreover, several lemmas need (unexpected) side conditions:rot_oversize: forall (T : Type) (n : nat) (s : seq T), size s <= n -> rot n s = s rotD: forall (T : Type) (m n : nat) (s : seq T), m + n <= size s -> rot (m + n) s = rot m (rot n s) rotS: forall (T : Type) (n : nat) (s : seq T), n < size s -> rot n.+1 s = rot 1 (rot n s) rot_add_mod: forall (T : Type) (m n : nat) (s : seq T), n <= size s -> m <= size s -> rot m (rot n s) = rot (if m + n <= size s then m + n else m + n - size s) s
Wouldn't it be more natural to define rot as follows:
Definition rot n s := drop (n %% size s) s ++ take (n %% size s) s.
(the original definition is without the
_ %% size s
)From this one can prove
Lemma rot_size_r n s : rot (n + size s) s = rot n s. Lemma rot_cons n x s : rot n.+1 (x::s) = rot n (rcons s x).
This allows removing the side conditions from
rotD
androtS
, makingrot_add_mod
redundant.
CohenCyril edited PR #541 lemmas for proper and setC from properC
to master
:
Motivation for this change
This adds a few trivial lemmas on
proper
andsetC
closes #512
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #541 lemmas for proper and setC.
pi8027 opened Issue #544 Ambiguous coercion paths in fieldext.v:
I guess we do too much eta expansion somewhere:
Warning: New coercion path [FieldExt.base6; GRing.ComUnitAlgebra.base2] : FieldExt.class_of >-> GRing.UnitAlgebra.class_of is ambiguous with existing [FieldExt.base; Falgebra.base1] : FieldExt.class_of >-> GRing.UnitAlgebra.class_of. [ambiguous-paths,typechecker] Warning: New coercion path [FieldExt.comUnitAlgType; GRing.ComUnitAlgebra.unitAlgType] : FieldExt.type >-> GRing.UnitAlgebra.type is ambiguous with existing [FieldExt.unitAlgType] : FieldExt.type >-> GRing.UnitAlgebra.type. [ambiguous-paths,typechecker]
pi8027 opened PR #545 Make [fieldExtType F of L] work for abstract instances from fieldext
to master
:
Motivation for this change
If
L
is an abstractfieldType
, this pack notation did not work as in https://github.com/math-comp/analysis/pull/205#discussion_r451832262. CC: @CohenCyrilThings done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril requested CohenCyril for a review on PR #545 Make [fieldExtType F of L] work for abstract instances.
CohenCyril assigned PR #545 Make [fieldExtType F of L] work for abstract instances.
pi8027 opened PR #546 Fix ambiguous coercion paths in fieldext.v from fieldext-coherence
to master
:
Motivation for this change
The coercion paths from
fieldExtType
tounitAlgType
were ambiguous because the base ofFalgType
wasunitAlgType
but the base ofcomUnitAlgType
wascomAlgType
. This PR fixes it by changing the base ofcomUnitAlgType
tounitAlgType
.Fixes: #544.
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #546 Fix ambiguous coercion paths in fieldext.v from fieldext-coherence
to master
:
Motivation for this change
The coercion paths from
fieldExtType
tounitAlgType
were ambiguous because the base ofFalgType
wasunitAlgType
but the base ofcomUnitAlgType
wascomAlgType
. This PR fixes it by changing the base ofcomUnitAlgType
tounitAlgType
.Fixes: #544.
Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #546 Fix ambiguous coercion paths in fieldext.v from fieldext-coherence
to master
:
Motivation for this change
The coercion paths from
fieldExtType
tounitAlgType
were ambiguous because the base ofFalgType
wasunitAlgType
but the base ofcomUnitAlgType
wascomAlgType
. This PR fixes it by changing the base ofcomUnitAlgType
tounitAlgType
.Fixes: #544.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #546 Fix a coherence (ambiguous paths) issue of fieldExtType and a conversion issue of "regular" instances from fieldext-coherence
to master
:
Motivation for this change
The coercion paths from
fieldExtType
tounitAlgType
were ambiguous because the base ofFalgType
wasunitAlgType
but the base ofcomUnitAlgType
wascomAlgType
. This PR fixes it by changing the base ofcomUnitAlgType
tounitAlgType
.Fixes: #544.
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #546 Fix a coherence (ambiguous paths) issue of fieldExtType and a conversion issue of "regular" instances from fieldext-coherence
to master
:
Motivation for this change
- For
R : ringType
,[lalgType R of R^o] : ringType
and[ringType of R]
were not convertible and other "regular" instances had the same issue, because every algebra structure had another algebra/module structure as their base. The algebra structures now take the closest ring/field structure as their base to avoid record eta expansion.- The notation
[fieldExtType F of L for K]
is now removed.- Some missing
comAlgType
andcomUnitAlgType
instances are added.- The coercion paths from
fieldExtType
tounitAlgType
were ambiguous because the base ofFalgType
wasunitAlgType
but the base ofcomUnitAlgType
wascomAlgType
. Fixes: #544.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 submitted PR Review for #546 Fix a coherence (ambiguous paths) issue of fieldExtType and a conversion issue of "regular" instances.
pi8027 created PR Review Comment on #546 Fix a coherence (ambiguous paths) issue of fieldExtType and a conversion issue of "regular" instances:
Since the
[comUnitRingType of R]
notation does an extra record eta expansion, I had to avoid it. :(
pi8027 updated PR #458 [WIP] new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures. The main achievements are that intervals on a
latticeType
form alatticeType
where join is the intersection and meet is the convex hull, and intervals on anorderType
form adistrLatticeType
as well.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #546 Fix a coherence (ambiguous paths) issue of fieldExtType and a conversion issue of "regular" instances from fieldext-coherence
to master
:
Motivation for this change
- For
R : ringType
,[lalgType R of R^o] : ringType
and[ringType of R]
were not convertible and other "regular" instances had the same issue, because every algebra structure had another algebra/module structure as their base. The algebra structures now take the closest ring/field structure as their base to avoid record eta expansion.- The notation
[fieldExtType F of L for K]
is now removed. (Removing this notation is too aggressive and I have to put it back for compatibility reasons, but I don't get how to do that.)- Some missing
comAlgType
andcomUnitAlgType
instances are added.- The coercion paths from
fieldExtType
tounitAlgType
were ambiguous because the base ofFalgType
wasunitAlgType
but the base ofcomUnitAlgType
wascomAlgType
. Fixes: #544.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 opened PR #547 Qualify the dual_* notations with the Order module from qualified-dual-op
to master
:
Motivation for this change
- Fixes #538: The
dual_*
notations were not qualified with theOrder
module.- Since
rewrite /<=%O
did not turn@Order.le (dual_display d) (dual_porderType T) x y
into@Order.le d T y x
immediately, this PR also removesdual_le
anddual_lt
from the definition ofdual_porderType
, and put them back as notations.Things done/to do
<!-- please fill in the following checklist -->
- [ ] merge dependency: #494
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #547 Qualify the dual_* notations with the Order module from qualified-dual-op
to master
:
Motivation for this change
- Fixes #538: The
dual_*
notations were not qualified with theOrder
module.- Since
rewrite /<=%O
did not turn@Order.le (dual_display d) (dual_porderType T) x y
into@Order.le d T y x
immediately, this PR also removesdual_le
anddual_lt
from the definition ofdual_porderType
, and put them back as notations for@Order.le (dual_display _) _
and@Order.lt (dual_display _) _
.Things done/to do
<!-- please fill in the following checklist -->
- [ ] merge dependency: #494
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #546 Fix a coherence (ambiguous paths) issue of fieldExtType and a conversion issue of "regular" instances from fieldext-coherence
to master
:
Motivation for this change
- For
R : ringType
,[lalgType R of R^o] : ringType
and[ringType of R]
(≡GRing.Ring.Pack R (GRing.Ring.class R)
) were not convertible and other "regular" instances had the same issue, because every algebra structure had another algebra/module structure as their base. The algebra structures now take the closest ring/field structure as their base to avoid record eta expansion.- The notation
[fieldExtType F of L for K]
is now removed. (Removing this notation is too aggressive and I have to put it back for compatibility reasons, but I don't get how to do that.)- Some missing
comAlgType
andcomUnitAlgType
instances are added.- The coercion paths from
fieldExtType
tounitAlgType
were ambiguous because the base ofFalgType
wasunitAlgType
but the base ofcomUnitAlgType
wascomAlgType
. Fixes: #544.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #547 Qualify the dual_* notations with the Order module from qualified-dual-op
to master
:
Motivation for this change
- Fixes #538: The
dual_*
notations were not qualified with theOrder
module.- Since
rewrite /<=%O
did not turn@Order.le (dual_display d) (dual_porderType T) x y
into@Order.le d T y x
immediately, this PR also removesdual_le
anddual_lt
from the definition ofdual_porderType
, and put them back as notations for@Order.le (dual_display _) _
and@Order.lt (dual_display _) _
.Things done/to do
<!-- please fill in the following checklist -->
- [ ] merge dependency: #494
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #546 Fix a coherence (ambiguous paths) issue of fieldExtType and a conversion issue of "regular" instances from fieldext-coherence
to master
:
Motivation for this change
- For
R : ringType
,[lalgType R of R^o] : ringType
and[ringType of R]
(≡GRing.Ring.Pack R (GRing.Ring.class R)
) were not convertible and other "regular" instances had the same issue, because every algebra structure had another algebra/module structure as their base. The algebra structures now take the closest ring/field structure as their base to avoid record eta expansion.- The notation
[fieldExtType F of L for K]
is now removed. (Removing this notation is too aggressive and I have to put it back for compatibility reasons, but I don't get how to do that.)- Some missing
comAlgType
andcomUnitAlgType
instances are added.- Fixes #544: The coercion paths from
fieldExtType
tounitAlgType
were ambiguous because the base ofFalgType
wasunitAlgType
but the base ofcomUnitAlgType
wascomAlgType
.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 opened PR #548 Use predicators even extensively from predicators
to master
:
Motivation for this change
This PR attempts to restate several lemmas using predicators such as
cancel
,(left|right)_(id|zero|inverse|distributive)
,idempotent
,associative
, andcommutative
. Some of them are probably too aggressive and I would like to have comments on this point.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- If the ordering of arguments are changed, it has to be mentioned explicitly.
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #548 Use predicators even extensively from predicators
to master
:
Motivation for this change
This PR attempts to restate several lemmas using predicators such as
cancel
,(left|right)_(id|zero|inverse|distributive)
,idempotent
,associative
, andcommutative
. Some of them are probably too aggressive and I would like to have comments on this point.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- If the ordering of arguments are changed, it has to be mentioned explicitly.
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril:
pi8027 edited PR #546 [DO NOT MERGE] Fix a coherence (ambiguous paths) issue of fieldExtType and a conversion issue of "regular" instances from fieldext-coherence
to master
:
Motivation for this change
- For
R : ringType
,[lalgType R of R^o] : ringType
and[ringType of R]
(≡GRing.Ring.Pack R (GRing.Ring.class R)
) were not convertible and other "regular" instances had the same issue, because every algebra structure had another algebra/module structure as their base. The algebra structures now take the closest ring/field structure as their base to avoid record eta expansion.- The notation
[fieldExtType F of L for K]
is now removed. (Removing this notation is too aggressive and I have to put it back for compatibility reasons, but I don't get how to do that.)- Some missing
comAlgType
andcomUnitAlgType
instances are added.- Fixes #544: The coercion paths from
fieldExtType
tounitAlgType
were ambiguous because the base ofFalgType
wasunitAlgType
but the base ofcomUnitAlgType
wascomAlgType
.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pochinha opened Issue #549 The (if _ then _ else) pattern is not recognized when using ifN on a simple goal:
I'm not sure what the underlying problem is.
Example:
From mathcomp Require Import all_ssreflect. Goal (if 1 < 0 then true else false) = false. Proof. Fail rewrite ifN. (* The LHS of ifN (if _ then _ else _) does not match any subterm of the goal *) Fail apply: ifN. (* Cannot apply lemma ifN *) apply ifN (* works *) Abort.
Using
rewrite (@ifN _ (1 < 0)).
also works.Happens both with Coq 8.9.1 + mathcomp 1.9.0 and with Coq 8.11.2 + mathcomp 1.11.0, which are the versions I have installed.
pochinha edited Issue #549 The (if _ then _ else) pattern is not recognized when using ifN on a simple goal:
I'm not sure what the underlying problem is.
Example:
From mathcomp Require Import all_ssreflect. Goal (if 1 < 0 then true else false) = false. Proof. Fail rewrite ifN. (* The LHS of ifN (if _ then _ else _) does not match any subterm of the goal *) Fail apply: ifN. (* Cannot apply lemma ifN *) apply ifN. (* works *) Abort.
Using
rewrite (@ifN _ (1 < 0)).
also works.Happens both with Coq 8.9.1 + mathcomp 1.9.0 and with Coq 8.11.2 + mathcomp 1.11.0, which are the versions I have installed.
pochinha edited Issue #549 The (if _ then _ else) pattern is not recognized when using ifN on a simple goal:
I'm not sure what the underlying problem is.
Example:
From mathcomp Require Import all_ssreflect. Goal (if 1 < 0 then true else false) = false. Proof. Fail rewrite ifN. (* The LHS of ifN (if _ then _ else _) does not match any subterm of the goal *) Fail apply: ifN. (* Cannot apply lemma ifN *) apply ifN. (* works *) Abort.
Using
rewrite (@ifN _ (1 < 0)).
also works.EDIT: using
rewrite (@ifN _ (1 < 0)).
leaves a danglingbool
. Furthermore,rewrite-> ifN
works properly.Happens both with Coq 8.9.1 + mathcomp 1.9.0 and with Coq 8.11.2 + mathcomp 1.11.0, which are the versions I have installed.
jashug opened PR #550 Be robust to a change in the default argument naming algorithm. from dont-refresh-argument-names-overlay
to master
:
Motivation for this change
Overlay for coq/coq#12756, in which the default argument name changes to just
S
fromS0
. This change preserves the old name; switching instead to useS
may be preferable but introduces a potential impact on downstream users of mathcomp.
Should be entirely backwards compatible.<!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril merged PR #536 Fix some hierarchy.ml related issues.
CohenCyril pushed 3 commits to branch master. Commits by pi8027 (2) and CohenCyril (1).
hierarchy_test.v
to test_hierarchy_all.v
(36613c8)CohenCyril milestoned Issue #536 Fix some hierarchy.ml related issues (assigned to CohenCyril):
Motivation for this change
- Fix some issues reported by @strub:
- pass
Unix.environment ()
tocoqtop
to preserve the parent process environment,- check the exit status of
coqtop
and report an error if it is wrong.- Fix some
Makefile
issues:
- rename
hierarchy_test.v
totest_hierarchy_all.v
because other test cases are namedtest_*.v
and we may also havetest_hierarchy_ssreflect.v
,test_hierarchy_fingroup.v
, etc. (but I actually had some issues to implement this feature in theMakefile
),- since the
test_suite
directory exists from the beginning, we do not need to domkdir -p test_suite
,- ~the
build
prerequisite oftest_suite/test_hierarchy_all.v
should be order only (right?),~- fix
make test_suite/*.vo
by adding a rule.Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril milestoned Issue #517 Extra theorems about subn minn and maxn:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #517 Extra theorems about subn minn and maxn from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #517 Extra theorems about subn minn and maxn.
CohenCyril created PR Review Comment on #517 Extra theorems about subn minn and maxn:
`subn_minr` `subn_maxr` in `ssrnat.v`
CohenCyril updated PR #517 Extra theorems about subn minn and maxn from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #517 Extra theorems about subn minn and maxn.
CohenCyril assigned PR #517 Extra theorems about subn minn and maxn to CohenCyril.
CohenCyril submitted PR Review for #521 In and on.
CohenCyril created PR Review Comment on #521 In and on:
CohenCyril submitted PR Review for #521 In and on.
CohenCyril created PR Review Comment on #521 In and on:
CohenCyril updated PR #521 In and on from in_on
to master
:
Motivation for this change
These new lemmas describe more precisely the possible interactions between
in
andon
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
- [ ] backport to Coq
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #521 In and on from in_on
to master
:
Motivation for this change
These new lemmas describe more precisely the possible interactions between
in
andon
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
- [ ] backport to Coq
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril has marked PR #521 as ready for review.
CohenCyril closed Issue #512 lemma for proper and setC?
I noticed that there are quite a few lemmas combining
_ \subset _
and~: _
but none for
_ \proper _
and~: _
.How about adding (possibly with a different name):
Lemma properC (T : finType) (A B : {set T}) : A \proper B = (~: B \proper ~: A). Proof. rewrite !properEneq setCS [~: _ == _]inj_eq 1?eq_sym //; exact/inv_inj/setCK. Qed.
I think this is sufficient, since any introduced double complement can easily be eliminated with
?setCK
.
CohenCyril merged PR #541 lemmas for proper and setC.
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and chdoc (1).
CohenCyril milestoned Issue #541 lemmas for proper and setC:
Motivation for this change
This adds a few trivial lemmas on
proper
andsetC
closes #512
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril opened PR #551 Use union driver for CHANGELOG_UNRELEASED from merge-changelog-by-union
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
End CHANGELOG_UNRELEASED merge conflicts locally!
(Github does not support this yet though)Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril merged PR #551 Use union driver for CHANGELOG_UNRELEASED.
CohenCyril pushed 2 commits to branch master.
CohenCyril merged PR #542 fix "Nothing to inject" warnings.
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and chdoc (1).
CohenCyril milestoned Issue #542 fix "Nothing to inject" warnings:
Motivation for this change
This fixes two "Noting to inject" warnings introduced by #509 :disappointed:
Things done/to do
<!-- please fill in the following checklist -->
- [ ] ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery updated PR #517 Extra theorems about subn minn and maxn (assigned to CohenCyril) from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril merged PR #507 Add more test cases for higher-order recursive functions in seq.v w.r.t. the guard condition.
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and pi8027 (1).
chdoc opened PR #552 fix notation-incompatible-format warnings from rel-format-warning
to master
:
Motivation for this change
notation-incompatible-format warnings are everywhere in 8.12 (Zulip conversation)
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc opened PR #553 fix non-reversible-notation warnings from non-reversible-notation
to master
:
Motivation for this change
fix
non-reversible-notation
warnings inssrAC.v
caused by Ltac in notations.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #552 fix notation-incompatible-format warnings.
CohenCyril merged PR #552 fix notation-incompatible-format warnings.
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and chdoc (1).
pi8027 updated PR #458 [WIP] new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures. The main achievements are that intervals on a
latticeType
form alatticeType
where join is the intersection and meet is the convex hull, and intervals on anorderType
form adistrLatticeType
as well.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #545 Make [fieldExtType F of L] work for abstract instances (assigned to CohenCyril) from fieldext
to master
:
Motivation for this change
If
L
is an abstractfieldType
, this pack notation did not work as in https://github.com/math-comp/analysis/pull/205#discussion_r451832262. CC: @CohenCyrilThings done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #547 Qualify the dual_* notations with the Order module from qualified-dual-op
to master
:
Motivation for this change
- Fixes #538: The
dual_*
notations were not qualified with theOrder
module.- Since
rewrite /<=%O
did not turn@Order.le (dual_display d) (dual_porderType T) x y
into@Order.le d T y x
immediately, this PR also removesdual_le
anddual_lt
from the definition ofdual_porderType
, and put them back as notations for@Order.le (dual_display _) _
and@Order.lt (dual_display _) _
.Things done/to do
<!-- please fill in the following checklist -->
- [ ] merge dependency: #494
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #548 Use predicators even extensively from predicators
to master
:
Motivation for this change
This PR attempts to restate several lemmas using predicators such as
cancel
,(left|right)_(id|zero|inverse|distributive)
,idempotent
,associative
, andcommutative
. Some of them are probably too aggressive and I would like to have comments on this point.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- If the ordering of arguments are changed, it has to be mentioned explicitly.
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #494 Get rid of displays in class fields and mixin parameters (assigned to CohenCyril) from rm-displays-in-classes
to master
:
Motivation for this change
This PR removes displays from class fields and mixin parameters, and also refactor factories and builders, as preliminary work for PR #464.
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [x] merge dependency: #490
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #464 [WIP] meet semilattice structures from semilattices
to master
:
Motivation for this change
This PR adds the following structures:
meetSemilatticeType
: inf-semilattice,bSemilatticeType
: inf-semilattice with the bottom.cc: @strub
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] merge dependency: #494
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #546 [DO NOT MERGE] Fix a coherence (ambiguous paths) issue of fieldExtType and a conversion issue of "regular" instances from fieldext-coherence
to master
:
Motivation for this change
- For
R : ringType
,[lalgType R of R^o] : ringType
and[ringType of R]
(≡GRing.Ring.Pack R (GRing.Ring.class R)
) were not convertible and other "regular" instances had the same issue, because every algebra structure had another algebra/module structure as their base. The algebra structures now take the closest ring/field structure as their base to avoid record eta expansion.- The notation
[fieldExtType F of L for K]
is now removed. (Removing this notation is too aggressive and I have to put it back for compatibility reasons, but I don't get how to do that.)- Some missing
comAlgType
andcomUnitAlgType
instances are added.- Fixes #544: The coercion paths from
fieldExtType
tounitAlgType
were ambiguous because the base ofFalgType
wasunitAlgType
but the base ofcomUnitAlgType
wascomAlgType
.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc updated PR #553 fix non-reversible-notation warnings from non-reversible-notation
to master
:
Motivation for this change
fix
non-reversible-notation
warnings inssrAC.v
caused by Ltac in notations.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril submitted PR Review for #494 Get rid of displays in class fields and mixin parameters.
CohenCyril:
CohenCyril merged PR #494 Get rid of displays in class fields and mixin parameters.
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and pi8027 (1).
pi8027 edited PR #547 Qualify the dual_* notations with the Order module from qualified-dual-op
to master
:
Motivation for this change
- Fixes #538: The
dual_*
notations were not qualified with theOrder
module.- Since
rewrite /<=%O
did not turn@Order.le (dual_display d) (dual_porderType T) x y
into@Order.le d T y x
immediately, this PR also removesdual_le
anddual_lt
from the definition ofdual_porderType
, and put them back as notations for@Order.le (dual_display _) _
and@Order.lt (dual_display _) _
.Things done/to do
<!-- please fill in the following checklist -->
- [x] merge dependency: #494
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril merged PR #553 fix non-reversible-notation warnings.
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and chdoc (1).
CohenCyril milestoned Issue #553 fix non-reversible-notation warnings:
Motivation for this change
fix
non-reversible-notation
warnings inssrAC.v
caused by Ltac in notations.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril milestoned Issue #552 fix notation-incompatible-format warnings:
Motivation for this change
notation-incompatible-format warnings are everywhere in 8.12 (Zulip conversation)
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril milestoned Issue #551 Use union driver for CHANGELOG_UNRELEASED:
Motivation for this change
<!-- please explain your reason for doing this change -->
End CHANGELOG_UNRELEASED merge conflicts locally!
(Github does not support this yet though)Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril demilestoned Issue #551 Use union driver for CHANGELOG_UNRELEASED:
Motivation for this change
<!-- please explain your reason for doing this change -->
End CHANGELOG_UNRELEASED merge conflicts locally!
(Github does not support this yet though)Things done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril milestoned Issue #545 Make [fieldExtType F of L] work for abstract instances (assigned to CohenCyril):
Motivation for this change
If
L
is an abstractfieldType
, this pack notation did not work as in https://github.com/math-comp/analysis/pull/205#discussion_r451832262. CC: @CohenCyrilThings done/to do
<!-- please fill in the following checklist -->
- ~added corresponding entries in
CHANGELOG_UNRELEASED.md
~- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril merged PR #545 Make [fieldExtType F of L] work for abstract instances.
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and pi8027 (1).
jashug updated PR #550 Be robust to a change in the default argument naming algorithm. from dont-refresh-argument-names-overlay
to master
:
Motivation for this change
Overlay for coq/coq#12756, in which the default argument name changes to just
S
fromS0
. This change preserves the old name; switching instead to useS
may be preferable but introduces a potential impact on downstream users of mathcomp.
Should be entirely backwards compatible.<!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #547 Qualify the dual_* notations with the Order module from qualified-dual-op
to master
:
Motivation for this change
- Fixes #538: The
dual_*
notations were not qualified with theOrder
module.- Since
rewrite /<=%O
did not turn@Order.le (dual_display d) (dual_porderType T) x y
into@Order.le d T y x
immediately, this PR also removesdual_le
anddual_lt
from the definition ofdual_porderType
, and put them back as notations for@Order.le (dual_display _) _
and@Order.lt (dual_display _) _
.Things done/to do
<!-- please fill in the following checklist -->
- [x] merge dependency: #494
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #547 Qualify the dual_* notations with the Order module from qualified-dual-op
to master
:
Motivation for this change
- Fixes #538: The
dual_*
notations were not qualified with theOrder
module.- Since
rewrite /<=%O
did not turn@Order.le (dual_display d) (dual_porderType T) x y
into@Order.le d T y x
immediately, this PR also removesdual_le
anddual_lt
from the definition ofdual_porderType
, and put them back as notations for@Order.le (dual_display _) _
and@Order.lt (dual_display _) _
.Things done/to do
<!-- please fill in the following checklist -->
- [x] merge dependency: #494
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #458 [WIP] new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures. The main achievements are that intervals on a
latticeType
form alatticeType
where join is the intersection and meet is the convex hull, and intervals on anorderType
form adistrLatticeType
as well.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #464 [WIP] meet semilattice structures from semilattices
to master
:
Motivation for this change
This PR adds the following structures:
meetSemilatticeType
: inf-semilattice,bSemilatticeType
: inf-semilattice with the bottom.cc: @strub
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [ ] merge dependency: #494
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #548 Use predicators even extensively from predicators
to master
:
Motivation for this change
This PR attempts to restate several lemmas using predicators such as
cancel
,(left|right)_(id|zero|inverse|distributive)
,idempotent
,associative
, andcommutative
. Some of them are probably too aggressive and I would like to have comments on this point.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- If the ordering of arguments are changed, it has to be mentioned explicitly.
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 submitted PR Review for #517 Extra theorems about subn minn and maxn.
pi8027 submitted PR Review for #517 Extra theorems about subn minn and maxn.
pi8027 created PR Review Comment on #517 Extra theorems about subn minn and maxn:
If suffixes
l
andr
stand for left and right distributivity, this should be namedsubn_maxl
.
pi8027 created PR Review Comment on #517 Extra theorems about subn minn and maxn:
subn_minl
?
pi8027 created PR Review Comment on #517 Extra theorems about subn minn and maxn:
leqP
has been relocated in #429 aftermaxn
/minn
lemmas, so this does not work. I guess we should useleq_total
instead here.
pi8027 updated PR #546 [DO NOT MERGE] Fix a coherence (ambiguous paths) issue of fieldExtType and a conversion issue of "regular" instances from fieldext-coherence
to master
:
Motivation for this change
- For
R : ringType
,[lalgType R of R^o] : ringType
and[ringType of R]
(≡GRing.Ring.Pack R (GRing.Ring.class R)
) were not convertible and other "regular" instances had the same issue, because every algebra structure had another algebra/module structure as their base. The algebra structures now take the closest ring/field structure as their base to avoid record eta expansion.- The notation
[fieldExtType F of L for K]
is now removed. (Removing this notation is too aggressive and I have to put it back for compatibility reasons, but I don't get how to do that.)- Some missing
comAlgType
andcomUnitAlgType
instances are added.- Fixes #544: The coercion paths from
fieldExtType
tounitAlgType
were ambiguous because the base ofFalgType
wasunitAlgType
but the base ofcomUnitAlgType
wascomAlgType
.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery updated PR #517 Extra theorems about subn minn and maxn (assigned to CohenCyril) from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery updated PR #517 Extra theorems about subn minn and maxn (assigned to CohenCyril) from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery updated PR #517 Extra theorems about subn minn and maxn (assigned to CohenCyril) from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 submitted PR Review for #517 Extra theorems about subn minn and maxn.
pi8027 submitted PR Review for #517 Extra theorems about subn minn and maxn.
pi8027 created PR Review Comment on #517 Extra theorems about subn minn and maxn:
move=> m n p; apply/eqP. rewrite eqn_leq !geq_max !leq_sub2r leq_max ?leqnn ?andbT ?orbT // /maxn. by case: (_ < _); rewrite leqnn // orbT.
pi8027 created PR Review Comment on #517 Extra theorems about subn minn and maxn:
move=> m n p; apply/eqP. rewrite eqn_leq !leq_min !leq_sub2r geq_min ?leqnn ?orbT //= /minn. by case: (_ < _); rewrite leqnn // orbT.
CohenCyril requested CohenCyril for a review on PR #517 Extra theorems about subn minn and maxn.
thery updated PR #517 Extra theorems about subn minn and maxn (assigned to CohenCyril) from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery updated PR #517 Extra theorems about subn minn and maxn (assigned to CohenCyril) from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril requested pi8027 and CohenCyril for a review on PR #517 Extra theorems about subn minn and maxn.
CohenCyril submitted PR Review for #517 Extra theorems about subn minn and maxn.
CohenCyril labeled Issue #467 Incompatibility with Ltac2:
Hi,
the following sample doesn't work :
`
From Ltac2 Require Import Ltac2.
From Ltac2 Require Option.Ltac2 hello_world () := Message.print (Message.of_string "Hello, world!").
From mathcomp Require Import ssreflect ssrnat eqtype ssrbool ssrnum ssralg.
Variable R: fieldType.
Variable saturation:R.
Open Scope ring_scope.
Import GRing.Theory.
Definition NakaRushon x coeff :=
x / (1%:R + x * (1 - coeff) / saturation).Lemma tmp:
forall x y:R, ~~(y == 0) -> x = x * y / y.
Proof.
move => x y H.
`It fails with the error message :
Syntax error: [tactic:q_ident] expected after 'move' (in [tactic:tac2expr]).
Coq is at version 8.11, mathcomp at 1.10.
pi8027 submitted PR Review for #517 Extra theorems about subn minn and maxn.
pi8027 created PR Review Comment on #517 Extra theorems about subn minn and maxn:
- Added theorems about subtraction and min and max : `subn_minl` and `subn_maxl` in `ssrnat.v`
thery updated PR #517 Extra theorems about subn minn and maxn (assigned to CohenCyril) from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery updated PR #517 Extra theorems about subn minn and maxn (assigned to CohenCyril) from minn
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
The theorems are missing but I am not very happy about their proofs
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery submitted PR Review for #517 Extra theorems about subn minn and maxn.
thery created PR Review Comment on #517 Extra theorems about subn minn and maxn:
:see_no_evil: Thanks!
pi8027 submitted PR Review for #517 Extra theorems about subn minn and maxn.
CohenCyril merged PR #517 Extra theorems about subn minn and maxn.
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and thery (1).
pi8027 updated PR #547 Qualify the dual_* notations with the Order module from qualified-dual-op
to master
:
Motivation for this change
- Fixes #538: The
dual_*
notations were not qualified with theOrder
module.- Since
rewrite /<=%O
did not turn@Order.le (dual_display d) (dual_porderType T) x y
into@Order.le d T y x
immediately, this PR also removesdual_le
anddual_lt
from the definition ofdual_porderType
, and put them back as notations for@Order.le (dual_display _) _
and@Order.lt (dual_display _) _
.Things done/to do
<!-- please fill in the following checklist -->
- [x] merge dependency: #494
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril closed Issue #467 Incompatibility with Ltac2:
Hi,
the following sample doesn't work :
`
From Ltac2 Require Import Ltac2.
From Ltac2 Require Option.Ltac2 hello_world () := Message.print (Message.of_string "Hello, world!").
From mathcomp Require Import ssreflect ssrnat eqtype ssrbool ssrnum ssralg.
Variable R: fieldType.
Variable saturation:R.
Open Scope ring_scope.
Import GRing.Theory.
Definition NakaRushon x coeff :=
x / (1%:R + x * (1 - coeff) / saturation).Lemma tmp:
forall x y:R, ~~(y == 0) -> x = x * y / y.
Proof.
move => x y H.
`It fails with the error message :
Syntax error: [tactic:q_ident] expected after 'move' (in [tactic:tac2expr]).
Coq is at version 8.11, mathcomp at 1.10.
CohenCyril closed Issue #538 Notations dual_(bottom|top|join|meet|max|min)
should be qualified by the Order
module:
Since
Order.bottom
, etc. are qualified, I thought they should, but actually they are not. @CohenCyril
CohenCyril merged PR #547 Qualify the dual_* notations with the Order module.
CohenCyril pushed 2 commits to branch master. Commits by CohenCyril (1) and pi8027 (1).
CohenCyril milestoned Issue #547 Qualify the dual_* notations with the Order module:
Motivation for this change
- Fixes #538: The
dual_*
notations were not qualified with theOrder
module.- Since
rewrite /<=%O
did not turn@Order.le (dual_display d) (dual_porderType T) x y
into@Order.le d T y x
immediately, this PR also removesdual_le
anddual_lt
from the definition ofdual_porderType
, and put them back as notations for@Order.le (dual_display _) _
and@Order.lt (dual_display _) _
.Things done/to do
<!-- please fill in the following checklist -->
- [x] merge dependency: #494
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #464 [WIP] meet semilattice structures from semilattices
to master
:
Motivation for this change
This PR adds the following structures:
meetSemilatticeType
: inf-semilattice,bSemilatticeType
: inf-semilattice with the bottom.cc: @strub
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [x] merge dependency: #494
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #458 [WIP] new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures. The main achievements are that intervals on a
latticeType
form alatticeType
where join is the intersection and meet is the convex hull, and intervals on anorderType
form adistrLatticeType
as well.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #458 The new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures. The main achievements are that intervals on a
latticeType
form alatticeType
where join is the intersection and meet is the convex hull, and intervals on anorderType
form adistrLatticeType
as well.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 has marked PR #458 as ready for review.
pi8027 updated PR #458 The new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures. The main achievements are that intervals on a
latticeType
form alatticeType
where join is the intersection and meet is the convex hull, and intervals on anorderType
form adistrLatticeType
as well.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #458 The new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures.
x <= y ?< if c
(lersif
) has been replaced withx < y ?<= if c
(lteif
) wherec
is inverted. This change makes statements of several lemmas (e.g.,lteif_orb
) easily comprehensible.- The first constructor
BOpen_if
ofitv_bound
has been replaced withBClase_if
where the first argument is inverted. Nowpred_of_itv
is defined by usinglteif
instead oflersif
.- Intervals of
T : porderType
form aporderType
where the ordering relation is the subset relation. IfT
is alatticeType
, intervals also form alatticeType
where the join and meet are intersection and convex hull respectively. They are distributive ifT
is anorderType
.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #458 The new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures.
x <= y ?< if c
(lersif
) has been replaced withx < y ?<= if c'
(lteif
) wherec'
is negation ofc
. This change makes statements of several lemmas (e.g.,lteif_orb
) easily comprehensible.- The first constructor
BOpen_if
ofitv_bound
has been replaced withBClase_if
where the first argument is inverted. Nowpred_of_itv
is defined by usinglteif
instead oflersif
.- Intervals of
T : porderType
form aporderType
where the ordering relation is the subset relation. IfT
is alatticeType
, intervals also form alatticeType
where the join and meet are intersection and convex hull respectively. They are distributive ifT
is anorderType
.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #458 The new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures.
x <= y ?< if c
(lersif
) has been replaced withx < y ?<= if c'
(lteif
) wherec'
is negation ofc
. This change makes statements of several lemmas (e.g.,lteif_orb
) easily comprehensible.- The first constructor
BOpen_if
ofitv_bound
has been replaced withBClose_if
where the first argument is inverted. Nowpred_of_itv
is defined by usinglteif
instead oflersif
.- Intervals of
T : porderType
form aporderType
where the ordering relation is the subset relation. IfT
is alatticeType
, intervals also form alatticeType
where the join and meet are intersection and convex hull respectively. They are distributive ifT
is anorderType
.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc opened Issue #554 More lemmas on subseq, next, arc, findes, etc.
I just proved a number of additional results on
subseq
,next
,arc
, andfindex
. It's a bit long to post here in it's entirety, but maybe some of these could (should) find their way into the corresponding files in mathcomp.Here is the file: arc.v.
For now the proofs do not conform to the mathcomp guidelines. Comments on what to PR or how to simplify are very much appreciated.
chdoc opened PR #555 some lemmas for disjoint from disjoint-lemmas
to master
:
Motivation for this change
Some more lemmas to facilitate reasoning about
[disjoint _ & _]
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
gares merged PR #550 Be robust to a change in the default argument naming algorithm.
gares pushed 2 commits to branch master. Commits by gares (1) and jashug (1).
gares milestoned Issue #550 Be robust to a change in the default argument naming algorithm.
Motivation for this change
Overlay for coq/coq#12756, in which the default argument name changes to just
S
fromS0
. This change preserves the old name; switching instead to useS
may be preferable but introduces a potential impact on downstream users of mathcomp.
Should be entirely backwards compatible.<!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril pushed 19 commits to branch experiment/forms.
CohenCyril updated PR #207 Work In Progress: adding forms and spectral theorems from experiment/forms
to master
:
Content:
- Adding bilinear, sesquilinear, hermitian (symmetric, skew symmetric and hermitian) and hermitian positive definite forms.
- A proof of the spectral theorem for normal matrices, and some theory of stability wrt a sub(mx)space.
- Several auxiliary lemmas of general purpose.
TODO:
- [ ] document,
- [ ] replace ad hoc
cfdot
in classfun (@LaurenceRideau),- [ ] backport several theorems to matrix, vector or mxalgebra,
- [ ] bridge vector and mxalgebra to port results.
- [ ] update ChangeLog
TODO update after @LaurenceRideau tried on the odd-order repo (https://github.com/math-comp/odd-order/pull/2)
- [ ] Infer the canonical form on a vector space in notations such as
'[_ ,_]
,orthogonal
,isometry
...- [ ] Make the right
linear_for
on the right and the left for bilinear forms (so that'[a *: x, b *: y] = a * b^* * '[x ,y]
instead of'[a *: x, b *: y] = a *: b^* *: '[x ,y]
)- [ ] Have lemmas
linearZl
,linearZr
,linearZlr
,linearZrl
(right now onlylinearZl_LR
is only available)
CohenCyril edited PR #207 Work In Progress: adding forms and spectral theorems from experiment/forms
to master
:
Content:
- Adding bilinear, sesquilinear, hermitian (symmetric, skew symmetric and hermitian) and hermitian positive definite forms.
- A proof of the spectral theorem for normal matrices, and some theory of stability wrt a sub(mx)space.
- Several auxiliary lemmas of general purpose.
TODO:
- [ ] document,
- [ ] replace ad hoc
cfdot
in classfun (@LaurenceRideau),- [ ] backport several theorems to matrix, vector or mxalgebra,
- [ ] bridge vector and mxalgebra to port results.
- [ ] update ChangeLog
TODO update after @LaurenceRideau tried on the odd-order repo (https://github.com/math-comp/odd-order/pull/2)
- [ ] Infer the canonical form on a vector space in notations such as
'[_ ,_]
,orthogonal
,isometry
...- [ ] Make the right
linear_for
on the right and the left for bilinear forms (so that'[a *: x, b *: y] = a * b^* * '[x ,y]
instead of'[a *: x, b *: y] = a *: b^* *: '[x ,y]
)- [x] Have lemmas
linearZl
,linearZr
,linearZlr
,linearZrl
(right now onlylinearZl_LR
is only available)
CohenCyril edited PR #207 Work In Progress: adding forms and spectral theorems from experiment/forms
to master
:
Content:
- Adding bilinear, sesquilinear, hermitian (symmetric, skew symmetric and hermitian) and hermitian positive definite forms.
- A proof of the spectral theorem for normal matrices, and some theory of stability wrt a sub(mx)space.
- Several auxiliary lemmas of general purpose.
TODO:
- [ ] document,
- [ ] replace ad hoc
cfdot
in classfun (@LaurenceRideau),- [x] backport several theorems to matrix, vector or mxalgebra,
- [ ] bridge vector and mxalgebra to port results.
- [ ] update ChangeLog
TODO update after @LaurenceRideau tried on the odd-order repo (https://github.com/math-comp/odd-order/pull/2)
- [ ] Infer the canonical form on a vector space in notations such as
'[_ ,_]
,orthogonal
,isometry
...- [ ] Make the right
linear_for
on the right and the left for bilinear forms (so that'[a *: x, b *: y] = a * b^* * '[x ,y]
instead of'[a *: x, b *: y] = a *: b^* *: '[x ,y]
)- [x] Have lemmas
linearZl
,linearZr
,linearZlr
,linearZrl
(right now onlylinearZl_LR
is only available)
pi8027:
gares:
gares:
CohenCyril:
CohenCyril:
gares:
CohenCyril:
affeldt-aist:
affeldt-aist:
gares:
gares:
gares:
CohenCyril:
CohenCyril updated PR #501 Intro pattern extensions for rewrite, dup, swap and apply (assigned to gares) from intro_rw
to master
:
Motivation for this change
Intro pattern ltac views (rewrite, dup, swap, apply) in order not to break intro patterns for silly rewrites.
- calling rewrite from an intro pattern, use with parsimony
=> /[1! rules]
doesrewrite rules
=> /[! rules]
doesrewrite !rules
- top of the stack actions:
=> /apply
does=> hyp {}/hyp
=> /swap
does=> x y; move: y x
(also swap and perserves let bindings)
=> /dup
does=> x; have copy := x; move: copy x
(also copies and preserves let bindings)This is a part of #372, simplified, rewritten and rebased.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
- [ ] open corresponding PR in Coq to integrate changes from
ssreflect.v
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril labeled Issue #310 clean up using printing only notations:
Grep for:
- strings interrupted by
' '
- strings starting with
\
a string and then a blank and the continuation of string
CohenCyril labeled Issue #310 clean up using printing only notations:
Grep for:
- strings interrupted by
' '
- strings starting with
\
a string and then a blank and the continuation of string
CohenCyril labeled Issue #349 build the doc using CI:
One thing I don't know is then how to commit back the result, if wanted (the doc is committed in
docs/htmldoc
).
CohenCyril assigned Issue #480 Switching suffixes of more distributivity lemmas (assigned to CohenCyril):
It might be better to have short suffixes
D
andB
rather than_add
and_sub
in the following lemmas.algebra/fraction.v:158:Lemma pi_add : {morph \pi : x y / addf x y >-> add x y}. algebra/matrix.v:1232:Lemma map_mx_sub A B : (A - B)^f = A^f - B^f. algebra/mxalgebra.v:2380:Lemma mulsmx_addr m1 m2 m3 n algebra/mxalgebra.v-2381- (R1 : 'A_(m1, n)) (R2 : 'A_(m2, n)) (R3 : 'A_(m3, n)) : algebra/mxalgebra.v-2382- (R1 * (R2 + R3) = R1 * R2 + R1 * R3)%MS. algebra/poly.v:431:Lemma polyC_add : {morph polyC : a b / a + b}. algebra/poly.v:437:Lemma polyC_sub : {morph polyC : a b / a - b}. algebra/poly.v:1525:Lemma derivn_sub n : {morph derivn n : p q / p - q}. algebra/polydiv.v:563:Lemma rdivp_addr q r : rdvdp d r -> rdivp (q + r) d = rdivp q d + rdivp r d. algebra/polydiv.v:584:Lemma rmodp_add p q : rmodp (p + q) d = rmodp p d + rmodp q d. algebra/polydiv.v:2504:Lemma modp_add p q : (p + q) %% d = p %% d + q %% d. algebra/polydiv.v:2513:Lemma divp_add p q : (p + q) %/ d = p %/ d + q %/ d. algebra/polydiv.v:2826:Lemma modp_add d p q : (p + q) %% d = p %% d + q %% d. algebra/polydiv.v:2837:Lemma divp_add d p q : (p + q) %/ d = p %/ d + q %/ d. algebra/ring_quotient.v:175:Lemma pi_addr zqT : {morph \pi_zqT : x y / addT x y >-> x + y}. algebra/ring_quotient.v:537:Lemma pi_add : {morph \pi : x y / x + y >-> add x y}. algebra/ssrint.v:140:Lemma oppz_add : {morph oppz : m n / m + n}. algebra/vector.v:1494:Lemma limg_add f : {morph lfun_img f : U V / U + V}%VS. algebra/zmodp.v:125:Lemma Zp_mul_addr : right_distributive Zp_mul Zp_add. ssreflect/bigop.v:453:Lemma mulm_addr : right_distributive mul add. ssreflect/seq.v:2422:Lemma iota_add m n1 n2 : iota m (n1 + n2) = iota m n1 ++ iota (m + n1) n2. ssreflect/ssrnat.v:921:Lemma iter_add n m f x : iter (n + m) f x = iter n f (iter m f x).
Since I did this mechanically with
grep
and did not check the meaning of them entirely, I need some input to prepare a PR.
CohenCyril labeled Issue #480 Switching suffixes of more distributivity lemmas (assigned to CohenCyril):
It might be better to have short suffixes
D
andB
rather than_add
and_sub
in the following lemmas.algebra/fraction.v:158:Lemma pi_add : {morph \pi : x y / addf x y >-> add x y}. algebra/matrix.v:1232:Lemma map_mx_sub A B : (A - B)^f = A^f - B^f. algebra/mxalgebra.v:2380:Lemma mulsmx_addr m1 m2 m3 n algebra/mxalgebra.v-2381- (R1 : 'A_(m1, n)) (R2 : 'A_(m2, n)) (R3 : 'A_(m3, n)) : algebra/mxalgebra.v-2382- (R1 * (R2 + R3) = R1 * R2 + R1 * R3)%MS. algebra/poly.v:431:Lemma polyC_add : {morph polyC : a b / a + b}. algebra/poly.v:437:Lemma polyC_sub : {morph polyC : a b / a - b}. algebra/poly.v:1525:Lemma derivn_sub n : {morph derivn n : p q / p - q}. algebra/polydiv.v:563:Lemma rdivp_addr q r : rdvdp d r -> rdivp (q + r) d = rdivp q d + rdivp r d. algebra/polydiv.v:584:Lemma rmodp_add p q : rmodp (p + q) d = rmodp p d + rmodp q d. algebra/polydiv.v:2504:Lemma modp_add p q : (p + q) %% d = p %% d + q %% d. algebra/polydiv.v:2513:Lemma divp_add p q : (p + q) %/ d = p %/ d + q %/ d. algebra/polydiv.v:2826:Lemma modp_add d p q : (p + q) %% d = p %% d + q %% d. algebra/polydiv.v:2837:Lemma divp_add d p q : (p + q) %/ d = p %/ d + q %/ d. algebra/ring_quotient.v:175:Lemma pi_addr zqT : {morph \pi_zqT : x y / addT x y >-> x + y}. algebra/ring_quotient.v:537:Lemma pi_add : {morph \pi : x y / x + y >-> add x y}. algebra/ssrint.v:140:Lemma oppz_add : {morph oppz : m n / m + n}. algebra/vector.v:1494:Lemma limg_add f : {morph lfun_img f : U V / U + V}%VS. algebra/zmodp.v:125:Lemma Zp_mul_addr : right_distributive Zp_mul Zp_add. ssreflect/bigop.v:453:Lemma mulm_addr : right_distributive mul add. ssreflect/seq.v:2422:Lemma iota_add m n1 n2 : iota m (n1 + n2) = iota m n1 ++ iota (m + n1) n2. ssreflect/ssrnat.v:921:Lemma iter_add n m f x : iter (n + m) f x = iter n f (iter m f x).
Since I did this mechanically with
grep
and did not check the meaning of them entirely, I need some input to prepare a PR.
CohenCyril opened PR #556 Adding lemma oddS
from oddS
to master
:
Motivation for this change
fixes #500
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
maximedenes assigned PR #433 [test suite] infrastructure to test how some statements are printed to maximedenes.
pi8027 submitted PR Review for #556 Adding lemma oddS
pi8027 created PR Review Comment on #556 Adding lemma oddS
Isn't it better to merge these two items?
thery demilestoned Issue #357 Algebraic structure of dioid (assigned to thery):
Dear mathcomp developers,
This is a formalization of the algebraic structure of dioid and associated lemmas (including the Nerode lemma).
I am using this for formalizing proofs in network calculus: a theory used in certification of some embedded networks like AFDX in airplanes. This is a work done @proux01
Do you think it can be of interest for mathcomp? A separate library?
A few questions:
- rings are semirings, should we formalize it?
a complete dioid is a dioid that happens to be a complete lattice, should we formalize this structure of complete lattice separately? (there are binary lattices in finmap, maybe there are some links here)
[ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [X] added corresponding documentation in the headers
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery closed without merge PR #357 Algebraic structure of dioid.
CohenCyril submitted PR Review for #556 Adding lemma oddS
CohenCyril created PR Review Comment on #556 Adding lemma oddS
I prefer this is done in the release phase, to minimize possible faulty merge union
CohenCyril pushed 1 commit to branch master.
CohenCyril:
gares submitted PR Review for #316 [build] Preliminary support for building with Dune.
gares created PR Review Comment on #316 [build] Preliminary support for building with Dune.
Do we really need an unreleased version of Dune?
ejgallego submitted PR Review for #316 [build] Preliminary support for building with Dune.
ejgallego created PR Review Comment on #316 [build] Preliminary support for building with Dune.
It should work fine with recent versions, but the PR needs updating.
ejgallego updated PR #316 [build] Preliminary support for building with Dune. (assigned to gares) from dune
to master
:
This PR provides preliminary support for building math-comp with Dune
[support in Dune's master currently]As of today we do consider math-comp as a monolithic library due to
Dune's Coq support being unable to compose libraries yet, this will be
fixed in the future.
ejgallego submitted PR Review for #316 [build] Preliminary support for building with Dune.
ejgallego created PR Review Comment on #316 [build] Preliminary support for building with Dune.
Updated.
pi8027 submitted PR Review for #556 Adding lemma oddS
pi8027 updated PR #458 The new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures.
x <= y ?< if c
(lersif
) has been replaced withx < y ?<= if c'
(lteif
) wherec'
is negation ofc
. This change makes statements of several lemmas (e.g.,lteif_orb
) easily comprehensible.- The first constructor
BOpen_if
ofitv_bound
has been replaced withBClose_if
where the first argument is inverted. Nowpred_of_itv
is defined by usinglteif
instead oflersif
.- Intervals of
T : porderType
form aporderType
where the ordering relation is the subset relation. IfT
is alatticeType
, intervals also form alatticeType
where the join and meet are intersection and convex hull respectively. They are distributive ifT
is anorderType
.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #458 The new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures.
x <= y ?< if c
(lersif
) has been replaced withx < y ?<= if c'
(lteif
) wherec'
is negation ofc
. This change makes statements of several lemmas (e.g.,lteif_orb
) easily comprehensible.- The first constructor
BOpen_if
ofitv_bound
has been replaced withBClose_if
where the first argument is inverted. Nowpred_of_itv
is defined by usinglteif
instead oflersif
.- Intervals of
T : porderType
form aporderType
where the ordering relation is the subset relation. IfT
is alatticeType
, intervals also form alatticeType
where the join and meet are intersection and convex hull respectively. They are distributive ifT
is anorderType
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #458 The new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures.
x <= y ?< if c
(lersif
) has been replaced withx < y ?<= if c'
(lteif
) wherec'
is negation ofc
. This change makes statements of several lemmas (e.g.,lteif_orb
) easily comprehensible.- The first constructor
BOpen_if
ofitv_bound
has been replaced withBClose_if
where the first argument is inverted. Nowpred_of_itv
is defined by usinglteif
instead oflersif
.- Intervals of
T : porderType
form aporderType
where the ordering relation is the subset relation. IfT
is alatticeType
, intervals also form alatticeType
where the join and meet are intersection and convex hull respectively. They are distributive ifT
is anorderType
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #458 The new interval library from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures.
x <= y ?< if c
(lersif
) has been replaced withx < y ?<= if c'
(lteif
) wherec'
is negation ofc
. This change makes statements of several lemmas (e.g.,lteif_orb
) easily comprehensible.- The first constructor
BOpen_if
ofitv_bound
has been replaced withBClose_if
where the first argument is inverted. Nowpred_of_itv
is defined by usinglteif
instead oflersif
.- Intervals of
T : porderType
form aporderType
where the ordering relation is the subset relation. IfT
is alatticeType
, intervals also form alatticeType
where the join and meet are intersection and convex hull respectively. They are distributive ifT
is anorderType
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril assigned PR #458 The new interval library to CohenCyril.
CohenCyril requested CohenCyril for a review on PR #458 The new interval library.
CohenCyril milestoned Issue #556 Adding lemma oddS
Motivation for this change
fixes #500
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril closed Issue #500 [ssrnat] Suggestion of additional lemma: oddS:
Hi,
I was reading the book, and for one of the exercices (16 in 5.1.1), I missed a simple lemma on the odd predicate ; I propose to add it:
Lemma oddS n: odd n.+1 = ~~ odd n. Proof. elim: n => [|n Hn] ; first by easy. by rewrite Hn. Qed.
which gave me:
Lemma sum_odd n : \sum_ (0 <= i < n.*2 | odd i) i = n^2. Proof. elim: n => [|n Hn] ; first by rewrite unlock. rewrite doubleS. rewrite big_mkcond. rewrite big_nat_recr //. rewrite big_nat_recr //. rewrite odd_double oddS odd_double //=. rewrite -big_mkcond {}Hn. rewrite addn0 -!mulnn -addnn mulnS mulnC mulnS. ring. Qed.
I must admit I'm not satisfied by either proof, but as a beginner, getting a correct proof is already an achievement. [I find the last part about the (m.+1)^2=... especially awful].
CohenCyril merged PR #556 Adding lemma oddS
CohenCyril pushed 2 commits to branch master.
pi8027 updated PR #458 The new interval library (assigned to CohenCyril) from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures.
x <= y ?< if c
(lersif
) has been replaced withx < y ?<= if c'
(lteif
) wherec'
is negation ofc
. This change makes statements of several lemmas (e.g.,lteif_orb
) easily comprehensible.- The first constructor
BOpen_if
ofitv_bound
has been replaced withBClose_if
where the first argument is inverted. Nowpred_of_itv
is defined by usinglteif
instead oflersif
.- Intervals of
T : porderType
form aporderType
where the ordering relation is the subset relation. IfT
is alatticeType
, intervals also form alatticeType
where the join and meet are intersection and convex hull respectively. They are distributive ifT
is anorderType
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 edited PR #458 The new interval library (assigned to CohenCyril) from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures.
x <= y ?< if c
(lersif
) has been replaced withx < y ?<= if c'
(lteif
) wherec'
is negation ofc
. This change makes statements of several lemmas (e.g.,lteif_orb
) easily comprehensible.- The first constructor
BOpen_if
ofitv_bound
has been replaced withBClose_if
where the first argument is inverted. Nowpred_of_itv
is defined by usinglteif
instead oflersif
.- Intervals of
T : porderType
form aporderType
where the ordering relation is the subset relation. IfT
is alatticeType
, intervals also form alatticeType
where the join and meet are intersection and convex hull respectively. They are distributive ifT
is anorderType
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do -->PR overlays
<!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
erikmd opened PR #557 chore: refactor GitLab CI config a bit to lighten nightly builds from lighten-nightly-build
to master
:
Motivation for this change
jobs {coq-8.12, mathcomp-dev:coq-8.12} are unneeded in this scheduled pipeline, now that 8.12.0 is tagged.
Insert commented jobs for upcoming coq-8.13 as well.
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 submitted PR Review for #458 The new interval library.
pi8027 created PR Review Comment on #458 The new interval library:
I think this result can be generalized by introducing the notion of the dimension of a lattice. I would say a lattice
L
is n-dimensional if "∀x_0 ... x_n ∈ L. ∃i ∈ {0, ..., n}. ⋀_(0 ≦ j ≦ n) x_j = ⋀_(0 ≦ j ≦ n ∧ j ≠ i) x_j" holds. As a result, a totally ordered set is a 1-dimensional lattice, and the product of n- and m-dimensional lattices forms an (n + m)-dimensional lattice. The problem is that this wording is confusing with lattice points.
pi8027 edited PR Review Comment on #458 The new interval library.
pi8027 edited PR Review Comment on #458 The new interval library.
pi8027 edited PR Review Comment on #458 The new interval library.
CohenCyril opened PR #558 Adding are_allpairs predicate from are_allpairs
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
This predicate is useful in stating that a sequence of matrices all commute.
This is a part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #558 Adding are_allpairs predicate from are_allpairs
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
This predicate is useful in stating that a sequence of matrices all commute.
This is a part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril requested chdoc for a review on PR #558 Adding are_allpairs predicate.
CohenCyril milestoned Issue #558 Adding are_allpairs predicate:
Motivation for this change
<!-- please explain your reason for doing this change -->
This predicate is useful in stating that a sequence of matrices all commute.
This is a part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
gares assigned PR #558 Adding are_allpairs predicate to gares.
CohenCyril opened PR #559 Adding sig_big_dep lemma from sig_big_dep
to master
:
Motivation for this change
Useful tooling lemma with nested dependent bigops.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril requested gares for a review on PR #559 Adding sig_big_dep lemma.
CohenCyril opened PR #560 Adding commr_horner lemma from commr_horner
to master
:
Motivation for this change
Missing lemma between
GRing.comm
,comm_coef
andhorner
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #560 Adding commr_horner lemma from commr_horner
to master
:
Motivation for this change
Missing lemma between
GRing.comm
,comm_coef
andhorner
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril requested ybertot for a review on PR #560 Adding commr_horner lemma.
CohenCyril opened PR #561 Adding commr_horner lemma from rowcol_dlrsubmx
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril closed without merge PR #561 Adding commr_horner lemma.
CohenCyril edited PR #560 Adding commr_horner lemma from commr_horner
to master
:
Motivation for this change
Missing lemma between
GRing.comm
,comm_coef
andhorner
.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril opened PR #562 Adding [row|col]_[udlr]submx lemmas from rowcol_dlrsubmx
to master
:
Motivation for this change
Combining
row
andcol
with block submatrices.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #562 Adding [row|col]_[udlr]submx lemmas from rowcol_dlrsubmx
to master
:
Motivation for this change
Combining
row
andcol
with block submatrices.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #562 Adding [row|col]_[udlr]submx lemmas from rowcol_dlrsubmx
to master
:
Motivation for this change
Combining
row
andcol
with block submatrices.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #562 Adding [row|col]_[udlr]submx lemmas from rowcol_dlrsubmx
to master
:
Motivation for this change
Combining
row
andcol
with block submatrices.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #559 Adding sig_big_dep lemma from sig_big_dep
to master
:
Motivation for this change
Useful tooling lemma with nested dependent bigops.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #560 Adding commr_horner lemma from commr_horner
to master
:
Motivation for this change
Missing lemma between
GRing.comm
,comm_coef
andhorner
.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #559 Adding sig_big_dep lemma from sig_big_dep
to master
:
Motivation for this change
Useful tooling lemma with nested dependent bigops.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
chdoc submitted PR Review for #558 Adding are_allpairs predicate.
chdoc submitted PR Review for #558 Adding are_allpairs predicate.
chdoc created PR Review Comment on #558 Adding are_allpairs predicate:
I agree with @gares in not being happy with this name.
chdoc created PR Review Comment on #558 Adding are_allpairs predicate:
This line has 83 characters, I suggest splitting it at the semicolon :grin:
chdoc created PR Review Comment on #558 Adding are_allpairs predicate:
The more natural generalization would probably be
_.+1
rather thansize xs
gares submitted PR Review for #559 Adding sig_big_dep lemma.
gares submitted PR Review for #558 Adding are_allpairs predicate.
gares created PR Review Comment on #558 Adding are_allpairs predicate:
@CohenCyril probably took my vscode configuration...
CohenCyril opened PR #563 Lemmas mxminpoly_minP and dvd_mxminpoly from minpolymx_minP
to master
:
Motivation for this change
Equivalence between
horner_mx A p
being zero and divisibility by the
minimal polynomialmxminpoly A
. (Only one way was proven)
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril requested thery for a review on PR #563 Lemmas mxminpoly_minP and dvd_mxminpoly.
CohenCyril submitted PR Review for #558 Adding are_allpairs predicate.
CohenCyril created PR Review Comment on #558 Adding are_allpairs predicate:
Also, is it useful to have
T : nonPropType
rather thanT : eqType
while requiringr : rel T
to be a boolean relation? I mean, the proof ofare_allpairs_cons
is nifty, but I would have expected a simpler proof based inare_allpairsP
.It may happen that a relation is decidable even on some non discrete types (e.g. a pair of an ordered type with a no discrete type), and I would like to preserve the full generality of the theorem on such occurences.
CohenCyril deleted PR Review Comment on #558 Adding are_allpairs predicate.
CohenCyril opened PR #564 More pinvmx theory from pinvmx
to master
:
Motivation for this change
Adding lemma making
pinvmx
usable in a broader context, and
equality withinvmx
when inunitmx
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril requested ybertot for a review on PR #564 More pinvmx theory.
CohenCyril edited PR #564 More pinvmx theory from pinvmx
to master
:
Motivation for this change
Adding lemma making
pinvmx
usable in a broader context, and
equality withinvmx
when inunitmx
.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril edited PR #207 Work In Progress: adding forms and spectral theorems from experiment/forms
to master
:
Content:
- Adding bilinear, sesquilinear, hermitian (symmetric, skew symmetric and hermitian) and hermitian positive definite forms.
- A proof of the spectral theorem for normal matrices, and some theory of stability wrt a sub(mx)space.
- Several auxiliary lemmas of general purpose.
TODO:
- [ ] document,
- [ ] replace ad hoc
cfdot
in classfun (@LaurenceRideau),- [x] backport several theorems to matrix, vector or mxalgebra,
- [ ] bridge vector and mxalgebra to port results.
- [ ] update ChangeLog
- [ ] clear dependencies
TODO update after @LaurenceRideau tried on the odd-order repo (https://github.com/math-comp/odd-order/pull/2)
- [ ] Infer the canonical form on a vector space in notations such as
'[_ ,_]
,orthogonal
,isometry
...- [ ] Make the right
linear_for
on the right and the left for bilinear forms (so that'[a *: x, b *: y] = a * b^* * '[x ,y]
instead of'[a *: x, b *: y] = a *: b^* *: '[x ,y]
)- [x] Have lemmas
linearZl
,linearZr
,linearZlr
,linearZrl
(right now onlylinearZl_LR
is only available)
CohenCyril opened PR #565 Expliciting relation between split and [lr]shift from split_ordP
to master
:
Motivation for this change
Adds lemma
split_ordP
, a variant ofsplitP
which introduces
ordinal equalities between the index andlshift
/rshift
, rather
than equalities innat
, which in some proofs makes the reasoning
easier (cfmatrix.v
), especially together with the new lemmas
eq_shift
andeq_lshift
,eq_rshift
,eq_lrshift
,eq_rlshift
,
lrshiftP
, andrlshiftP
.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril requested thery for a review on PR #565 Expliciting relation between split and [lr]shift.
CohenCyril opened PR #566 Lemma sub_sums_genmxP
(generalizes sub_sumsmxP
) from sub_sums_genmxP
to master
:
Motivation for this change
Part of #207.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #566 Lemma sub_sums_genmxP
(generalizes sub_sumsmxP
) from sub_sums_genmxP
to master
:
Motivation for this change
Part of #207.
Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
gares assigned PR #565 Expliciting relation between split and [lr]shift to gares.
thery assigned PR #559 Adding sig_big_dep lemma to thery.
thery milestoned Issue #559 Adding sig_big_dep lemma (assigned to thery):
Motivation for this change
Useful tooling lemma with nested dependent bigops.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery merged PR #559 Adding sig_big_dep lemma.
thery pushed 3 commits to branch master. Commits by CohenCyril (2) and thery (1).
thery assigned PR #560 Adding commr_horner lemma to thery.
thery milestoned Issue #560 Adding commr_horner lemma (assigned to thery):
Motivation for this change
Missing lemma between
GRing.comm
,comm_coef
andhorner
.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery requested ybertot and affeldt-aist for a review on PR #560 Adding commr_horner lemma.
thery submitted PR Review for #563 Lemmas mxminpoly_minP and dvd_mxminpoly.
thery assigned PR #564 More pinvmx theory.
thery milestoned Issue #564 More pinvmx theory (assigned to thery):
Motivation for this change
Adding lemma making
pinvmx
usable in a broader context, and
equality withinvmx
when inunitmx
.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
thery requested amahboubi and ybertot for a review on PR #564 More pinvmx theory.
thery submitted PR Review for #565 Expliciting relation between split and [lr]shift.
thery submitted PR Review for #565 Expliciting relation between split and [lr]shift.
thery created PR Review Comment on #565 Expliciting relation between split and [lr]shift:
I would never have guessed the name of this theorem P?
thery created PR Review Comment on #565 Expliciting relation between split and [lr]shift:
why not simple apply/eqP/lrshiftP.
thery created PR Review Comment on #565 Expliciting relation between split and [lr]shift:
same as after
thery created PR Review Comment on #565 Expliciting relation between split and [lr]shift:
same as before
pi8027 updated PR #458 The new interval library (assigned to CohenCyril) from interval
to master
:
Motivation for this change
This PR generalizes the results in interval.v using order structures.
x <= y ?< if c
(lersif
) has been replaced withx < y ?<= if c'
(lteif
) wherec'
is negation ofc
. This change makes statements of several lemmas (e.g.,lteif_orb
) easily comprehensible.- The first constructor
BOpen_if
ofitv_bound
has been replaced withBClose_if
where the first argument is inverted. Nowpred_of_itv
is defined by usinglteif
instead oflersif
.- Intervals of
T : porderType
form aporderType
where the ordering relation is the subset relation. IfT
is alatticeType
, intervals also form alatticeType
where the join and meet are intersection and convex hull respectively. They are distributive ifT
is anorderType
.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do -->PR overlays
<!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #546 [DO NOT MERGE] Fix a coherence (ambiguous paths) issue of fieldExtType and a conversion issue of "regular" instances from fieldext-coherence
to master
:
Motivation for this change
- For
R : ringType
,[lalgType R of R^o] : ringType
and[ringType of R]
(≡GRing.Ring.Pack R (GRing.Ring.class R)
) were not convertible and other "regular" instances had the same issue, because every algebra structure had another algebra/module structure as their base. The algebra structures now take the closest ring/field structure as their base to avoid record eta expansion.- The notation
[fieldExtType F of L for K]
is now removed. (Removing this notation is too aggressive and I have to put it back for compatibility reasons, but I don't get how to do that.)- Some missing
comAlgType
andcomUnitAlgType
instances are added.- Fixes #544: The coercion paths from
fieldExtType
tounitAlgType
were ambiguous because the base ofFalgType
wasunitAlgType
but the base ofcomUnitAlgType
wascomAlgType
.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #464 [WIP] meet semilattice structures from semilattices
to master
:
Motivation for this change
This PR adds the following structures:
meetSemilatticeType
: inf-semilattice,bSemilatticeType
: inf-semilattice with the bottom.cc: @strub
Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [ ] added corresponding documentation in the headers
- [x] merge dependency: #494
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
pi8027 updated PR #548 Use predicators even extensively from predicators
to master
:
Motivation for this change
This PR attempts to restate several lemmas using predicators such as
cancel
,(left|right)_(id|zero|inverse|distributive)
,idempotent
,associative
, andcommutative
. Some of them are probably too aggressive and I would like to have comments on this point.Things done/to do
<!-- please fill in the following checklist -->
- [ ] added corresponding entries in
CHANGELOG_UNRELEASED.md
- If the ordering of arguments are changed, it has to be mentioned explicitly.
- ~[ ] added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #565 Expliciting relation between split and [lr]shift (assigned to gares) from split_ordP
to master
:
Motivation for this change
Adds lemma
split_ordP
, a variant ofsplitP
which introduces
ordinal equalities between the index andlshift
/rshift
, rather
than equalities innat
, which in some proofs makes the reasoning
easier (cfmatrix.v
), especially together with the new lemmas
eq_shift
andeq_lshift
,eq_rshift
,eq_lrshift
,eq_rlshift
,
lrshiftP
, andrlshiftP
.
Part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
(do not edit former entries)- ~added corresponding documentation in the headers~
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do --><!-- leave this note as a reminder to reviewers -->
Automatic note to reviewers
Read this Checklist and make sure there is a milestone.
CohenCyril updated PR #558 Adding are_allpairs predicate (assigned to gares) from are_allpairs
to master
:
Motivation for this change
<!-- please explain your reason for doing this change -->
This predicate is useful in stating that a sequence of matrices all commute.
This is a part of #207.Things done/to do
<!-- please fill in the following checklist -->
- [x] added corresponding entries in
CHANGELOG_UNRELEASED.md
- [x] added corresponding documentation in the headers
<!-- Cross-out the above items using ~crossed out item~ if they happen not to be relevent -->
<!-- You may also add more items to explain what you did and what remains to do -->