Skip to content

Commit d8de050

Browse files
committed
fix
1 parent 7117d5a commit d8de050

1 file changed

Lines changed: 8 additions & 29 deletions

File tree

theories/normedtype_theory/matrix_normedtype.v

Lines changed: 8 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -281,40 +281,19 @@ Section norm_row_mx.
281281
Context {K : realDomainType} {m n1 n2 : nat}.
282282
Implicit Types (M : 'M[K]_(m, n1)) (N : 'M[K]_(m, n2)).
283283

284-
Lemma norm_row_mx0r M : `|row_mx M (0 : 'M_(m, n2))| = `|M|.
284+
Lemma norm_row_mx M N : `|row_mx M N| = Num.max `|M| `|N|.
285285
Proof.
286286
rewrite /Num.norm/= !mx_normrE.
287287
rewrite -!(pair_bigA_idem _ (fun i j => `|_ i j|))/= ?maxxx//.
288-
apply: eq_bigr => i _.
289-
have ? := maxxx (0 : K).
290-
rewrite big_split_ord_idem//= [X in maxr _ X = _]big1_idem//=.
291-
by move=> ? _; rewrite row_mxEr mxE normr0.
292-
by rewrite -bigmax_idr; apply: eq_bigr => j _; rewrite row_mxEl.
288+
rewrite -big_split_idem/= ?maxxx//; apply: eq_bigr => i _.
289+
rewrite big_split_ord_idem/= ?maxxx//=.
290+
by congr maxr; apply: eq_bigr => j _; [rewrite row_mxEl|rewrite row_mxEr].
293291
Qed.
294292

295-
Lemma norm_row_mx0l N : `|row_mx (0 : 'M_(m, n1)) N| = `|N|.
296-
Proof.
297-
rewrite /Num.norm/= !mx_normrE.
298-
rewrite -!(pair_bigA_idem _ (fun i j => `|_ i j|))/= ?maxxx//.
299-
apply: eq_bigr => i _.
300-
have ? := maxxx (0 : K).
301-
rewrite big_split_ord_idem//= [X in maxr X _ = _]big1_idem//=.
302-
by move=> ? _; rewrite row_mxEl mxE normr0.
303-
by rewrite -bigmax_idl; apply: eq_bigr => j _; rewrite row_mxEr.
304-
Qed.
293+
Lemma norm_row_mx0r M : `|row_mx M (0 : 'M_(m, n2))| = `|M|.
294+
Proof. by rewrite norm_row_mx normr0; exact/max_idPl. Qed.
305295

306-
Lemma norm_row_mx M N : `|row_mx M N| = Num.max `|M| `|N|.
307-
Proof.
308-
apply/eqP; rewrite eq_le; apply/andP; split.
309-
- rewrite [leLHS]/Num.norm/= !mx_normrE bigmax_le//= => -[i j] _/=.
310-
rewrite le_max mxE; case: splitP => k kE.
311-
+ by rewrite [in `|M|]/Num.norm/= !mx_normrE (le_bigmax _ _ (i, k)).
312-
+ by rewrite [in `|N|]/Num.norm/= !mx_normrE (le_bigmax _ _ (i, k)) ?orbT.
313-
- rewrite ge_max; apply/andP; split;
314-
rewrite [leLHS]/Num.norm/= !mx_normrE bigmax_le//= => -[i j] _/=;
315-
rewrite [leRHS]/Num.norm/= !mx_normrE.
316-
+ by rewrite -(row_mxEl _ N)/= (le_bigmax _ _ (i, lshift n2 j)).
317-
+ by rewrite -(row_mxEr M)/= (le_bigmax _ _ (i, rshift n1 j)).
318-
Qed.
296+
Lemma norm_row_mx0l N : `|row_mx (0 : 'M_(m, n1)) N| = `|N|.
297+
Proof. by rewrite norm_row_mx normr0; exact/max_idPr. Qed.
319298

320299
End norm_row_mx.

0 commit comments

Comments
 (0)