analysis.analytic.linear
β·
Mathlib.Analysis.Analytic.Linear
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,7 +3,7 @@ Copyright (c) 2021 Yury G. Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
-/
-import Mathbin.Analysis.Analytic.Basic
+import Analysis.Analytic.Basic
#align_import analysis.analytic.linear from "leanprover-community/mathlib"@"af471b9e3ce868f296626d33189b4ce730fa4c00"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,14 +2,11 @@
Copyright (c) 2021 Yury G. Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
-
-! This file was ported from Lean 3 source module analysis.analytic.linear
-! leanprover-community/mathlib commit af471b9e3ce868f296626d33189b4ce730fa4c00
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Analysis.Analytic.Basic
+#align_import analysis.analytic.linear from "leanprover-community/mathlib"@"af471b9e3ce868f296626d33189b4ce730fa4c00"
+
/-!
# Linear functions are analytic
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -44,16 +44,21 @@ def fpowerSeries (f : E βL[π] F) (x : E) : FormalMultilinearSeries π E F
#align continuous_linear_map.fpower_series ContinuousLinearMap.fpowerSeries
-/
+#print ContinuousLinearMap.fpowerSeries_apply_add_two /-
@[simp]
theorem fpowerSeries_apply_add_two (f : E βL[π] F) (x : E) (n : β) : f.fpowerSeries x (n + 2) = 0 :=
rfl
#align continuous_linear_map.fpower_series_apply_add_two ContinuousLinearMap.fpowerSeries_apply_add_two
+-/
+#print ContinuousLinearMap.fpowerSeries_radius /-
@[simp]
theorem fpowerSeries_radius (f : E βL[π] F) (x : E) : (f.fpowerSeries x).radius = β :=
(f.fpowerSeries x).radius_eq_top_of_forall_image_add_eq_zero 2 fun n => rfl
#align continuous_linear_map.fpower_series_radius ContinuousLinearMap.fpowerSeries_radius
+-/
+#print ContinuousLinearMap.hasFPowerSeriesOnBall /-
protected theorem hasFPowerSeriesOnBall (f : E βL[π] F) (x : E) :
HasFPowerSeriesOnBall f (f.fpowerSeries x) x β :=
{ r_le := by simp
@@ -61,15 +66,20 @@ protected theorem hasFPowerSeriesOnBall (f : E βL[π] F) (x : E) :
HasSum := fun y _ =>
(hasSum_nat_add_iff' 2).1 <| by simp [Finset.sum_range_succ, β sub_sub, hasSum_zero] }
#align continuous_linear_map.has_fpower_series_on_ball ContinuousLinearMap.hasFPowerSeriesOnBall
+-/
+#print ContinuousLinearMap.hasFPowerSeriesAt /-
protected theorem hasFPowerSeriesAt (f : E βL[π] F) (x : E) :
HasFPowerSeriesAt f (f.fpowerSeries x) x :=
β¨β, f.HasFPowerSeriesOnBall xβ©
#align continuous_linear_map.has_fpower_series_at ContinuousLinearMap.hasFPowerSeriesAt
+-/
+#print ContinuousLinearMap.analyticAt /-
protected theorem analyticAt (f : E βL[π] F) (x : E) : AnalyticAt π f x :=
(f.HasFPowerSeriesAt x).AnalyticAt
#align continuous_linear_map.analytic_at ContinuousLinearMap.analyticAt
+-/
#print ContinuousLinearMap.uncurryBilinear /-
/-- Reinterpret a bilinear map `f : E βL[π] F βL[π] G` as a multilinear map
@@ -83,11 +93,13 @@ def uncurryBilinear (f : E βL[π] F βL[π] G) : E Γ F[Γ2]βL[π] G
#align continuous_linear_map.uncurry_bilinear ContinuousLinearMap.uncurryBilinear
-/
+#print ContinuousLinearMap.uncurryBilinear_apply /-
@[simp]
theorem uncurryBilinear_apply (f : E βL[π] F βL[π] G) (m : Fin 2 β E Γ F) :
f.uncurryBilinear m = f (m 0).1 (m 1).2 :=
rfl
#align continuous_linear_map.uncurry_bilinear_apply ContinuousLinearMap.uncurryBilinear_apply
+-/
#print ContinuousLinearMap.fpowerSeriesBilinear /-
/-- Formal multilinear series expansion of a bilinear function `f : E βL[π] F βL[π] G`. -/
@@ -100,12 +112,15 @@ def fpowerSeriesBilinear (f : E βL[π] F βL[π] G) (x : E Γ F) : Formal
#align continuous_linear_map.fpower_series_bilinear ContinuousLinearMap.fpowerSeriesBilinear
-/
+#print ContinuousLinearMap.fpowerSeriesBilinear_radius /-
@[simp]
theorem fpowerSeriesBilinear_radius (f : E βL[π] F βL[π] G) (x : E Γ F) :
(f.fpowerSeriesBilinear x).radius = β :=
(f.fpowerSeriesBilinear x).radius_eq_top_of_forall_image_add_eq_zero 3 fun n => rfl
#align continuous_linear_map.fpower_series_bilinear_radius ContinuousLinearMap.fpowerSeriesBilinear_radius
+-/
+#print ContinuousLinearMap.hasFPowerSeriesOnBall_bilinear /-
protected theorem hasFPowerSeriesOnBall_bilinear (f : E βL[π] F βL[π] G) (x : E Γ F) :
HasFPowerSeriesOnBall (fun x : E Γ F => f x.1 x.2) (f.fpowerSeriesBilinear x) x β :=
{ r_le := by simp
@@ -117,16 +132,21 @@ protected theorem hasFPowerSeriesOnBall_bilinear (f : E βL[π] F βL[π]
f.map_add_add]
dsimp; simp only [add_comm, sub_self, hasSum_zero] }
#align continuous_linear_map.has_fpower_series_on_ball_bilinear ContinuousLinearMap.hasFPowerSeriesOnBall_bilinear
+-/
+#print ContinuousLinearMap.hasFPowerSeriesAt_bilinear /-
protected theorem hasFPowerSeriesAt_bilinear (f : E βL[π] F βL[π] G) (x : E Γ F) :
HasFPowerSeriesAt (fun x : E Γ F => f x.1 x.2) (f.fpowerSeriesBilinear x) x :=
β¨β, f.hasFPowerSeriesOnBall_bilinear xβ©
#align continuous_linear_map.has_fpower_series_at_bilinear ContinuousLinearMap.hasFPowerSeriesAt_bilinear
+-/
+#print ContinuousLinearMap.analyticAt_bilinear /-
protected theorem analyticAt_bilinear (f : E βL[π] F βL[π] G) (x : E Γ F) :
AnalyticAt π (fun x : E Γ F => f x.1 x.2) x :=
(f.hasFPowerSeriesAt_bilinear x).AnalyticAt
#align continuous_linear_map.analytic_at_bilinear ContinuousLinearMap.analyticAt_bilinear
+-/
end ContinuousLinearMap
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
! This file was ported from Lean 3 source module analysis.analytic.linear
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit af471b9e3ce868f296626d33189b4ce730fa4c00
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -13,6 +13,9 @@ import Mathbin.Analysis.Analytic.Basic
/-!
# Linear functions are analytic
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
In this file we prove that a `continuous_linear_map` defines an analytic function with
the formal power series `f x = f a + f (x - a)`.
-/
@@ -30,6 +33,7 @@ noncomputable section
namespace ContinuousLinearMap
+#print ContinuousLinearMap.fpowerSeries /-
/-- Formal power series of a continuous linear map `f : E βL[π] F` at `x : E`:
`f y = f x + f (y - x)`. -/
@[simp]
@@ -38,6 +42,7 @@ def fpowerSeries (f : E βL[π] F) (x : E) : FormalMultilinearSeries π E F
| 1 => (continuousMultilinearCurryFin1 π E F).symm f
| _ => 0
#align continuous_linear_map.fpower_series ContinuousLinearMap.fpowerSeries
+-/
@[simp]
theorem fpowerSeries_apply_add_two (f : E βL[π] F) (x : E) (n : β) : f.fpowerSeries x (n + 2) = 0 :=
@@ -66,6 +71,7 @@ protected theorem analyticAt (f : E βL[π] F) (x : E) : AnalyticAt π f x
(f.HasFPowerSeriesAt x).AnalyticAt
#align continuous_linear_map.analytic_at ContinuousLinearMap.analyticAt
+#print ContinuousLinearMap.uncurryBilinear /-
/-- Reinterpret a bilinear map `f : E βL[π] F βL[π] G` as a multilinear map
`(E Γ F) [Γ2]βL[π] G`. This multilinear map is the second term in the formal
multilinear series expansion of `uncurry f`. It is given by
@@ -75,6 +81,7 @@ def uncurryBilinear (f : E βL[π] F βL[π] G) : E Γ F[Γ2]βL[π] G
(β(continuousMultilinearCurryFin1 π (E Γ F) G).symm : (E Γ F βL[π] G) βL[π] _).comp <|
f.bilinearComp (fst _ _ _) (snd _ _ _)
#align continuous_linear_map.uncurry_bilinear ContinuousLinearMap.uncurryBilinear
+-/
@[simp]
theorem uncurryBilinear_apply (f : E βL[π] F βL[π] G) (m : Fin 2 β E Γ F) :
@@ -82,6 +89,7 @@ theorem uncurryBilinear_apply (f : E βL[π] F βL[π] G) (m : Fin 2 β E
rfl
#align continuous_linear_map.uncurry_bilinear_apply ContinuousLinearMap.uncurryBilinear_apply
+#print ContinuousLinearMap.fpowerSeriesBilinear /-
/-- Formal multilinear series expansion of a bilinear function `f : E βL[π] F βL[π] G`. -/
@[simp]
def fpowerSeriesBilinear (f : E βL[π] F βL[π] G) (x : E Γ F) : FormalMultilinearSeries π (E Γ F) G
@@ -90,6 +98,7 @@ def fpowerSeriesBilinear (f : E βL[π] F βL[π] G) (x : E Γ F) : Formal
| 2 => f.uncurryBilinear
| _ => 0
#align continuous_linear_map.fpower_series_bilinear ContinuousLinearMap.fpowerSeriesBilinear
+-/
@[simp]
theorem fpowerSeriesBilinear_radius (f : E βL[π] F βL[π] G) (x : E Γ F) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -49,21 +49,21 @@ theorem fpowerSeries_radius (f : E βL[π] F) (x : E) : (f.fpowerSeries x).ra
(f.fpowerSeries x).radius_eq_top_of_forall_image_add_eq_zero 2 fun n => rfl
#align continuous_linear_map.fpower_series_radius ContinuousLinearMap.fpowerSeries_radius
-protected theorem hasFpowerSeriesOnBall (f : E βL[π] F) (x : E) :
- HasFpowerSeriesOnBall f (f.fpowerSeries x) x β :=
+protected theorem hasFPowerSeriesOnBall (f : E βL[π] F) (x : E) :
+ HasFPowerSeriesOnBall f (f.fpowerSeries x) x β :=
{ r_le := by simp
r_pos := ENNReal.coe_lt_top
HasSum := fun y _ =>
(hasSum_nat_add_iff' 2).1 <| by simp [Finset.sum_range_succ, β sub_sub, hasSum_zero] }
-#align continuous_linear_map.has_fpower_series_on_ball ContinuousLinearMap.hasFpowerSeriesOnBall
+#align continuous_linear_map.has_fpower_series_on_ball ContinuousLinearMap.hasFPowerSeriesOnBall
-protected theorem hasFpowerSeriesAt (f : E βL[π] F) (x : E) :
- HasFpowerSeriesAt f (f.fpowerSeries x) x :=
- β¨β, f.HasFpowerSeriesOnBall xβ©
-#align continuous_linear_map.has_fpower_series_at ContinuousLinearMap.hasFpowerSeriesAt
+protected theorem hasFPowerSeriesAt (f : E βL[π] F) (x : E) :
+ HasFPowerSeriesAt f (f.fpowerSeries x) x :=
+ β¨β, f.HasFPowerSeriesOnBall xβ©
+#align continuous_linear_map.has_fpower_series_at ContinuousLinearMap.hasFPowerSeriesAt
protected theorem analyticAt (f : E βL[π] F) (x : E) : AnalyticAt π f x :=
- (f.HasFpowerSeriesAt x).AnalyticAt
+ (f.HasFPowerSeriesAt x).AnalyticAt
#align continuous_linear_map.analytic_at ContinuousLinearMap.analyticAt
/-- Reinterpret a bilinear map `f : E βL[π] F βL[π] G` as a multilinear map
@@ -97,8 +97,8 @@ theorem fpowerSeriesBilinear_radius (f : E βL[π] F βL[π] G) (x : E Γ
(f.fpowerSeriesBilinear x).radius_eq_top_of_forall_image_add_eq_zero 3 fun n => rfl
#align continuous_linear_map.fpower_series_bilinear_radius ContinuousLinearMap.fpowerSeriesBilinear_radius
-protected theorem hasFpowerSeriesOnBallBilinear (f : E βL[π] F βL[π] G) (x : E Γ F) :
- HasFpowerSeriesOnBall (fun x : E Γ F => f x.1 x.2) (f.fpowerSeriesBilinear x) x β :=
+protected theorem hasFPowerSeriesOnBall_bilinear (f : E βL[π] F βL[π] G) (x : E Γ F) :
+ HasFPowerSeriesOnBall (fun x : E Γ F => f x.1 x.2) (f.fpowerSeriesBilinear x) x β :=
{ r_le := by simp
r_pos := ENNReal.coe_lt_top
HasSum := fun y _ =>
@@ -107,16 +107,16 @@ protected theorem hasFpowerSeriesOnBallBilinear (f : E βL[π] F βL[π] G
simp only [Finset.sum_range_succ, Finset.sum_range_one, Prod.fst_add, Prod.snd_add,
f.map_add_add]
dsimp; simp only [add_comm, sub_self, hasSum_zero] }
-#align continuous_linear_map.has_fpower_series_on_ball_bilinear ContinuousLinearMap.hasFpowerSeriesOnBallBilinear
+#align continuous_linear_map.has_fpower_series_on_ball_bilinear ContinuousLinearMap.hasFPowerSeriesOnBall_bilinear
-protected theorem hasFpowerSeriesAtBilinear (f : E βL[π] F βL[π] G) (x : E Γ F) :
- HasFpowerSeriesAt (fun x : E Γ F => f x.1 x.2) (f.fpowerSeriesBilinear x) x :=
- β¨β, f.hasFpowerSeriesOnBallBilinear xβ©
-#align continuous_linear_map.has_fpower_series_at_bilinear ContinuousLinearMap.hasFpowerSeriesAtBilinear
+protected theorem hasFPowerSeriesAt_bilinear (f : E βL[π] F βL[π] G) (x : E Γ F) :
+ HasFPowerSeriesAt (fun x : E Γ F => f x.1 x.2) (f.fpowerSeriesBilinear x) x :=
+ β¨β, f.hasFPowerSeriesOnBall_bilinear xβ©
+#align continuous_linear_map.has_fpower_series_at_bilinear ContinuousLinearMap.hasFPowerSeriesAt_bilinear
protected theorem analyticAt_bilinear (f : E βL[π] F βL[π] G) (x : E Γ F) :
AnalyticAt π (fun x : E Γ F => f x.1 x.2) x :=
- (f.hasFpowerSeriesAtBilinear x).AnalyticAt
+ (f.hasFPowerSeriesAt_bilinear x).AnalyticAt
#align continuous_linear_map.analytic_at_bilinear ContinuousLinearMap.analyticAt_bilinear
end ContinuousLinearMap
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -22,7 +22,7 @@ variable {π : Type _} [NontriviallyNormedField π] {E : Type _} [NormedAddC
[NormedSpace π E] {F : Type _} [NormedAddCommGroup F] [NormedSpace π F] {G : Type _}
[NormedAddCommGroup G] [NormedSpace π G]
-open Topology Classical BigOperators NNReal ENNReal
+open scoped Topology Classical BigOperators NNReal ENNReal
open Set Filter Asymptotics
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -30,12 +30,6 @@ noncomputable section
namespace ContinuousLinearMap
-/- warning: continuous_linear_map.fpower_series -> ContinuousLinearMap.fpowerSeries is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)], (ContinuousLinearMap.{u1, u1, u2, u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) -> E -> (FormalMultilinearSeries.{u1, u2, u3} π E F (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))) (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (ContinuousLinearMap.FpowerSeries._proof_1.{u2} E _inst_2) (ContinuousLinearMap.FpowerSeries._proof_2.{u1, u2} π _inst_1 E _inst_2 _inst_3) (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) (ContinuousLinearMap.FpowerSeries._proof_3.{u3} F _inst_4) (ContinuousLinearMap.FpowerSeries._proof_4.{u1, u3} π _inst_1 F _inst_4 _inst_5))
-but is expected to have type
- PUnit.{max (max (succ (succ u1)) (succ (succ u2))) (succ (succ u3))}
-Case conversion may be inaccurate. Consider using '#align continuous_linear_map.fpower_series ContinuousLinearMap.fpowerSeriesβ'. -/
/-- Formal power series of a continuous linear map `f : E βL[π] F` at `x : E`:
`f y = f x + f (y - x)`. -/
@[simp]
@@ -88,9 +82,6 @@ theorem uncurryBilinear_apply (f : E βL[π] F βL[π] G) (m : Fin 2 β E
rfl
#align continuous_linear_map.uncurry_bilinear_apply ContinuousLinearMap.uncurryBilinear_apply
-/- warning: continuous_linear_map.fpower_series_bilinear -> ContinuousLinearMap.fpowerSeriesBilinear is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align continuous_linear_map.fpower_series_bilinear ContinuousLinearMap.fpowerSeriesBilinearβ'. -/
/-- Formal multilinear series expansion of a bilinear function `f : E βL[π] F βL[π] G`. -/
@[simp]
def fpowerSeriesBilinear (f : E βL[π] F βL[π] G) (x : E Γ F) : FormalMultilinearSeries π (E Γ F) G
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -89,10 +89,7 @@ theorem uncurryBilinear_apply (f : E βL[π] F βL[π] G) (m : Fin 2 β E
#align continuous_linear_map.uncurry_bilinear_apply ContinuousLinearMap.uncurryBilinear_apply
/- warning: continuous_linear_map.fpower_series_bilinear -> ContinuousLinearMap.fpowerSeriesBilinear is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {G : Type.{u4}} [_inst_6 : NormedAddCommGroup.{u4} G] [_inst_7 : NormedSpace.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6)], (ContinuousLinearMap.{u1, u1, u2, max u3 u4} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (ContinuousLinearMap.{u1, u1, u3, u4} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) G (UniformSpace.toTopologicalSpace.{u4} G (PseudoMetricSpace.toUniformSpace.{u4} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u4} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6)))) (AddCommGroup.toAddCommMonoid.{u4} G (NormedAddCommGroup.toAddCommGroup.{u4} G _inst_6)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (NormedSpace.toModule.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6) _inst_7)) (ContinuousLinearMap.topologicalSpace.{u1, u1, u3, u4} π π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F G (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (NormedAddCommGroup.toAddCommGroup.{u4} G _inst_6) (NormedSpace.toModule.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6) _inst_7) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) (UniformSpace.toTopologicalSpace.{u4} G (PseudoMetricSpace.toUniformSpace.{u4} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u4} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6)))) (ContinuousLinearMap.FpowerSeriesBilinear._proof_1.{u4} G _inst_6)) (ContinuousLinearMap.addCommMonoid.{u1, u1, u3, u4} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) G (UniformSpace.toTopologicalSpace.{u4} G (PseudoMetricSpace.toUniformSpace.{u4} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u4} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6)))) (AddCommGroup.toAddCommMonoid.{u4} G (NormedAddCommGroup.toAddCommGroup.{u4} G _inst_6)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (NormedSpace.toModule.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6) _inst_7) (ContinuousLinearMap.FpowerSeriesBilinear._proof_2.{u4} G _inst_6)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (ContinuousLinearMap.module.{u1, u1, u1, u3, u4} π π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) G (UniformSpace.toTopologicalSpace.{u4} G (PseudoMetricSpace.toUniformSpace.{u4} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u4} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6)))) (AddCommGroup.toAddCommMonoid.{u4} G (NormedAddCommGroup.toAddCommGroup.{u4} G _inst_6)) (NormedSpace.toModule.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6) _inst_7) (NormedSpace.toModule.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6) _inst_7) (ContinuousLinearMap.FpowerSeriesBilinear._proof_3.{u1, u4} π _inst_1 G _inst_6 _inst_7) (ContinuousLinearMap.FpowerSeriesBilinear._proof_4.{u1, u4} π _inst_1 G _inst_6 _inst_7) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (ContinuousLinearMap.FpowerSeriesBilinear._proof_5.{u4} G _inst_6))) -> (Prod.{u2, u3} E F) -> (FormalMultilinearSeries.{u1, max u2 u3, u4} π (Prod.{u2, u3} E F) G (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))) (Prod.addCommGroup.{u2, u3} E F (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2) (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (ContinuousLinearMap.FpowerSeriesBilinear._proof_6.{u2, u3} E _inst_2 F _inst_4) (ContinuousLinearMap.FpowerSeriesBilinear._proof_7.{u1, u2, u3} π _inst_1 E _inst_2 _inst_3 F _inst_4 _inst_5) (NormedAddCommGroup.toAddCommGroup.{u4} G _inst_6) (NormedSpace.toModule.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6) _inst_7) (UniformSpace.toTopologicalSpace.{u4} G (PseudoMetricSpace.toUniformSpace.{u4} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u4} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6)))) (ContinuousLinearMap.FpowerSeriesBilinear._proof_8.{u4} G _inst_6) (ContinuousLinearMap.FpowerSeriesBilinear._proof_9.{u1, u4} π _inst_1 G _inst_6 _inst_7))
-but is expected to have type
- PUnit.{max (max (max (succ (succ u1)) (succ (succ u2))) (succ (succ u3))) (succ (succ u4))}
+<too large>
Case conversion may be inaccurate. Consider using '#align continuous_linear_map.fpower_series_bilinear ContinuousLinearMap.fpowerSeriesBilinearβ'. -/
/-- Formal multilinear series expansion of a bilinear function `f : E βL[π] F βL[π] G`. -/
@[simp]
mathlib commit https://github.com/leanprover-community/mathlib/commit/75e7fca56381d056096ce5d05e938f63a6567828
@@ -30,6 +30,12 @@ noncomputable section
namespace ContinuousLinearMap
+/- warning: continuous_linear_map.fpower_series -> ContinuousLinearMap.fpowerSeries is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)], (ContinuousLinearMap.{u1, u1, u2, u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) -> E -> (FormalMultilinearSeries.{u1, u2, u3} π E F (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))) (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (ContinuousLinearMap.FpowerSeries._proof_1.{u2} E _inst_2) (ContinuousLinearMap.FpowerSeries._proof_2.{u1, u2} π _inst_1 E _inst_2 _inst_3) (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) (ContinuousLinearMap.FpowerSeries._proof_3.{u3} F _inst_4) (ContinuousLinearMap.FpowerSeries._proof_4.{u1, u3} π _inst_1 F _inst_4 _inst_5))
+but is expected to have type
+ PUnit.{max (max (succ (succ u1)) (succ (succ u2))) (succ (succ u3))}
+Case conversion may be inaccurate. Consider using '#align continuous_linear_map.fpower_series ContinuousLinearMap.fpowerSeriesβ'. -/
/-- Formal power series of a continuous linear map `f : E βL[π] F` at `x : E`:
`f y = f x + f (y - x)`. -/
@[simp]
@@ -82,6 +88,12 @@ theorem uncurryBilinear_apply (f : E βL[π] F βL[π] G) (m : Fin 2 β E
rfl
#align continuous_linear_map.uncurry_bilinear_apply ContinuousLinearMap.uncurryBilinear_apply
+/- warning: continuous_linear_map.fpower_series_bilinear -> ContinuousLinearMap.fpowerSeriesBilinear is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {G : Type.{u4}} [_inst_6 : NormedAddCommGroup.{u4} G] [_inst_7 : NormedSpace.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6)], (ContinuousLinearMap.{u1, u1, u2, max u3 u4} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (ContinuousLinearMap.{u1, u1, u3, u4} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) G (UniformSpace.toTopologicalSpace.{u4} G (PseudoMetricSpace.toUniformSpace.{u4} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u4} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6)))) (AddCommGroup.toAddCommMonoid.{u4} G (NormedAddCommGroup.toAddCommGroup.{u4} G _inst_6)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (NormedSpace.toModule.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6) _inst_7)) (ContinuousLinearMap.topologicalSpace.{u1, u1, u3, u4} π π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F G (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (NormedAddCommGroup.toAddCommGroup.{u4} G _inst_6) (NormedSpace.toModule.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6) _inst_7) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) (UniformSpace.toTopologicalSpace.{u4} G (PseudoMetricSpace.toUniformSpace.{u4} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u4} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6)))) (ContinuousLinearMap.FpowerSeriesBilinear._proof_1.{u4} G _inst_6)) (ContinuousLinearMap.addCommMonoid.{u1, u1, u3, u4} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) G (UniformSpace.toTopologicalSpace.{u4} G (PseudoMetricSpace.toUniformSpace.{u4} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u4} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6)))) (AddCommGroup.toAddCommMonoid.{u4} G (NormedAddCommGroup.toAddCommGroup.{u4} G _inst_6)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (NormedSpace.toModule.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6) _inst_7) (ContinuousLinearMap.FpowerSeriesBilinear._proof_2.{u4} G _inst_6)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (ContinuousLinearMap.module.{u1, u1, u1, u3, u4} π π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) G (UniformSpace.toTopologicalSpace.{u4} G (PseudoMetricSpace.toUniformSpace.{u4} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u4} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6)))) (AddCommGroup.toAddCommMonoid.{u4} G (NormedAddCommGroup.toAddCommGroup.{u4} G _inst_6)) (NormedSpace.toModule.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6) _inst_7) (NormedSpace.toModule.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6) _inst_7) (ContinuousLinearMap.FpowerSeriesBilinear._proof_3.{u1, u4} π _inst_1 G _inst_6 _inst_7) (ContinuousLinearMap.FpowerSeriesBilinear._proof_4.{u1, u4} π _inst_1 G _inst_6 _inst_7) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (ContinuousLinearMap.FpowerSeriesBilinear._proof_5.{u4} G _inst_6))) -> (Prod.{u2, u3} E F) -> (FormalMultilinearSeries.{u1, max u2 u3, u4} π (Prod.{u2, u3} E F) G (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))) (Prod.addCommGroup.{u2, u3} E F (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2) (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (ContinuousLinearMap.FpowerSeriesBilinear._proof_6.{u2, u3} E _inst_2 F _inst_4) (ContinuousLinearMap.FpowerSeriesBilinear._proof_7.{u1, u2, u3} π _inst_1 E _inst_2 _inst_3 F _inst_4 _inst_5) (NormedAddCommGroup.toAddCommGroup.{u4} G _inst_6) (NormedSpace.toModule.{u1, u4} π G (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6) _inst_7) (UniformSpace.toTopologicalSpace.{u4} G (PseudoMetricSpace.toUniformSpace.{u4} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u4} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} G _inst_6)))) (ContinuousLinearMap.FpowerSeriesBilinear._proof_8.{u4} G _inst_6) (ContinuousLinearMap.FpowerSeriesBilinear._proof_9.{u1, u4} π _inst_1 G _inst_6 _inst_7))
+but is expected to have type
+ PUnit.{max (max (max (succ (succ u1)) (succ (succ u2))) (succ (succ u3))) (succ (succ u4))}
+Case conversion may be inaccurate. Consider using '#align continuous_linear_map.fpower_series_bilinear ContinuousLinearMap.fpowerSeriesBilinearβ'. -/
/-- Formal multilinear series expansion of a bilinear function `f : E βL[π] F βL[π] G`. -/
@[simp]
def fpowerSeriesBilinear (f : E βL[π] F βL[π] G) (x : E Γ F) : FormalMultilinearSeries π (E Γ F) G
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -22,7 +22,7 @@ variable {π : Type _} [NontriviallyNormedField π] {E : Type _} [NormedAddC
[NormedSpace π E] {F : Type _} [NormedAddCommGroup F] [NormedSpace π F] {G : Type _}
[NormedAddCommGroup G] [NormedSpace π G]
-open Topology Classical BigOperators NNReal Ennreal
+open Topology Classical BigOperators NNReal ENNReal
open Set Filter Asymptotics
@@ -52,7 +52,7 @@ theorem fpowerSeries_radius (f : E βL[π] F) (x : E) : (f.fpowerSeries x).ra
protected theorem hasFpowerSeriesOnBall (f : E βL[π] F) (x : E) :
HasFpowerSeriesOnBall f (f.fpowerSeries x) x β :=
{ r_le := by simp
- r_pos := Ennreal.coe_lt_top
+ r_pos := ENNReal.coe_lt_top
HasSum := fun y _ =>
(hasSum_nat_add_iff' 2).1 <| by simp [Finset.sum_range_succ, β sub_sub, hasSum_zero] }
#align continuous_linear_map.has_fpower_series_on_ball ContinuousLinearMap.hasFpowerSeriesOnBall
@@ -100,7 +100,7 @@ theorem fpowerSeriesBilinear_radius (f : E βL[π] F βL[π] G) (x : E Γ
protected theorem hasFpowerSeriesOnBallBilinear (f : E βL[π] F βL[π] G) (x : E Γ F) :
HasFpowerSeriesOnBall (fun x : E Γ F => f x.1 x.2) (f.fpowerSeriesBilinear x) x β :=
{ r_le := by simp
- r_pos := Ennreal.coe_lt_top
+ r_pos := ENNReal.coe_lt_top
HasSum := fun y _ =>
(hasSum_nat_add_iff' 3).1 <|
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -3,7 +3,7 @@ Copyright (c) 2021 Yury G. Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
-/
-import Mathlib.Analysis.Analytic.Composition
+import Mathlib.Analysis.Analytic.Basic
#align_import analysis.analytic.linear from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
We record various simple lemmas that things are analyticAt
or analyticOn
. There's no hard work here, just corollaries of other results:
id
, fst
, snd
.analyticAt_changeOrigin
corollaryx β¦ (f x, g x)
We also add a few lemmas for dealing with curried analytic functions. Starting with AnalyticOn π (uncurry h) s
,
AnalyticOn.curry_comp
composes it with two input analytic functionsAnalyticOn.along_fst/snd
show analyticity along each coordinateCo-authored-by: Mario Carneiro <di.gama@gmail.com> Co-authored-by: David Loeffler <d.loeffler.01@cantab.net>
@@ -131,64 +131,22 @@ variable (π)
lemma analyticAt_id (z : E) : AnalyticAt π (id : E β E) z :=
(ContinuousLinearMap.id π E).analyticAt z
-/-- Scalar multiplication is analytic (jointly in both variables). The statement is a little
-pedantic to allow towers of field extensions.
-
-TODO: can we replace `π'` with a "normed module" in such a way that `analyticAt_mul` is a special
-case of this? -/
-lemma analyticAt_smul
- {π : Type*} [NormedField π] [NormedAlgebra π π] [NormedSpace π E] [IsScalarTower π π E]
- (z : π Γ E) : AnalyticAt π (fun x : π Γ E β¦ x.1 β’ x.2) z :=
- (ContinuousLinearMap.lsmul π π).analyticAt_bilinear z
-
-/-- Multiplication in a normed algebra over `π` is -/
-lemma analyticAt_mul {A : Type*} [NormedRing A] [NormedAlgebra π A] (z : A Γ A) :
- AnalyticAt π (fun x : A Γ A β¦ x.1 * x.2) z :=
- (ContinuousLinearMap.mul π A).analyticAt_bilinear z
-
-namespace AnalyticAt
-variable {π}
-
-/-- Scalar multiplication of one analytic function by another. -/
-lemma smul {π : Type*} [NontriviallyNormedField π] [NormedSpace π F] [NormedAlgebra π π]
- [IsScalarTower π π F] {f : E β π} {g : E β F} {z : E}
- (hf : AnalyticAt π f z) (hg : AnalyticAt π g z) :
- AnalyticAt π (f β’ g) z :=
- @AnalyticAt.comp π E (π Γ F) F _ _ _ _ _ _ _
- (fun x β¦ x.1 β’ x.2) (fun e β¦ (f e, g e)) z (analyticAt_smul _ _) (hf.prod hg)
-
-/-- Multiplication of analytic functions (valued in a normd `π`-algebra) is analytic. -/
-lemma mul {A : Type*} [NormedRing A] [NormedAlgebra π A]
- {f g : E β A} {z : E}
- (hf : AnalyticAt π f z) (hg : AnalyticAt π g z) : AnalyticAt π (f * g) z :=
- @AnalyticAt.comp π E (A Γ A) A _ _ _ _ _ _ _
- (fun x β¦ x.1 * x.2) (fun e β¦ (f e, g e)) z (analyticAt_mul _ (f z, g z)) (hf.prod hg)
-
-/-- Powers of analytic functions (into a normed `π`-algebra) are analytic. -/
-lemma pow {A : Type*} [NormedRing A] [NormedAlgebra π A]
- {f : E β A} {z : E} (hf : AnalyticAt π f z) (n : β) :
- AnalyticAt π (f ^ n) z := by
- induction' n with m hm
- Β· rw [pow_zero]
- exact (analyticAt_const : AnalyticAt π (fun _ β¦ (1 : A)) z)
- Β· exact pow_succ f m βΈ hf.mul hm
-
-end AnalyticAt
-
-/-- If `π` is a normed field extension of `π`, then the inverse map `π β π` is `π`-analytic
-away from 0. -/
-lemma analyticAt_inv {π : Type*} [NontriviallyNormedField π] [NormedAlgebra π π]
- {z : π} (hz : z β 0) : AnalyticAt π Inv.inv z := by
- let f1 : π β π := fun a β¦ 1 / z * a
- let f2 : π β π := fun b β¦ (1 - b)β»ΒΉ
- let f3 : π β π := fun c β¦ 1 - c / z
- have feq : f1 β f2 β f3 = Inv.inv
- Β· ext1 x
- dsimp only [Function.comp_apply]
- field_simp
- have f3val : f3 z = 0 := by simp only [div_self hz, sub_self]
- have f3an : AnalyticAt π f3 z
- Β· apply analyticAt_const.sub
- simpa only [div_eq_inv_mul] using analyticAt_const.mul (analyticAt_id π z)
- exact feq βΈ (analyticAt_const.mul (analyticAt_id _ _)).comp
- ((f3val.symm βΈ analyticAt_inv_one_sub π).comp f3an)
+/-- `id` is entire -/
+theorem analyticOn_id {s : Set E} : AnalyticOn π (fun x : E β¦ x) s :=
+ fun _ _ β¦ analyticAt_id _ _
+
+/-- `fst` is analytic -/
+theorem analyticAt_fst {p : E Γ F} : AnalyticAt π (fun p : E Γ F β¦ p.fst) p :=
+ (ContinuousLinearMap.fst π E F).analyticAt p
+
+/-- `snd` is analytic -/
+theorem analyticAt_snd {p : E Γ F} : AnalyticAt π (fun p : E Γ F β¦ p.snd) p :=
+ (ContinuousLinearMap.snd π E F).analyticAt p
+
+/-- `fst` is entire -/
+theorem analyticOn_fst {s : Set (E Γ F)} : AnalyticOn π (fun p : E Γ F β¦ p.fst) s :=
+ fun _ _ β¦ analyticAt_fst _
+
+/-- `snd` is entire -/
+theorem analyticOn_snd {s : Set (E Γ F)} : AnalyticOn π (fun p : E Γ F β¦ p.snd) s :=
+ fun _ _ β¦ analyticAt_snd _
This PR adds some basic results about analytic functions: products of analytic functions are analytic, and the inverse map on a normed field is analytic away from 0.
@@ -3,7 +3,7 @@ Copyright (c) 2021 Yury G. Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
-/
-import Mathlib.Analysis.Analytic.Basic
+import Mathlib.Analysis.Analytic.Composition
#align_import analysis.analytic.linear from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
@@ -11,7 +11,7 @@ import Mathlib.Analysis.Analytic.Basic
# Linear functions are analytic
In this file we prove that a `ContinuousLinearMap` defines an analytic function with
-the formal power series `f x = f a + f (x - a)`.
+the formal power series `f x = f a + f (x - a)`. We also prove similar results for multilinear maps.
-/
@@ -27,30 +27,6 @@ noncomputable section
namespace ContinuousLinearMap
-/-- Formal power series of a continuous linear map `f : E βL[π] F` at `x : E`:
-`f y = f x + f (y - x)`. -/
-def fpowerSeries (f : E βL[π] F) (x : E) : FormalMultilinearSeries π E F
- | 0 => ContinuousMultilinearMap.curry0 π _ (f x)
- | 1 => (continuousMultilinearCurryFin1 π E F).symm f
- | _ => 0
-#align continuous_linear_map.fpower_series ContinuousLinearMap.fpowerSeries
-
-theorem fpower_series_apply_zero (f : E βL[π] F) (x : E) :
- f.fpowerSeries x 0 = ContinuousMultilinearMap.curry0 π _ (f x) :=
- rfl
-
-theorem fpower_series_apply_one (f : E βL[π] F) (x : E) :
- f.fpowerSeries x 1 = (continuousMultilinearCurryFin1 π E F).symm f :=
- rfl
-
-theorem fpowerSeries_apply_add_two (f : E βL[π] F) (x : E) (n : β) : f.fpowerSeries x (n + 2) = 0 :=
- rfl
-#align continuous_linear_map.fpower_series_apply_add_two ContinuousLinearMap.fpowerSeries_apply_add_two
-
-attribute
- [eqns fpower_series_apply_zero fpower_series_apply_one fpowerSeries_apply_add_two] fpowerSeries
-attribute [simp] fpowerSeries
-
@[simp]
theorem fpowerSeries_radius (f : E βL[π] F) (x : E) : (f.fpowerSeries x).radius = β :=
(f.fpowerSeries x).radius_eq_top_of_forall_image_add_eq_zero 2 fun _ => rfl
@@ -149,3 +125,70 @@ protected theorem analyticAt_bilinear (f : E βL[π] F βL[π] G) (x : E
#align continuous_linear_map.analytic_at_bilinear ContinuousLinearMap.analyticAt_bilinear
end ContinuousLinearMap
+
+variable (π)
+
+lemma analyticAt_id (z : E) : AnalyticAt π (id : E β E) z :=
+ (ContinuousLinearMap.id π E).analyticAt z
+
+/-- Scalar multiplication is analytic (jointly in both variables). The statement is a little
+pedantic to allow towers of field extensions.
+
+TODO: can we replace `π'` with a "normed module" in such a way that `analyticAt_mul` is a special
+case of this? -/
+lemma analyticAt_smul
+ {π : Type*} [NormedField π] [NormedAlgebra π π] [NormedSpace π E] [IsScalarTower π π E]
+ (z : π Γ E) : AnalyticAt π (fun x : π Γ E β¦ x.1 β’ x.2) z :=
+ (ContinuousLinearMap.lsmul π π).analyticAt_bilinear z
+
+/-- Multiplication in a normed algebra over `π` is -/
+lemma analyticAt_mul {A : Type*} [NormedRing A] [NormedAlgebra π A] (z : A Γ A) :
+ AnalyticAt π (fun x : A Γ A β¦ x.1 * x.2) z :=
+ (ContinuousLinearMap.mul π A).analyticAt_bilinear z
+
+namespace AnalyticAt
+variable {π}
+
+/-- Scalar multiplication of one analytic function by another. -/
+lemma smul {π : Type*} [NontriviallyNormedField π] [NormedSpace π F] [NormedAlgebra π π]
+ [IsScalarTower π π F] {f : E β π} {g : E β F} {z : E}
+ (hf : AnalyticAt π f z) (hg : AnalyticAt π g z) :
+ AnalyticAt π (f β’ g) z :=
+ @AnalyticAt.comp π E (π Γ F) F _ _ _ _ _ _ _
+ (fun x β¦ x.1 β’ x.2) (fun e β¦ (f e, g e)) z (analyticAt_smul _ _) (hf.prod hg)
+
+/-- Multiplication of analytic functions (valued in a normd `π`-algebra) is analytic. -/
+lemma mul {A : Type*} [NormedRing A] [NormedAlgebra π A]
+ {f g : E β A} {z : E}
+ (hf : AnalyticAt π f z) (hg : AnalyticAt π g z) : AnalyticAt π (f * g) z :=
+ @AnalyticAt.comp π E (A Γ A) A _ _ _ _ _ _ _
+ (fun x β¦ x.1 * x.2) (fun e β¦ (f e, g e)) z (analyticAt_mul _ (f z, g z)) (hf.prod hg)
+
+/-- Powers of analytic functions (into a normed `π`-algebra) are analytic. -/
+lemma pow {A : Type*} [NormedRing A] [NormedAlgebra π A]
+ {f : E β A} {z : E} (hf : AnalyticAt π f z) (n : β) :
+ AnalyticAt π (f ^ n) z := by
+ induction' n with m hm
+ Β· rw [pow_zero]
+ exact (analyticAt_const : AnalyticAt π (fun _ β¦ (1 : A)) z)
+ Β· exact pow_succ f m βΈ hf.mul hm
+
+end AnalyticAt
+
+/-- If `π` is a normed field extension of `π`, then the inverse map `π β π` is `π`-analytic
+away from 0. -/
+lemma analyticAt_inv {π : Type*} [NontriviallyNormedField π] [NormedAlgebra π π]
+ {z : π} (hz : z β 0) : AnalyticAt π Inv.inv z := by
+ let f1 : π β π := fun a β¦ 1 / z * a
+ let f2 : π β π := fun b β¦ (1 - b)β»ΒΉ
+ let f3 : π β π := fun c β¦ 1 - c / z
+ have feq : f1 β f2 β f3 = Inv.inv
+ Β· ext1 x
+ dsimp only [Function.comp_apply]
+ field_simp
+ have f3val : f3 z = 0 := by simp only [div_self hz, sub_self]
+ have f3an : AnalyticAt π f3 z
+ Β· apply analyticAt_const.sub
+ simpa only [div_eq_inv_mul] using analyticAt_const.mul (analyticAt_id π z)
+ exact feq βΈ (analyticAt_const.mul (analyticAt_id _ _)).comp
+ ((f3val.symm βΈ analyticAt_inv_one_sub π).comp f3an)
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -15,8 +15,8 @@ the formal power series `f x = f a + f (x - a)`.
-/
-variable {π : Type _} [NontriviallyNormedField π] {E : Type _} [NormedAddCommGroup E]
- [NormedSpace π E] {F : Type _} [NormedAddCommGroup F] [NormedSpace π F] {G : Type _}
+variable {π : Type*} [NontriviallyNormedField π] {E : Type*} [NormedAddCommGroup E]
+ [NormedSpace π E] {F : Type*} [NormedAddCommGroup F] [NormedSpace π F] {G : Type*}
[NormedAddCommGroup G] [NormedSpace π G]
open scoped Topology Classical BigOperators NNReal ENNReal
@@ -2,14 +2,11 @@
Copyright (c) 2021 Yury G. Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
-
-! This file was ported from Lean 3 source module analysis.analytic.linear
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Analysis.Analytic.Basic
+#align_import analysis.analytic.linear from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
+
/-!
# Linear functions are analytic
Co-authored-by: Komyyy <pol_tta@outlook.jp> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Mario Carneiro <di.gama@gmail.com>
@@ -32,18 +32,28 @@ namespace ContinuousLinearMap
/-- Formal power series of a continuous linear map `f : E βL[π] F` at `x : E`:
`f y = f x + f (y - x)`. -/
-@[simp]
def fpowerSeries (f : E βL[π] F) (x : E) : FormalMultilinearSeries π E F
| 0 => ContinuousMultilinearMap.curry0 π _ (f x)
| 1 => (continuousMultilinearCurryFin1 π E F).symm f
| _ => 0
#align continuous_linear_map.fpower_series ContinuousLinearMap.fpowerSeries
-@[simp]
+theorem fpower_series_apply_zero (f : E βL[π] F) (x : E) :
+ f.fpowerSeries x 0 = ContinuousMultilinearMap.curry0 π _ (f x) :=
+ rfl
+
+theorem fpower_series_apply_one (f : E βL[π] F) (x : E) :
+ f.fpowerSeries x 1 = (continuousMultilinearCurryFin1 π E F).symm f :=
+ rfl
+
theorem fpowerSeries_apply_add_two (f : E βL[π] F) (x : E) (n : β) : f.fpowerSeries x (n + 2) = 0 :=
rfl
#align continuous_linear_map.fpower_series_apply_add_two ContinuousLinearMap.fpowerSeries_apply_add_two
+attribute
+ [eqns fpower_series_apply_zero fpower_series_apply_one fpowerSeries_apply_add_two] fpowerSeries
+attribute [simp] fpowerSeries
+
@[simp]
theorem fpowerSeries_radius (f : E βL[π] F) (x : E) : (f.fpowerSeries x).radius = β :=
(f.fpowerSeries x).radius_eq_top_of_forall_image_add_eq_zero 2 fun _ => rfl
@@ -69,7 +79,7 @@ protected theorem analyticAt (f : E βL[π] F) (x : E) : AnalyticAt π f x
/-- Reinterpret a bilinear map `f : E βL[π] F βL[π] G` as a multilinear map
`(E Γ F) [Γ2]βL[π] G`. This multilinear map is the second term in the formal
multilinear series expansion of `uncurry f`. It is given by
-`f.uncurry_bilinear ![(x, y), (x', y')] = f x y'`. -/
+`f.uncurryBilinear ![(x, y), (x', y')] = f x y'`. -/
def uncurryBilinear (f : E βL[π] F βL[π] G) : E Γ F[Γ2]βL[π] G :=
@ContinuousLinearMap.uncurryLeft π 1 (fun _ => E Γ F) G _ _ _ _ _ <|
(β(continuousMultilinearCurryFin1 π (E Γ F) G).symm : (E Γ F βL[π] G) βL[π] _).comp <|
@@ -83,7 +93,6 @@ theorem uncurryBilinear_apply (f : E βL[π] F βL[π] G) (m : Fin 2 β E
#align continuous_linear_map.uncurry_bilinear_apply ContinuousLinearMap.uncurryBilinear_apply
/-- Formal multilinear series expansion of a bilinear function `f : E βL[π] F βL[π] G`. -/
-@[simp]
def fpowerSeriesBilinear (f : E βL[π] F βL[π] G) (x : E Γ F) : FormalMultilinearSeries π (E Γ F) G
| 0 => ContinuousMultilinearMap.curry0 π _ (f x.1 x.2)
| 1 => (continuousMultilinearCurryFin1 π (E Γ F) G).symm (f.derivβ x)
@@ -91,6 +100,30 @@ def fpowerSeriesBilinear (f : E βL[π] F βL[π] G) (x : E Γ F) : Formal
| _ => 0
#align continuous_linear_map.fpower_series_bilinear ContinuousLinearMap.fpowerSeriesBilinear
+theorem fpowerSeriesBilinear_apply_zero (f : E βL[π] F βL[π] G) (x : E Γ F) :
+ fpowerSeriesBilinear f x 0 = ContinuousMultilinearMap.curry0 π _ (f x.1 x.2) :=
+ rfl
+
+theorem fpowerSeriesBilinear_apply_one (f : E βL[π] F βL[π] G) (x : E Γ F) :
+ fpowerSeriesBilinear f x 1 = (continuousMultilinearCurryFin1 π (E Γ F) G).symm (f.derivβ x) :=
+ rfl
+
+theorem fpowerSeriesBilinear_apply_two (f : E βL[π] F βL[π] G) (x : E Γ F) :
+ fpowerSeriesBilinear f x 2 = f.uncurryBilinear :=
+ rfl
+
+theorem fpowerSeriesBilinear_apply_add_three (f : E βL[π] F βL[π] G) (x : E Γ F) (n) :
+ fpowerSeriesBilinear f x (n + 3) = 0 :=
+ rfl
+
+attribute
+ [eqns
+ fpowerSeriesBilinear_apply_zero
+ fpowerSeriesBilinear_apply_one
+ fpowerSeriesBilinear_apply_two
+ fpowerSeriesBilinear_apply_add_three] fpowerSeriesBilinear
+attribute [simp] fpowerSeriesBilinear
+
@[simp]
theorem fpowerSeriesBilinear_radius (f : E βL[π] F βL[π] G) (x : E Γ F) :
(f.fpowerSeriesBilinear x).radius = β :=
The unported dependencies are
algebra.order.module
init.core
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file