Constructions of new topological spaces from old ones #
This file constructs products, sums, subtypes and quotients of topological spaces and sets up their basic theory, such as criteria for maps into or out of these constructions to be continuous; descriptions of the open sets, neighborhood filters, and generators of these constructions; and their behavior with respect to embeddings and other specific classes of maps.
Implementation note #
The constructed topologies are defined using induced and coinduced topologies
along with the complete lattice structure on topologies. Their universal properties
(for example, a map X → Y × Z
is continuous if and only if both projections
X → Y
, X → Z
are) follow easily using order-theoretic descriptions of
continuity. With more work we can also extract descriptions of the open sets,
neighborhood filters and so on.
Tags #
product, sum, disjoint union, subspace, quotient space
Equations
- instTopologicalSpaceQuot = TopologicalSpace.coinduced (Quot.mk r) t
Equations
- instTopologicalSpaceQuotient = TopologicalSpace.coinduced Quotient.mk' t
Equations
- instTopologicalSpaceProd = TopologicalSpace.induced Prod.fst t₁ ⊓ TopologicalSpace.induced Prod.snd t₂
Equations
- instTopologicalSpaceSum = TopologicalSpace.coinduced Sum.inl t₁ ⊔ TopologicalSpace.coinduced Sum.inr t₂
Equations
- instTopologicalSpaceSigma = ⨆ (i : ι), TopologicalSpace.coinduced (Sigma.mk i) (t₂ i)
Equations
- Pi.topologicalSpace = ⨅ (i : ι), TopologicalSpace.induced (fun (f : (i : ι) → Y i) => f i) (t₂ i)
Equations
- ULift.topologicalSpace = TopologicalSpace.induced ULift.down t
Additive
, Multiplicative
#
The topology on those type synonyms is inherited without change.
Equations
- instTopologicalSpaceAdditive = inst✝
Equations
- instTopologicalSpaceMultiplicative = inst✝
Order dual #
The topology on this type synonym is inherited without change.
Equations
- OrderDual.instTopologicalSpace = inst✝
The image of a dense set under Quotient.mk'
is a dense set.
The composition of Quotient.mk'
and a function with dense range has dense range.
A type synonym equipped with the topology whose open sets are the empty set and the sets with finite complements.
Equations
- CofiniteTopology X = X
Instances For
The identity equivalence between `` and CofiniteTopology
.
Equations
- CofiniteTopology.of = Equiv.refl X
Instances For
Equations
- CofiniteTopology.instInhabited = { default := CofiniteTopology.of default }
Equations
- CofiniteTopology.instTopologicalSpace = { IsOpen := fun (s : Set (CofiniteTopology X)) => s.Nonempty → sᶜ.Finite, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ }
Postcomposing f
with Prod.fst
is continuous
Precomposing f
with Prod.fst
is continuous
Postcomposing f
with Prod.fst
is continuous at x
Precomposing f
with Prod.fst
is continuous at (x, y)
Precomposing f
with Prod.fst
is continuous at x : X × Y
Postcomposing f
with Prod.snd
is continuous
Precomposing f
with Prod.snd
is continuous
Postcomposing f
with Prod.snd
is continuous at x
Precomposing f
with Prod.snd
is continuous at (x, y)
Precomposing f
with Prod.snd
is continuous at x : X × Y
If f x y
is continuous in x
for all y ∈ s
,
then the set of x
such that f x
maps s
to t
is closed.
Alias of Continuous.prodMap
.
A version of continuous_inf_dom_left
for binary functions
A version of continuous_inf_dom_right
for binary functions
A version of continuous_sInf_dom
for binary functions
Alias of Continuous.uncurry_left
.
Alias of Continuous.uncurry_right
.
Alias of ContinuousAt.prodMap
.
A version of ContinuousAt.prodMap
that avoids Prod.fst
/Prod.snd
by assuming that the point is (x, y)
.
Alias of ContinuousAt.prodMap'
.
A version of ContinuousAt.prodMap
that avoids Prod.fst
/Prod.snd
by assuming that the point is (x, y)
.
Continuous functions on products are continuous in their first argument
Alias of Continuous.curry_left
.
Continuous functions on products are continuous in their first argument
Continuous functions on products are continuous in their second argument
Alias of Continuous.curry_right
.
Continuous functions on products are continuous in their second argument
A product of induced topologies is induced by the product map
Prod.fst
maps neighborhood of x : X × Y
within the section Prod.snd ⁻¹' {x.2}
to 𝓝 x.1
.
The first projection in a product of topological spaces sends open sets to open sets.
Prod.snd
maps neighborhood of x : X × Y
within the section Prod.fst ⁻¹' {x.1}
to 𝓝 x.2
.
The second projection in a product of topological spaces sends open sets to open sets.
Alias of isQuotientMap_fst
.
Alias of isQuotientMap_snd
.
The product of two dense sets is a dense set.
If f
and g
are maps with dense range, then Prod.map f g
has dense range.
Alias of DenseRange.prodMap
.
If f
and g
are maps with dense range, then Prod.map f g
has dense range.
Alias of Topology.IsInducing.prodMap
.
Alias of Topology.IsInducing.prodMap
.
Alias of Topology.isInducing_const_prod
.
Alias of Topology.isInducing_prod_const
.
Alias of Topology.IsEmbedding.prodMap
.
Alias of Topology.IsEmbedding.prodMap
.
Alias of IsOpenMap.prodMap
.
Alias of Topology.IsOpenEmbedding.prodMap
.
Alias of Topology.IsOpenEmbedding.prodMap
.
Alias of isEmbedding_graph
.
Alias of isEmbedding_prodMk
.
Alias of Topology.IsOpenEmbedding.inl
.
Alias of Topology.IsOpenEmbedding.inl
.
Alias of Topology.IsOpenEmbedding.inr
.
Alias of Topology.IsOpenEmbedding.inr
.
Alias of Topology.IsEmbedding.inr
.
Alias of Topology.IsClosedEmbedding.inl
.
Alias of Topology.IsClosedEmbedding.inl
.
Alias of Topology.IsClosedEmbedding.inr
.
Alias of Topology.IsClosedEmbedding.inr
.
Alias of Topology.IsInducing.subtypeVal
.
Alias of Topology.IsInducing.of_codRestrict
.
Alias of Topology.IsEmbedding.subtypeVal
.
Alias of Topology.IsClosedEmbedding.subtypeVal
.
Alias of IsOpen.isOpenEmbedding_subtypeVal
.
Alias of IsClosed.isClosedEmbedding_subtypeVal
.
Alias of the reverse direction of continuousAt_codRestrict_iff
.
Alias of Topology.IsInducing.codRestrict
.
Alias of Topology.IsEmbedding.codRestrict
.
Alias of Topology.IsEmbedding.inclusion
.
Let s, t ⊆ X
be two subsets of a topological space X
. If t ⊆ s
and the topology induced
by X
on s
is discrete, then also the topology induces on t
is discrete.
Let s
be a discrete subset of a topological space. Then the preimage of s
by
a continuous injective map is also discrete.
If f : X → Y
is a quotient map,
then its restriction to the preimage of an open set is a quotient map too.
Alias of Topology.IsQuotientMap.restrictPreimage_isOpen
.
If f : X → Y
is a quotient map,
then its restriction to the preimage of an open set is a quotient map too.
Alias of isQuotientMap_quot_mk
.
Alias of isQuotientMap_quotient_mk'
.
Function.update f i x
is continuous in (f, x)
.
Pi.mulSingle i x
is continuous in x
.
Pi.single i x
is continuous in x
.
Suppose π i
is a family of topological spaces indexed by i : ι
, and X
is a type
endowed with a family of maps f i : X → π i
for every i : ι
, hence inducing a
map g : X → Π i, π i
. This lemma shows that infimum of the topologies on X
induced by
the f i
as i : ι
varies is simply the topology on X
induced by g : X → Π i, π i
where Π i, π i
is endowed with the usual product topology.
A finite product of discrete spaces is discrete.
Alias of Topology.IsOpenEmbedding.sigmaMk
.
Alias of Topology.IsOpenEmbedding.sigmaMk
.
Alias of Topology.IsClosedEmbedding.sigmaMk
.
Alias of Topology.IsClosedEmbedding.sigmaMk
.
Alias of Topology.IsEmbedding.sigmaMk
.
A map out of a sum type is continuous iff its restriction to each summand is.
A map out of a sum type is continuous if its restriction to each summand is.
A map defined on a sigma type (a.k.a. the disjoint union of an indexed family of topological
spaces) is inducing iff its restriction to each component is inducing and each the image of each
component under f
can be separated from the images of all other components by an open set.
Alias of Topology.isInducing_sigmaMap
.
Alias of Topology.isEmbedding_sigmaMap
.
Alias of Topology.isOpenEmbedding_sigmaMap
.
Alias of Topology.isOpenEmbedding_sigmaMap
.
Alias of Topology.IsEmbedding.uliftDown
.
Alias of Topology.IsClosedEmbedding.uliftDown
.
Alias of Topology.IsClosedEmbedding.uliftDown
.
The product of a neighborhood of s
and a neighborhood of t
is a neighborhood of s ×ˢ t
,
formulated in terms of a filter inequality.