Skip to content

Commit

Permalink
chore: rename open_range to isOpen_range, closed_range to isClosed_ra…
Browse files Browse the repository at this point in the history
…nge (#11438)

All these lemmas refer to the range of some function being open/range (i.e. `isOpen` or `isClosed`).
  • Loading branch information
grunweg committed Mar 19, 2024
1 parent 5c4a670 commit 75784e0
Show file tree
Hide file tree
Showing 48 changed files with 110 additions and 99 deletions.
4 changes: 2 additions & 2 deletions Mathlib/AlgebraicGeometry/FunctionField.lean
Expand Up @@ -87,7 +87,7 @@ theorem genericPoint_eq_of_isOpenImmersion {X Y : Scheme} (f : X ⟶ Y) [H : IsO
(show Continuous f.1.base from ContinuousMap.continuous_toFun _)
symm
rw [eq_top_iff, Set.top_eq_univ, Set.top_eq_univ]
convert subset_closure_inter_of_isPreirreducible_of_isOpen _ H.base_open.open_range _
convert subset_closure_inter_of_isPreirreducible_of_isOpen _ H.base_open.isOpen_range _
rw [Set.univ_inter, Set.image_univ]
apply PreirreducibleSpace.isPreirreducible_univ (X := Y.carrier)
exact ⟨_, trivial, Set.mem_range_self hX.2.some⟩
Expand Down Expand Up @@ -176,7 +176,7 @@ instance [IsIntegral X] (x : X.carrier) :
IsFractionRing (X.presheaf.stalk x) X.functionField :=
let U : Opens X.carrier :=
⟨Set.range (X.affineCover.map x).1.base,
PresheafedSpace.IsOpenImmersion.base_open.open_range
PresheafedSpace.IsOpenImmersion.base_open.isOpen_range
have hU : IsAffineOpen U := rangeIsAffineOpenOfOpenImmersion (X.affineCover.map x)
let x : U := ⟨x, X.affineCover.Covers x⟩
have : Nonempty U := ⟨x⟩
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/AlgebraicGeometry/Morphisms/Basic.lean
Expand Up @@ -174,7 +174,7 @@ theorem targetAffineLocallyOfOpenCover {P : AffineTargetMorphismProperty} (hP :
(h𝒰 : ∀ i, P (pullback.snd : (𝒰.pullbackCover f).obj i ⟶ 𝒰.obj i)) :
targetAffineLocally P f := by
classical
let S i := (⟨⟨Set.range (𝒰.map i).1.base, (𝒰.IsOpen i).base_open.open_range⟩,
let S i := (⟨⟨Set.range (𝒰.map i).1.base, (𝒰.IsOpen i).base_open.isOpen_range⟩,
rangeIsAffineOpenOfOpenImmersion (𝒰.map i)⟩ : Y.affineOpens)
intro U
apply of_affine_open_cover (P := _) U (Set.range S)
Expand Down Expand Up @@ -248,7 +248,7 @@ theorem AffineTargetMorphismProperty.IsLocal.affine_openCover_TFAE
tfae_have 14
· intro H U g h₁ h₂
-- Porting note: I need to add `i1` manually, so to save some typing, named this variable
set U' : Opens _ := ⟨_, h₂.base_open.open_range
set U' : Opens _ := ⟨_, h₂.base_open.isOpen_range
replace H := H ⟨U', rangeIsAffineOpenOfOpenImmersion g⟩
haveI i1 : IsAffine (Y.restrict U'.openEmbedding) := rangeIsAffineOpenOfOpenImmersion g
rw [← P.toProperty_apply] at H ⊢
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean
Expand Up @@ -109,8 +109,8 @@ theorem quasi_compact_affineProperty_iff_quasiSeparatedSpace {X Y : Scheme} [IsA
simp_rw [isCompact_iff_compactSpace] at H
exact
@Homeomorph.compactSpace _ _ _ _
(H ⟨⟨_, h₁.base_open.open_range⟩, rangeIsAffineOpenOfOpenImmersion _⟩
⟨⟨_, h₂.base_open.open_range⟩, rangeIsAffineOpenOfOpenImmersion _⟩)
(H ⟨⟨_, h₁.base_open.isOpen_range⟩, rangeIsAffineOpenOfOpenImmersion _⟩
⟨⟨_, h₂.base_open.isOpen_range⟩, rangeIsAffineOpenOfOpenImmersion _⟩)
e.symm
#align algebraic_geometry.quasi_compact_affine_property_iff_quasi_separated_space AlgebraicGeometry.quasi_compact_affineProperty_iff_quasiSeparatedSpace

Expand Down
6 changes: 3 additions & 3 deletions Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean
Expand Up @@ -287,7 +287,7 @@ variable {P} (hP : RingHom.PropertyIsLocal @P)
theorem sourceAffineLocally_of_source_openCover {X Y : Scheme} (f : X ⟶ Y) [IsAffine Y]
(𝒰 : X.OpenCover) [∀ i, IsAffine (𝒰.obj i)] (H : ∀ i, P (Scheme.Γ.map (𝒰.map i ≫ f).op)) :
sourceAffineLocally (@P) f := by
let S i := (⟨⟨Set.range (𝒰.map i).1.base, (𝒰.IsOpen i).base_open.open_range⟩,
let S i := (⟨⟨Set.range (𝒰.map i).1.base, (𝒰.IsOpen i).base_open.isOpen_range⟩,
rangeIsAffineOpenOfOpenImmersion (𝒰.map i)⟩ : X.affineOpens)
intro U
-- Porting note: here is what we are eliminating into Lean
Expand Down Expand Up @@ -356,9 +356,9 @@ theorem affine_openCover_TFAE {X Y : Scheme.{u}} [IsAffine Y] (f : X ⟶ Y) :
P (Scheme.Γ.map (g ≫ f).op)] := by
tfae_have 14
· intro H U g _ hg
specialize H ⟨⟨_, hg.base_open.open_range⟩, rangeIsAffineOpenOfOpenImmersion g⟩
specialize H ⟨⟨_, hg.base_open.isOpen_range⟩, rangeIsAffineOpenOfOpenImmersion g⟩
rw [← hP.respectsIso.cancel_right_isIso _ (Scheme.Γ.map (IsOpenImmersion.isoOfRangeEq g
(X.ofRestrict (Opens.openEmbedding ⟨_, hg.base_open.open_range⟩))
(X.ofRestrict (Opens.openEmbedding ⟨_, hg.base_open.isOpen_range⟩))
Subtype.range_coe.symm).hom.op),
← Scheme.Γ.map_comp, ← op_comp, IsOpenImmersion.isoOfRangeEq_hom_fac_assoc] at H
exact H
Expand Down
30 changes: 15 additions & 15 deletions Mathlib/AlgebraicGeometry/OpenImmersion.lean
Expand Up @@ -53,7 +53,7 @@ protected def scheme (X : LocallyRingedSpace)
local_affine := by
intro x
obtain ⟨R, f, h₁, h₂⟩ := h x
refine' ⟨⟨⟨_, h₂.base_open.open_range⟩, h₁⟩, R, ⟨_⟩⟩
refine' ⟨⟨⟨_, h₂.base_open.isOpen_range⟩, h₁⟩, R, ⟨_⟩⟩
apply LocallyRingedSpace.isoOfSheafedSpaceIso
refine' SheafedSpace.forgetToPresheafedSpace.preimageIso _
apply PresheafedSpace.IsOpenImmersion.isoOfRangeEq (PresheafedSpace.ofRestrict _ _) f.1
Expand All @@ -63,10 +63,12 @@ protected def scheme (X : LocallyRingedSpace)

end LocallyRingedSpace.IsOpenImmersion

theorem IsOpenImmersion.open_range {X Y : Scheme} (f : X ⟶ Y) [H : IsOpenImmersion f] :
theorem IsOpenImmersion.isOpen_range {X Y : Scheme} (f : X ⟶ Y) [H : IsOpenImmersion f] :
IsOpen (Set.range f.1.base) :=
H.base_open.open_range
#align algebraic_geometry.IsOpenImmersion.open_range AlgebraicGeometry.IsOpenImmersion.open_range
H.base_open.isOpen_range
#align algebraic_geometry.IsOpenImmersion.open_range AlgebraicGeometry.IsOpenImmersion.isOpen_range

@[deprecated] alias IsOpenImmersion.open_range := IsOpenImmersion.isOpen_range -- 2024-03-17

section OpenCover

Expand Down Expand Up @@ -267,7 +269,7 @@ theorem affineBasisCover_is_basis (X : Scheme) :
∃ a : X.affineBasisCover.J, x = Set.range (X.affineBasisCover.map a).1.base} := by
apply TopologicalSpace.isTopologicalBasis_of_isOpen_of_nhds
· rintro _ ⟨a, rfl⟩
exact IsOpenImmersion.open_range (X.affineBasisCover.map a)
exact IsOpenImmersion.isOpen_range (X.affineBasisCover.map a)
· rintro a U haU hU
rcases X.affineCover.Covers a with ⟨x, e⟩
let U' := (X.affineCover.map (X.affineCover.f a)).1.base ⁻¹' U
Expand All @@ -288,7 +290,7 @@ def OpenCover.finiteSubcover {X : Scheme} (𝒰 : OpenCover X) [H : CompactSpace
OpenCover X := by
have :=
@CompactSpace.elim_nhds_subcover _ _ H (fun x : X => Set.range (𝒰.map (𝒰.f x)).1.base)
fun x => (IsOpenImmersion.open_range (𝒰.map (𝒰.f x))).mem_nhds (𝒰.Covers x)
fun x => (IsOpenImmersion.isOpen_range (𝒰.map (𝒰.f x))).mem_nhds (𝒰.Covers x)
let t := this.choose
have h : ∀ x : X, ∃ y : t, x ∈ Set.range (𝒰.map (𝒰.f y)).1.base := by
intro x
Expand Down Expand Up @@ -324,7 +326,7 @@ def toScheme : Scheme := by
intro x
obtain ⟨_, ⟨i, rfl⟩, hx, hi⟩ :=
Y.affineBasisCover_is_basis.exists_subset_of_mem_open (Set.mem_range_self x)
H.base_open.open_range
H.base_open.isOpen_range
use Y.affineBasisCoverRing i
use LocallyRingedSpace.IsOpenImmersion.lift (toLocallyRingedSpaceHom _ f) _ hi
constructor
Expand Down Expand Up @@ -551,9 +553,8 @@ instance forgetToTopPreservesOfRight : PreservesLimit (cospan g f) Scheme.forget

theorem range_pullback_snd_of_left :
Set.range (pullback.snd : pullback f g ⟶ Y).1.base =
((Opens.map g.1.base).obj ⟨Set.range f.1.base, H.base_open.open_range⟩).1 := by
rw [←
show _ = (pullback.snd : pullback f g ⟶ _).1.base from
((Opens.map g.1.base).obj ⟨Set.range f.1.base, H.base_open.isOpen_range⟩).1 := by
rw [← show _ = (pullback.snd : pullback f g ⟶ _).1.base from
PreservesPullback.iso_hom_snd Scheme.forgetToTop f g]
-- Porting note (#10691): was `rw`
erw [coe_comp]
Expand All @@ -569,9 +570,8 @@ theorem range_pullback_snd_of_left :

theorem range_pullback_fst_of_right :
Set.range (pullback.fst : pullback g f ⟶ Y).1.base =
((Opens.map g.1.base).obj ⟨Set.range f.1.base, H.base_open.open_range⟩).1 := by
rw [←
show _ = (pullback.fst : pullback g f ⟶ _).1.base from
((Opens.map g.1.base).obj ⟨Set.range f.1.base, H.base_open.isOpen_range⟩).1 := by
rw [← show _ = (pullback.fst : pullback g f ⟶ _).1.base from
PreservesPullback.iso_hom_fst Scheme.forgetToTop g f]
-- Porting note (#10691): was `rw`
erw [coe_comp]
Expand Down Expand Up @@ -718,7 +718,7 @@ theorem image_basicOpen {X Y : Scheme} (f : X ⟶ Y) [H : IsOpenImmersion f] {U
/-- The image of an open immersion as an open set. -/
@[simps]
def Hom.opensRange {X Y : Scheme} (f : X ⟶ Y) [H : IsOpenImmersion f] : Opens Y :=
⟨_, H.base_open.open_range
⟨_, H.base_open.isOpen_range
#align algebraic_geometry.Scheme.hom.opens_range AlgebraicGeometry.Scheme.Hom.opensRange

end Scheme
Expand Down Expand Up @@ -792,7 +792,7 @@ theorem Scheme.OpenCover.compactSpace {X : Scheme} (𝒰 : X.OpenCover) [Finite
(TopCat.homeoOfIso
(asIso
(IsOpenImmersion.isoOfRangeEq (𝒰.map i)
(X.ofRestrict (Opens.openEmbedding ⟨_, (𝒰.IsOpen i).base_open.open_range⟩))
(X.ofRestrict (Opens.openEmbedding ⟨_, (𝒰.IsOpen i).base_open.isOpen_range⟩))
Subtype.range_coe.symm).hom.1.base))
#align algebraic_geometry.Scheme.open_cover.compact_space AlgebraicGeometry.Scheme.OpenCover.compactSpace

Expand Down
4 changes: 2 additions & 2 deletions Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean
Expand Up @@ -760,7 +760,7 @@ theorem isClosed_range_comap_of_surjective (hf : Surjective f) :
theorem closedEmbedding_comap_of_surjective (hf : Surjective f) : ClosedEmbedding (comap f) :=
{ induced := (comap_inducing_of_surjective S f hf).induced
inj := comap_injective_of_surjective f hf
closed_range := isClosed_range_comap_of_surjective S f hf }
isClosed_range := isClosed_range_comap_of_surjective S f hf }
#align prime_spectrum.closed_embedding_comap_of_surjective PrimeSpectrum.closedEmbedding_comap_of_surjective

end SpecOfSurjective
Expand Down Expand Up @@ -874,7 +874,7 @@ theorem localization_away_comap_range (S : Type v) [CommSemiring S] [Algebra R S
theorem localization_away_openEmbedding (S : Type v) [CommSemiring S] [Algebra R S] (r : R)
[IsLocalization.Away r S] : OpenEmbedding (comap (algebraMap R S)) :=
{ toEmbedding := localization_comap_embedding S (Submonoid.powers r)
open_range := by
isOpen_range := by
rw [localization_away_comap_range S r]
exact isOpen_basicOpen }
#align prime_spectrum.localization_away_open_embedding PrimeSpectrum.localization_away_openEmbedding
Expand Down
6 changes: 3 additions & 3 deletions Mathlib/AlgebraicGeometry/Properties.lean
Expand Up @@ -40,7 +40,7 @@ instance : T0Space X.carrier := by
instance : QuasiSober X.carrier := by
apply (config := { allowSynthFailures := true })
quasiSober_of_open_cover (Set.range fun x => Set.range <| (X.affineCover.map x).1.base)
· rintro ⟨_, i, rfl⟩; exact (X.affineCover.IsOpen i).base_open.open_range
· rintro ⟨_, i, rfl⟩; exact (X.affineCover.IsOpen i).base_open.isOpen_range
· rintro ⟨_, i, rfl⟩
exact @OpenEmbedding.quasiSober _ _ _ _ _ (Homeomorph.ofEmbedding _
(X.affineCover.IsOpen i).base_open.toEmbedding).symm.openEmbedding PrimeSpectrum.quasiSober
Expand Down Expand Up @@ -126,15 +126,15 @@ theorem reduce_to_affine_global (P : ∀ (X : Scheme) (_ : Opens X.carrier), Pro
(∀ x : U, ∃ (V : _) (_ : x.1 ∈ V) (_ : V ⟶ U), P X V) → P X U)
(h₂ : ∀ {X Y} (f : X ⟶ Y) [hf : IsOpenImmersion f],
∃ (U : Set X.carrier) (V : Set Y.carrier) (hU : U = ⊤) (hV : V = Set.range f.1.base),
P X ⟨U, hU.symm ▸ isOpen_univ⟩ → P Y ⟨V, hV.symm ▸ hf.base_open.open_range⟩)
P X ⟨U, hU.symm ▸ isOpen_univ⟩ → P Y ⟨V, hV.symm ▸ hf.base_open.isOpen_range⟩)
(h₃ : ∀ R : CommRingCat, P (Scheme.Spec.obj <| op R) ⊤) :
∀ (X : Scheme) (U : Opens X.carrier), P X U := by
intro X U
apply h₁
intro x
obtain ⟨_, ⟨j, rfl⟩, hx, i⟩ :=
X.affineBasisCover_is_basis.exists_subset_of_mem_open (SetLike.mem_coe.2 x.prop) U.isOpen
let U' : Opens _ := ⟨_, (X.affineBasisCover.IsOpen j).base_open.open_range
let U' : Opens _ := ⟨_, (X.affineBasisCover.IsOpen j).base_open.isOpen_range
let i' : U' ⟶ U := homOfLE i
refine' ⟨U', hx, i', _⟩
obtain ⟨_, _, rfl, rfl, h₂'⟩ := h₂ (X.affineBasisCover.map j)
Expand Down
8 changes: 5 additions & 3 deletions Mathlib/Analysis/InnerProductSpace/LaxMilgram.lean
Expand Up @@ -77,13 +77,15 @@ theorem ker_eq_bot (coercive : IsCoercive B) : ker B♯ = ⊥ := by
exact antilipschitz.injective
#align is_coercive.ker_eq_bot IsCoercive.ker_eq_bot

theorem closed_range (coercive : IsCoercive B) : IsClosed (range B♯ : Set V) := by
theorem isClosed_range (coercive : IsCoercive B) : IsClosed (range B♯ : Set V) := by
rcases coercive.antilipschitz with ⟨_, _, antilipschitz⟩
exact antilipschitz.isClosed_range B♯.uniformContinuous
#align is_coercive.closed_range IsCoercive.closed_range
#align is_coercive.closed_range IsCoercive.isClosed_range

@[deprecated] alias closed_range := isClosed_range

theorem range_eq_top (coercive : IsCoercive B) : range B♯ = ⊤ := by
haveI := coercive.closed_range.completeSpace_coe
haveI := coercive.isClosed_range.completeSpace_coe
rw [← (range B♯).orthogonal_orthogonal]
rw [Submodule.eq_top_iff']
intro v w mem_w_orthogonal
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/NormedSpace/Star/GelfandDuality.lean
Expand Up @@ -179,7 +179,7 @@ theorem gelfandTransform_bijective : Function.Bijective (gelfandTransform ℂ A)
points in `C(characterSpace ℂ A, ℂ)` and is closed under `star`. -/
have h : rng.topologicalClosure = rng := le_antisymm
(StarSubalgebra.topologicalClosure_minimal le_rfl
(gelfandTransform_isometry A).closedEmbedding.closed_range)
(gelfandTransform_isometry A).closedEmbedding.isClosed_range)
(StarSubalgebra.le_topologicalClosure _)
refine' h ▸ ContinuousMap.starSubalgebra_topologicalClosure_eq_top_of_separatesPoints
_ (fun _ _ => _)
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/NormedSpace/Units.lean
Expand Up @@ -233,7 +233,7 @@ embedding in `R × R`) to `R` is an open embedding. -/
theorem openEmbedding_val : OpenEmbedding (val : Rˣ → R) where
toEmbedding := embedding_val_mk'
(fun _ ⟨u, hu⟩ ↦ hu ▸ (inverse_continuousAt u).continuousWithinAt) Ring.inverse_unit
open_range := Units.isOpen
isOpen_range := Units.isOpen
#align units.open_embedding_coe Units.openEmbedding_val

/-- In a normed ring, the coercion from `Rˣ` (equipped with the induced topology from the
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/CategoryTheory/Extensive.lean
Expand Up @@ -321,7 +321,7 @@ noncomputable def finitaryExtensiveTopCatAux (Z : TopCat.{u})
-- Porting note: this `(BinaryCofan.inl s).2` was unnecessary
have := (BinaryCofan.inl s).2
continuity
· convert f.2.1 _ openEmbedding_inl.open_range
· convert f.2.1 _ openEmbedding_inl.isOpen_range
rename_i x
exact ⟨fun h => ⟨_, h.symm⟩,
fun ⟨e, h⟩ => h.symm.trans (congr_arg Sum.inl <| Subsingleton.elim _ _)⟩
Expand All @@ -335,7 +335,7 @@ noncomputable def finitaryExtensiveTopCatAux (Z : TopCat.{u})
-- Porting note: this `(BinaryCofan.inr s).2` was unnecessary
have := (BinaryCofan.inr s).2
continuity
· convert f.2.1 _ openEmbedding_inr.open_range
· convert f.2.1 _ openEmbedding_inr.isOpen_range
rename_i x
change f x ≠ Sum.inl PUnit.unit ↔ f x ∈ Set.range Sum.inr
trans f x = Sum.inr PUnit.unit
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/Geometry/Manifold/BumpFunction.lean
Expand Up @@ -194,7 +194,7 @@ theorem nonempty_support : (support f).Nonempty :=

theorem isCompact_symm_image_closedBall :
IsCompact ((extChartAt I c).symm '' (closedBall (extChartAt I c c) f.rOut ∩ range I)) :=
((isCompact_closedBall _ _).inter_right I.closed_range).image_of_continuousOn <|
((isCompact_closedBall _ _).inter_right I.isClosed_range).image_of_continuousOn <|
(continuousOn_extChartAt_symm _ _).mono f.closedBall_subset
#align smooth_bump_function.is_compact_symm_image_closed_ball SmoothBumpFunction.isCompact_symm_image_closedBall

Expand All @@ -217,7 +217,7 @@ theorem isClosed_image_of_isClosed {s : Set M} (hsc : IsClosed s) (hs : s ⊆ su
rw [f.image_eq_inter_preimage_of_subset_support hs]
refine' ContinuousOn.preimage_isClosed_of_isClosed
((continuousOn_extChartAt_symm _ _).mono f.closedBall_subset) _ hsc
exact IsClosed.inter isClosed_ball I.closed_range
exact IsClosed.inter isClosed_ball I.isClosed_range
#align smooth_bump_function.is_closed_image_of_is_closed SmoothBumpFunction.isClosed_image_of_isClosed

/-- If `f` is a smooth bump function and `s` closed subset of the support of `f` (i.e., of the open
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Geometry/Manifold/InteriorBoundary.lean
Expand Up @@ -75,7 +75,7 @@ lemma isBoundaryPoint_iff {x : M} : I.IsBoundaryPoint x ↔ extChartAt I x x ∈
/-- Every point is either an interior or a boundary point. -/
lemma isInteriorPoint_or_isBoundaryPoint (x : M) : I.IsInteriorPoint x ∨ I.IsBoundaryPoint x := by
rw [IsInteriorPoint, or_iff_not_imp_left, I.isBoundaryPoint_iff, ← closure_diff_interior,
I.closed_range.closure_eq, mem_diff]
I.isClosed_range.closure_eq, mem_diff]
exact fun h => ⟨mem_range_self _, h⟩

/-- A manifold decomposes into interior and boundary. -/
Expand Down
10 changes: 6 additions & 4 deletions Mathlib/Geometry/Manifold/SmoothManifoldWithCorners.lean
Expand Up @@ -301,9 +301,11 @@ protected theorem closedEmbedding : ClosedEmbedding I :=
I.leftInverse.closedEmbedding I.continuous_symm I.continuous
#align model_with_corners.closed_embedding ModelWithCorners.closedEmbedding

theorem closed_range : IsClosed (range I) :=
I.closedEmbedding.closed_range
#align model_with_corners.closed_range ModelWithCorners.closed_range
theorem isClosed_range : IsClosed (range I) :=
I.closedEmbedding.isClosed_range
#align model_with_corners.closed_range ModelWithCorners.isClosed_range

@[deprecated] alias closed_range := isClosed_range -- 2024-03-17

theorem map_nhds_eq (x : H) : map I (𝓝 x) = 𝓝[range I] I x :=
I.closedEmbedding.toEmbedding.map_nhds_eq x
Expand Down Expand Up @@ -359,7 +361,7 @@ protected theorem locallyCompactSpace [LocallyCompactSpace E] (I : ModelWithCorn
exact ((compact_basis_nhds (I x)).inf_principal _).map _
refine' .of_hasBasis this _
rintro x s ⟨-, hsc⟩
exact (hsc.inter_right I.closed_range).image I.continuous_symm
exact (hsc.inter_right I.isClosed_range).image I.continuous_symm
#align model_with_corners.locally_compact ModelWithCorners.locallyCompactSpace

open TopologicalSpace
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean
Expand Up @@ -1161,12 +1161,12 @@ protected theorem Embedding.measurableEmbedding {f : α → β} (h₁ : Embeddin

protected theorem ClosedEmbedding.measurableEmbedding {f : α → β} (h : ClosedEmbedding f) :
MeasurableEmbedding f :=
h.toEmbedding.measurableEmbedding h.closed_range.measurableSet
h.toEmbedding.measurableEmbedding h.isClosed_range.measurableSet
#align closed_embedding.measurable_embedding ClosedEmbedding.measurableEmbedding

protected theorem OpenEmbedding.measurableEmbedding {f : α → β} (h : OpenEmbedding f) :
MeasurableEmbedding f :=
h.toEmbedding.measurableEmbedding h.open_range.measurableSet
h.toEmbedding.measurableEmbedding h.isOpen_range.measurableSet
#align open_embedding.measurable_embedding OpenEmbedding.measurableEmbedding

section LinearOrder
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/MeasureTheory/Constructions/Polish.lean
Expand Up @@ -1044,7 +1044,7 @@ theorem exists_nat_measurableEquiv_range_coe_fin_of_finite [Finite α] :
theorem measurableEquiv_range_coe_nat_of_infinite_of_countable [Infinite α] [Countable α] :
Nonempty (α ≃ᵐ range ((↑) : ℕ → ℝ)) := by
have : PolishSpace (range ((↑) : ℕ → ℝ)) :=
Nat.closedEmbedding_coe_real.isClosedMap.closed_range.polishSpace
Nat.closedEmbedding_coe_real.isClosedMap.isClosed_range.polishSpace
refine' ⟨PolishSpace.Equiv.measurableEquiv _⟩
refine' (nonempty_equiv_of_countable.some : α ≃ ℕ).trans _
exact Equiv.ofInjective ((↑) : ℕ → ℝ) Nat.cast_injective
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean
Expand Up @@ -752,7 +752,7 @@ theorem _root_.Embedding.comp_stronglyMeasurable_iff {m : MeasurableSpace α} [T
· let G : β → range g := rangeFactorization g
have hG : ClosedEmbedding G :=
{ hg.codRestrict _ _ with
closed_range := by
isClosed_range := by
rw [surjective_onto_range.range_eq]
exact isClosed_univ }
have : Measurable (G ∘ f) := Measurable.subtype_mk H.measurable
Expand Down Expand Up @@ -1667,7 +1667,7 @@ theorem _root_.Embedding.aestronglyMeasurable_comp_iff [PseudoMetrizableSpace β
· let G : β → range g := rangeFactorization g
have hG : ClosedEmbedding G :=
{ hg.codRestrict _ _ with
closed_range := by rw [surjective_onto_range.range_eq]; exact isClosed_univ }
isClosed_range := by rw [surjective_onto_range.range_eq]; exact isClosed_univ }
have : AEMeasurable (G ∘ f) μ := AEMeasurable.subtype_mk H.aemeasurable
exact hG.measurableEmbedding.aemeasurable_comp_iff.1 this
· rcases (aestronglyMeasurable_iff_aemeasurable_separable.1 H).2 with ⟨t, ht, h't⟩
Expand Down

0 comments on commit 75784e0

Please sign in to comment.