Skip to content

Commit 02f31e6

Browse files
committed
adapt to MC master
1 parent eba783e commit 02f31e6

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
@@ -190,19 +190,16 @@
190190
+ instance `is_derive_row_mx`
191191

192192
- in `matrix_normedtype.v`
193-
+ lemmas `norm_row_mx`, `norm_row_mx0r`, `norm_row_mx0l`
193+
+ lemmas `norm_row_mx`, `norm_row_mx0r`, `norm_row_mx0l`, `cvg_row_mx`
194194

195195
- in `unstable.v`:
196196
+ lemma `sub_row_mx`
197197

198198
- in `derive.v`:
199-
+ lemmas `eqo_row_mx`, `cvg_row_mx`, `drow_mx`, `diff_row_mx`,
199+
+ lemmas `eqo_row_mx`, `drow_mx`, `diff_row_mx`,
200200
`differentiable_row_mx`
201201
+ instance `is_diff_row_mx`
202202

203-
- in `unstable.v`:
204-
+ lemma `big_split_ord_idem`
205-
206203
### Changed
207204

208205
- 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
@@ -677,21 +677,3 @@ End Theory.
677677
Module Import Exports. HB.reexport. End Exports.
678678
End Norm.
679679
Export Norm.Exports.
680-
681-
(* NB: big_split_org in bigop.v requires Monoid.law idx,
682-
big_split_ord_idem will be made available from MathComp
683-
via PR https://github.com/math-comp/math-comp/pull/1608
684-
(MathComp 2.7.0) *)
685-
Lemma big_split_ord_idem [R : Type] [idx : R] (op : SemiGroup.com_law R) m n
686-
(P : pred 'I_(m + n)) F :
687-
op idx idx = idx ->
688-
\big[op/idx]_(i | P i) F i =
689-
op (\big[op/idx]_(i | P (lshift n i)) F (lshift n i))
690-
(\big[op/idx]_(i | P (rshift m i)) F (rshift m i)).
691-
Proof.
692-
move=> opxx.
693-
rewrite -(big_map (lshift n) P F) -(big_map (@rshift m _) P F).
694-
rewrite -big_cat_idem//; congr bigop; apply: (inj_map val_inj).
695-
rewrite map_cat -!map_comp (map_comp (addn m)) /=.
696-
by rewrite ![index_enum _]unlock unlock !val_ord_enum -iotaDl addn0 iotaD.
697-
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)