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
compact_open : topologicalType -> topologicalType -> Type compact_open is not universe polymorphic Arguments compact_open {T U} compact_open is transparent Expands to: Constant mathcomp.analysis.topology_theory.function_spaces.compact_open Declared in library mathcomp.analysis.topology_theory.function_spaces, line 927, 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
compact_openK : forall {T : topologicalType}, topologicalType -> set T -> Type compact_openK is not universe polymorphic Arguments compact_openK {T U} {K}%_classical_set_scope compact_openK is transparent Expands to: Constant mathcomp.analysis.topology_theory.function_spaces.compact_openK Declared in library mathcomp.analysis.topology_theory.function_spaces, line 932, 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
compact_openK_nbhs : forall {T U : topologicalType} {K : set T}, compact_openK -> set_system (T -> U) compact_openK_nbhs is not universe polymorphic Arguments compact_openK_nbhs {T U} {K}%_classical_set_scope f _ compact_openK_nbhs is transparent Expands to: Constant mathcomp.analysis.topology_theory.function_spaces.compact_openK_nbhs Declared in library mathcomp.analysis.topology_theory.function_spaces, line 934, characters 11-29
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
compact_open_of_nbhs : forall {T U : topologicalType} {K : set T}, set (set compact_openK) compact_open_of_nbhs is not universe polymorphic Arguments compact_open_of_nbhs {T U} {K}%_classical_set_scope _ compact_open_of_nbhs is transparent Expands to: Constant mathcomp.analysis.topology_theory.function_spaces.compact_open_of_nbhs Declared in library mathcomp.analysis.topology_theory.function_spaces, line 954, characters 11-31
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
compact_open_def : topologicalType -> topologicalType -> Type compact_open_def is not universe polymorphic Arguments compact_open_def {T U} compact_open_def is transparent Expands to: Constant mathcomp.analysis.topology_theory.function_spaces.compact_open_def Declared in library mathcomp.analysis.topology_theory.function_spaces, line 977, characters 11-27
Source code
(fun => (f xy.1, f xy.2)) @ entourage --> entourage.
Definition
compactly_in : forall {U : topologicalType}, set U -> set (set U) compactly_in is not universe polymorphic Arguments compactly_in {U} A%_classical_set_scope _ compactly_in is transparent Expands to: Constant mathcomp.analysis.topology_theory.function_spaces.compactly_in Declared in library mathcomp.analysis.topology_theory.function_spaces, line 1082, characters 11-23
Source code
exists2 , entourage B & forall , A PQ -> forall ,
PQ.1 p -> PQ.2 q -> B (p,q).
Definition
singletons : forall {T : Type}, set (set T) singletons is not universe polymorphic Arguments singletons {T}%_type_scope _ singletons is transparent Expands to: Constant mathcomp.analysis.topology_theory.function_spaces.singletons Declared in library mathcomp.analysis.topology_theory.function_spaces, line 1130, characters 11-21
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}.
#[deprecated(since="mathcomp-analysis 2.0", note="use cauchy_cvg instead")]
Notation
Source code
Section completeType1.
Context { : completeType}.
Lemma
Source code
Proof.
End completeType1.
Arguments cauchy_cvg {T} F {FF} _ : rename.
Arguments cauchy_cvgP {T} F {FF}.