Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions theories/measure_theory/measurable_function.v
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
(* mathcomp analysis (c) 2026 Inria and AIST. License: CeCILL-C. *)
From HB Require Import structures.
From mathcomp Require Import all_ssreflect_compat algebra.
From mathcomp Require Import all_ssreflect_compat.
#[warning="-warn-library-file-internal-analysis"]
From mathcomp Require Import unstable.
From mathcomp Require Import boolp classical_sets functions cardinality reals.
From mathcomp Require Import ereal topology normedtype.
From mathcomp Require Import sequences measurable_structure.
From mathcomp Require Import boolp classical_sets functions.
From mathcomp Require Import measurable_structure.

(**md**************************************************************************)
(* # Measurable Functions *)
Expand All @@ -29,7 +28,6 @@ Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.
Import ProperNotations.
Import Order.TTheory GRing.Theory Num.Theory.

Local Open Scope classical_set_scope.
Local Open Scope ring_scope.
Expand Down Expand Up @@ -358,7 +356,7 @@ Context {d} {T : measurableType d} {d1} {T1 : measurableType d1}

Lemma g_sigma_algebra_preimage_comp (X : {mfun T >-> T1}) (f : T1 -> T2) :
measurable_fun [set: T1] f ->
g_sigma_algebra_preimage (f \o X)%R `<=` g_sigma_algebra_preimage X.
g_sigma_algebra_preimage (f \o X) `<=` g_sigma_algebra_preimage X.
Proof. exact: preimage_set_system_compS. Qed.

End g_sigma_algebra_preimage_comp.
Expand Down
3 changes: 3 additions & 0 deletions theories/normedtype_theory/matrix_normedtype.v
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,9 @@ HB.instance Definition _ (K : numFieldType) m n :=
PseudoMetricNormedZmod_Lmodule_isNormedModule.Build K 'M[K]_(m, n)
(@mx_normZ K m n).

HB.instance Definition _ (K : numFieldType) m n :=
isNormedModule.Build _ 'M[K]_(m, n).

End matrix_NormedModule.

Lemma continuous_mx {V : topologicalType} {R : realFieldType} {m n : nat}
Expand Down
34 changes: 31 additions & 3 deletions theories/normedtype_theory/normed_module.v
Original file line number Diff line number Diff line change
Expand Up @@ -92,11 +92,33 @@ HB.mixin Record PseudoMetricNormedZmod_ConvexTvs_isNormedModule K V
normrZ : forall (l : K) (x : V), `| l *: x | = `| l | * `| x |;
}.

#[short(type="normedModType")]
HB.structure Definition NormedModule (K : numDomainType) :=
HB.structure Definition NormedModule0 (K : numDomainType) :=
{T of PseudoMetricNormedZmod K T & ConvexTvs K T
& PseudoMetricNormedZmod_ConvexTvs_isNormedModule K T}.

#[short(type="normedModType")]
HB.structure Definition NormedModule (K : numDomainType) :=
{T of NormedModule0 K T & Metric K T}.

HB.factory Record isNormedModule (K : numDomainType) T & NormedModule0 K T := { }.

HB.builders Context K T & isNormedModule K T.

Let mdist (x y : T) : K := `|x - y|.

Let mdist_ge0 x y : 0 <= mdist x y. Proof. by rewrite /mdist. Qed.

Let mdist_positivity x y : mdist x y = 0 -> x = y.
Proof. by move=> /normr0_eq0/subr0_eq. Qed.

Let ballEmdist x d : ball x d = [set y | mdist x y < d].
Proof. by rewrite -ball_normE. Qed.

HB.instance Definition _ :=
@PseudoMetric_isMetric.Build K T mdist mdist_ge0 mdist_positivity ballEmdist.

HB.end.

#[short(type="subNormedModType")]
HB.structure Definition SubNormedModule (R : numDomainType)
(V : normedModType R) (S : pred V) :=
Expand Down Expand Up @@ -1721,7 +1743,7 @@ Qed.
Section prod_NormedModule.
Context {K : numFieldType} {U V : normedModType K}.

Lemma prod_norm_scale (l : K) (x : U * V) : `| l *: x | = `|l| * `| x |.
Let prod_norm_scale (l : K) (x : U * V) : `| l *: x | = `|l| * `| x |.
Proof. by rewrite prod_normE /= !normrZ maxr_pMr. Qed.

HB.instance Definition _ :=
Expand All @@ -1730,6 +1752,9 @@ HB.instance Definition _ :=

End prod_NormedModule.

HB.instance Definition _ (R : numFieldType) (U V' : normedModType R) :=
isNormedModule.Build _ (U * V')%type.

Section prod_NormedModule_lemmas.
Context {T : Type} {K : numDomainType} {U V : normedModType K}.

Expand Down Expand Up @@ -2657,6 +2682,9 @@ HB.instance Definition _ (V : vectType R) :=
PseudoMetricNormedZmod_Lmodule_isNormedModule.Build R (max_space V)
(@Norm.normZ _ _ (@max_norm V)).

HB.instance Definition _ (V : vectType R) :=
isNormedModule.Build _ (max_space V).

(* NB: Get Trocq to prove the continuity part automatically. *)
Lemma sup_closed_ball_compact (V : vectType R) :
compact (closed_ball (0 : max_space V) 1).
Expand Down
Loading