Module mathcomp.analysis.topology_theory.uniform_structure
From HB Require Import structures.From mathcomp Require Import boot order algebra all_classical.
From mathcomp Require Import topology_structure.
Unset SsrOldRewriteGoalsOrder.
Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.
Local Open Scope classical_set_scope.
Local Open Scope ring_scope.
Definition
normal_space : topologicalType -> Prop normal_space is not universe polymorphic Arguments normal_space T normal_space is transparent Expands to: Constant mathcomp.analysis.topology_theory.separation_axioms.normal_space Declared in library mathcomp.analysis.topology_theory.separation_axioms, line 476, characters 11-23
Source code
Source code
filter_from ent (fun => xsection A x).
Lemma
Source code
Source code
nbhs_ ent x = filter_from ent (fun => xsection A x).
Proof.
Local Open Scope relation_scope.
.
Source code
Source code
Source code
Source code
entourage : set_system (M * M);
entourage_filter : Filter entourage;
entourage_diagonal_subproof :
forall , entourage A -> diagonal `<=` A;
entourage_inv_subproof : forall , entourage A -> entourage A^-1;
entourage_split_ex_subproof :
forall , entourage A -> exists2 , entourage B & B \; B `<=` A;
nbhsE_subproof : nbhs = nbhs_ entourage;
}.
Source code
Source code
Source code
.
Source code
Source code
Source code
{ of Topological T & Nbhs_isUniform_mixin T}.
Source code
Source code
Source code
.
Source code
Source code
Source code
{ of PointedTopological T & Nbhs_isUniform_mixin T}.
.
Source code
Source code
Source code
Source code
entourage : set_system (M * M);
entourage_filter : Filter entourage;
entourage_diagonal : forall , entourage A -> diagonal `<=` A;
entourage_inv : forall , entourage A -> entourage A^-1;
entourage_split_ex :
forall , entourage A -> exists2 , entourage B & B \; B `<=` A;
nbhsE : nbhs = nbhs_ entourage;
}.
Local Close Scope relation_scope.
.
Source code
Source code
Source code
Let
Source code
Proof.
by move=> A entA; exists p; apply/mem_set; apply: entourage_diagonal entA _ _.
apply: filter_from_filter.
by exists setT; exact: @filterT entourage_filter.
move=> A B entA entB; exists (A `&` B); last by rewrite xsectionI.
exact: (@filterI _ _ entourage_filter).
Qed.
Let
Source code
Proof.
by apply/sBpA/mem_set; exact: entourage_diagonal entB _ _.
Qed.
Let
Source code
Proof.
.
Source code
Source code
Source code
nbhs_filter nbhs_singleton nbhs_nbhs.
.
Source code
Source code
Source code
entourage_filter entourage_diagonal entourage_inv entourage_split_ex nbhsE.
.
Source code
Local Open Scope relation_scope.
.
Source code
Source code
Source code
Source code
entourage : set_system (M * M);
entourage_filter : Filter entourage;
entourage_diagonal : forall , entourage A -> diagonal `<=` A;
entourage_inv : forall , entourage A -> entourage A^-1;
entourage_split_ex :
forall , entourage A -> exists2 , entourage B & B \; B `<=` A;
}.
Local Close Scope relation_scope.
.
Source code
Source code
Source code
.
Source code
Source code
Source code
.
Source code
Source code
Source code
entourage_filter entourage_diagonal entourage_inv entourage_split_ex erefl.
.
Source code
Lemma
Source code
Proof.
Lemma
Source code
E (x, y) <-> (E ^-1)%relation (y, x).
Proof.
Lemma
Source code
filter_from (@entourage M) (fun => xsection A x) = nbhs x.
Proof.
Module Export
Source code
Definition
regular_space : topologicalType -> Prop regular_space is not universe polymorphic Arguments regular_space T regular_space is transparent Expands to: Constant mathcomp.analysis.topology_theory.separation_axioms.regular_space Declared in library mathcomp.analysis.topology_theory.separation_axioms, line 480, characters 11-24
Source code
(nbhs_simpl,@filter_from_entourageE,@nbhs_entourageE).
End NbhsEntourage.
Lemma
Source code
Proof.
Lemma
Source code
Filter F -> Filter [set V^-1 | in F]%relation.
Proof.
- by exists [set: T * T] => //; exact: filterT.
- by move=> P Q [R FR <-] [S FS <-]; exists (R `&` S) => //; exact: filterI.
- move=> P Q PQ [R FR RP]; exists Q^-1%relation => //; first last.
by rewrite eqEsubset; split; case.
by apply: filterS FR; case=> ? ? /= ?; apply: PQ; rewrite -RP.
Qed.
Section uniformType1.
Local Open Scope relation_scope.
Context { : uniformType}.
Lemma
Source code
Proof.
Global Instance
Source code
Proof.
Lemma
Source code
Proof.
Lemma
Source code
Proof.
Lemma
Source code
entourage A -> exists2 , entourage B & B \; B `<=` A.
Proof.
Definition
totally_disconnected : forall {T : topologicalType}, set T -> Prop totally_disconnected is not universe polymorphic Arguments totally_disconnected {T} A%_classical_set_scope totally_disconnected is transparent Expands to: Constant mathcomp.analysis.topology_theory.separation_axioms.totally_disconnected Declared in library mathcomp.analysis.topology_theory.separation_axioms, line 579, characters 11-31 zero_dimensional : topologicalType -> Prop zero_dimensional is not universe polymorphic Arguments zero_dimensional T zero_dimensional is transparent Expands to: Constant mathcomp.analysis.topology_theory.separation_axioms.zero_dimensional Declared in library mathcomp.analysis.topology_theory.separation_axioms, line 582, characters 11-27
Source code
get (entourage `&` [set | B \; B `<=` A]).
Lemma
Source code
entourage (split_ent A) /\ split_ent A \; split_ent A `<=` A.
Proof.
Lemma
Source code
entourage (split_ent A).
Proof.
Lemma
Source code
split_ent A \; split_ent A `<=` A.
Proof.
Lemma
Source code
split_ent A (x, z) -> split_ent A (z, y) -> A (x, y).
Proof.
Lemma
Source code
Proof.
Lemma
Source code
F --> p <-> forall , entourage A -> \forall \near F, A (p, q).
Proof.
by apply/funext => E; apply/seteqP; split => [|] ? /xsectionP.
by rewrite filter_from_entourageE.
Qed.
Lemma
Source code
F --> x -> forall , entourage A -> \forall \near F, A (x, y).
Proof.
Lemma
Source code
f @ F --> p <-> forall , entourage A -> \forall \near F, A (p, f t).
Proof.
Lemma
Source code
Proof.
Lemma
Source code
Proof.
by apply: entourage_refl; exact: entourage_split_ent.
Qed.
End uniformType1.
Global Instance
Source code
ProperFilter (@entourage M).
Proof.
by move=> A entA; exists (point, point); apply: entourage_refl.
Qed.
#[global]
Hint Extern 0 (entourage (split_ent _)) => exact: entourage_split_ent : core.
#[global]
Hint Extern 0 (entourage (get _)) => exact: entourage_split_ent : core.
#[global]
Hint Extern 0 (entourage (_^-1)%relation) => exact: entourage_inv : core.
Arguments entourage_split {M} z {x y A}.
#[global]
Hint Extern 0 (nbhs _ (xsection _ _)) => exact: nbhs_entourage : core.
Lemma
Source code
closure (xsection (split_ent E) x) `<=` xsection E x.
Proof.
Lemma
Source code
{for x, continuous f} <-> f @ x^' --> f x.
Proof.
by rewrite !near_simpl; apply: cvg_within; apply: cfx.
rewrite !nbhs_nearE !near_map !near_nbhs in fxP *; have /= := cfx P fxP.
rewrite !near_simpl near_withinE near_simpl => Pf; near=> y.
by have [->|] := eqVneq y x; [by apply: nbhs_singleton|near: y].
Unshelve. all: by end_near. Qed.
Lemma
Source code
( : topologicalType) ( : T -> U) ( : T) :
{for x, continuous f} ->
(forall , f y = f x -> y = x) -> f @ x^' --> (f x)^'.
Proof.
Definition
countable_uniform.g_ not a defined object. countable_uniform.distN not a defined object. countable_uniform.n_step_ball not a defined object. countable_uniform.step_ball not a defined object. countable_uniform.type : forall {T : uniformType}, countable_uniformity T -> Type countable_uniform.type is not universe polymorphic Arguments countable_uniform.type {T} cnt_unif countable_uniform.type is transparent Expands to: Constant mathcomp.analysis.topology_theory.separation_axioms.countable_uniform.type Declared in library mathcomp.analysis.topology_theory.separation_axioms, line 955, characters 11-15
Source code
exists : set_system (T * T), [/\
countable R,
R `<=` entourage &
forall , entourage P -> exists2 , R Q & Q `<=` P].
Lemma
Source code
countable_uniformity T <-> exists2 : nat -> set (T * T),
(forall , entourage A -> exists , f N `<=` A) &
(forall , entourage (f n)).
Proof.
move=> /pfcard_geP[-> _ /(_ _ (@entourageT _))[]//|/unsquash f eM Msub].
exists f; last by move=> n; apply: eM; exact: funS.
by move=> ? /Msub [Q + ?] => /(@surj _ _ _ _ f)[n _ fQ]; exists n; rewrite fQ.
exists (range f); split; first exact: card_image_le.
by move=> E [n _] <-; exact: entf.
by move=> E /fsubE [n fnA]; exists (f n) => //; exists n.
Qed.
Lemma
Source code
entourage A -> open_nbhs x (xsection A x)°.
Proof.
by apply: nbhs_singleton; apply: nbhs_interior; exact: nbhs_entourage.
Qed.
Definition
sup_pseudometric : forall [R : realType] [T Ii : Type], (Ii -> PseudoMetric.axioms_ R T) -> countable (T:=Ii) [set: Ii] -> Type sup_pseudometric is not universe polymorphic Arguments sup_pseudometric [R] [T Ii]%_type_scope Tc%_function_scope Icnt sup_pseudometric is transparent Expands to: Constant mathcomp.analysis.topology_theory.separation_axioms.sup_pseudometric Declared in library mathcomp.analysis.topology_theory.separation_axioms, line 978, characters 11-27
Source code
(fun => (f xy.1, f xy.2)) @ entourage --> entourage.
Definition
gauge.gauge : forall {T : uniformType}, set (T * T) -> set_system (T * T) gauge.gauge is not universe polymorphic Arguments gauge.gauge {T} E%_classical_set_scope _ gauge.gauge is transparent Expands to: Constant mathcomp.analysis.topology_theory.separation_axioms.gauge.gauge Declared in library mathcomp.analysis.topology_theory.separation_axioms, line 1009, characters 11-16
Source code
exists2 , entourage B & forall , A PQ -> forall ,
PQ.1 p -> PQ.2 q -> B (p,q).
Definition
gauge.type : forall {T : uniformType} [E : set (T * T)], entourage E -> Type gauge.type is not universe polymorphic Arguments gauge.type {T} [E]%_classical_set_scope entE gauge.type is transparent Expands to: Constant mathcomp.analysis.topology_theory.separation_axioms.gauge.type Declared in library mathcomp.analysis.topology_theory.separation_axioms, line 1068, characters 11-15
Source code
Lemma
Source code
[cvg F in T] -> cauchy F.
Proof.
exists (xsection (B^-1%relation) (lim F), xsection B (lim F)).
split=> /=; apply: cvF; rewrite /= -nbhs_entourageE; last by exists B.
by exists B^-1%relation => //; exact: entourage_inv.
move=> ab [/= /xsectionP Balima /xsectionP Blimb]; apply: sB2A.
by exists (lim F).
Qed.
.
Source code
Source code
Source code
Source code
cauchy_cvg :
forall ( : set_system T), ProperFilter F -> cauchy F -> cvg F
}.
Source code
Source code
Source code
.
Source code
Source code
Source code
{ of Uniform T & Uniform_isComplete T & isPointed T}.
Section completeType1.
Context { : completeType}.
Lemma
Source code
Proof.
End completeType1.
Arguments cauchy_cvg {T} F {FF} _ : rename.
Arguments cauchy_cvgP {T} F {FF}.