@@ -21,8 +21,10 @@ Unset Printing Implicit Defensive.
2121
2222Import Order.TTheory GRing.Theory Num.Theory.
2323Import numFieldNormedType.Exports.
24+ Import numFieldTopology.Exports.
2425
2526Local Open Scope classical_set_scope.
27+ Local Open Scope ring_scope.
2628
2729Section Gdelta_Fsigma.
2830Context {T : topologicalType}.
@@ -94,3 +96,46 @@ have /Baire : forall n, open (C n) /\ dense (C n).
9496 - by apply: denseI => //; apply oB.
9597by rewrite -C0; exact: dense0.
9698Qed .
99+
100+ Section perfectlynormalspace.
101+ Context (R : realType) (T : topologicalType).
102+
103+ Definition perfectly_normal_space (x : R) :=
104+ forall E : set T, closed E ->
105+ exists f : T -> R, continuous f /\ E = f @^-1` [set x].
106+
107+ Lemma perfectly_normal_spaceP x y : perfectly_normal_space x -> perfectly_normal_space y.
108+ Proof .
109+ move=>px E cE.
110+ case:(px E cE) => f [] cf ->.
111+ pose f' := f + cst (y - x).
112+ exists f'.
113+ split.
114+ rewrite /f'.
115+ move=> z.
116+ apply: continuousD.
117+ exact:cf.
118+ exact:cst_continuous.
119+ apply/seteqP.
120+ rewrite /f' /cst /=.
121+ split => z /=.
122+ rewrite addrfctE => ->.
123+ by rewrite subrKC.
124+ rewrite addrfctE.
125+ move/eqP.
126+ by rewrite eq_sym -subr_eq opprB subrKC eq_sym => /eqP.
127+ Qed .
128+
129+ Definition perfectly_normal_space01 :=
130+ forall E F : set T, closed E -> closed F -> [disjoint E & F] ->
131+ exists f : T -> R, continuous f /\ E = f @^-1` [set 0] /\ F = f @^-1` [set 1]
132+ /\ f @` [set: T] = `[0, 1]%classic.
133+
134+ Definition perfectly_normal_space_G_delta :=
135+ normal_space T /\ forall E : set T, closed E -> Gdelta E.
136+
137+ Lemma perfectly_normal_space01P : perfectly_normal_space <-> perfectly_normal_space01.
138+ Proof .
139+ Admitted .
140+
141+ End perfectlynormalspace.
0 commit comments