Skip to content

Commit 9c2155c

Browse files
committed
adapt to MC master
1 parent 8c3b393 commit 9c2155c

4 files changed

Lines changed: 16 additions & 37 deletions

File tree

CHANGELOG_UNRELEASED.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,19 +174,16 @@
174174
+ instance `is_derive_row_mx`
175175

176176
- in `matrix_normedtype.v`
177-
+ lemmas `norm_row_mx`, `norm_row_mx0r`, `norm_row_mx0l`
177+
+ lemmas `norm_row_mx`, `norm_row_mx0r`, `norm_row_mx0l`, `cvg_row_mx`
178178

179179
- in `unstable.v`:
180180
+ lemma `sub_row_mx`
181181

182182
- in `derive.v`:
183-
+ lemmas `eqo_row_mx`, `cvg_row_mx`, `drow_mx`, `diff_row_mx`,
183+
+ lemmas `eqo_row_mx`, `drow_mx`, `diff_row_mx`,
184184
`differentiable_row_mx`
185185
+ instance `is_diff_row_mx`
186186

187-
- in `unstable.v`:
188-
+ lemma `big_split_ord_idem`
189-
190187
### Changed
191188

192189
- moved from `measurable_structure.v` to `classical_sets.v`:

classical/unstable.v

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -671,21 +671,3 @@ End Theory.
671671
Module Import Exports. HB.reexport. End Exports.
672672
End Norm.
673673
Export Norm.Exports.
674-
675-
(* NB: big_split_org in bigop.v requires Monoid.law idx,
676-
big_split_ord_idem will be made available from MathComp
677-
via PR https://github.com/math-comp/math-comp/pull/1608
678-
(MathComp 2.7.0) *)
679-
Lemma big_split_ord_idem [R : Type] [idx : R] (op : SemiGroup.com_law R) m n
680-
(P : pred 'I_(m + n)) F :
681-
op idx idx = idx ->
682-
\big[op/idx]_(i | P i) F i =
683-
op (\big[op/idx]_(i | P (lshift n i)) F (lshift n i))
684-
(\big[op/idx]_(i | P (rshift m i)) F (rshift m i)).
685-
Proof.
686-
move=> opxx.
687-
rewrite -(big_map (lshift n) P F) -(big_map (@rshift m _) P F).
688-
rewrite -big_cat_idem//; congr bigop; apply: (inj_map val_inj).
689-
rewrite map_cat -!map_comp (map_comp (addn m)) /=.
690-
by rewrite ![index_enum _]unlock unlock !val_ord_enum -iotaDl addn0 iotaD.
691-
Qed.

theories/derive.v

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2455,19 +2455,6 @@ apply/eqoP => _/posnumP[e]; near=> x; rewrite norm_row_mx ge_max.
24552455
by apply/andP; split; near: x; apply: littleoP.
24562456
Unshelve. all: by end_near. Qed.
24572457

2458-
(* NB: this could be moved earlier in the file hierarchy *)
2459-
Lemma cvg_row_mx {T : realFieldType} {F : set_system T} {n1 n2 : nat}
2460-
(G : 'rV[T]_n1) (H : 'rV[T]_n2) : Filter F ->
2461-
forall (f : T -> 'rV[T]_n1) (g : T -> 'rV[T]_n2),
2462-
f x @[x --> F] --> G -> g x @[x --> F] --> H ->
2463-
row_mx (f x) (g x) @[x --> F] --> row_mx G H.
2464-
Proof.
2465-
move=> FF M N cvgM cvgN; apply/cvgrPdist_le => /= e e0; near=> t.
2466-
rewrite sub_row_mx norm_row_mx ge_max; apply/andP; split.
2467-
- by near: t; move/cvgrPdist_le : cvgM => /(_ _ e0).
2468-
- by near: t; move/cvgrPdist_le : cvgN => /(_ _ e0).
2469-
Unshelve. all: by end_near. Qed.
2470-
24712458
Section is_diff_row_mx.
24722459
Local Open Scope classical_set_scope.
24732460
Context {R : realFieldType} {n1 n2 : nat}.

theories/normedtype_theory/matrix_normedtype.v

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,8 @@ Proof.
286286
rewrite /Num.norm/= !mx_normrE.
287287
rewrite -!(pair_bigA_idem _ (fun i j => `|_ i j|))/= ?maxxx//.
288288
rewrite -big_split_idem/= ?maxxx//; apply: eq_bigr => i _.
289-
rewrite big_split_ord_idem/= ?maxxx//=.
289+
rewrite big_split_ord_idem/= ?maxxx//.
290+
by move=> a; rewrite maxC.
290291
by congr maxr; apply: eq_bigr => j _; [rewrite row_mxEl|rewrite row_mxEr].
291292
Qed.
292293

@@ -297,3 +298,15 @@ Lemma norm_row_mx0l N : `|row_mx (0 : 'M_(m, n1)) N| = `|N|.
297298
Proof. by rewrite norm_row_mx normr0; exact/max_idPr. Qed.
298299

299300
End norm_row_mx.
301+
302+
Lemma cvg_row_mx {T : realFieldType} {F : set_system T} {n1 n2 : nat}
303+
(G : 'rV[T]_n1) (H : 'rV[T]_n2) : Filter F ->
304+
forall (f : T -> 'rV[T]_n1) (g : T -> 'rV[T]_n2),
305+
f x @[x --> F] --> G -> g x @[x --> F] --> H ->
306+
row_mx (f x) (g x) @[x --> F] --> row_mx G H.
307+
Proof.
308+
move=> FF M N cvgM cvgN; apply/cvgrPdist_le => /= e e0; near=> t.
309+
rewrite sub_row_mx norm_row_mx ge_max; apply/andP; split.
310+
- by near: t; move/cvgrPdist_le : cvgM => /(_ _ e0).
311+
- by near: t; move/cvgrPdist_le : cvgN => /(_ _ e0).
312+
Unshelve. all: by end_near. Qed.

0 commit comments

Comments
 (0)