forked from leanprover-community/mathlib4
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFunctors.lean
More file actions
82 lines (55 loc) · 2.82 KB
/
Functors.lean
File metadata and controls
82 lines (55 loc) · 2.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/-
Copyright (c) 2023 Dagur Asgeirsson. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Dagur Asgeirsson
-/
module
public import Mathlib.CategoryTheory.Limits.Preserves.Ulift
public import Mathlib.CategoryTheory.Sites.Coherent.CoherentSheaves
public import Mathlib.CategoryTheory.Sites.Whiskering
public import Mathlib.Condensed.Basic
public import Mathlib.Topology.Category.Stonean.Basic
/-!
# Functors from categories of topological spaces to condensed sets
This file defines the embedding of the test objects (compact Hausdorff spaces) into condensed
sets.
## Main definitions
* `compHausToCondensed : CompHaus.{u} ⥤ CondensedSet.{u}` is essentially the yoneda presheaf
functor. We also define `profiniteToCondensed` and `stoneanToCondensed`.
-/
@[expose] public section
universe u v
open CategoryTheory Limits
section Universes
/-- Increase the size of the target category of condensed sets. -/
def Condensed.ulift : Condensed.{u} (Type u) ⥤ CondensedSet.{u} :=
sheafCompose (coherentTopology CompHaus) uliftFunctor.{u + 1, u}
instance : Condensed.ulift.Full := show (sheafCompose _ _).Full from inferInstance
instance : Condensed.ulift.Faithful := show (sheafCompose _ _).Faithful from inferInstance
end Universes
section Topology
/-- The functor from `CompHaus` to `Condensed.{u} (Type u)` given by the Yoneda sheaf. -/
def compHausToCondensed' : CompHaus.{u} ⥤ Condensed.{u} (Type u) :=
(coherentTopology CompHaus).yoneda
/-- The yoneda presheaf as an actual condensed set. -/
def compHausToCondensed : CompHaus.{u} ⥤ CondensedSet.{u} :=
compHausToCondensed' ⋙ Condensed.ulift
/-- Dot notation for the value of `compHausToCondensed`. -/
abbrev CompHaus.toCondensed (S : CompHaus.{u}) : CondensedSet.{u} := compHausToCondensed.obj S
/-- The yoneda presheaf as a condensed set, restricted to profinite spaces. -/
def profiniteToCondensed : Profinite.{u} ⥤ CondensedSet.{u} :=
profiniteToCompHaus ⋙ compHausToCondensed
/-- Dot notation for the value of `profiniteToCondensed`. -/
abbrev Profinite.toCondensed (S : Profinite.{u}) : CondensedSet.{u} := profiniteToCondensed.obj S
/-- The yoneda presheaf as a condensed set, restricted to Stonean spaces. -/
def stoneanToCondensed : Stonean.{u} ⥤ CondensedSet.{u} :=
Stonean.toCompHaus ⋙ compHausToCondensed
/-- Dot notation for the value of `stoneanToCondensed`. -/
abbrev Stonean.toCondensed (S : Stonean.{u}) : CondensedSet.{u} := stoneanToCondensed.obj S
instance : compHausToCondensed'.Full :=
inferInstanceAs ((coherentTopology CompHaus).yoneda).Full
instance : compHausToCondensed'.Faithful :=
inferInstanceAs ((coherentTopology CompHaus).yoneda).Faithful
instance : compHausToCondensed.Full := inferInstanceAs (_ ⋙ _).Full
instance : compHausToCondensed.Faithful := inferInstanceAs (_ ⋙ _).Faithful
end Topology