Skip to content

Commit 0b8c590

Browse files
committed
hopefully fix commit history try 2
1 parent 08b3d12 commit 0b8c590

13 files changed

Lines changed: 293 additions & 49 deletions

File tree

Mathlib.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7917,6 +7917,7 @@ public import Mathlib.Topology.Order.T5
79177917
public import Mathlib.Topology.Order.UpperLowerSetTopology
79187918
public import Mathlib.Topology.Order.WithTop
79197919
public import Mathlib.Topology.Partial
7920+
public import Mathlib.Topology.PartialHomeomorph.Defs
79207921
public import Mathlib.Topology.PartitionOfUnity
79217922
public import Mathlib.Topology.Path
79227923
public import Mathlib.Topology.Perfect

Mathlib/Geometry/Manifold/ContMDiff/Defs.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ theorem contMDiffWithinAt_iff_target :
273273
and_iff_left_of_imp <| (continuousAt_extChartAt _).comp_continuousWithinAt
274274
simp_rw [cont, ContDiffWithinAtProp, extChartAt, OpenPartialHomeomorph.extend,
275275
PartialEquiv.coe_trans, ModelWithCorners.toPartialEquiv_coe,
276-
OpenPartialHomeomorph.coe_toPartialEquiv, modelWithCornersSelf_coe, chartAt_self_eq,
276+
OpenPartialHomeomorph.coe_toPartialEquiv, modelWithCornersSelf_coe, chartAt_self_eq,
277277
OpenPartialHomeomorph.refl_apply, id_comp]
278278
rfl
279279

Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,7 @@ lemma contMDiff_equivTangentBundleProd_symm :
455455
filter_upwards [chart_source_mem_nhds (ModelProd (ModelProd H E) (ModelProd H' E')) (a, b)]
456456
with p hp
457457
-- now we have to check that the original map coincides locally with `pM` read in target chart.
458-
simp only [prodChartedSpace_chartAt, OpenPartialHomeomorph.prod_toPartialEquiv,
458+
simp only [prodChartedSpace_chartAt, OpenPartialHomeomorph.prod_toPartialHomeomorph,
459459
PartialEquiv.prod_source, mem_prod, TangentBundle.mem_chart_source_iff] at hp
460460
let φ (x : E) := I ((chartAt H a.proj) ((chartAt H p.1.proj).symm (I.symm x)))
461461
have D0 : DifferentiableWithinAt 𝕜 φ (Set.range I) (I ((chartAt H p.1.proj) p.1.proj)) := by
@@ -494,7 +494,7 @@ lemma contMDiff_equivTangentBundleProd_symm :
494494
filter_upwards [chart_source_mem_nhds (ModelProd (ModelProd H E) (ModelProd H' E')) (a, b)]
495495
with p hp
496496
-- now we have to check that the original map coincides locally with `pM'` read in target chart.
497-
simp only [prodChartedSpace_chartAt, OpenPartialHomeomorph.prod_toPartialEquiv,
497+
simp only [prodChartedSpace_chartAt, OpenPartialHomeomorph.prod_toPartialHomeomorph,
498498
PartialEquiv.prod_source, mem_prod, TangentBundle.mem_chart_source_iff] at hp
499499
let φ (x : E') := I' ((chartAt H' b.proj) ((chartAt H' p.2.proj).symm (I'.symm x)))
500500
have D0 : DifferentiableWithinAt 𝕜 φ (Set.range I') (I' ((chartAt H' p.2.proj) p.2.proj)) := by

Mathlib/Geometry/Manifold/IsManifold/Basic.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -751,7 +751,7 @@ theorem contDiffGroupoid_prod {I : ModelWithCorners 𝕜 E H} {I' : ModelWithCor
751751
e.prod e' ∈ contDiffGroupoid n (I.prod I') := by
752752
obtain ⟨he, he_symm⟩ := he
753753
obtain ⟨he', he'_symm⟩ := he'
754-
constructor <;> simp only [PartialEquiv.prod_source, OpenPartialHomeomorph.prod_toPartialEquiv,
754+
constructor <;> simp only [OpenPartialHomeomorph.prod_toPartialHomeomorph,
755755
contDiffPregroupoid]
756756
· have h3 := ContDiffOn.prodMap he he'
757757
rw [← I.image_eq, ← I'.image_eq, prod_image_image_eq] at h3

Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ lemma prodMap [IsManifold I n M] [IsManifold I' n M'] [IsManifold J n N] [IsMani
228228
(domChart_mem_maximalAtlas hf) (domChart_mem_maximalAtlas hg)
229229
· apply IsManifold.mem_maximalAtlas_prod
230230
(codChart_mem_maximalAtlas hf) (codChart_mem_maximalAtlas hg)
231-
· simp only [OpenPartialHomeomorph.prod_toPartialEquiv, PartialEquiv.prod_source,
231+
· simp only [OpenPartialHomeomorph.prod_toPartialHomeomorph, PartialEquiv.prod_source,
232232
preimage_prod_map_prod]
233233
exact prod_mono hf.source_subset_preimage_source hg.source_subset_preimage_source
234234
· exact h hf.property hg.property

Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -248,12 +248,13 @@ variable (K)
248248

249249
theorem expMap_source :
250250
expMap.source = (Set.univ : Set (realSpace K)) := by
251-
simp_rw [expMap, OpenPartialHomeomorph.pi_toPartialEquiv, PartialEquiv.pi_source, expMap_single,
252-
Set.pi_univ Set.univ]
251+
simp_rw [expMap, OpenPartialHomeomorph.pi_toPartialHomeomorph,
252+
PartialEquiv.pi_source, expMap_single, Set.pi_univ Set.univ]
253253

254254
theorem expMap_target :
255255
expMap.target = Set.univ.pi fun (_ : InfinitePlace K) ↦ Set.Ioi 0 := by
256-
simp_rw [expMap, OpenPartialHomeomorph.pi_toPartialEquiv, PartialEquiv.pi_target, expMap_single]
256+
simp_rw [expMap, OpenPartialHomeomorph.pi_toPartialHomeomorph,
257+
PartialEquiv.pi_target, expMap_single]
257258

258259
theorem injective_expMap :
259260
Function.Injective (expMap : realSpace K → realSpace K) :=

Mathlib/Topology/FiberBundle/Trivialization.lean

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -412,8 +412,9 @@ initialize_simps_projections Trivialization (toFun → apply, invFun → symm_ap
412412
theorem toPretrivialization_injective :
413413
Function.Injective fun e : Trivialization F proj => e.toPretrivialization := fun e e' h => by
414414
ext1
415-
exacts [OpenPartialHomeomorph.toPartialEquiv_injective
416-
(congr_arg Pretrivialization.toPartialEquiv h), congr_arg Pretrivialization.baseSet h]
415+
exacts [OpenPartialHomeomorph.toPartialHomeomorph_injective
416+
(PartialHomeomorph.toPartialEquiv_injective (congr_arg Pretrivialization.toPartialEquiv h)),
417+
congr_arg Pretrivialization.baseSet h]
417418

418419
@[simp, mfld_simps]
419420
theorem coe_coe : ⇑e.toOpenPartialHomeomorph = e :=

Mathlib/Topology/OpenPartialHomeomorph/Basic.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ theorem isOpen_image_iff_of_subset_source {s : Set X} (hs : s ⊆ e.source) :
122122

123123
/-- A `PartialEquiv` with continuous open forward map and open source is a
124124
`OpenPartialHomeomorph`. -/
125-
@[simps toPartialEquiv]
125+
@[simps toPartialHomeomorph]
126126
def ofContinuousOpenRestrict (e : PartialEquiv X Y) (hc : ContinuousOn e e.source)
127127
(ho : IsOpenMap (e.source.restrict e)) (hs : IsOpen e.source) : OpenPartialHomeomorph X Y where
128128
toPartialEquiv := e
@@ -145,7 +145,7 @@ theorem coe_ofContinuousOpenRestrict_symm (e : PartialEquiv X Y) (hc : Continuou
145145

146146
/-- A `PartialEquiv` with continuous open forward map and open source is a
147147
`OpenPartialHomeomorph`. -/
148-
@[simps! toPartialEquiv]
148+
@[simps! toPartialHomeomorph]
149149
def ofContinuousOpen (e : PartialEquiv X Y) (hc : ContinuousOn e e.source) (ho : IsOpenMap e)
150150
(hs : IsOpen e.source) : OpenPartialHomeomorph X Y :=
151151
ofContinuousOpenRestrict e hc (ho.restrict hs) hs

Mathlib/Topology/OpenPartialHomeomorph/Composition.lean

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ variable (e' : OpenPartialHomeomorph Y Z)
3737

3838
/-- Composition of two open partial homeomorphisms when the target of the first and the source of
3939
the second coincide. -/
40-
@[simps! apply symm_apply toPartialEquiv, simps! -isSimp source target]
40+
@[simps! apply symm_apply toPartialHomeomorph, simps! -isSimp source target]
4141
protected def trans' (h : e.target = e'.source) : OpenPartialHomeomorph X Z where
4242
toPartialEquiv := PartialEquiv.trans' e.toPartialEquiv e'.toPartialEquiv h
4343
open_source := e.open_source
@@ -99,15 +99,15 @@ theorem inv_image_trans_target : e'.symm '' (e.trans e').target = e'.source ∩
9999

100100
theorem trans_assoc (e'' : OpenPartialHomeomorph Z Z') :
101101
(e.trans e').trans e'' = e.trans (e'.trans e'') :=
102-
toPartialEquiv_injective <| e.1.trans_assoc _ _
102+
toPartialEquiv_comp_toPartialHomeomorph_injective <| e.1.trans_assoc _ _
103103

104104
@[simp, mfld_simps]
105105
theorem trans_refl : e.trans (OpenPartialHomeomorph.refl Y) = e :=
106-
toPartialEquiv_injective e.1.trans_refl
106+
toPartialHomeomorph_injective (PartialHomeomorph.toPartialEquiv_injective e.1.trans_refl)
107107

108108
@[simp, mfld_simps]
109109
theorem refl_trans : (OpenPartialHomeomorph.refl X).trans e = e :=
110-
toPartialEquiv_injective e.1.refl_trans
110+
toPartialHomeomorph_injective (PartialHomeomorph.toPartialEquiv_injective e.1.refl_trans)
111111

112112
theorem trans_ofSet {s : Set Y} (hs : IsOpen s) : e.trans (ofSet s hs) = e.restr (e ⁻¹' s) :=
113113
OpenPartialHomeomorph.ext _ _ (fun _ => rfl) (fun _ => rfl) <| by
@@ -131,7 +131,7 @@ theorem ofSet_trans_ofSet {s : Set X} (hs : IsOpen s) {s' : Set X} (hs' : IsOpen
131131
ext <;> simp [hs'.interior_eq]
132132

133133
theorem restr_trans (s : Set X) : (e.restr s).trans e' = (e.trans e').restr s :=
134-
toPartialEquiv_injective <|
134+
toPartialEquiv_comp_toPartialHomeomorph_injective <|
135135
PartialEquiv.restr_trans e.toPartialEquiv e'.toPartialEquiv (interior s)
136136

137137
end trans
@@ -197,7 +197,8 @@ variable (e : X ≃ₜ Y) (e' : Y ≃ₜ Z)
197197
@[simp, mfld_simps]
198198
theorem trans_toOpenPartialHomeomorph : (e.trans e').toOpenPartialHomeomorph =
199199
e.toOpenPartialHomeomorph.trans e'.toOpenPartialHomeomorph :=
200-
OpenPartialHomeomorph.toPartialEquiv_injective <| Equiv.trans_toPartialEquiv _ _
200+
OpenPartialHomeomorph.toPartialHomeomorph_injective <|
201+
PartialHomeomorph.toPartialEquiv_injective <| Equiv.trans_toPartialEquiv _ _
201202

202203
/-- Precompose an open partial homeomorphism with a homeomorphism.
203204
We modify the source and target to have better definitional behavior. -/
@@ -212,7 +213,8 @@ def transOpenPartialHomeomorph (e : X ≃ₜ Y) (f' : OpenPartialHomeomorph Y Z)
212213

213214
theorem transOpenPartialHomeomorph_eq_trans (e : X ≃ₜ Y) (f' : OpenPartialHomeomorph Y Z) :
214215
e.transOpenPartialHomeomorph f' = e.toOpenPartialHomeomorph.trans f' :=
215-
OpenPartialHomeomorph.toPartialEquiv_injective <| Equiv.transPartialEquiv_eq_trans _ _
216+
OpenPartialHomeomorph.toPartialEquiv_comp_toPartialHomeomorph_injective
217+
<| Equiv.transPartialEquiv_eq_trans _ _
216218

217219
@[simp, mfld_simps]
218220
theorem transOpenPartialHomeomorph_trans (e : X ≃ₜ Y) (f : OpenPartialHomeomorph Y Z)

Mathlib/Topology/OpenPartialHomeomorph/Constructions.lean

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ section Prod
7676

7777
/-- The product of two open partial homeomorphisms, as an open partial homeomorphism on the product
7878
space. -/
79-
@[simps! (attr := mfld_simps) -fullyApplied toPartialEquiv apply,
79+
@[simps! (attr := mfld_simps) -fullyApplied toPartialHomeomorph apply,
8080
simps! -isSimp source target symm_apply]
8181
def prod (eX : OpenPartialHomeomorph X X') (eY : OpenPartialHomeomorph Y Y') :
8282
OpenPartialHomeomorph (X × Y) (X' × Y') where
@@ -100,7 +100,7 @@ theorem refl_prod_refl : (OpenPartialHomeomorph.refl X).prod (OpenPartialHomeomo
100100
theorem prod_trans (e : OpenPartialHomeomorph X Y) (f : OpenPartialHomeomorph Y Z)
101101
(e' : OpenPartialHomeomorph X' Y') (f' : OpenPartialHomeomorph Y' Z') :
102102
(e.prod e').trans (f.prod f') = (e.trans f).prod (e'.trans f') :=
103-
toPartialEquiv_injective <| e.1.prod_trans ..
103+
toPartialEquiv_comp_toPartialHomeomorph_injective <| e.1.prod_trans ..
104104

105105
theorem prod_eq_prod_of_nonempty {eX eX' : OpenPartialHomeomorph X X'}
106106
{eY eY' : OpenPartialHomeomorph Y Y'} (h : (eX.prod eY).source.Nonempty) :
@@ -137,7 +137,7 @@ variable {ι : Type*} [Finite ι] {X Y : ι → Type*} [∀ i, TopologicalSpace
137137
[∀ i, TopologicalSpace (Y i)] (ei : ∀ i, OpenPartialHomeomorph (X i) (Y i))
138138

139139
/-- The product of a finite family of `OpenPartialHomeomorph`s. -/
140-
@[simps! toPartialEquiv apply symm_apply source target]
140+
@[simps! toPartialHomeomorph apply symm_apply source target]
141141
def pi : OpenPartialHomeomorph (∀ i, X i) (∀ i, Y i) where
142142
toPartialEquiv := PartialEquiv.pi fun i => (ei i).toPartialEquiv
143143
open_source := isOpen_set_pi finite_univ fun i _ => (ei i).open_source
@@ -164,7 +164,7 @@ To ensure the maps `toFun` and `invFun` are inverse of each other on the new `so
164164
the definition assumes that the sets `s` and `t` are related both by `e.is_image` and `e'.is_image`.
165165
To ensure that the new maps are continuous on `source`/`target`, it also assumes that `e.source` and
166166
`e'.source` meet `frontier s` on the same set and `e x = e' x` on this intersection. -/
167-
@[simps! -fullyApplied toPartialEquiv apply]
167+
@[simps! -fullyApplied toPartialHomeomorph apply]
168168
def piecewise (e e' : OpenPartialHomeomorph X Y) (s : Set X) (t : Set Y) [∀ x, Decidable (x ∈ s)]
169169
[∀ y, Decidable (y ∈ t)] (H : e.IsImage s t) (H' : e'.IsImage s t)
170170
(Hs : e.source ∩ frontier s = e'.source ∩ frontier s)
@@ -226,7 +226,7 @@ def transHomeomorph (e : OpenPartialHomeomorph X Y) (f' : Y ≃ₜ Z) : OpenPart
226226

227227
theorem transHomeomorph_eq_trans (e : OpenPartialHomeomorph X Y) (f' : Y ≃ₜ Z) :
228228
e.transHomeomorph f' = e.trans f'.toOpenPartialHomeomorph :=
229-
toPartialEquiv_injective <| PartialEquiv.transEquiv_eq_trans _ _
229+
toPartialEquiv_comp_toPartialHomeomorph_injective <| PartialEquiv.transEquiv_eq_trans _ _
230230

231231
@[simp, mfld_simps]
232232
theorem transHomeomorph_transHomeomorph (e : OpenPartialHomeomorph X Y) (f' : Y ≃ₜ Z)

0 commit comments

Comments
 (0)