Discrete quotients of a topological space. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines the type of discrete quotients of a topological space,
denoted discrete_quotient X
. To avoid quantifying over types, we model such
quotients as setoids whose equivalence classes are clopen.
Definitions #
discrete_quotient X
is the type of discrete quotients ofX
. It is endowed with a coercion toType
, which is defined as the quotient associated to the setoid in question, and each such quotient is endowed with the discrete topology.- Given
S : discrete_quotient X
, the projectionX → S
is denotedS.proj
. - When
X
is compact andS : discrete_quotient X
, the spaceS
is endowed with afintype
instance.
Order structure #
The type discrete_quotient X
is endowed with an instance of a semilattice_inf
with order_top
.
The partial ordering A ≤ B
mathematically means that B.proj
factors through A.proj
.
The top element ⊤
is the trivial quotient, meaning that every element of X
is collapsed
to a point. Given h : A ≤ B
, the map A → B
is discrete_quotient.of_le h
.
Whenever X
is a locally connected space, the type discrete_quotient X
is also endowed with an
instance of a order_bot
, where the bot element ⊥
is given by the connectedComponentSetoid
,
i.e., x ~ y
means that x
and y
belong to the same connected component. In particular, if X
is a discrete topological space, then x ~ y
is equivalent (propositionally, not definitionally) to
x = y
.
Given f : C(X, Y)
, we define a predicate discrete_quotient.le_comap f A B
for A : discrete_quotient X
and B : discrete_quotient Y
, asserting that f
descends to A → B
. If
cond : discrete_quotient.le_comap h A B
, the function A → B
is obtained by
discrete_quotient.map f cond
.
Theorems #
The two main results proved in this file are:
-
discrete_quotient.eq_of_forall_proj_eq
which states that whenX
is compact, T₂, and totally disconnected, any two elements ofX
are equal if their projections inQ
agree for allQ : discrete_quotient X
. -
discrete_quotient.exists_of_compat
which states that whenX
is compact, then any system of elements ofQ
asQ : discrete_quotient X
varies, which is compatible with respect todiscrete_quotient.of_le
, must arise from some element ofX
.
Remarks #
The constructions in this file will be used to show that any profinite space is a limit of finite discrete spaces.
The type of discrete quotients of a topological space.
Instances for discrete_quotient
Construct a discrete quotient from a clopen set.
Equations
- discrete_quotient.has_coe_to_sort = {coe := λ (S : discrete_quotient X), quotient S.to_setoid}
Equations
The projection from X
to the given discrete quotient.
Equations
Equations
- discrete_quotient.has_inf = {inf := λ (S₁ S₂ : discrete_quotient X), {to_setoid := S₁.to_setoid ⊓ S₂.to_setoid, is_open_set_of_rel := _}}
Equations
- discrete_quotient.semilattice_inf = function.injective.semilattice_inf discrete_quotient.to_setoid discrete_quotient.ext discrete_quotient.semilattice_inf._proof_1
Equations
- discrete_quotient.order_top = {top := {to_setoid := ⊤, is_open_set_of_rel := _}, le_top := _}
Equations
Equations
- S.inhabited_quotient = {default := S.proj inhabited.default}
Comap a discrete quotient along a continuous map.
Equations
- discrete_quotient.comap f S = {to_setoid := setoid.comap ⇑f S.to_setoid, is_open_set_of_rel := _}
The map induced by a refinement of a discrete quotient.
Equations
- discrete_quotient.of_le h = quotient.map' (λ (x : X), x) h
When X
is a locally connected space, there is an order_bot
instance on
discrete_quotient X
. The bottom element is given by connected_component_setoid X
Equations
- discrete_quotient.order_bot = {bot := {to_setoid := connected_component_setoid X _inst_1, is_open_set_of_rel := _}, bot_le := _}
Given f : C(X, Y)
, le_comap cont A B
is defined as A ≤ B.comap f
. Mathematically this
means that f
descends to a morphism A → B
.
Equations
- discrete_quotient.le_comap f A B = (A ≤ discrete_quotient.comap f B)
Map a discrete quotient along a continuous map.
Equations
- discrete_quotient.map f cond = quotient.map' ⇑f cond
Any locally constant function induces a discrete quotient.
Equations
- f.discrete_quotient = {to_setoid := setoid.comap ⇑f ⊥, is_open_set_of_rel := _}
The (locally constant) function from the discrete quotient associated to a locally constant function.
Equations
- f.lift = {to_fun := λ (a : ↥(f.discrete_quotient)), quotient.lift_on' a ⇑f _, is_locally_constant := _}