@@ -47,42 +47,66 @@ variable {𝕜 : Type*} [NontriviallyNormedField 𝕜]
47
47
48
48
section ProdMk
49
49
50
- theorem ContMDiffWithinAt.prod_mk {f : M → M'} {g : M → N'} (hf : ContMDiffWithinAt I I' n f s x)
50
+ theorem ContMDiffWithinAt.prodMk {f : M → M'} {g : M → N'} (hf : ContMDiffWithinAt I I' n f s x)
51
51
(hg : ContMDiffWithinAt I J' n g s x) :
52
52
ContMDiffWithinAt I (I'.prod J') n (fun x => (f x, g x)) s x := by
53
53
rw [contMDiffWithinAt_iff] at *
54
54
exact ⟨hf.1 .prod hg.1 , hf.2 .prod hg.2 ⟩
55
55
56
- theorem ContMDiffWithinAt.prod_mk_space {f : M → E'} {g : M → F'}
56
+ @[deprecated (since := "2025-03-08")]
57
+ alias ContMDiffWithinAt.prod_mk := ContMDiffWithinAt.prodMk
58
+
59
+ theorem ContMDiffWithinAt.prodMk_space {f : M → E'} {g : M → F'}
57
60
(hf : ContMDiffWithinAt I 𝓘(𝕜, E') n f s x) (hg : ContMDiffWithinAt I 𝓘(𝕜, F') n g s x) :
58
61
ContMDiffWithinAt I 𝓘(𝕜, E' × F') n (fun x => (f x, g x)) s x := by
59
62
rw [contMDiffWithinAt_iff] at *
60
63
exact ⟨hf.1 .prod hg.1 , hf.2 .prod hg.2 ⟩
61
64
62
- nonrec theorem ContMDiffAt.prod_mk {f : M → M'} {g : M → N'} (hf : ContMDiffAt I I' n f x)
65
+ @[deprecated (since := "2025-03-08")]
66
+ alias ContMDiffWithinAt.prod_mk_space := ContMDiffWithinAt.prodMk_space
67
+
68
+ nonrec theorem ContMDiffAt.prodMk {f : M → M'} {g : M → N'} (hf : ContMDiffAt I I' n f x)
63
69
(hg : ContMDiffAt I J' n g x) : ContMDiffAt I (I'.prod J') n (fun x => (f x, g x)) x :=
64
- hf.prod_mk hg
70
+ hf.prodMk hg
65
71
66
- nonrec theorem ContMDiffAt.prod_mk_space {f : M → E'} {g : M → F'}
72
+ @[deprecated (since := "2025-03-08")]
73
+ alias ContMDiffAt.prod_mk := ContMDiffAt.prodMk
74
+
75
+ nonrec theorem ContMDiffAt.prodMk_space {f : M → E'} {g : M → F'}
67
76
(hf : ContMDiffAt I 𝓘(𝕜, E') n f x) (hg : ContMDiffAt I 𝓘(𝕜, F') n g x) :
68
77
ContMDiffAt I 𝓘(𝕜, E' × F') n (fun x => (f x, g x)) x :=
69
- hf.prod_mk_space hg
78
+ hf.prodMk_space hg
79
+
80
+ @[deprecated (since := "2025-03-08")]
81
+ alias ContMDiffAt.prod_mk_space := ContMDiffAt.prodMk_space
70
82
71
- theorem ContMDiffOn.prod_mk {f : M → M'} {g : M → N'} (hf : ContMDiffOn I I' n f s)
83
+ theorem ContMDiffOn.prodMk {f : M → M'} {g : M → N'} (hf : ContMDiffOn I I' n f s)
72
84
(hg : ContMDiffOn I J' n g s) : ContMDiffOn I (I'.prod J') n (fun x => (f x, g x)) s :=
73
- fun x hx => (hf x hx).prod_mk (hg x hx)
85
+ fun x hx => (hf x hx).prodMk (hg x hx)
74
86
75
- theorem ContMDiffOn.prod_mk_space {f : M → E'} {g : M → F'} (hf : ContMDiffOn I 𝓘(𝕜, E') n f s)
87
+ @[deprecated (since := "2025-03-08")]
88
+ alias ContMDiffOn.prod_mk := ContMDiffOn.prodMk
89
+
90
+ theorem ContMDiffOn.prodMk_space {f : M → E'} {g : M → F'} (hf : ContMDiffOn I 𝓘(𝕜, E') n f s)
76
91
(hg : ContMDiffOn I 𝓘(𝕜, F') n g s) : ContMDiffOn I 𝓘(𝕜, E' × F') n (fun x => (f x, g x)) s :=
77
- fun x hx => (hf x hx).prod_mk_space (hg x hx)
92
+ fun x hx => (hf x hx).prodMk_space (hg x hx)
93
+
94
+ @[deprecated (since := "2025-03-08")]
95
+ alias ContMDiffOn.prod_mk_space := ContMDiffOn.prodMk_space
78
96
79
- nonrec theorem ContMDiff.prod_mk {f : M → M'} {g : M → N'} (hf : ContMDiff I I' n f)
97
+ nonrec theorem ContMDiff.prodMk {f : M → M'} {g : M → N'} (hf : ContMDiff I I' n f)
80
98
(hg : ContMDiff I J' n g) : ContMDiff I (I'.prod J') n fun x => (f x, g x) := fun x =>
81
- (hf x).prod_mk (hg x)
99
+ (hf x).prodMk (hg x)
100
+
101
+ @[deprecated (since := "2025-03-08")]
102
+ alias ContMDiff.prod_mk := ContMDiff.prodMk
82
103
83
- theorem ContMDiff.prod_mk_space {f : M → E'} {g : M → F'} (hf : ContMDiff I 𝓘(𝕜, E') n f)
104
+ theorem ContMDiff.prodMk_space {f : M → E'} {g : M → F'} (hf : ContMDiff I 𝓘(𝕜, E') n f)
84
105
(hg : ContMDiff I 𝓘(𝕜, F') n g) : ContMDiff I 𝓘(𝕜, E' × F') n fun x => (f x, g x) := fun x =>
85
- (hf x).prod_mk_space (hg x)
106
+ (hf x).prodMk_space (hg x)
107
+
108
+ @[deprecated (since := "2025-03-08")]
109
+ alias ContMDiff.prod_mk_space := ContMDiff.prodMk_space
86
110
87
111
@[deprecated (since := "2024-11-20")] alias SmoothWithinAt.prod_mk := ContMDiffWithinAt.prod_mk
88
112
@@ -206,7 +230,7 @@ end Projections
206
230
theorem contMDiffWithinAt_prod_iff (f : M → M' × N') :
207
231
ContMDiffWithinAt I (I'.prod J') n f s x ↔
208
232
ContMDiffWithinAt I I' n (Prod.fst ∘ f) s x ∧ ContMDiffWithinAt I J' n (Prod.snd ∘ f) s x :=
209
- ⟨fun h => ⟨h.fst, h.snd⟩, fun h => h.1 .prod_mk h.2 ⟩
233
+ ⟨fun h => ⟨h.fst, h.snd⟩, fun h => h.1 .prodMk h.2 ⟩
210
234
211
235
theorem contMDiffWithinAt_prod_module_iff (f : M → F₁ × F₂) :
212
236
ContMDiffWithinAt I 𝓘(𝕜, F₁ × F₂) n f s x ↔
@@ -242,7 +266,7 @@ theorem contMDiffOn_prod_module_iff (f : M → F₁ × F₂) :
242
266
theorem contMDiff_prod_iff (f : M → M' × N') :
243
267
ContMDiff I (I'.prod J') n f ↔
244
268
ContMDiff I I' n (Prod.fst ∘ f) ∧ ContMDiff I J' n (Prod.snd ∘ f) :=
245
- ⟨fun h => ⟨h.fst, h.snd⟩, fun h => by convert h.1 .prod_mk h.2 ⟩
269
+ ⟨fun h => ⟨h.fst, h.snd⟩, fun h => by convert h.1 .prodMk h.2 ⟩
246
270
247
271
theorem contMDiff_prod_module_iff (f : M → F₁ × F₂) :
248
272
ContMDiff I 𝓘(𝕜, F₁ × F₂) n f ↔
@@ -253,7 +277,7 @@ theorem contMDiff_prod_module_iff (f : M → F₁ × F₂) :
253
277
theorem contMDiff_prod_assoc :
254
278
ContMDiff ((I.prod I').prod J) (I.prod (I'.prod J)) n
255
279
fun x : (M × M') × N => (x.1 .1 , x.1 .2 , x.2 ) :=
256
- contMDiff_fst.fst.prod_mk <| contMDiff_fst.snd.prod_mk contMDiff_snd
280
+ contMDiff_fst.fst.prodMk <| contMDiff_fst.snd.prodMk contMDiff_snd
257
281
258
282
@[deprecated (since := "2024-11-20")] alias smoothAt_prod_iff := contMDiffAt_prod_iff
259
283
@@ -267,37 +291,52 @@ variable {g : N → N'} {r : Set N} {y : N}
267
291
268
292
/-- The product map of two `C^n` functions within a set at a point is `C^n`
269
293
within the product set at the product point. -/
270
- theorem ContMDiffWithinAt.prod_map ' {p : M × N} (hf : ContMDiffWithinAt I I' n f s p.1 )
294
+ theorem ContMDiffWithinAt.prodMap ' {p : M × N} (hf : ContMDiffWithinAt I I' n f s p.1 )
271
295
(hg : ContMDiffWithinAt J J' n g r p.2 ) :
272
296
ContMDiffWithinAt (I.prod J) (I'.prod J') n (Prod.map f g) (s ×ˢ r) p :=
273
- (hf.comp p contMDiffWithinAt_fst (prod_subset_preimage_fst _ _)).prod_mk <|
274
- hg.comp p contMDiffWithinAt_snd (prod_subset_preimage_snd _ _)
297
+ (hf.comp p contMDiffWithinAt_fst mapsTo_fst_prod).prodMk <|
298
+ hg.comp p contMDiffWithinAt_snd mapsTo_snd_prod
299
+
300
+ @[deprecated (since := "2025-03-08")]
301
+ alias ContMDiffWithinAt.prod_map' := ContMDiffWithinAt.prodMap'
275
302
276
- theorem ContMDiffWithinAt.prod_map (hf : ContMDiffWithinAt I I' n f s x)
303
+ theorem ContMDiffWithinAt.prodMap (hf : ContMDiffWithinAt I I' n f s x)
277
304
(hg : ContMDiffWithinAt J J' n g r y) :
278
305
ContMDiffWithinAt (I.prod J) (I'.prod J') n (Prod.map f g) (s ×ˢ r) (x, y) :=
279
- ContMDiffWithinAt.prod_map ' hf hg
306
+ ContMDiffWithinAt.prodMap ' hf hg
280
307
281
- theorem ContMDiffAt.prod_map (hf : ContMDiffAt I I' n f x) (hg : ContMDiffAt J J' n g y) :
308
+ @[deprecated (since := "2025-03-08")]
309
+ alias ContMDiffWithinAt.prod_map := ContMDiffWithinAt.prodMap
310
+
311
+ theorem ContMDiffAt.prodMap (hf : ContMDiffAt I I' n f x) (hg : ContMDiffAt J J' n g y) :
282
312
ContMDiffAt (I.prod J) (I'.prod J') n (Prod.map f g) (x, y) := by
283
- rw [← contMDiffWithinAt_univ] at *
284
- convert hf.prod_map hg
285
- exact univ_prod_univ.symm
313
+ simp only [← contMDiffWithinAt_univ, ← univ_prod_univ] at *
314
+ exact hf.prodMap hg
315
+
316
+ @[deprecated (since := "2025-03-08")]
317
+ alias ContMDiffAt.prod_map := ContMDiffAt.prodMap
286
318
287
- theorem ContMDiffAt.prod_map' {p : M × N} (hf : ContMDiffAt I I' n f p.1 )
288
- (hg : ContMDiffAt J J' n g p.2 ) : ContMDiffAt (I.prod J) (I'.prod J') n (Prod.map f g) p := by
289
- rcases p with ⟨⟩
290
- exact hf.prod_map hg
319
+ theorem ContMDiffAt.prodMap' {p : M × N} (hf : ContMDiffAt I I' n f p.1 )
320
+ (hg : ContMDiffAt J J' n g p.2 ) : ContMDiffAt (I.prod J) (I'.prod J') n (Prod.map f g) p :=
321
+ hf.prodMap hg
291
322
292
- theorem ContMDiffOn.prod_map (hf : ContMDiffOn I I' n f s) (hg : ContMDiffOn J J' n g r) :
323
+ @[deprecated (since := "2025-03-08")]
324
+ alias ContMDiffAt.prod_map' := ContMDiffAt.prodMap'
325
+
326
+ theorem ContMDiffOn.prodMap (hf : ContMDiffOn I I' n f s) (hg : ContMDiffOn J J' n g r) :
293
327
ContMDiffOn (I.prod J) (I'.prod J') n (Prod.map f g) (s ×ˢ r) :=
294
- (hf.comp contMDiffOn_fst (prod_subset_preimage_fst _ _)).prod_mk <|
295
- hg.comp contMDiffOn_snd (prod_subset_preimage_snd _ _)
328
+ (hf.comp contMDiffOn_fst mapsTo_fst_prod).prodMk <| hg.comp contMDiffOn_snd mapsTo_snd_prod
329
+
330
+ @[deprecated (since := "2025-03-08")]
331
+ alias ContMDiffOn.prod_map := ContMDiffOn.prodMap
296
332
297
- theorem ContMDiff.prod_map (hf : ContMDiff I I' n f) (hg : ContMDiff J J' n g) :
333
+ theorem ContMDiff.prodMap (hf : ContMDiff I I' n f) (hg : ContMDiff J J' n g) :
298
334
ContMDiff (I.prod J) (I'.prod J') n (Prod.map f g) := by
299
335
intro p
300
- exact (hf p.1 ).prod_map' (hg p.2 )
336
+ exact (hf p.1 ).prodMap' (hg p.2 )
337
+
338
+ @[deprecated (since := "2025-03-08")]
339
+ alias ContMDiff.prod_map := ContMDiff.prodMap
301
340
302
341
@[deprecated (since := "2024-11-20")] alias SmoothWithinAt.prod_map := ContMDiffWithinAt.prod_map
303
342
0 commit comments