Module mathcomp.analysis.topology_theory.initial_topology
From HB Require Import structures.From mathcomp Require Import boot order algebra all_classical.
#[warning="-warn-library-file-internal-analysis"]
From mathcomp Require Import unstable.
From mathcomp Require Import interval_inference reals topology_structure.
From mathcomp Require Import uniform_structure order_topology.
From mathcomp Require Import pseudometric_structure.
Import Order.TTheory GRing.Theory Num.Theory.
Unset SsrOldRewriteGoalsOrder.
Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.
Local Open Scope classical_set_scope.
Local Open Scope ring_scope.
Definition
initial_topology : forall {S T : Type}, (S -> T) -> Type initial_topology is not universe polymorphic Arguments initial_topology {S T}%_type_scope f%_function_scope initial_topology is transparent Expands to: Constant mathcomp.analysis.topology_theory.initial_topology.initial_topology Declared in library mathcomp.analysis.topology_theory.initial_topology, line 51, characters 11-27
Source code
( : S -> T) : Type := S.
Section Initial_Topology.
Variable ( : choiceType) ( : topologicalType) ( : S -> T).
Local Notation := (initial_topology f).
Definition
initial_open : forall [S : choiceType] [T : topology_structure.Topological.type], (S -> topology_structure.Topological.sort T) -> set (set S) initial_open is not universe polymorphic Arguments initial_open [S T] f%_function_scope _ initial_open is transparent Expands to: Constant mathcomp.analysis.topology_theory.initial_topology.initial_open Declared in library mathcomp.analysis.topology_theory.initial_topology, line 58, characters 11-23
Source code
Let
Source code
Let
Source code
Let
Source code
(forall , initial_open (g i)) -> initial_open (\bigcup_ g i).
Proof.
set opi := fun => [set | open Ui /\ g i = f @^-1` Ui].
exists (\bigcup_ get (opi i)).
apply: bigcup_open => i.
by have /getPex [] : exists , opi i U by have [U] := gop i; exists U.
have g_preim i : g i = f @^-1` (get (opi i)).
by have /getPex [] : exists , opi i U by have [U] := gop i; exists U.
rewrite predeqE => s; split=> [[i _]|[i _]]; last by rewrite g_preim; exists i.
by rewrite -[_ _]/((f @^-1` _) _) -g_preim; exists i.
Qed.
.
Source code
Source code
Source code
.
Source code
Source code
isOpenTopological.Build W initial_opT initial_opI initial_op_bigU.
Lemma
Source code
Proof.
Lemma
Source code
Filter F -> f @` setT = setT ->
F --> (s : W) <-> ([set f @` A | in F] : set_system _) --> f s.
Proof.
move=> A /initial_continuous [B [Bop Bs sBAf]].
have /cvFs FB : nbhs (s : W) B by apply: open_nbhs_nbhs.
rewrite nbhs_simpl; exists (f @^-1` A); first exact: filterS FB.
exact: image_preimage.
move=> A /= [_ [[B Bop <-] Bfs sBfA]].
have /cvfFfs [C FC fCeB] : nbhs (f s) B by rewrite nbhsE; exists B.
rewrite nbhs_filterE; apply: filterS FC.
by apply: subset_trans sBfA; rewrite -fCeB; apply: preimage_image.
Qed.
End Initial_Topology.
.
Source code
Source code
Source code
Pointed.on (initial_topology f).
Definition
sub_initial_topology : forall [V : Type] [S : pred V], subChoiceType (T:=V) S -> Type sub_initial_topology is not universe polymorphic Arguments sub_initial_topology [V]%_type_scope [S] U sub_initial_topology is transparent Expands to: Constant mathcomp.analysis.topology_theory.initial_topology.sub_initial_topology Declared in library mathcomp.analysis.topology_theory.initial_topology, line 111, characters 11-31
Source code
: Type := initial_topology (\val : U -> V).
Section SubType_isSubTopological.
Context ( : topologicalType) ( : pred V) ( : subChoiceType S).
Local Notation := (sub_initial_topology U).
.
Source code
Source code
Source code
.
Source code
Source code
Source code
.
Source code
Source code
Source code
Let
Source code
Proof.
.
Source code
Source code
Source code
End SubType_isSubTopological.
Section initial_uniform.
Local Open Scope relation_scope.
Variable ( : choiceType) ( : uniformType) ( : pS -> U).
Let := initial_topology f.
Definition
initial_ent : forall [pS : choiceType] [U : uniformType] [f : pS -> U], set_system (initial_topology f * initial_topology f) initial_ent is not universe polymorphic Arguments initial_ent [pS U] [f]%_function_scope _ initial_ent is transparent Expands to: Constant mathcomp.analysis.topology_theory.initial_topology.initial_ent Declared in library mathcomp.analysis.topology_theory.initial_topology, line 135, characters 11-22
Source code
filter_from (@entourage U) (fun => (map_pair f)@^-1` V).
Let
Source code
Proof.
by move=> P Q ??; (exists (P `&` Q); first exact: filterI) => ?.
Qed.
Let
Source code
Proof.
Let
Source code
Proof.
Let
Source code
Proof.
Let
Source code
Proof.
case=> [? [[B ? <-] ? BsubV]]; have: nbhs (f x) B by apply: open_nbhs_nbhs.
move=> /nbhsP [W ? WsubB]; exists ((map_pair f) @^-1` W); first by exists W.
by move=> ? ?; exact/BsubV/WsubB.
case=> W [V' entV' V'subW] /filterS; apply.
have : nbhs (f x) (xsection V' (f x)) by apply/nbhsP; exists V'.
rewrite (@nbhsE U) => [[O [openU Ofx Osub]]].
(exists (f @^-1` O); repeat split => //); first by exists O => //.
by move=> w ?; apply/mem_set; apply: V'subW; apply/set_mem; exact: Osub.
Qed.
.
Source code
Source code
Source code
initial_ent initial_ent_filter initial_ent_refl initial_ent_inv
initial_ent_split initial_ent_nbhs.
End initial_uniform.
.
Source code
Source code
Source code
Pointed.on (initial_topology f).
Section initial_pseudoMetric.
Context { : realType} ( : choiceType) ( : pseudoMetricType R) .
Variable ( : pS -> U).
Notation := (initial_topology f).
Definition
initial_ball : forall {R : realType} [pS : choiceType] [U : pseudoMetricType R] [f : pS -> U], initial_topology f -> R -> initial_topology f -> Prop initial_ball is not universe polymorphic Arguments initial_ball {R} [pS U] [f]%_function_scope x r%_ring_scope y initial_ball is transparent Expands to: Constant mathcomp.analysis.topology_theory.initial_topology.initial_ball Declared in library mathcomp.analysis.topology_theory.initial_topology, line 191, characters 11-23
Source code
Let
Source code
initial_ball x e x.
Proof.
Let
Source code
Proof.
have -> : (fun => [set | ball (f xy.1) e (f xy.2)]) =
(preimage (map_pair f) \o fun => [set | ball xy.1 e xy.2])%FUN.
by [].
rewrite eqEsubset; split; apply/filter_fromP.
- apply: filter_from_filter; first by exists 1 => /=.
move=> e1 e2 e1pos e2pos; wlog e1lee2 : e1 e2 e1pos e2pos / e1 <= e2.
by have [?|/ltW ?] := lerP e1 e2; [exact | rewrite setIC; exact].
exists e1 => //; rewrite -preimage_setI; apply: preimage_subset.
by move=> ? ?; split => //; apply: le_ball; first exact: e1lee2.
- by move=> E [e ?] heE; exists e => //; apply: preimage_subset.
- apply: filter_from_filter.
by exists [set | ball xy.1 1 xy.2]; exists 1 => /=.
move=> E1 E2 [e1 e1pos he1E1] [e2 e2pos he2E2].
wlog ? : E1 E2 e1 e2 e1pos e2pos he1E1 he2E2 / e1 <= e2.
have [? /(_ _ _ e1 e2)|/ltW ? ] := lerP e1 e2; first exact.
by rewrite setIC => /(_ _ _ e2 e1); exact.
exists (E1 `&` E2) => //; exists e1 => // xy /= B; split; first exact: he1E1.
by apply/he2E2/le_ball; last exact: B.
- by move=> e ?; exists [set | ball xy.1 e xy.2] => //; exists e => /=.
Qed.
.
Source code
Source code
Source code
initial_pseudo_metric_ball_center (fun _ _ _ => @ball_sym _ _ _ _ _)
(fun _ _ _ _ _ => @ball_triangle _ _ _ _ _ _ _)
initial_pseudo_metric_entourageE.
Lemma
Source code
Proof.
End initial_pseudoMetric.
0,1[ | {2}` as a subset of `[0,3]` for an example
Context {} { : orderTopologicalType d} { : subType X}.
Let
Source code
Let
Source code
Lemma
Source code
Proof.
move=> [][][[]l|[]] [[]r|[]][]//= _ xlr /filterS; apply.
- exists `]l, r[%classic; split => //=; exists `]\val l, \val r[%classic.
exact: itv_open.
by rewrite eqEsubset; split => z; rewrite preimage_itv.
- exists `]l, +oo[%classic; split => //=; exists `]\val l, +oo[%classic.
exact: rray_open.
by rewrite eqEsubset; split => z; rewrite preimage_itv.
- exists `]-oo, r[%classic; split => //=; exists `]-oo, \val r[%classic.
exact: lray_open.
by rewrite eqEsubset; split => z; rewrite preimage_itv.
- by rewrite set_itvE; exact: filterT.
Qed.
End initial_order_refine.
Lemma
Source code
( : Y -> Z) ( : X -> initial_topology w) :
continuous (w \o f) -> continuous f.