Skip to content

Commit d9566d6

Browse files
committed
feat(Condensed): the fully faithful embedding of compactly generated topological spaces in condensed sets (#14514)
1 parent 94ad193 commit d9566d6

File tree

3 files changed

+94
-8
lines changed

3 files changed

+94
-8
lines changed

Mathlib/Condensed/TopCatAdjunction.lean

Lines changed: 79 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,17 @@ Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Dagur Asgeirsson
55
-/
66
import Mathlib.Condensed.TopComparison
7+
import Mathlib.Topology.Category.CompactlyGenerated
78
/-!
89
910
# The adjunction between condensed sets and topological spaces
1011
1112
This file defines the functor `condensedSetToTopCat : CondensedSet.{u} ⥤ TopCat.{u+1}` which is
1213
left adjoint to `topCatToCondensedSet : TopCat.{u+1} ⥤ CondensedSet.{u}`. We prove that the counit
1314
is bijective (but not in general an isomorphism) and conclude that the right adjoint is faithful.
15+
16+
The counit is an isomorphism for compactly generated spaces, and we conclude that the functor
17+
`topCatToCondensedSet` is fully faithful when restricted to compactly generated spaces.
1418
-/
1519

1620
universe u
@@ -41,6 +45,13 @@ def CondensedSet.toTopCat : TopCat.{u+1} := TopCat.of (X.val.obj ⟨CompHaus.of
4145

4246
namespace CondensedSet
4347

48+
lemma continuous_coinducingCoprod {S : CompHaus.{u}} (x : X.val.obj ⟨S⟩) :
49+
Continuous fun a ↦ (X.coinducingCoprod ⟨⟨S, x⟩, a⟩) := by
50+
suffices ∀ (i : (T : CompHaus.{u}) × X.val.obj ⟨T⟩),
51+
Continuous (fun (a : i.fst) ↦ X.coinducingCoprod ⟨i, a⟩) from this ⟨_, _⟩
52+
rw [← continuous_sigma_iff]
53+
apply continuous_coinduced_rng
54+
4455
variable {X} {Y : CondensedSet} (f : X ⟶ Y)
4556

4657
/-- The map part of the functor `CondensedSet ⥤ TopCat`  -/
@@ -56,10 +67,7 @@ def toTopCatMap : X.toTopCat ⟶ Y.toTopCat where
5667
(fun (a : S) ↦ Y.val.map (S.const a).op (f.val.app ⟨S⟩ x)) :=
5768
funext fun a ↦ NatTrans.naturality_apply f.val (S.const a).op x
5869
rw [this]
59-
suffices ∀ (i : (T : CompHaus.{u}) × Y.val.obj ⟨T⟩),
60-
Continuous (fun (a : i.fst) ↦ Y.coinducingCoprod ⟨i, a⟩) from this ⟨_, _⟩
61-
rw [← continuous_sigma_iff]
62-
apply continuous_coinduced_rng
70+
exact continuous_coinducingCoprod Y _
6371

6472
end CondensedSet
6573

@@ -126,4 +134,71 @@ instance (X : TopCat) : Epi (topCatAdjunction.counit.app X) := by
126134

127135
instance : topCatToCondensedSet.Faithful := topCatAdjunction.faithful_R_of_epi_counit_app
128136

137+
open CompactlyGenerated
138+
139+
instance (X : CondensedSet.{u}) : CompactlyGeneratedSpace.{u, u+1} X.toTopCat := by
140+
apply compactlyGeneratedSpace_of_continuous_maps
141+
intro Y _ f h
142+
rw [continuous_coinduced_dom, continuous_sigma_iff]
143+
exact fun ⟨S, s⟩ ↦ h S ⟨_, continuous_coinducingCoprod X _⟩
144+
145+
instance (X : CondensedSet.{u}) : CompactlyGeneratedSpace.{u, u+1} (condensedSetToTopCat.obj X) :=
146+
inferInstanceAs (CompactlyGeneratedSpace.{u, u+1} X.toTopCat)
147+
148+
/-- The functor from condensed sets to topological spaces lands in compactly generated spaces. -/
149+
def condensedSetToCompactlyGenerated : CondensedSet.{u} ⥤ CompactlyGenerated.{u, u+1} where
150+
obj X := CompactlyGenerated.of (condensedSetToTopCat.obj X)
151+
map f := toTopCatMap f
152+
153+
/--
154+
The functor from topological spaces to condensed sets restricted to compactly generated spaces.
155+
-/
156+
noncomputable def compactlyGeneratedToCondensedSet :
157+
CompactlyGenerated.{u, u+1} ⥤ CondensedSet.{u} :=
158+
compactlyGeneratedToTop ⋙ topCatToCondensedSet
159+
160+
161+
/--
162+
The adjunction `condensedSetToTopCat ⊣ topCatToCondensedSet` restricted to compactly generated
163+
spaces.
164+
-/
165+
noncomputable def compactlyGeneratedAdjunction :
166+
condensedSetToCompactlyGenerated ⊣ compactlyGeneratedToCondensedSet :=
167+
topCatAdjunction.restrictFullyFaithful (iC := 𝟭 _) (iD := compactlyGeneratedToTop)
168+
(Functor.FullyFaithful.id _) fullyFaithfulCompactlyGeneratedToTop
169+
(Iso.refl _) (Iso.refl _)
170+
171+
/--
172+
The counit of the adjunction `condensedSetToCompactlyGenerated ⊣ compactlyGeneratedToCondensedSet`
173+
is a homeomorphism.
174+
-/
175+
def compactlyGeneratedAdjunctionCounitHomeo (X : TopCat.{u+1}) [CompactlyGeneratedSpace.{u} X] :
176+
X.toCondensedSet.toTopCat ≃ₜ X where
177+
toEquiv := topCatAdjunctionCounitEquiv X
178+
continuous_toFun := (topCatAdjunctionCounit X).continuous
179+
continuous_invFun := by
180+
apply continuous_from_compactlyGeneratedSpace
181+
exact fun _ _ ↦ continuous_coinducingCoprod X.toCondensedSet _
182+
183+
/--
184+
The counit of the adjunction `condensedSetToCompactlyGenerated ⊣ compactlyGeneratedToCondensedSet`
185+
is an isomorphism.
186+
-/
187+
noncomputable def compactlyGeneratedAdjunctionCounitIso (X : CompactlyGenerated.{u, u+1}) :
188+
condensedSetToCompactlyGenerated.obj (compactlyGeneratedToCondensedSet.obj X) ≅ X :=
189+
isoOfHomeo (compactlyGeneratedAdjunctionCounitHomeo X.toTop)
190+
191+
instance : IsIso compactlyGeneratedAdjunction.counit := by
192+
rw [NatTrans.isIso_iff_isIso_app]
193+
intro X
194+
exact inferInstanceAs (IsIso (compactlyGeneratedAdjunctionCounitIso X).hom)
195+
196+
/--
197+
The functor from topological spaces to condensed sets restricted to compactly generated spaces
198+
is fully faithful.
199+
-/
200+
noncomputable def fullyFaithfulCompactlyGeneratedToCondensedSet :
201+
compactlyGeneratedToCondensedSet.FullyFaithful :=
202+
compactlyGeneratedAdjunction.fullyFaithfulROfIsIsoCounit
203+
129204
end CondensedSet

Mathlib/Condensed/TopComparison.lean

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@ satisfies the sheaf condition for the regular and extensive topologies respectiv
1818
We apply this API to `CompHaus` and define the functor
1919
`topCatToCondensedSet : TopCat.{u+1} ⥤ CondensedSet.{u}`.
2020
21-
## Projects
22-
23-
* Define compactly generated topological spaces.
24-
* Prove that `topCatToCondensedSet` restricted to compactly generated spaces is fully faithful.
2521
-/
2622

2723
universe w w' v u

Mathlib/Topology/Category/CompactlyGenerated.lean

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,21 @@ lemma continuous_from_compactlyGeneratedSpace {X : Type w} [TopologicalSpace X]
7474
apply continuous_le_dom CompactlyGeneratedSpace.le_compactlyGenerated
7575
exact continuous_from_compactlyGenerated f h
7676

77+
lemma compactlyGeneratedSpace_of_continuous_maps {X : Type w} [t : TopologicalSpace X]
78+
(h : ∀ {Y : Type w} [tY : TopologicalSpace Y] (f : X → Y),
79+
(∀ (S : CompHaus.{u}) (g : C(S, X)), Continuous (f ∘ g)) → Continuous f) :
80+
CompactlyGeneratedSpace.{u} X where
81+
le_compactlyGenerated := by
82+
suffices Continuous[t, compactlyGenerated.{u} X] (id : X → X) by
83+
rwa [← continuous_id_iff_le]
84+
apply h (tY := compactlyGenerated.{u} X)
85+
intro S g
86+
let f : (Σ (i : (T : CompHaus.{u}) × C(T, X)), i.fst) → X := fun ⟨⟨_, i⟩, s⟩ ↦ i s
87+
suffices ∀ (i : (T : CompHaus.{u}) × C(T, X)),
88+
Continuous[inferInstance, compactlyGenerated X] (fun (a : i.fst) ↦ f ⟨i, a⟩) from this ⟨S, g⟩
89+
rw [← @continuous_sigma_iff]
90+
apply continuous_coinduced_rng
91+
7792
/-- The type of `u`-compactly generated `w`-small topological spaces. -/
7893
structure CompactlyGenerated where
7994
/-- The underlying topological space of an object of `CompactlyGenerated`. -/

0 commit comments

Comments
 (0)