Skip to content

Commit 553eb72

Browse files
committed
chore(Topology): namespace lemmas around IsInducing, IsQuotientMap etc (leanprover-community#40891)
The predicates `IsInducing`, `IsEmbedding`, `IsQuotientMap` etc. were moved to the `Topology` namespace in leanprover-community#15993, but some lemmas were not moved with them, or were added outside of the namespace later. This PR moves these lemmas to the correct namespace to enable dot notation. We do not add deprecation aliases since the lemmas only get namespaced, not renamed, and having both the lemmas and their deprecated aliases available inside the namespace could lead to trouble.
1 parent c27dae6 commit 553eb72

9 files changed

Lines changed: 19 additions & 20 deletions

File tree

Mathlib/AlgebraicGeometry/Morphisms/UnderlyingMap.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,8 +314,8 @@ end SpecializingMap
314314
section GeneralizingMap
315315

316316
instance : (topologically GeneralizingMap).RespectsIso :=
317-
topologically_respectsIso _ (fun f ↦ f.isOpenEmbedding.generalizingMap
318-
f.isOpenEmbedding.isOpen_range.stableUnderGeneralization) (fun _ _ hf hg ↦ hf.comp hg)
317+
topologically_respectsIso _ (fun f ↦ f.isOpenEmbedding.generalizingMap)
318+
(fun _ _ hf hg ↦ hf.comp hg)
319319

320320
instance : IsZariskiLocalAtSource (topologically GeneralizingMap) :=
321321
topologically_isZariskiLocalAtSource' (fun _ ↦ _) fun _ _ _ hU _ ↦ hU.generalizingMap_iff_comp

Mathlib/Condensed/TopComparison.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ def TopCat.toSheafCompHausLike :
117117
apply +allowSynthFailures equalizerCondition_yonedaPresheaf
118118
(CompHausLike.compHausLikeToTop.{u} P) X
119119
intro Z B π he
120-
apply IsQuotientMap.of_surjective_continuous (hs _ he) π.hom.hom.continuous
120+
exact .of_surjective_continuous (hs _ he) π.hom.hom.continuous
121121

122122
/--
123123
`TopCat.toSheafCompHausLike` yields a functor from `TopCat.{max u w}` to

Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,8 @@ is ae-measurable. -/
500500
theorem Continuous.aemeasurable {f : α → γ} (h : Continuous f) {μ : Measure α} : AEMeasurable f μ :=
501501
h.measurable.aemeasurable
502502

503-
theorem IsClosedEmbedding.measurable {f : α → γ} (hf : IsClosedEmbedding f) : Measurable f :=
503+
theorem Topology.IsClosedEmbedding.measurable {f : α → γ} (hf : IsClosedEmbedding f) :
504+
Measurable f :=
504505
hf.continuous.measurable
505506

506507
/-- If a function is defined piecewise in terms of functions which are continuous on their

Mathlib/Topology/Constructions/SumProd.lean

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -800,7 +800,7 @@ theorem IsOpenMap.sumElim {f : X → Z} {g : Y → Z} (hf : IsOpenMap f) (hg : I
800800
IsOpenMap (Sum.elim f g) :=
801801
isOpenMap_sumElim.2 ⟨hf, hg⟩
802802

803-
lemma IsOpenEmbedding.sumElim {f : X → Z} {g : Y → Z}
803+
lemma Topology.IsOpenEmbedding.sumElim {f : X → Z} {g : Y → Z}
804804
(hf : IsOpenEmbedding f) (hg : IsOpenEmbedding g) (h : Injective (Sum.elim f g)) :
805805
IsOpenEmbedding (Sum.elim f g) := by
806806
rw [isOpenEmbedding_iff_continuous_injective_isOpenMap] at hf hg ⊢
@@ -830,7 +830,7 @@ theorem IsClosedMap.sumElim {f : X → Z} {g : Y → Z} (hf : IsClosedMap f) (hg
830830
IsClosedMap (Sum.elim f g) :=
831831
isClosedMap_sumElim.2 ⟨hf, hg⟩
832832

833-
lemma IsClosedEmbedding.sumElim {f : X → Z} {g : Y → Z}
833+
lemma Topology.IsClosedEmbedding.sumElim {f : X → Z} {g : Y → Z}
834834
(hf : IsClosedEmbedding f) (hg : IsClosedEmbedding g) (h : Injective (Sum.elim f g)) :
835835
IsClosedEmbedding (Sum.elim f g) := by
836836
rw [IsClosedEmbedding.isClosedEmbedding_iff_continuous_injective_isClosedMap] at hf hg ⊢
@@ -974,16 +974,17 @@ theorem Topology.IsInducing.disjoint_of_sumElim_aux (h : IsInducing (Sum.elim f
974974
exact disjoint_image_inl_image_inr
975975
exact B.mono_left A
976976

977-
theorem IsOpenEmbedding.sumSwap : IsOpenEmbedding (@Sum.swap X Y) :=
977+
theorem Topology.IsOpenEmbedding.sumSwap : IsOpenEmbedding (@Sum.swap X Y) :=
978978
(Homeomorph.sumComm X Y).isOpenEmbedding
979979

980-
theorem IsInducing.sumSwap : IsInducing (@Sum.swap X Y) := IsOpenEmbedding.sumSwap.isInducing
980+
theorem Topology.IsInducing.sumSwap : IsInducing (@Sum.swap X Y) :=
981+
IsOpenEmbedding.sumSwap.isInducing
981982

982983
theorem isInducing_sumElim :
983984
IsInducing (Sum.elim f g) ↔ IsInducing f ∧ IsInducing g ∧
984985
Disjoint (closure (range f)) (range g) ∧ Disjoint (range f) (closure (range g)) :=
985986
fun h ↦ ⟨h.sumElim_left, h.sumElim_right, h.disjoint_of_sumElim_aux,
986-
((Sum.elim_swap ▸ h.comp IsInducing.sumSwap).disjoint_of_sumElim_aux ).symm⟩,
987+
((Sum.elim_swap ▸ h.comp .sumSwap).disjoint_of_sumElim_aux ).symm⟩,
987988
fun ⟨hf, hg, hFg, hfG⟩ ↦ hf.sumElim hg hFg hfG⟩
988989

989990
lemma Topology.IsInducing.sumElim_of_separatedNhds

Mathlib/Topology/DiscreteSubset.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ lemma IsOpenMap.isDiscrete_range [DiscreteTopology X] (hf : IsOpenMap f) :
112112
lemma IsDiscrete.image (hs : IsDiscrete s) (hf : IsInducing f) : IsDiscrete (f '' s) := by
113113
simp_all [isDiscrete_iff_nhdsWithin, ← hf.map_nhdsWithin_eq s]
114114

115-
lemma IsInducing.isDiscrete_range [DiscreteTopology X] (hf : IsInducing f) :
115+
lemma Topology.IsInducing.isDiscrete_range [DiscreteTopology X] (hf : IsInducing f) :
116116
IsDiscrete (Set.range f) := by
117117
simpa using IsDiscrete.univ.image hf
118118

Mathlib/Topology/Inseparable.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ lemma Topology.IsInducing.generalizingMap (hf : IsInducing f)
413413
obtain ⟨y, rfl⟩ := h e ⟨x, rfl⟩
414414
exact ⟨_, hf.specializes_iff.mp e, rfl⟩
415415

416-
lemma IsOpenEmbedding.generalizingMap (hf : IsOpenEmbedding f) : GeneralizingMap f :=
416+
lemma Topology.IsOpenEmbedding.generalizingMap (hf : IsOpenEmbedding f) : GeneralizingMap f :=
417417
hf.isInducing.generalizingMap hf.isOpen_range.stableUnderGeneralization
418418

419419
lemma SpecializingMap.stableUnderSpecialization_range (h : SpecializingMap f) :

Mathlib/Topology/KrullDimension.lean

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,24 +45,24 @@ variable {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y]
4545
### Main dimension theorems -/
4646

4747
/-- If `f : Y → X` is inducing, then `dim(Y) ≤ dim(X)`. -/
48-
theorem IsInducing.topologicalKrullDim_le {f : Y → X} (hf : IsInducing f) :
48+
theorem Topology.IsInducing.topologicalKrullDim_le {f : Y → X} (hf : IsInducing f) :
4949
topologicalKrullDim Y ≤ topologicalKrullDim X :=
5050
krullDim_le_of_strictMono _ (map_strictMono_of_isInducing hf)
5151

5252
/-- The topological Krull dimension is invariant under homeomorphisms -/
5353
theorem IsHomeomorph.topologicalKrullDim_eq (f : X → Y) (h : IsHomeomorph f) :
5454
topologicalKrullDim X = topologicalKrullDim Y :=
5555
have fwd : topologicalKrullDim X ≤ topologicalKrullDim Y :=
56-
IsInducing.topologicalKrullDim_le h.isClosedEmbedding.toIsInducing
56+
h.isInducing.topologicalKrullDim_le
5757
have bwd : topologicalKrullDim Y ≤ topologicalKrullDim X :=
58-
IsInducing.topologicalKrullDim_le (h.homeomorph f).symm.isClosedEmbedding.toIsInducing
58+
(h.homeomorph f).symm.isInducing.topologicalKrullDim_le
5959
le_antisymm fwd bwd
6060

6161
/-- The topological Krull dimension of any subspace is at most the dimension of the
6262
ambient space. -/
6363
theorem topologicalKrullDim_subspace_le (X : Type*) [TopologicalSpace X] (Y : Set X) :
6464
topologicalKrullDim Y ≤ topologicalKrullDim X :=
65-
IsInducing.topologicalKrullDim_le IsInducing.subtypeVal
65+
IsInducing.subtypeVal.topologicalKrullDim_le
6666

6767
theorem topologicalKrullDim_zero_of_discreteTopology
6868
(X : Type*) [TopologicalSpace X] [DiscreteTopology X] :

Mathlib/Topology/LocalAtTarget.lean

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,10 +224,7 @@ lemma isOpenMap_iff_comp : IsOpenMap f ↔ ∀ i, IsOpenMap (f ∘ ((↑) : U i
224224

225225
lemma generalizingMap_iff_comp :
226226
GeneralizingMap f ↔ ∀ i, GeneralizingMap (f ∘ ((↑) : U i → α)) := by
227-
refine ⟨fun hf ↦ fun i ↦
228-
((U i).isOpenEmbedding'.generalizingMap
229-
(U i).isOpenEmbedding'.isOpen_range.stableUnderGeneralization).comp hf,
230-
fun hf ↦ fun x y h ↦ ?_⟩
227+
refine ⟨fun hf i ↦ ((U i).isOpenEmbedding'.generalizingMap).comp hf, fun hf ↦ fun x y h ↦ ?_⟩
231228
obtain ⟨i, hi⟩ := hU.exists_mem x
232229
replace h : y ⤳ (f ∘ ((↑) : U i → α)) ⟨x, hi⟩ := h
233230
obtain ⟨a, ha, rfl⟩ := hf i h

Mathlib/Topology/Separation/Hausdorff.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -675,7 +675,7 @@ theorem Continuous.isClosedEmbedding [CompactSpace X] [T2Space Y] {f : X → Y}
675675
.of_continuous_injective_isClosedMap h hf h.isClosedMap
676676

677677
/-- A continuous surjective map from a compact space to a Hausdorff space is a quotient map. -/
678-
theorem IsQuotientMap.of_surjective_continuous [CompactSpace X] [T2Space Y] {f : X → Y}
678+
theorem Topology.IsQuotientMap.of_surjective_continuous [CompactSpace X] [T2Space Y] {f : X → Y}
679679
(hsurj : Surjective f) (hcont : Continuous f) : IsQuotientMap f :=
680680
hcont.isClosedMap.isQuotientMap hcont hsurj
681681

0 commit comments

Comments
 (0)