Module mathcomp.analysis.topology_theory.pseudometric_structure
From HB Require Import structures.From mathcomp Require Import boot order algebra archimedean all_classical.
From mathcomp Require Import interval_inference reals topology_structure.
From mathcomp Require Import uniform_structure.
Import Order.TTheory GRing.Theory Num.Theory.
Unset SsrOldRewriteGoalsOrder.
Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.
#[local]
Obligation Tactic := idtac.
Local Open Scope classical_set_scope.
Local Open Scope ring_scope.
Definition entourage_
Used by
- mathcomp.analysis.ereal
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.product_topology
- mathcomp.analysis.topology_theory.discrete_topology
- mathcomp.analysis.topology_theory.function_spaces
- mathcomp.analysis.topology_theory.separation_axioms
- mathcomp.analysis.topology_theory.initial_topology
- mathcomp.analysis.topology_theory.matrix_topology
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.normedtype_theory.normed_module
Source code {RSource code : numDomainType} {TSource code T'Source code} (ballSource code : T -> R -> set T') :=
@filter_from R _ [set xSource code | 0 < x] (fun eSource code => [set xySource code | ball xy.1 e xy.2]).
Lemma entourage_ESource code {RSource code : numDomainType} {TSource code T'Source code} (ballSource code : T -> R -> set T') :
entourage_ ball =
@filter_from R _ [set xSource code | 0 < x] (fun eSource code => [set xySource code | ball xy.1 e xy.2]).
Proof.
HBSource code.mixinSource code RecordSource code Uniform_isPseudoMetricSource code (RSource code :Source code numDomainTypeSource code) M & Uniform M := {
ball : M -> R -> M -> Prop ;
ball_center_subproof : forall xSource code (eSource code : R), 0 < e -> ball x e x ;
ball_sym_subproof : forall xSource code ySource code (eSource code : R), ball x e y -> ball y e x ;
ball_triangle_subproof :
forall xSource code ySource code zSource code e1Source code e2Source code, ball x e1 y -> ball y e2 z -> ball x (e1 + e2) z;
entourageE_subproof : entourage = entourage_ ball
}.
#[shortUsed by
- mathcomp.analysis.cantor
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.discrete_topology
- mathcomp.analysis.topology_theory.separation_axioms
Source code(type=Used by
- mathcomp.analysis.cantor
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.discrete_topology
- mathcomp.analysis.topology_theory.separation_axioms
Source code"pseudoMetricType"Used by
- mathcomp.analysis.cantor
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.discrete_topology
- mathcomp.analysis.topology_theory.separation_axioms
Source code)]Used by
- mathcomp.analysis.cantor
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.discrete_topology
- mathcomp.analysis.topology_theory.separation_axioms
Source code
HBUsed by
- mathcomp.analysis.cantor
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.discrete_topology
- mathcomp.analysis.topology_theory.separation_axioms
Source code.structureUsed by
- mathcomp.analysis.cantor
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.discrete_topology
- mathcomp.analysis.topology_theory.separation_axioms
Source code DefinitionUsed by
- mathcomp.analysis.cantor
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.discrete_topology
- mathcomp.analysis.topology_theory.separation_axioms
Source code PseudoMetricUsed by
- mathcomp.analysis.cantor
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.discrete_topology
- mathcomp.analysis.topology_theory.separation_axioms
Source code (RUsed by
- mathcomp.analysis.cantor
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.discrete_topology
- mathcomp.analysis.topology_theory.separation_axioms
Source code :Used by
- mathcomp.analysis.cantor
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.discrete_topology
- mathcomp.analysis.topology_theory.separation_axioms
Source code numDomainTypeUsed by
- mathcomp.analysis.cantor
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.discrete_topology
- mathcomp.analysis.topology_theory.separation_axioms
Source code) :=
{TSource code of Uniform T & Uniform_isPseudoMetric R T}.
#[shortUsed by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code(type=Used by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code"pseudoPMetricType"Used by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code)]Used by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code
HBUsed by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code.structureUsed by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code DefinitionUsed by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code PseudoPointedMetricUsed by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code (RUsed by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code :Used by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code numDomainTypeUsed by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code) :=
{TSource code of Pointed T & Uniform T & Uniform_isPseudoMetric R T}.
HBSource code.factorySource code RecordSource code Nbhs_isPseudoMetricSource code (RSource code :Source code numFieldTypeSource code) M & Nbhs M := {
ent : set_system (M * M);
nbhsE : nbhs = nbhs_ ent;
ball : M -> R -> M -> Prop ;
ball_center : forall xSource code (eSource code : R), 0 < e -> ball x e x ;
ball_sym : forall xSource code ySource code (eSource code : R), ball x e y -> ball y e x ;
ball_triangle :
forall xSource code ySource code zSource code e1Source code e2Source code, ball x e1 y -> ball y e2 z -> ball x (e1 + e2) z;
entourageE : ent = entourage_ ball
}.
HBSource code.buildersSource code ContextSource code RSource code MSource code &Source code Nbhs_isPseudoMetricSource code R M.
Local Open Scope relation_scope.
Let ball_leSource code xSource code : {homo ball x : e1Source code e2Source code / e1 <= e2 >-> e1 `<=` e2}.
Proof.
move: le12; rewrite le_eqVlt => /orP [/eqP <- //|].
rewrite -subr_gt0 => lt12.
rewrite -[e2](subrK e1); apply: ball_triangle xe1_y.
suff : ball x (PosNum lt12)%:num x by [].
exact: ball_center.
Qed.
Let entourage_filter_subproofSource code : Filter ent.
Proof.
Let ball_sym_subproofSource code ASource code : ent A -> diagonal `<=` A.
Proof.
by apply: sbeA; rewrite /= xey; exact: ball_center.
Qed.
Let ball_triangle_subproofSource code ASource code : ent A -> ent A^-1.
Proof.
Let entourageE_subproofSource code ASource code : ent A -> exists2 BSource code, ent B & B \; B `<=` A.
Proof.
HBSource code.instanceSource code DefinitionSource code _Source code :=Source code Nbhs_isUniformSource code.Build M
entourage_filter_subproof ball_sym_subproof ball_triangle_subproof
entourageE_subproof nbhsE.
HBSource code.instanceSource code DefinitionSource code _Source code :=Source code Uniform_isPseudoMetricSource code.Build R M
ball_center ball_sym ball_triangle entourageE.
HBSource code.endSource code.
Lemma entourage_ballEUsed by
- mathcomp.analysis.topology_theory.product_topology
- mathcomp.analysis.topology_theory.function_spaces
- mathcomp.analysis.topology_theory.initial_topology
- mathcomp.analysis.topology_theory.matrix_topology
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.normedtype_theory.urysohn
Source code {RSource code : numDomainType} {MSource code : pseudoMetricType R} :
entourage_ (@ball R M) = entourage.
Proof.
Lemma entourage_from_ballESource code {RSource code : numDomainType} {MSource code : pseudoMetricType R} :
@filter_from R _ [set xSource code : R | 0 < x]
(fun eSource code => [set xySource code | @ball R M xy.1 e xy.2]) = entourage.
Proof.
Lemma entourage_ballSource code {RSource code : numDomainType} (MSource code : pseudoMetricType R)
(eSource code : {posnum R}) : entourage [set xySource code : M * M | ball xy.1 e%:num xy.2].
Proof.
Definition nbhs_ball_
Used by
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.sequences
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code {RSource code : numDomainType} {TSource code T'Source code} (ballSource code : T -> R -> set T')
(xSource code : T) := @filter_from R _ [set eSource code | e > 0] (ball x).
Definition nbhs_ball
Used by
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code {RSource code : numDomainType} {MSource code : pseudoMetricType R} :=
nbhs_ball_ (@ball R M).
Lemma nbhs_ballEUsed by
- mathcomp.analysis.ereal
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.urysohn
- mathcomp.analysis.normedtype_theory.num_normedtype
- mathcomp.analysis.normedtype_theory.normed_module
Source code {RSource code : numDomainType} {MSource code : pseudoMetricType R} :
@nbhs_ball R M = nbhs.
Proof.
Lemma filter_from_ballEUsed by
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code {RSource code : numDomainType} {MSource code : pseudoMetricType R} xSource code :
@filter_from R _ [set xSource code : R | 0 < x] (@ball R M x) = nbhs x.
Proof.
Module Export NbhsBallSource code.
Definition nbhs_simpl
Used by
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.edist
- mathcomp.analysis.topology_theory.discrete_topology
- mathcomp.analysis.topology_theory.subtype_topology
- mathcomp.analysis.topology_theory.function_spaces
- mathcomp.analysis.topology_theory.initial_topology
- mathcomp.analysis.topology_theory.one_point_compactification
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.topology_theory.compact
Source code := (nbhs_simpl,@filter_from_ballE,@nbhs_ballE).
End NbhsBall.
Lemma nbhs_ballPUsed by
- mathcomp.analysis.functional_analysis.hahn_banach_theorem
- mathcomp.analysis.ereal
- mathcomp.analysis.topology_theory.separation_axioms
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.topology_theory.compact
- mathcomp.analysis.derive
- mathcomp.analysis.sequences
- mathcomp.analysis.normedtype_theory.matrix_normedtype
- mathcomp.analysis.normedtype_theory.num_normedtype
- mathcomp.analysis.normedtype_theory.normed_module
- mathcomp.analysis.exp
Source code {RSource code : numDomainType} {MSource code : pseudoMetricType R} (xSource code : M) PSource code :
nbhs x P <-> nbhs_ball x P.
Proof.
Lemma ball_centerUsed by
- mathcomp.analysis.topology_theory.initial_topology
- mathcomp.analysis.sequences
Source code {RSource code : numDomainType} (MSource code : pseudoMetricType R) (xSource code : M)
(eSource code : {posnum R}) : ball x e%:num x.
Proof.
Section pseudoMetricType_numDomainType.
Context {RSource code : numDomainType} {MSource code : pseudoMetricType R}.
Implicit Types x y z : M.
Lemma ballxxUsed by
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.measure_theory.dirac_measure
- mathcomp.analysis.gauss_integral
- mathcomp.analysis.ereal
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.separation_axioms
- mathcomp.analysis.topology_theory.matrix_topology
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.tvs
- mathcomp.analysis.normedtype_theory.vitali_lemma
- mathcomp.analysis.normedtype_theory.num_normedtype
- mathcomp.analysis.normedtype_theory.normed_module
Source code xSource code (eSource code : R) : 0 < e -> ball x e x.
Proof.
Lemma ball_symUsed by
- mathcomp.analysis.ereal
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.edist
- mathcomp.analysis.topology_theory.product_topology
- mathcomp.analysis.topology_theory.function_spaces
- mathcomp.analysis.topology_theory.initial_topology
- mathcomp.analysis.topology_theory.matrix_topology
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.topology_theory.compact
- mathcomp.analysis.derive
- mathcomp.analysis.numfun
- mathcomp.analysis.normedtype_theory.urysohn
- mathcomp.analysis.normedtype_theory.normed_module
Source code xSource code ySource code (eSource code : R) : ball x e y -> ball y e x.
Proof.
Lemma ball_symEUsed by
- mathcomp.analysis.topology_theory.edist
Source code xSource code ySource code (eSource code : R) : ball x e y = ball y e x.
Lemma ball_triangleUsed by
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.edist
- mathcomp.analysis.topology_theory.product_topology
- mathcomp.analysis.topology_theory.function_spaces
- mathcomp.analysis.topology_theory.initial_topology
- mathcomp.analysis.topology_theory.matrix_topology
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.topology_theory.compact
- mathcomp.analysis.normedtype_theory.urysohn
Source code ySource code xSource code zSource code (e1Source code e2Source code : R) :
ball x e1 y -> ball y e2 z -> ball x (e1 + e2) z.
Proof.
Lemma nbhsx_ballxUsed by
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.topology_theory.metric_structure
- mathcomp.analysis.topology_theory.edist
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.topology_theory.compact
- mathcomp.analysis.derive
- mathcomp.analysis.sequences
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.tvs
- mathcomp.analysis.normedtype_theory.urysohn
- mathcomp.analysis.normedtype_theory.normed_module
- mathcomp.analysis_stdlib.showcase.uniform_bigO
Source code xSource code (epsSource code : R) : 0 < eps -> nbhs x (ball x eps).
Proof.
Lemma open_nbhs_ballUsed by
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.topology_theory.separation_axioms
Source code xSource code (epsSource code : {posnum R}) : open_nbhs x (ball x eps%:num)°.
Proof.
by apply: nbhs_singleton; apply: nbhs_interior; exact: nbhsx_ballx.
Qed.
Lemma le_ballUsed by
- mathcomp.analysis.realfun
- mathcomp.analysis.ereal
- mathcomp.analysis.topology_theory.edist
- mathcomp.analysis.topology_theory.product_topology
- mathcomp.analysis.topology_theory.initial_topology
- mathcomp.analysis.topology_theory.matrix_topology
- mathcomp.analysis.topology_theory.compact
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.normedtype_theory.urysohn
- mathcomp.analysis.normedtype_theory.vitali_lemma
- mathcomp.analysis.normedtype_theory.normed_module
Source code xSource code (e1Source code e2Source code : R) : e1 <= e2 -> ball x e1 `<=` ball x e2.
Proof.
by rewrite -[e2](subrK e1); apply/ball_triangle/ballxx; rewrite subr_gt0.
Qed.
Lemma near_ballSource code ySource code (epsSource code : R) : 0 < eps -> \forall y'Source code \near y, ball y eps y'.
Proof.
Lemma dnbhs_ballUsed by
- mathcomp.analysis.realfun
Source code xSource code (eSource code : R) : (0 < e)%R -> x^' (ball x e `\ x).
Proof.
Lemma fcvg_ballPUsed by
- mathcomp.analysis.topology_theory.product_topology
- mathcomp.analysis_stdlib.Rstruct_topology
Source code {FSource code} {FFSource code : Filter F} (ySource code : M) :
F --> y <-> forall epsSource code : R, 0 < eps -> \forall y'Source code \near F, ball y eps y'.
Proof.
Lemma fcvg_ballUsed by
- mathcomp.analysis.sequences
Source code {FSource code} {FFSource code : Filter F} (ySource code : M) :
F --> y -> forall epsSource code : R, 0 < eps -> \forall y'Source code \near F, ball y eps y'.
Proof.
Lemma cvg_ballPUsed by
- mathcomp.analysis.measure_theory.dirac_measure
- mathcomp.analysis.realfun
- mathcomp.analysis.elementary_functions.trigonometry_functions
- mathcomp.analysis.sequences
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_dominated_convergence
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.normedtype_theory.num_normedtype
- mathcomp.analysis.normedtype_theory.normed_module
- mathcomp.analysis_stdlib.Rstruct_topology
Source code {TSource code} {FSource code} {FFSource code : Filter F} (fSource code : T -> M) ySource code :
f @ F --> y <-> forall epsSource code : R, 0 < eps -> \forall xSource code \near F, ball y eps (f x).
Proof.
Lemma cvg_ballSource code {TSource code} {FSource code} {FFSource code : Filter F} (fSource code : T -> M) ySource code :
f @ F --> y -> forall epsSource code : R, 0 < eps -> \forall xSource code \near F, ball y eps (f x).
Proof.
Lemma cvgi_ballPSource code TSource code {FSource code} {FFSource code : Filter F} (fSource code : T -> M -> Prop) ySource code :
f `@ F --> y <->
forall epsSource code : R, 0 < eps -> \forall xSource code \near F, exists zSource code, f x z /\ ball y eps z.
Proof.
move=> /nbhs_ballP[_ /posnumP[eps] subP].
rewrite near_simpl near_mapi; near=> x.
have [//|z [fxz yz]] := near (Fy _ (gt0 eps)) x.
by exists z => //; split => //; apply: subP.
Unshelve. all: end_near. Qed.
Lemma cvgi_ballSource code TSource code {FSource code} {FFSource code : Filter F} (fSource code : T -> M -> Prop) ySource code :
f `@ F --> y ->
forall epsSource code : R, 0 < eps -> F [set xSource code | exists zSource code, f x z /\ ball y eps z].
Proof.
End pseudoMetricType_numDomainType.
#[global] Hint Resolve nbhsx_ballx : core.
Global Instance entourage_proper_filterSource code {RSource code : numDomainType}
{MSource code : pseudoPMetricType R} : ProperFilter (@entourage M).
Proof.
by exists (point, point); apply: sbeA; apply: ballxx.
Qed.
Arguments nbhsx_ballx {R M} x eps.
Arguments near_ball {R M} y eps.
Section pseudoMetricType_numFieldType.
Context {RSource code : numFieldType} {MSource code : pseudoMetricType R}.
Implicit Types x y z p : M.
Lemma ball_splitUsed by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code zSource code xSource code ySource code (eSource code : R) :
ball x (e / 2) z -> ball z (e / 2) y -> ball x e y.
Proof.
Lemma ball_splitrUsed by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code zSource code xSource code ySource code (eSource code : R) :
ball z (e / 2) x -> ball z (e / 2) y -> ball x e y.
Proof.
Lemma ball_splitlUsed by
- mathcomp.analysis.ereal
- mathcomp.analysis.topology_theory.separation_axioms
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code zSource code xSource code ySource code (eSource code : R) :
ball x (e / 2) z -> ball y (e / 2) z -> ball x e y.
Proof.
End pseudoMetricType_numFieldType.
Lemma cvg_withinPUsed by
- mathcomp.analysis.realfun
Source code {TSource code : topologicalType} {RSource code : archiRealFieldType}
{MSource code : pseudoMetricType R} (fSource code : M -> T) (pSource code : M) (lSource code : T) (ASource code : set M) :
f @ within A (nbhs p) --> l <->
(forall uSource code : M^nat, (forall nSource code, A (u n)) /\ u @ \oo --> p ->
f (u n) @[nSource code --> \oo] --> l).
Proof.
move=> V Vnb.
have := fpl _ Vnb; rewrite {1 2 4}/nbhs/= /within/= => Unb.
have [N _ {}up] := up _ Unb.
by exists N => // n /= Nn; exact: up.
apply: contrapT => fpl; move: ful; apply/existsNP.
suff: exists2 uSource code : M^nat,
(forall kSource code, A (u k)) /\ u @ \oo --> p & ~ f (u n) @[nSource code --> \oo] --> l.
by move=> [x_] h; exists x_; exact/not_implyP.
have [V Vnb hV] : exists2 VSource code : set T, nbhs l V & forall dSource code : {posnum R},
exists xnSource code : M, [/\ A xn, ball xn d%:num p & ~ V (f xn)].
apply: contrapT; apply: contra_not fpl => /forallPNP h.
move=> V Vnb; have /existsNP[d] := h V Vnb; move/forallNP => {}h.
rewrite nbhs_nearE near_map near_withinE; near=> t => At.
have /not_and3P[//|bp|/contrapT //] := h t.
exfalso; apply: bp.
by rewrite ball_symE; near: t; apply: near_ball.
have invn n : 0 < n.+1%:R^-1 :> R by rewrite invr_gt0.
exists (fun nSource code => sval (cid (hV (PosNum (invn n))))).
- split => [k|]; first by rewrite /sval/=; case: cid => x [].
apply/cvg_ballP => r r0; near=> n.
rewrite /sval/=; case: cid => x [Ax xpn _].
rewrite ball_symE; apply: le_ball xpn.
rewrite -(@invrK _ r) lef_pV2 ?posrE ?invr_gt0//.
near: n; exists (Num.truncn r^-1) => // s /= rs.
by apply/ltW; rewrite -truncn_le_nat.
- move=> /(_ V Vnb)[N _] /(_ _ (leqnn _)).
by rewrite /sval/=; case: cid => // x [Ax xpN].
Unshelve. all: by end_near. Qed.
Lemma cvg_nbhsPUsed by
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_under
Source code {TSource code : topologicalType} {RSource code : archiRealFieldType}
{MSource code : pseudoMetricType R} (fSource code : M -> T) (pSource code : M) (lSource code : T) :
f @ p --> l <->
(forall uSource code : M^nat, u @ \oo --> p -> f (u n) @[nSource code --> \oo] --> l).
Proof.
Section entourages.
Context {RSource code : numDomainType}.
Lemma unif_continuousPUsed by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code (USource code VSource code : pseudoMetricType R) (fSource code : U -> V) :
unif_continuous f <->
forall eSource code, e > 0 -> exists2 dSource code, d > 0 &
forall xSource code, ball x.1 d x.2 -> ball (f x.1) e (f x.2).
Proof.
by rewrite entourage_ballE; apply: fmap_filter.
by rewrite /unif_continuous -!entourage_ballE filter_fromP.
Qed.
End entourages.
Lemma countable_uniformity_metricUsed by
- mathcomp.analysis.cantor
- mathcomp.analysis.topology_theory.separation_axioms
Source code {RSource code : realType} {TSource code : pseudoMetricType R} :
countable_uniformity T.
Proof.
exists (fun nSource code => [set xySource code : T * T | ball xy.1 n.+1%:R^-1 xy.2]); last first.
by move=> n; exact: (entourage_ball _ n.+1%:R^-1%:pos).
move=> E; rewrite -entourage_ballE => -[e e0 subE].
exists (Num.truncn e^-1); apply: subset_trans subE => xy; apply: le_ball.
by rewrite /= -[leRHS]invrK lef_pV2 ?posrE ?invr_gt0// ltW// truncnS_gt.
Qed.
HBSource code.instanceSource code DefinitionSource code _Source code (RSource code :Source code zmodTypeSource code) := isPointed.Build R 0.
Definition ball_
Used by
- mathcomp.analysis.realfun
- mathcomp.analysis.ftc
- mathcomp.analysis.ereal
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.derive
- mathcomp.analysis.numfun
- mathcomp.analysis.sequences
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.tvs
- mathcomp.analysis.normedtype_theory.complete_normed_module
- mathcomp.analysis.normedtype_theory.matrix_normedtype
- mathcomp.analysis.normedtype_theory.num_normedtype
- mathcomp.analysis.normedtype_theory.normed_module
Source code
(RSource code : numDomainType) (VSource code : zmodType) (normSource code : V -> R) (xSource code : V) (eSource code : R) :=
[set ySource code | norm (x - y) < e].
Arguments ball_ {R} {V} norm x e%_R y /.
Lemma subset_ball_prop_in_itvUsed by
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.showcase.pnt
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.ereal_normedtype
Source code (RSource code : realDomainType) (xSource code : R) eSource code PSource code :
ball_ Num.Def.normr x e `<=` P <->
{in `](x - e), (x + e)[, forall ySource code, P y}.
Proof.
Lemma subset_ball_prop_in_itvccUsed by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code (RSource code : realDomainType) (xSource code : R) eSource code PSource code : 0 < e ->
ball_ Num.Def.normr x (2 * e) `<=` P ->
{in `[(x - e), (x + e)], forall ySource code, P y}.
Proof.
by rewrite (le_lt_trans ye)// ltr_pMl// ltr1n.
Qed.
Global Instance ball_filterSource code (RSource code : realDomainType) (tSource code : R) : Filter
[set PSource code | exists2 iSource code : R, 0 < i & ball_ Num.norm t i `<=` P].
Proof.
- move=> -[x x0 xP] [y ? yQ]; exists (Num.min x y); first by rewrite lt_min x0.
move=> z tz; split.
by apply: xP; rewrite /= (lt_le_trans tz) // ge_min lexx.
by apply: yQ; rewrite /= (lt_le_trans tz) // ge_min lexx orbT.
- by move=> -[x ? xP]; exists x => //; apply: (subset_trans xP).
Qed.
#[global] Hint Extern 0 (Filter [set PSource code | exists2 iSource code, _ & ball_ _ _ i `<=` P]) =>
(apply: ball_filter) : typeclass_instances.
Section pseudoMetric_of_normedDomain.
Context {KSource code : numDomainType} {RSource code : normedZmodType K}.
Lemma ball_norm_centerUsed by
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.topology_theory.num_topology
Source code (xSource code : R) (eSource code : K) : 0 < e -> ball_ Num.norm x e x.
Lemma ball_norm_symmetricUsed by
- mathcomp.analysis.topology_theory.num_topology
Source code (xSource code ySource code : R) (eSource code : K) :
ball_ Num.norm x e y -> ball_ Num.norm y e x.
Proof.
Lemma ball_norm_triangleUsed by
- mathcomp.analysis.topology_theory.num_topology
Source code (xSource code ySource code zSource code : R) (e1Source code e2Source code : K) :
ball_ Num.norm x e1 y -> ball_ Num.norm y e2 z -> ball_ Num.norm x (e1 + e2) z.
Proof.
Lemma nbhs_ball_normEUsed by
- mathcomp.analysis.topology_theory.num_topology
Source code :
@nbhs_ball_ K R R (ball_ Num.norm) = nbhs_ (entourage_ (ball_ Num.norm)).
Proof.
End pseudoMetric_of_normedDomain.
HBSource code.instanceSource code DefinitionSource code _Source code (RSource code :Source code zmodTypeSource code) := Pointed.on R^o.
#[shortSource code(type=Source code"completePseudoMetricType"Source code)]Source code
HBSource code.structureSource code DefinitionSource code CompletePseudoMetricSource code RSource code :=Source code
{TSource code of Complete T & PseudoPointedMetric R T}.
Definition cauchy_ex
Used by
- mathcomp.analysis.sequences
Source code {RSource code : numDomainType} {TSource code : pseudoMetricType R}
(FSource code : set_system T) :=
forall epsSource code : R, 0 < eps -> exists xSource code, F (ball x eps).
Definition cauchy_ball
entourage_ : forall {R : numDomainType} {T T' : Type}, (T -> R -> set T') -> set_system (T * T') entourage_ is not universe polymorphic Arguments entourage_ {R} {T T'}%_type_scope ball%_function_scope _ entourage_ is transparent Expands to: Constant mathcomp.analysis.topology_theory.pseudometric_structure.entourage_ Declared in library mathcomp.analysis.topology_theory.pseudometric_structure, line 66, characters 11-21
Source code {RSource code : numDomainType} {TSource code : pseudoMetricType R}
(FSource code : set_system T) :=
forall eSource code, e > 0 -> \forall xSource code & ySource code \near F, ball x e y.
Lemma cauchy_ballPUsed by
- mathcomp.analysis.numfun
- mathcomp.analysis.sequences
- mathcomp.analysis.normedtype_theory.complete_normed_module
Source code (RSource code : numDomainType) (TSource code : pseudoMetricType R)
(FSource code : set_system T) (FFSource code : Filter F) :
cauchy_ball F <-> cauchy F.
Proof.
by move=> _/posnumP[eps]; apply/cauchyF/entourage_ball.
move=> U; rewrite -entourage_ballE => - [_/posnumP[eps] xyepsU].
by near do apply: xyepsU; apply: cauchyF.
Unshelve. all: by end_near. Qed.
Lemma cauchy_exPUsed by
- mathcomp.analysis.sequences
Source code (RSource code : numFieldType) (TSource code : pseudoMetricType R)
(FSource code : set_system T) (FFSource code : Filter F) :
cauchy_ex F -> cauchy F.
Proof.
have /Fc [z /= Fze] := [gt0 of e%:num / 2]; near=> x y; apply: sdeA => /=.
by apply: (@ball_splitr _ _ z); [near: x|near: y].
Unshelve. all: by end_near. Qed.
Lemma cauchyPUsed by
- mathcomp.analysis.normedtype_theory.complete_normed_module
Source code (RSource code : numFieldType) (TSource code : pseudoMetricType R)
(FSource code : set_system T) (PFSource code : ProperFilter F) :
cauchy F <-> cauchy_ex F.
Proof.
near F => x; exists x; near: x; apply: (@nearP_dep _ _ F F).
exact/Fcauchy/entourage_ball.
Unshelve. all: by end_near. Qed.
Definition closed_ball_
nbhs_ball_ : forall {R : numDomainType} {T T' : Type}, (T -> R -> set T') -> T -> set_system T' nbhs_ball_ is not universe polymorphic Arguments nbhs_ball_ {R} {T T'}%_type_scope ball%_function_scope x _ nbhs_ball_ is transparent Expands to: Constant mathcomp.analysis.topology_theory.pseudometric_structure.nbhs_ball_ Declared in library mathcomp.analysis.topology_theory.pseudometric_structure, line 168, characters 11-21
Used by
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.sequences
- mathcomp.analysis.normedtype_theory.vitali_lemma
- mathcomp.analysis.normedtype_theory.normed_module
Source code {RSource code : numDomainType} {VSource code : zmodType} (normSource code : V -> R)
(xSource code : V) (eSource code : R) := [set ySource code | norm (x - y) <= e].
Definition closed_ball
nbhs_ball : forall {R : numDomainType} {M : pseudoMetricType R}, M -> set_system M nbhs_ball is not universe polymorphic Arguments nbhs_ball {R M} x _ nbhs_ball is transparent Expands to: Constant mathcomp.analysis.topology_theory.pseudometric_structure.nbhs_ball Declared in library mathcomp.analysis.topology_theory.pseudometric_structure, line 171, characters 11-20
Used by
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.pi_irrational
- mathcomp.analysis.sequences
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.vitali_lemma
- mathcomp.analysis.normedtype_theory.normed_module
Source code {RSource code : numDomainType} {VSource code : pseudoMetricType R}
(xSource code : V) (eSource code : R) := closure (ball x e).
Section closed_ball_lemmas.
Context {RSource code : numDomainType} {VSource code : pseudoMetricType R}.
Implicit Types (x : V) (r : R).
Lemma closure_ballEUsed by
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.normedtype_theory.normed_module
Source code xSource code rSource code : closure (ball x r) = closed_ball x r.
Proof.
Lemma closed_ballxxUsed by
- mathcomp.analysis.sequences
- mathcomp.analysis.normedtype_theory.normed_module
Source code xSource code rSource code : 0 < r -> closed_ball x r x.
Proof.
Lemma closed_ball_closedUsed by
- mathcomp.analysis.sequences
- mathcomp.analysis.normedtype_theory.normed_module
Source code xSource code rSource code : closed (closed_ball x r).
Proof.
Lemma subset_closed_ballUsed by
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.normedtype_theory.vitali_lemma
Source code xSource code rSource code : ball x r `<=` closed_ball x r.
Proof.
Lemma le_closed_ballUsed by
- mathcomp.analysis.sequences
Source code xSource code r1Source code r2Source code : (r1 <= r2)%O ->
closed_ball x r1 `<=` closed_ball x r2.
Proof.
End closed_ball_lemmas.
#[deprecated(since="mathcomp-analysis 1.14.0", note="renamed to `closure_ballE`")]
Notation closure_ballSource code := closure_ballE (only parsing).
Lemma subset_closure_halfSource code {RSource code : numFieldType} {VSource code : pseudoMetricType R} (xSource code : V)
(rSource code : R) : 0 < r -> closed_ball x (r / 2) `<=` ball x r.