Skip to content

Commit 19187b2

Browse files
motikakut6s
authored andcommitted
add the Sorgenfrey line and prove its properties
Co-authored-by: @garrigue
1 parent cd6f295 commit 19187b2

File tree

5 files changed

+527
-0
lines changed

5 files changed

+527
-0
lines changed

_CoqProject

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,5 +120,6 @@ theories/kernel.v
120120
theories/pi_irrational.v
121121
theories/gauss_integral.v
122122
theories/showcase/summability.v
123+
theories/showcase/sorgenfreyline.v
123124
analysis_stdlib/Rstruct_topology.v
124125
analysis_stdlib/showcase/uniform_bigO.v

theories/Make

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,4 @@ pi_irrational.v
8686
gauss_integral.v
8787
all_analysis.v
8888
showcase/summability.v
89+
showcase/sorgenfreyline.v

theories/borel_hierarchy.v

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ Unset Printing Implicit Defensive.
2121

2222
Import Order.TTheory GRing.Theory Num.Theory.
2323
Import numFieldNormedType.Exports.
24+
Import numFieldTopology.Exports.
2425

2526
Local Open Scope classical_set_scope.
27+
Local Open Scope ring_scope.
2628

2729
Section Gdelta_Fsigma.
2830
Context {T : topologicalType}.
@@ -94,3 +96,46 @@ have /Baire : forall n, open (C n) /\ dense (C n).
9496
- by apply: denseI => //; apply oB.
9597
by rewrite -C0; exact: dense0.
9698
Qed.
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.

theories/normedtype_theory/pseudometric_normed_Zmodule.v

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,22 @@ Proof. by rewrite funeqE => x /=; rewrite addr0. Qed.
9595
Lemma center0 : center 0 = id.
9696
Proof. by rewrite oppr0 shift0. Qed.
9797

98+
Lemma centerN (x y : R) : center x (- y) = - shift x y.
99+
Proof. by rewrite /shift opprD. Qed.
100+
101+
Lemma shiftN (x y : R) : shift x (- y) = - center x y.
102+
Proof. by rewrite /shift opprD opprK. Qed.
103+
104+
Lemma image_centerN (E : set R) (x : R) :
105+
[set center x (- y) | y in E] =[set - (shift x y) | y in E].
106+
Proof.
107+
by apply/seteqP; split => y [] u Eu <- /=; exists u => //; rewrite opprD.
108+
Qed.
109+
110+
Lemma image_shiftN (E : set R) (x : R) :
111+
[set shift x (- y) | y in E] = [set - (center x y) | y in E].
112+
Proof. by rewrite -(opprK x) image_centerN opprK. Qed.
113+
98114
End Shift.
99115
Arguments shift {R} x / y.
100116
Notation center c := (shift (- c)).

0 commit comments

Comments
 (0)