11/-
22Copyright (c) 2024 Jujian Zhang. All rights reserved.
33Released under Apache 2.0 license as described in the file LICENSE.
4- Authors: Jujian Zhang, Fangming Li
4+ Authors: Jujian Zhang, Fangming Li, Alessandro D'Angelo
55-/
66import Mathlib.Order.KrullDimension
7+ import Mathlib.Topology.Irreducible
78import Mathlib.Topology.Homeomorph.Lemmas
89import Mathlib.Topology.Sets.Closeds
910
@@ -13,9 +14,18 @@ import Mathlib.Topology.Sets.Closeds
1314The Krull dimension of a topological space is the order-theoretic Krull dimension applied to the
1415collection of all its subsets that are closed and irreducible. Unfolding this definition, it is
1516the length of longest series of closed irreducible subsets ordered by inclusion.
17+
18+ ## Main results
19+
20+ - `topologicalKrullDim_subspace_le`: For any subspace Y ⊆ X, we have dim(Y) ≤ dim(X)
21+
22+ ## Implementation notes
23+
24+ The proofs use order-preserving maps between posets of irreducible closed sets to establish
25+ dimension inequalities.
1626-/
1727
18- open Order TopologicalSpace Topology
28+ open Set Function Order TopologicalSpace Topology TopologicalSpace.IrreducibleCloseds
1929
2030/--
2131The Krull dimension of a topological space is the supremum of lengths of chains of
@@ -26,39 +36,28 @@ noncomputable def topologicalKrullDim (T : Type*) [TopologicalSpace T] : WithBot
2636
2737variable {X Y : Type *} [TopologicalSpace X] [TopologicalSpace Y]
2838
29- /--
30- Map induced on irreducible closed subsets by a closed continuous map `f`.
31- This is just a wrapper around the image of `f` together with proofs that it
32- preserves irreducibility (by continuity) and closedness (since `f` is closed).
33- -/
34- def IrreducibleCloseds.map {f : X → Y} (hf1 : Continuous f) (hf2 : IsClosedMap f)
35- (c : IrreducibleCloseds X) :
36- IrreducibleCloseds Y where
37- carrier := f '' c
38- isIrreducible' := c.isIrreducible.image f hf1.continuousOn
39- isClosed' := hf2 c c.isClosed
39+ /-!
40+ ### Main dimension theorems -/
4041
41- /--
42- Taking images under a closed embedding is strictly monotone on the preorder of irreducible closeds.
43- -/
44- lemma IrreducibleCloseds.map_strictMono {f : X → Y} (hf : IsClosedEmbedding f) :
45- StrictMono (IrreducibleCloseds.map hf.continuous hf.isClosedMap) :=
46- fun ⦃_ _⦄ UltV ↦ hf.injective.image_strictMono UltV
42+ /-- If `f : Y → X` is inducing, then `dim(Y) ≤ dim(X)`. -/
43+ theorem IsInducing.topologicalKrullDim_le {f : Y → X} (hf : IsInducing f) :
44+ topologicalKrullDim Y ≤ topologicalKrullDim X :=
45+ krullDim_le_of_strictMono _ (map_strictMono_of_isInducing hf)
4746
48- /--
49- If `f : X → Y` is a closed embedding, then the Krull dimension of `X` is less than or equal
50- to the Krull dimension of `Y`.
51- -/
52- theorem IsClosedEmbedding.topologicalKrullDim_le (f : X → Y) (hf : IsClosedEmbedding f) :
53- topologicalKrullDim X ≤ topologicalKrullDim Y :=
54- krullDim_le_of_strictMono _ (IrreducibleCloseds.map_strictMono hf)
47+ @[deprecated (since := "2025-10-19")]
48+ alias IsClosedEmbedding.topologicalKrullDim_le := IsInducing.topologicalKrullDim_le
5549
5650/-- The topological Krull dimension is invariant under homeomorphisms -/
5751theorem IsHomeomorph.topologicalKrullDim_eq (f : X → Y) (h : IsHomeomorph f) :
5852 topologicalKrullDim X = topologicalKrullDim Y :=
5953 have fwd : topologicalKrullDim X ≤ topologicalKrullDim Y :=
60- IsClosedEmbedding .topologicalKrullDim_le f h.isClosedEmbedding
54+ IsInducing .topologicalKrullDim_le h.isClosedEmbedding.toIsInducing
6155 have bwd : topologicalKrullDim Y ≤ topologicalKrullDim X :=
62- IsClosedEmbedding.topologicalKrullDim_le (h.homeomorph f).symm
63- (h.homeomorph f).symm.isClosedEmbedding
56+ IsInducing.topologicalKrullDim_le (h.homeomorph f).symm.isClosedEmbedding.toIsInducing
6457 le_antisymm fwd bwd
58+
59+ /-- The topological Krull dimension of any subspace is at most the dimension of the
60+ ambient space. -/
61+ theorem topologicalKrullDim_subspace_le (X : Type *) [TopologicalSpace X] (Y : Set X) :
62+ topologicalKrullDim Y ≤ topologicalKrullDim X :=
63+ IsInducing.topologicalKrullDim_le IsInducing.subtypeVal
0 commit comments