@@ -771,6 +771,10 @@ variable {𝕜}
771
771
lemma iterated_fderiv_within_zero_eq_comp :
772
772
iterated_fderiv_within 𝕜 0 f s = (continuous_multilinear_curry_fin0 𝕜 E F).symm ∘ f := rfl
773
773
774
+ lemma norm_iterated_fderiv_within_zero :
775
+ ∥iterated_fderiv_within 𝕜 0 f s x∥ = ∥f x∥ :=
776
+ by rw [iterated_fderiv_within_zero_eq_comp, linear_isometry_equiv.norm_map]
777
+
774
778
lemma iterated_fderiv_within_succ_apply_left {n : ℕ} (m : fin (n + 1 ) → E):
775
779
(iterated_fderiv_within 𝕜 (n + 1 ) f s x : (fin (n + 1 ) → E) → F) m
776
780
= (fderiv_within 𝕜 (iterated_fderiv_within 𝕜 n f s) s x : E → (E [×n]→L[𝕜] F))
@@ -1456,10 +1460,11 @@ lemma iterated_fderiv_zero_eq_comp :
1456
1460
1457
1461
lemma norm_iterated_fderiv_zero :
1458
1462
∥iterated_fderiv 𝕜 0 f x∥ = ∥f x∥ :=
1459
- begin
1460
- rw [←continuous_multilinear_map.fin0_apply_norm, iterated_fderiv_zero_apply],
1461
- exact fin.elim0',
1462
- end
1463
+ by rw [iterated_fderiv_zero_eq_comp, linear_isometry_equiv.norm_map]
1464
+
1465
+ lemma iterated_fderiv_with_zero_eq :
1466
+ iterated_fderiv_within 𝕜 0 f s = iterated_fderiv 𝕜 0 f :=
1467
+ by { ext, refl }
1463
1468
1464
1469
lemma iterated_fderiv_succ_apply_left {n : ℕ} (m : fin (n + 1 ) → E):
1465
1470
(iterated_fderiv 𝕜 (n + 1 ) f x : (fin (n + 1 ) → E) → F) m
@@ -1592,8 +1597,7 @@ theorem cont_diff_top_iff_fderiv :
1592
1597
cont_diff 𝕜 ∞ f ↔
1593
1598
differentiable 𝕜 f ∧ cont_diff 𝕜 ∞ (λ y, fderiv 𝕜 f y) :=
1594
1599
begin
1595
- simp [cont_diff_on_univ.symm, differentiable_on_univ.symm, fderiv_within_univ.symm,
1596
- - fderiv_within_univ],
1600
+ simp only [← cont_diff_on_univ, ← differentiable_on_univ, ← fderiv_within_univ],
1597
1601
rw cont_diff_on_top_iff_fderiv_within unique_diff_on_univ,
1598
1602
end
1599
1603
@@ -1607,13 +1611,10 @@ continuous. -/
1607
1611
lemma cont_diff.continuous_fderiv_apply
1608
1612
(h : cont_diff 𝕜 n f) (hn : 1 ≤ n) :
1609
1613
continuous (λp : E × E, (fderiv 𝕜 f p.1 : E → F) p.2 ) :=
1610
- begin
1611
- have A : continuous (λq : (E →L[𝕜] F) × E, q.1 q.2 ) := is_bounded_bilinear_map_apply.continuous,
1612
- have B : continuous (λp : E × E, (fderiv 𝕜 f p.1 , p.2 )),
1613
- { apply continuous.prod_mk _ continuous_snd,
1614
- exact continuous.comp (h.continuous_fderiv hn) continuous_fst },
1615
- exact A.comp B
1616
- end
1614
+ have A : continuous (λq : (E →L[𝕜] F) × E, q.1 q.2 ) := is_bounded_bilinear_map_apply.continuous,
1615
+ have B : continuous (λp : E × E, (fderiv 𝕜 f p.1 , p.2 )) :=
1616
+ ((h.continuous_fderiv hn).comp continuous_fst).prod_mk continuous_snd,
1617
+ A.comp B
1617
1618
1618
1619
/-! ### Constants -/
1619
1620
@@ -1634,7 +1635,7 @@ lemma cont_diff_zero_fun :
1634
1635
begin
1635
1636
apply cont_diff_of_differentiable_iterated_fderiv (λm hm, _),
1636
1637
rw iterated_fderiv_zero_fun,
1637
- apply differentiable_const (0 : (E [×m]→L[𝕜] F))
1638
+ exact differentiable_const (0 : (E [×m]→L[𝕜] F))
1638
1639
end
1639
1640
1640
1641
/--
@@ -2312,22 +2313,12 @@ lemma cont_diff_prod_assoc_symm : cont_diff 𝕜 ⊤ $ (equiv.prod_assoc E F G).
2312
2313
lemma cont_diff_on_fderiv_within_apply {m n : with_top ℕ} {s : set E}
2313
2314
{f : E → F} (hf : cont_diff_on 𝕜 n f s) (hs : unique_diff_on 𝕜 s) (hmn : m + 1 ≤ n) :
2314
2315
cont_diff_on 𝕜 m (λp : E × E, (fderiv_within 𝕜 f s p.1 : E →L[𝕜] F) p.2 ) (s ×ˢ univ) :=
2315
- begin
2316
- have A : cont_diff 𝕜 m (λp : (E →L[𝕜] F) × E, p.1 p.2 ),
2317
- { apply is_bounded_bilinear_map.cont_diff,
2318
- exact is_bounded_bilinear_map_apply },
2319
- have B : cont_diff_on 𝕜 m
2320
- (λ (p : E × E), ((fderiv_within 𝕜 f s p.fst), p.snd)) (s ×ˢ univ),
2321
- { apply cont_diff_on.prod _ _,
2322
- { have I : cont_diff_on 𝕜 m (λ (x : E), fderiv_within 𝕜 f s x) s :=
2323
- hf.fderiv_within hs hmn,
2324
- have J : cont_diff_on 𝕜 m (λ (x : E × E), x.1 ) (s ×ˢ univ) :=
2325
- cont_diff_fst.cont_diff_on,
2326
- exact cont_diff_on.comp I J (prod_subset_preimage_fst _ _) },
2327
- { apply cont_diff.cont_diff_on _ ,
2328
- apply is_bounded_linear_map.snd.cont_diff } },
2329
- exact A.comp_cont_diff_on B
2330
- end
2316
+ have I : cont_diff_on 𝕜 m (λ (x : E), fderiv_within 𝕜 f s x) s := hf.fderiv_within hs hmn,
2317
+ have J : cont_diff_on 𝕜 m (λ (x : E × E), x.1 ) (s ×ˢ univ) := cont_diff_fst.cont_diff_on,
2318
+ have A : cont_diff 𝕜 m (λp : (E →L[𝕜] F) × E, p.1 p.2 ) := is_bounded_bilinear_map_apply.cont_diff,
2319
+ have B : cont_diff_on 𝕜 m (λ (p : E × E), ((fderiv_within 𝕜 f s p.fst), p.snd)) (s ×ˢ univ) :=
2320
+ (I.comp J (prod_subset_preimage_fst _ _)).prod is_bounded_linear_map.snd.cont_diff.cont_diff_on,
2321
+ A.comp_cont_diff_on B
2331
2322
2332
2323
/-- The bundled derivative of a `C^{n+1}` function is `C^n`. -/
2333
2324
lemma cont_diff.cont_diff_fderiv_apply {f : E → F}
@@ -2605,7 +2596,7 @@ lemma cont_diff.sum
2605
2596
{ι : Type *} {f : ι → E → F} {s : finset ι}
2606
2597
(h : ∀ i ∈ s, cont_diff 𝕜 n (λ x, f i x)) :
2607
2598
cont_diff 𝕜 n (λ x, (∑ i in s, f i x)) :=
2608
- by simp [← cont_diff_on_univ] at *; exact cont_diff_on.sum h
2599
+ by simp only [← cont_diff_on_univ] at *; exact cont_diff_on.sum h
2609
2600
2610
2601
/-! ### Product of two functions -/
2611
2602
@@ -3340,9 +3331,7 @@ theorem cont_diff_on_succ_iff_deriv_of_open {n : ℕ} (hs : is_open s₂) :
3340
3331
begin
3341
3332
rw cont_diff_on_succ_iff_deriv_within hs.unique_diff_on,
3342
3333
congrm _ ∧ _,
3343
- apply cont_diff_on_congr,
3344
- assume x hx,
3345
- exact deriv_within_of_open hs hx
3334
+ exact cont_diff_on_congr (λ _, deriv_within_of_open hs)
3346
3335
end
3347
3336
3348
3337
/-- A function is `C^∞` on a domain with unique derivatives if and only if it is differentiable
@@ -3371,9 +3360,7 @@ theorem cont_diff_on_top_iff_deriv_of_open (hs : is_open s₂) :
3371
3360
begin
3372
3361
rw cont_diff_on_top_iff_deriv_within hs.unique_diff_on,
3373
3362
congrm _ ∧ _,
3374
- apply cont_diff_on_congr,
3375
- assume x hx,
3376
- exact deriv_within_of_open hs hx
3363
+ exact cont_diff_on_congr (λ _, deriv_within_of_open hs)
3377
3364
end
3378
3365
3379
3366
lemma cont_diff_on.deriv_within
@@ -3422,8 +3409,7 @@ theorem cont_diff_top_iff_deriv :
3422
3409
cont_diff 𝕜 ∞ f₂ ↔
3423
3410
differentiable 𝕜 f₂ ∧ cont_diff 𝕜 ∞ (deriv f₂) :=
3424
3411
begin
3425
- simp [cont_diff_on_univ.symm, differentiable_on_univ.symm, deriv_within_univ.symm,
3426
- - deriv_within_univ],
3412
+ simp only [← cont_diff_on_univ, ← differentiable_on_univ, ← deriv_within_univ],
3427
3413
rw cont_diff_on_top_iff_deriv_within unique_diff_on_univ,
3428
3414
end
3429
3415
0 commit comments