Top source

Module mathcomp.reals.prodnormedzmodule

From HB Require Import structures.
From mathcomp Require Import boot order fingroup ssralg poly ssrnum.
From mathcomp Require Import all_classical.
From mathcomp Require Import interval_inference.

This file equips the product of two normedZmodTypes with a canonical normedZmodType structure. It is a short file that has been added here for convenience during the rebase of MathComp-Analysis on top of MathComp 1.1. The contents is likely to be moved elsewhere.

Unset SsrOldRewriteGoalsOrder.
Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.

Local Open Scope ring_scope.
Import Order.TTheory GRing.Theory Num.Theory.

Section Linear1.
Context ( : pzRingType) ( : lmodType R) ( : zmodType) ( : R -> V -> V).
End Linear1.
Section Linear2.
Context ( : pzRingType) ( : lmodType R) ( : zmodType) ( : GRing.Scale.law R V).
End Linear2.

Module
ProdNormedZmodule
Source code
.
Section ProdNormedZmodule.
Context { : numDomainType} { : normedZmodType R}.

Definition
norm

ereal_ball : forall {R : realFieldType}, \bar R -> R -> \bar R -> bool ereal_ball is not universe polymorphic Arguments ereal_ball {R} x%_ereal_scope r%_ring_scope y%_ereal_scope ereal_ball is transparent Expands to: Constant mathcomp.reals.constructive_ereal.ereal_ball Declared in library mathcomp.reals.constructive_ereal, line 4706, characters 11-21


Source code
( : U * V) : R := Num.max `|x.1| `|x.2|.

Lemma : norm (x + y) <= norm x + norm y.
Proof.
rewrite /norm num_ge_max !(le_trans (ler_normD _ _)) ?lerD//;
by rewrite comparable_le_max ?lexx ?orbT// real_comparable.
Qed.

Lemma
norm_eq0
Source code
: norm x = 0 -> x = 0.
Proof.
case: x => x1 x2 /eqP; rewrite eq_le num_ge_max 2!normr_le0 -andbA/=.
by case/and3P => /eqP -> /eqP ->.
Qed.

Lemma : norm (x *+ n) = (norm x) *+ n.
Proof.

Lemma : norm (- x) = norm x.
Proof.
by rewrite /norm/= !normrN. Qed.

#[export]
Source code

.
instance
Source code
Definition
Source code
.Zmodule_isNormed.Build R (U * V)%type
  normD norm_eq0 normMn normrN.

Lemma
prod_normE
Source code
( : U * V) : `|x| = Num.max `|x.1| `|x.2|.
Proof.
by []. Qed.

End ProdNormedZmodule.

Module .
HB.reexport.
Definition
prod_normE
Source code
:= @prod_normE.
End Exports.

End ProdNormedZmodule.
Export ProdNormedZmodule.Exports.