Skip to content

Commit 1921cda

Browse files
committed
chore: golf using custom elaborators (#36235)
The final pieces from #30357.
1 parent 88d3792 commit 1921cda

24 files changed

+238
-253
lines changed

Mathlib/Geometry/Manifold/BumpFunction.lean

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ module
88
public import Mathlib.Analysis.Calculus.BumpFunction.FiniteDimension
99
public import Mathlib.Geometry.Manifold.ContMDiff.Atlas
1010
public import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace
11+
public import Mathlib.Geometry.Manifold.Notation
1112
public import Mathlib.Topology.MetricSpace.ProperSpace.Lemmas
1213

1314
/-!
@@ -289,14 +290,14 @@ theorem nhds_basis_support {s : Set M} (hs : s ∈ 𝓝 c) :
289290
variable [IsManifold I ∞ M]
290291

291292
/-- A smooth bump function is infinitely smooth. -/
292-
protected theorem contMDiff : ContMDiff I 𝓘(ℝ) ∞ f := by
293+
protected theorem contMDiff : CMDiff ∞ f := by
293294
refine contMDiff_of_tsupport fun x hx => ?_
294295
have : x ∈ (chartAt H c).source := f.tsupport_subset_chartAt_source hx
295296
refine ContMDiffAt.congr_of_eventuallyEq ?_ <| f.eqOn_source.eventuallyEq_of_mem <|
296297
(chartAt H c).open_source.mem_nhds this
297298
exact f.contDiffAt.contMDiffAt.comp _ (contMDiffAt_extChartAt' this)
298299

299-
protected theorem contMDiffAt {x} : ContMDiffAt I 𝓘(ℝ) ∞ f x :=
300+
protected theorem contMDiffAt {x} : CMDiffAt ∞ f x :=
300301
f.contMDiff.contMDiffAt
301302

302303
protected theorem continuous : Continuous f :=
@@ -305,8 +306,7 @@ protected theorem continuous : Continuous f :=
305306
/-- If `f : SmoothBumpFunction I c` is a smooth bump function and `g : M → G` is a function smooth
306307
on the source of the chart at `c`, then `f • g` is smooth on the whole manifold. -/
307308
theorem contMDiff_smul {G} [NormedAddCommGroup G] [NormedSpace ℝ G] {g : M → G}
308-
(hg : ContMDiffOn I 𝓘(ℝ, G) ∞ g (chartAt H c).source) :
309-
ContMDiff I 𝓘(ℝ, G) ∞ fun x => f x • g x := by
309+
(hg : CMDiff[(chartAt H c).source] ∞ g) : CMDiff ∞ fun x => f x • g x := by
310310
refine contMDiff_of_tsupport fun x hx => ?_
311311
-- Porting note: was a more readable `calc`
312312
-- calc

Mathlib/Geometry/Manifold/Complex.lean

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ module
88
public import Mathlib.Analysis.Complex.AbsMax
99
public import Mathlib.Analysis.LocallyConvex.WithSeminorms
1010
public import Mathlib.Geometry.Manifold.MFDeriv.Basic
11+
import Mathlib.Geometry.Manifold.Notation
12+
import Mathlib.Geometry.Manifold.MFDeriv.SpecificFunctions
1113
public import Mathlib.Topology.LocallyConstant.Basic
1214

1315
/-! # Holomorphic functions on complex manifolds
@@ -53,7 +55,7 @@ variable {M : Type*} [TopologicalSpace M] [ChartedSpace H M]
5355
and the norm `‖f z‖` has a local maximum at `c`, then `‖f z‖` is locally constant in a neighborhood
5456
of `c`. This is a manifold version of `Complex.norm_eventually_eq_of_isLocalMax`. -/
5557
theorem Complex.norm_eventually_eq_of_mdifferentiableAt_of_isLocalMax {f : M → F} {c : M}
56-
(hd : ∀ᶠ z in 𝓝 c, MDifferentiableAt I 𝓘(ℂ, F) f z) (hc : IsLocalMax (norm ∘ f) c) :
58+
(hd : ∀ᶠ z in 𝓝 c, MDiffAt f z) (hc : IsLocalMax (norm ∘ f) c) :
5759
∀ᶠ y in 𝓝 c, ‖f y‖ = ‖f c‖ := by
5860
set e := extChartAt I c
5961
have hI : range I = univ := ModelWithCorners.Boundaryless.range_eq_univ
@@ -85,15 +87,15 @@ namespace MDifferentiableOn
8587
complex normed space. Let `f : E → F` be a function that is complex differentiable on `U`. Suppose
8688
that `‖f x‖` takes its maximum value on `U` at `c ∈ U`. Then `‖f x‖ = ‖f c‖` for all `x ∈ U`. -/
8789
theorem norm_eqOn_of_isPreconnected_of_isMaxOn {f : M → F} {U : Set M} {c : M}
88-
(hd : MDifferentiableOn I 𝓘(ℂ, F) f U) (hc : IsPreconnected U) (ho : IsOpen U)
90+
(hd : MDiff[U] f) (hc : IsPreconnected U) (ho : IsOpen U)
8991
(hcU : c ∈ U) (hm : IsMaxOn (norm ∘ f) U c) : EqOn (norm ∘ f) (const M ‖f c‖) U := by
9092
set V := {z ∈ U | ‖f z‖ = ‖f c‖}
9193
suffices U ⊆ V from fun x hx ↦ (this hx).2
9294
have hVo : IsOpen V := by
9395
refine isOpen_iff_mem_nhds.2 fun x hx ↦ inter_mem (ho.mem_nhds hx.1) ?_
9496
replace hm : IsLocalMax (‖f ·‖) x :=
9597
mem_of_superset (ho.mem_nhds hx.1) fun z hz ↦ (hm hz).out.trans_eq hx.2.symm
96-
replace hd : ∀ᶠ y in 𝓝 x, MDifferentiableAt I 𝓘(ℂ, F) f y :=
98+
replace hd : ∀ᶠ y in 𝓝 x, MDiffAt f y :=
9799
(eventually_mem_nhds_iff.2 (ho.mem_nhds hx.1)).mono fun z ↦ hd.mdifferentiableAt
98100
exact (Complex.norm_eventually_eq_of_mdifferentiableAt_of_isLocalMax hd hm).mono fun _ ↦
99101
(Eq.trans · hx.2)
@@ -110,25 +112,24 @@ that `‖f x‖` takes its maximum value on `U` at `c ∈ U`. Then `f x = f c` f
110112
111113
TODO: change assumption from `IsMaxOn` to `IsLocalMax`. -/
112114
theorem eqOn_of_isPreconnected_of_isMaxOn_norm [StrictConvexSpace ℝ F] {f : M → F} {U : Set M}
113-
{c : M} (hd : MDifferentiableOn I 𝓘(ℂ, F) f U) (hc : IsPreconnected U) (ho : IsOpen U)
115+
{c : M} (hd : MDiff[U] f) (hc : IsPreconnected U) (ho : IsOpen U)
114116
(hcU : c ∈ U) (hm : IsMaxOn (norm ∘ f) U c) : EqOn f (const M (f c)) U := fun x hx =>
115117
have H₁ : ‖f x‖ = ‖f c‖ := hd.norm_eqOn_of_isPreconnected_of_isMaxOn hc ho hcU hm hx
116-
-- TODO: Add `MDifferentiableOn.add` etc; does it mean importing `Manifold.Algebra.Monoid`?
117-
have hd' : MDifferentiableOn I 𝓘(ℂ, F) (f · + f c) U := fun x hx ↦
118-
⟨(hd x hx).1.add continuousWithinAt_const, (hd x hx).2.add_const _⟩
118+
have hd' : MDiff[U] (f · + f c) := hd.add mdifferentiableOn_const
119119
have H₂ : ‖f x + f c‖ = ‖f c + f c‖ :=
120120
hd'.norm_eqOn_of_isPreconnected_of_isMaxOn hc ho hcU hm.norm_add_self hx
121121
eq_of_norm_eq_of_norm_add_eq H₁ <| by simp only [H₂, SameRay.rfl.norm_add, H₁, Function.const]
122122

123123
/-- If a function `f : M → F` from a complex manifold to a complex normed space is holomorphic on a
124124
(pre)connected compact open set, then it is a constant on this set. -/
125125
theorem apply_eq_of_isPreconnected_isCompact_isOpen {f : M → F} {U : Set M} {a b : M}
126-
(hd : MDifferentiableOn I 𝓘(ℂ, F) f U) (hpc : IsPreconnected U) (hc : IsCompact U)
126+
(hd : MDiff[U] f) (hpc : IsPreconnected U) (hc : IsCompact U)
127127
(ho : IsOpen U) (ha : a ∈ U) (hb : b ∈ U) : f a = f b := by
128128
refine ?_
129129
-- Subtract `f b` to avoid the assumption `[StrictConvexSpace ℝ F]`
130130
wlog hb₀ : f b = 0 generalizing f
131-
· have hd' : MDifferentiableOn I 𝓘(ℂ, F) (f · - f b) U := fun x hx ↦
131+
-- TODO: Add `MDifferentiableOn.sub` etc
132+
· have hd' : MDiff[U] (f · - f b) := fun x hx ↦
132133
⟨(hd x hx).1.sub continuousWithinAt_const, (hd x hx).2.sub_const _⟩
133134
simpa [sub_eq_zero] using this hd' (sub_self _)
134135
rcases hc.exists_isMaxOn ⟨a, ha⟩ hd.continuousOn.norm with ⟨c, hcU, hc⟩
@@ -153,7 +154,7 @@ namespace MDifferentiable
153154
variable [CompactSpace M]
154155

155156
/-- A holomorphic function on a compact complex manifold is locally constant. -/
156-
protected theorem isLocallyConstant {f : M → F} (hf : MDifferentiable I 𝓘(ℂ, F) f) :
157+
protected theorem isLocallyConstant {f : M → F} (hf : MDiff f) :
157158
IsLocallyConstant f :=
158159
haveI : LocallyConnectedSpace H := I.toHomeomorph.locallyConnectedSpace
159160
haveI : LocallyConnectedSpace M := ChartedSpace.locallyConnectedSpace H M
@@ -163,13 +164,13 @@ protected theorem isLocallyConstant {f : M → F} (hf : MDifferentiable I 𝓘(
163164

164165
/-- A holomorphic function on a compact connected complex manifold is constant. -/
165166
theorem apply_eq_of_compactSpace [PreconnectedSpace M] {f : M → F}
166-
(hf : MDifferentiable I 𝓘(ℂ, F) f) (a b : M) : f a = f b :=
167+
(hf : MDiff f) (a b : M) : f a = f b :=
167168
hf.isLocallyConstant.apply_eq_of_preconnectedSpace _ _
168169

169170
/-- A holomorphic function on a compact connected complex manifold is the constant function `f ≡ v`,
170171
for some value `v`. -/
171-
theorem exists_eq_const_of_compactSpace [PreconnectedSpace M] {f : M → F}
172-
(hf : MDifferentiable I 𝓘(ℂ, F) f) : ∃ v : F, f = Function.const M v :=
172+
theorem exists_eq_const_of_compactSpace [PreconnectedSpace M] {f : M → F} (hf : MDiff f) :
173+
∃ v : F, f = Function.const M v :=
173174
hf.isLocallyConstant.exists_eq_const
174175

175176
end MDifferentiable

Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ We show that the model with corners, charts, extended charts and their inverses
1414
and that local structomorphisms are `C^n` with `C^n` inverses.
1515
-/
1616

17+
assert_not_exists mfderiv
18+
1719
public section
1820

1921
open Set ChartedSpace IsManifold

Mathlib/Geometry/Manifold/ContMDiff/Basic.lean

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ chain rule, manifolds, higher derivative
2525

2626
public section
2727

28+
assert_not_exists mfderiv
29+
2830
open Filter Function Set Topology
2931
open scoped Manifold ContDiff
3032

Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ This file contains results about smoothness of standard maps associated to produ
2020
2121
-/
2222

23+
assert_not_exists mfderiv
24+
2325
public section
2426

2527
open Set Function Filter ChartedSpace

Mathlib/Geometry/Manifold/ContMDiffMap.lean

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Authors: Nicolò Cavalleri
66
module
77

88
public import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace
9+
public import Mathlib.Geometry.Manifold.Notation
910

1011
/-!
1112
# `C^n` bundled maps
@@ -28,12 +29,14 @@ variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] {E : Type*} [NormedAddCom
2829
[NormedAddCommGroup F] [NormedSpace 𝕜 F] {G : Type*} [TopologicalSpace G]
2930
{J : ModelWithCorners 𝕜 F G} {N : Type*} [TopologicalSpace N] [ChartedSpace G N] (n : WithTop ℕ∞)
3031

32+
open scoped Manifold
33+
3134
variable (I I') in
3235
/-- Bundled `n` times continuously differentiable maps,
3336
denoted as `C^n(I, M; I', M')` and `C^n(I, M; k)` (when the target is a normed space `k` with
3437
the trivial model) in the `Manifold` namespace. -/
3538
def ContMDiffMap :=
36-
{ f : M → M' // ContMDiff I I' n f }
39+
{ f : M → M' // CMDiff n f }
3740

3841
@[inherit_doc]
3942
scoped[Manifold] notation "C^" n "⟮" I ", " M "; " I' ", " M' "⟯" => ContMDiffMap I I' M M' n
@@ -52,15 +55,14 @@ instance instFunLike : FunLike C^n⟮I, M; I', M'⟯ M M' where
5255
coe := Subtype.val
5356
coe_injective' := Subtype.coe_injective
5457

55-
protected theorem contMDiff (f : C^n⟮I, M; I', M'⟯) : ContMDiff I I' n f :=
56-
f.prop
58+
protected theorem contMDiff (f : C^n⟮I, M; I', M'⟯) : CMDiff n f := f.prop
5759

5860
attribute [to_additive_ignore_args 21] ContMDiffMap ContMDiffMap.instFunLike
5961

6062
variable {f g : C^n⟮I, M; I', M'⟯}
6163

6264
@[simp]
63-
theorem coeFn_mk (f : M → M') (hf : ContMDiff I I' n f) :
65+
theorem coeFn_mk (f : M → M') (hf : CMDiff n f) :
6466
DFunLike.coe (F := C^n⟮I, M; I', M'⟯) ⟨f, hf⟩ = f :=
6567
rfl
6668

Mathlib/Geometry/Manifold/Diffeomorph.lean

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,9 @@ variable (I I' M M' n)
7979
/-- `n`-times continuously differentiable diffeomorphism between `M` and `M'` with respect to `I`
8080
and `I'`, denoted as `M ≃ₘ^n⟮I, I'⟯ M'` (in the `Manifold` namespace). -/
8181
structure Diffeomorph extends M ≃ M' where
82-
protected contMDiff_toFun : ContMDiff I I' n toEquiv
83-
protected contMDiff_invFun : ContMDiff I' I n toEquiv.symm
82+
protected contMDiff_toFun : CMDiff n toEquiv
83+
protected contMDiff_invFun : CMDiff n toEquiv.symm
84+
8485

8586
end Defs
8687

@@ -121,23 +122,22 @@ instance : Coe (M ≃ₘ^n⟮I, I'⟯ M') C^n⟮I, M; I', M'⟯ :=
121122
protected theorem continuous (h : M ≃ₘ^n⟮I, I'⟯ M') : Continuous h :=
122123
h.contMDiff_toFun.continuous
123124

124-
protected theorem contMDiff (h : M ≃ₘ^n⟮I, I'⟯ M') : ContMDiff I I' n h :=
125+
protected theorem contMDiff (h : M ≃ₘ^n⟮I, I'⟯ M') : CMDiff n h :=
125126
h.contMDiff_toFun
126127

127-
protected theorem contMDiffAt (h : M ≃ₘ^n⟮I, I'⟯ M') {x} : ContMDiffAt I I' n h x :=
128+
protected theorem contMDiffAt (h : M ≃ₘ^n⟮I, I'⟯ M') {x} : CMDiffAt n h x :=
128129
h.contMDiff.contMDiffAt
129130

130-
protected theorem contMDiffWithinAt (h : M ≃ₘ^n⟮I, I'⟯ M') {s x} : ContMDiffWithinAt I I' n h s x :=
131+
protected theorem contMDiffWithinAt (h : M ≃ₘ^n⟮I, I'⟯ M') {s x} : CMDiffAt[s] n h x :=
131132
h.contMDiffAt.contMDiffWithinAt
132133

133134
protected theorem contDiff (h : E ≃ₘ^n⟮𝓘(𝕜, E), 𝓘(𝕜, E')⟯ E') : ContDiff 𝕜 n h :=
134135
h.contMDiff.contDiff
135136

136-
protected theorem mdifferentiable (h : M ≃ₘ^n⟮I, I'⟯ M') (hn : n ≠ 0) : MDifferentiable I I' h :=
137+
protected theorem mdifferentiable (h : M ≃ₘ^n⟮I, I'⟯ M') (hn : n ≠ 0) : MDiff h :=
137138
h.contMDiff.mdifferentiable hn
138139

139-
protected theorem mdifferentiableOn (h : M ≃ₘ^n⟮I, I'⟯ M') (s : Set M) (hn : n ≠ 0) :
140-
MDifferentiableOn I I' h s :=
140+
protected theorem mdifferentiableOn (h : M ≃ₘ^n⟮I, I'⟯ M') (s : Set M) (hn : n ≠ 0) : MDiff[s] h :=
141141
(h.mdifferentiable hn).mdifferentiableOn
142142

143143
@[simp]
@@ -284,7 +284,7 @@ theorem coe_toHomeomorph_symm (h : M ≃ₘ^n⟮I, J⟯ N) : ⇑h.toHomeomorph.s
284284
@[simp]
285285
theorem contMDiffWithinAt_comp_diffeomorph_iff {m} (h : M ≃ₘ^n⟮I, J⟯ N) {f : N → M'} {s x}
286286
(hm : m ≤ n) :
287-
ContMDiffWithinAt I I' m (f ∘ h) s x ↔ ContMDiffWithinAt J I' m f (h.symm ⁻¹' s) (h x) := by
287+
CMDiffAt[s] m (f ∘ h) x ↔ CMDiffAt[h.symm ⁻¹' s] m f (h x) := by
288288
constructor
289289
· intro Hfh
290290
rw [← h.symm_apply_apply x] at Hfh
@@ -295,42 +295,42 @@ theorem contMDiffWithinAt_comp_diffeomorph_iff {m} (h : M ≃ₘ^n⟮I, J⟯ N)
295295

296296
@[simp]
297297
theorem contMDiffOn_comp_diffeomorph_iff {m} (h : M ≃ₘ^n⟮I, J⟯ N) {f : N → M'} {s} (hm : m ≤ n) :
298-
ContMDiffOn I I' m (f ∘ h) s ↔ ContMDiffOn J I' m f (h.symm ⁻¹' s) :=
298+
CMDiff[s] m (f ∘ h) ↔ CMDiff[h.symm ⁻¹' s] m f :=
299299
h.toEquiv.forall_congr fun {_} => by
300300
simp only [hm, coe_toEquiv, h.symm_apply_apply, contMDiffWithinAt_comp_diffeomorph_iff,
301301
mem_preimage]
302302

303303
@[simp]
304304
theorem contMDiffAt_comp_diffeomorph_iff {m} (h : M ≃ₘ^n⟮I, J⟯ N) {f : N → M'} {x} (hm : m ≤ n) :
305-
ContMDiffAt I I' m (f ∘ h) x ↔ ContMDiffAt J I' m f (h x) :=
305+
CMDiffAt m (f ∘ h) x ↔ CMDiffAt m f (h x) :=
306306
h.contMDiffWithinAt_comp_diffeomorph_iff hm
307307

308308
@[simp]
309309
theorem contMDiff_comp_diffeomorph_iff {m} (h : M ≃ₘ^n⟮I, J⟯ N) {f : N → M'} (hm : m ≤ n) :
310-
ContMDiff I I' m (f ∘ h) ↔ ContMDiff J I' m f :=
310+
CMDiff m (f ∘ h) ↔ CMDiff m f :=
311311
h.toEquiv.forall_congr fun _ ↦ h.contMDiffAt_comp_diffeomorph_iff hm
312312

313313
@[simp]
314314
theorem contMDiffWithinAt_diffeomorph_comp_iff {m} (h : M ≃ₘ^n⟮I, J⟯ N) {f : M' → M} (hm : m ≤ n)
315-
{s x} : ContMDiffWithinAt I' J m (h ∘ f) s x ↔ ContMDiffWithinAt I' I m f s x :=
315+
{s x} : CMDiffAt[s] m (h ∘ f) x ↔ CMDiffAt[s] m f x :=
316316
fun Hhf => by
317317
simpa only [Function.comp_def, h.symm_apply_apply] using
318318
(h.symm.contMDiffAt.of_le hm).comp_contMDiffWithinAt _ Hhf,
319319
fun Hf => (h.contMDiffAt.of_le hm).comp_contMDiffWithinAt _ Hf⟩
320320

321321
@[simp]
322322
theorem contMDiffAt_diffeomorph_comp_iff {m} (h : M ≃ₘ^n⟮I, J⟯ N) {f : M' → M} (hm : m ≤ n) {x} :
323-
ContMDiffAt I' J m (h ∘ f) x ↔ ContMDiffAt I' I m f x :=
323+
CMDiffAt m (h ∘ f) x ↔ CMDiffAt m f x :=
324324
h.contMDiffWithinAt_diffeomorph_comp_iff hm
325325

326326
@[simp]
327327
theorem contMDiffOn_diffeomorph_comp_iff {m} (h : M ≃ₘ^n⟮I, J⟯ N) {f : M' → M} (hm : m ≤ n) {s} :
328-
ContMDiffOn I' J m (h ∘ f) s ↔ ContMDiffOn I' I m f s :=
328+
CMDiff[s] m (h ∘ f) ↔ CMDiff[s] m f :=
329329
forall₂_congr fun _ _ => h.contMDiffWithinAt_diffeomorph_comp_iff hm
330330

331331
@[simp]
332332
theorem contMDiff_diffeomorph_comp_iff {m} (h : M ≃ₘ^n⟮I, J⟯ N) {f : M' → M} (hm : m ≤ n) :
333-
ContMDiff I' J m (h ∘ f) ↔ ContMDiff I' I m f :=
333+
CMDiff m (h ∘ f) ↔ CMDiff m f :=
334334
forall_congr' fun _ => h.contMDiffWithinAt_diffeomorph_comp_iff hm
335335

336336
theorem toOpenPartialHomeomorph_mdifferentiable (h : M ≃ₘ^n⟮I, J⟯ N) (hn : n ≠ 0) :
@@ -489,43 +489,42 @@ variable {I M}
489489
@[simp]
490490
theorem contMDiffWithinAt_transContinuousLinearEquiv_right {f : M' → M} {x s} :
491491
ContMDiffWithinAt I' (I.transContinuousLinearEquiv e) n f s x
492-
ContMDiffWithinAt I' I n f s x :=
492+
CMDiffAt[s] n f x :=
493493
(toTransContinuousLinearEquiv I M e).contMDiffWithinAt_diffeomorph_comp_iff le_rfl
494494

495495
@[simp]
496496
theorem contMDiffAt_transContinuousLinearEquiv_right {f : M' → M} {x} :
497-
ContMDiffAt I' (I.transContinuousLinearEquiv e) n f x ↔ ContMDiffAt I' I n f x :=
497+
ContMDiffAt I' (I.transContinuousLinearEquiv e) n f x ↔ CMDiffAt n f x :=
498498
(toTransContinuousLinearEquiv I M e).contMDiffAt_diffeomorph_comp_iff le_rfl
499499

500500
@[simp]
501501
theorem contMDiffOn_transContinuousLinearEquiv_right {f : M' → M} {s} :
502-
ContMDiffOn I' (I.transContinuousLinearEquiv e) n f s ↔ ContMDiffOn I' I n f s :=
502+
ContMDiffOn I' (I.transContinuousLinearEquiv e) n f s ↔ CMDiff[s] n f :=
503503
(toTransContinuousLinearEquiv I M e).contMDiffOn_diffeomorph_comp_iff le_rfl
504504

505505
@[simp]
506506
theorem contMDiff_transContinuousLinearEquiv_right {f : M' → M} :
507-
ContMDiff I' (I.transContinuousLinearEquiv e) n f ↔ ContMDiff I' I n f :=
507+
ContMDiff I' (I.transContinuousLinearEquiv e) n f ↔ CMDiff n f :=
508508
(toTransContinuousLinearEquiv I M e).contMDiff_diffeomorph_comp_iff le_rfl
509509

510510
@[simp]
511511
theorem contMDiffWithinAt_transContinuousLinearEquiv_left {f : M → M'} {x s} :
512-
ContMDiffWithinAt (I.transContinuousLinearEquiv e) I' n f s x
513-
↔ ContMDiffWithinAt I I' n f s x :=
512+
ContMDiffWithinAt (I.transContinuousLinearEquiv e) I' n f s x ↔ CMDiffAt[s] n f x :=
514513
((toTransContinuousLinearEquiv I M e).contMDiffWithinAt_comp_diffeomorph_iff le_rfl).symm
515514

516515
@[simp]
517516
theorem contMDiffAt_transContinuousLinearEquiv_left {f : M → M'} {x} :
518-
ContMDiffAt (I.transContinuousLinearEquiv e) I' n f x ↔ ContMDiffAt I I' n f x :=
517+
ContMDiffAt (I.transContinuousLinearEquiv e) I' n f x ↔ CMDiffAt n f x :=
519518
((toTransContinuousLinearEquiv I M e).contMDiffAt_comp_diffeomorph_iff le_rfl).symm
520519

521520
@[simp]
522521
theorem contMDiffOn_transContinuousLinearEquiv_left {f : M → M'} {s} :
523-
ContMDiffOn (I.transContinuousLinearEquiv e) I' n f s ↔ ContMDiffOn I I' n f s :=
522+
ContMDiffOn (I.transContinuousLinearEquiv e) I' n f s ↔ CMDiff[s] n f :=
524523
((toTransContinuousLinearEquiv I M e).contMDiffOn_comp_diffeomorph_iff le_rfl).symm
525524

526525
@[simp]
527526
theorem contMDiff_transContinuousLinearEquiv_left {f : M → M'} :
528-
ContMDiff (I.transContinuousLinearEquiv e) I' n f ↔ ContMDiff I I' n f :=
527+
ContMDiff (I.transContinuousLinearEquiv e) I' n f ↔ CMDiff n f :=
529528
((toTransContinuousLinearEquiv I M e).contMDiff_comp_diffeomorph_iff le_rfl).symm
530529

531530
end ContinuousLinearEquiv

0 commit comments

Comments
 (0)