@@ -34,8 +34,8 @@ variable {E F G H : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] [NormedAd
3434 [NormedSpace 𝕜 F] [NormedAddCommGroup G] [NormedSpace 𝕜 G] [NormedAddCommGroup H]
3535 [NormedSpace 𝕜 H]
3636
37- variable {𝕝 : Type *} [NontriviallyNormedField 𝕝] [NormedAlgebra 𝕜 𝕝]
3837variable {A : Type *} [NormedRing A] [NormedAlgebra 𝕜 A]
38+ variable {𝕝 : Type *} [NormedDivisionRing 𝕝] [NormedAlgebra 𝕜 𝕝]
3939
4040/-!
4141### Constants are analytic
@@ -70,7 +70,7 @@ theorem analyticOn_const {v : F} {s : Set E} : AnalyticOn 𝕜 (fun _ => v) s :=
7070section
7171
7272variable {f g : E → F} {pf pg : FormalMultilinearSeries 𝕜 E F} {s : Set E} {x : E} {r : ℝ≥0 ∞}
73- {c : 𝕜 }
73+ {R : Type *} [NormedRing R] [Module R F] [IsBoundedSMul R F] [SMulCommClass 𝕜 R F] {c : R }
7474
7575theorem HasFPowerSeriesWithinOnBall.add (hf : HasFPowerSeriesWithinOnBall f pf s x r)
7676 (hg : HasFPowerSeriesWithinOnBall g pg s x r) :
@@ -109,6 +109,14 @@ theorem AnalyticAt.add (hf : AnalyticAt 𝕜 f x) (hg : AnalyticAt 𝕜 g x) :
109109 let ⟨_, hqf⟩ := hg
110110 (hpf.add hqf).analyticAt
111111
112+ theorem AnalyticOn.add (hf : AnalyticOn 𝕜 f s) (hg : AnalyticOn 𝕜 g s) :
113+ AnalyticOn 𝕜 (f + g) s :=
114+ fun z hz => (hf z hz).add (hg z hz)
115+
116+ theorem AnalyticOnNhd.add (hf : AnalyticOnNhd 𝕜 f s) (hg : AnalyticOnNhd 𝕜 g s) :
117+ AnalyticOnNhd 𝕜 (f + g) s :=
118+ fun z hz => (hf z hz).add (hg z hz)
119+
112120theorem HasFPowerSeriesWithinOnBall.neg (hf : HasFPowerSeriesWithinOnBall f pf s x r) :
113121 HasFPowerSeriesWithinOnBall (-f) (-pf) s x r :=
114122 { r_le := by
@@ -147,6 +155,12 @@ theorem AnalyticAt.neg (hf : AnalyticAt 𝕜 f x) : AnalyticAt 𝕜 (-f) x :=
147155 mp hf := by simpa using hf.neg
148156 mpr := .neg
149157
158+ theorem AnalyticOn.neg (hf : AnalyticOn 𝕜 f s) : AnalyticOn 𝕜 (-f) s :=
159+ fun z hz ↦ (hf z hz).neg
160+
161+ theorem AnalyticOnNhd.neg (hf : AnalyticOnNhd 𝕜 f s) : AnalyticOnNhd 𝕜 (-f) s :=
162+ fun z hz ↦ (hf z hz).neg
163+
150164theorem HasFPowerSeriesWithinOnBall.sub (hf : HasFPowerSeriesWithinOnBall f pf s x r)
151165 (hg : HasFPowerSeriesWithinOnBall g pg s x r) :
152166 HasFPowerSeriesWithinOnBall (f - g) (pf - pg) s x r := by
@@ -174,6 +188,14 @@ theorem AnalyticAt.sub (hf : AnalyticAt 𝕜 f x) (hg : AnalyticAt 𝕜 g x) :
174188 AnalyticAt 𝕜 (f - g) x := by
175189 simpa only [sub_eq_add_neg] using hf.add hg.neg
176190
191+ theorem AnalyticOn.sub (hf : AnalyticOn 𝕜 f s) (hg : AnalyticOn 𝕜 g s) :
192+ AnalyticOn 𝕜 (f - g) s :=
193+ fun z hz => (hf z hz).sub (hg z hz)
194+
195+ theorem AnalyticOnNhd.sub (hf : AnalyticOnNhd 𝕜 f s) (hg : AnalyticOnNhd 𝕜 g s) :
196+ AnalyticOnNhd 𝕜 (f - g) s :=
197+ fun z hz => (hf z hz).sub (hg z hz)
198+
177199theorem HasFPowerSeriesWithinOnBall.const_smul (hf : HasFPowerSeriesWithinOnBall f pf s x r) :
178200 HasFPowerSeriesWithinOnBall (c • f) (c • pf) s x r where
179201 r_le := le_trans hf.r_le pf.radius_le_smul
@@ -206,27 +228,30 @@ theorem AnalyticAt.const_smul (hf : AnalyticAt 𝕜 f x) : AnalyticAt 𝕜 (c
206228 let ⟨_, hpf⟩ := hf
207229 hpf.const_smul.analyticAt
208230
209- theorem AnalyticOn.add (hf : AnalyticOn 𝕜 f s) (hg : AnalyticOn 𝕜 g s) :
210- AnalyticOn 𝕜 (f + g ) s :=
211- fun z hz => (hf z hz).add (hg z hz)
231+ @[to_fun]
232+ theorem AnalyticOn.const_smul (hf : AnalyticOn 𝕜 f s) : AnalyticOn 𝕜 (c • f ) s :=
233+ fun x hx ↦ (hf x hx).const_smul
212234
213- theorem AnalyticOnNhd.add (hf : AnalyticOnNhd 𝕜 f s) (hg : AnalyticOnNhd 𝕜 g s) :
214- AnalyticOnNhd 𝕜 (f + g ) s :=
215- fun z hz => (hf z hz).add (hg z hz)
235+ @[to_fun]
236+ theorem AnalyticOnNhd.const_smul (hf : AnalyticOnNhd 𝕜 f s) : AnalyticOnNhd 𝕜 (c • f ) s :=
237+ fun x hx ↦ (hf x hx).const_smul
216238
217- theorem AnalyticOn.neg (hf : AnalyticOn 𝕜 f s) : AnalyticOn 𝕜 (-f) s :=
218- fun z hz ↦ (hf z hz).neg
239+ lemma AnalyticWithinAt.div_const {f : E → 𝕝} (hf : AnalyticWithinAt 𝕜 f s x) {c : 𝕝} :
240+ AnalyticWithinAt 𝕜 (f · / c) s x := by
241+ simpa [div_eq_mul_inv] using hf.const_smul (R := 𝕝ᵐᵒᵖ)
219242
220- theorem AnalyticOnNhd.neg (hf : AnalyticOnNhd 𝕜 f s) : AnalyticOnNhd 𝕜 (-f) s :=
221- fun z hz ↦ (hf z hz).neg
243+ @[fun_prop]
244+ lemma AnalyticAt.div_const {f : E → 𝕝} (hf : AnalyticAt 𝕜 f x) {c : 𝕝} :
245+ AnalyticAt 𝕜 (f · / c) x := by
246+ simpa [div_eq_mul_inv] using hf.const_smul (R := 𝕝ᵐᵒᵖ)
222247
223- theorem AnalyticOn.sub (hf : AnalyticOn 𝕜 f s) (hg : AnalyticOn 𝕜 g s) :
224- AnalyticOn 𝕜 (f - g ) s :=
225- fun z hz => (hf z hz).sub (hg z hz )
248+ lemma AnalyticOn.div_const {f : E → 𝕝} (hf : AnalyticOn 𝕜 f s) {c : 𝕝} :
249+ AnalyticOn 𝕜 (f · / c ) s := by
250+ simpa [div_eq_mul_inv] using hf.const_smul (R := 𝕝ᵐᵒᵖ )
226251
227- theorem AnalyticOnNhd.sub (hf : AnalyticOnNhd 𝕜 f s) (hg : AnalyticOnNhd 𝕜 g s) :
228- AnalyticOnNhd 𝕜 (f - g ) s :=
229- fun z hz => (hf z hz).sub (hg z hz )
252+ lemma AnalyticOnNhd.div_const {f : E → 𝕝} (hf : AnalyticOnNhd 𝕜 f s) {c : 𝕝} :
253+ AnalyticOnNhd 𝕜 (f · / c ) s := by
254+ simpa [div_eq_mul_inv] using hf.const_smul (R := 𝕝ᵐᵒᵖ )
230255
231256end
232257
@@ -565,44 +590,41 @@ end
565590-/
566591
567592/-- Scalar multiplication is analytic (jointly in both variables). The statement is a little
568- pedantic to allow towers of field extensions.
569-
570- TODO: can we replace `𝕜'` with a "normed module" in such a way that `analyticAt_mul` is a special
571- case of this? -/
593+ pedantic to allow towers of field extensions. -/
572594@[fun_prop]
573- lemma analyticAt_smul [NormedSpace 𝕝 E] [IsScalarTower 𝕜 𝕝 E] (z : 𝕝 × E) :
574- AnalyticAt 𝕜 (fun x : 𝕝 × E ↦ x.1 • x.2 ) z :=
575- (ContinuousLinearMap.lsmul 𝕜 𝕝 ).analyticAt_bilinear z
595+ lemma analyticAt_smul [Module A E] [IsBoundedSMul A E] [ IsScalarTower 𝕜 A E] (z : A × E) :
596+ AnalyticAt 𝕜 (fun x : A × E ↦ x.1 • x.2 ) z :=
597+ (ContinuousLinearMap.lsmul 𝕜 A ).analyticAt_bilinear z
576598
577599/-- Multiplication in a normed algebra over `𝕜` is analytic. -/
578600@[fun_prop]
579601lemma analyticAt_mul (z : A × A) : AnalyticAt 𝕜 (fun x : A × A ↦ x.1 * x.2 ) z :=
580- (ContinuousLinearMap.mul 𝕜 A).analyticAt_bilinear z
602+ analyticAt_smul z
581603
582604/-- Scalar multiplication of one analytic function by another. -/
583- lemma AnalyticWithinAt.smul [NormedSpace 𝕝 F] [IsScalarTower 𝕜 𝕝 F]
584- {f : E → 𝕝 } {g : E → F} {s : Set E} {z : E}
605+ lemma AnalyticWithinAt.smul [Module A F] [IsBoundedSMul A F] [ IsScalarTower 𝕜 A F]
606+ {f : E → A } {g : E → F} {s : Set E} {z : E}
585607 (hf : AnalyticWithinAt 𝕜 f s z) (hg : AnalyticWithinAt 𝕜 g s z) :
586608 AnalyticWithinAt 𝕜 (fun x ↦ f x • g x) s z :=
587609 (analyticAt_smul _).comp₂_analyticWithinAt hf hg
588610
589611/-- Scalar multiplication of one analytic function by another. -/
590612@ [to_fun (attr := fun_prop)]
591- lemma AnalyticAt.smul [NormedSpace 𝕝 F] [IsScalarTower 𝕜 𝕝 F] {f : E → 𝕝} {g : E → F} {z : E }
592- (hf : AnalyticAt 𝕜 f z) (hg : AnalyticAt 𝕜 g z) :
613+ lemma AnalyticAt.smul [Module A F] [IsBoundedSMul A F] [ IsScalarTower 𝕜 A F] {f : E → A }
614+ {g : E → F} {z : E} (hf : AnalyticAt 𝕜 f z) (hg : AnalyticAt 𝕜 g z) :
593615 AnalyticAt 𝕜 (f • g) z :=
594616 (analyticAt_smul _).comp₂ hf hg
595617
596618/-- Scalar multiplication of one analytic function by another. -/
597- lemma AnalyticOn.smul [NormedSpace 𝕝 F] [IsScalarTower 𝕜 𝕝 F]
598- {f : E → 𝕝 } {g : E → F} {s : Set E}
619+ lemma AnalyticOn.smul [Module A F] [IsBoundedSMul A F] [ IsScalarTower 𝕜 A F]
620+ {f : E → A } {g : E → F} {s : Set E}
599621 (hf : AnalyticOn 𝕜 f s) (hg : AnalyticOn 𝕜 g s) :
600622 AnalyticOn 𝕜 (fun x ↦ f x • g x) s :=
601623 fun _ m ↦ (hf _ m).smul (hg _ m)
602624
603625/-- Scalar multiplication of one analytic function by another. -/
604- lemma AnalyticOnNhd.smul [NormedSpace 𝕝 F] [IsScalarTower 𝕜 𝕝 F] {f : E → 𝕝} {g : E → F} {s : Set E}
605- (hf : AnalyticOnNhd 𝕜 f s) (hg : AnalyticOnNhd 𝕜 g s) :
626+ lemma AnalyticOnNhd.smul [Module A F] [IsBoundedSMul A F] [IsScalarTower 𝕜 A F]
627+ {f : E → A} {g : E → F} {s : Set E} (hf : AnalyticOnNhd 𝕜 f s) (hg : AnalyticOnNhd 𝕜 g s) :
606628 AnalyticOnNhd 𝕜 (fun x ↦ f x • g x) s :=
607629 fun _ m ↦ (hf _ m).smul (hg _ m)
608630
@@ -616,19 +638,19 @@ lemma AnalyticWithinAt.mul {f g : E → A} {s : Set E} {z : E}
616638@ [to_fun (attr := fun_prop)]
617639lemma AnalyticAt.mul {f g : E → A} {z : E} (hf : AnalyticAt 𝕜 f z) (hg : AnalyticAt 𝕜 g z) :
618640 AnalyticAt 𝕜 (f * g) z :=
619- (analyticAt_mul _).comp₂ hf hg
641+ hf.smul hg
620642
621643/-- Multiplication of analytic functions (valued in a normed `𝕜`-algebra) is analytic. -/
622644lemma AnalyticOn.mul {f g : E → A} {s : Set E}
623645 (hf : AnalyticOn 𝕜 f s) (hg : AnalyticOn 𝕜 g s) :
624646 AnalyticOn 𝕜 (fun x ↦ f x * g x) s :=
625- fun _ m ↦ (hf _ m).mul (hg _ m)
647+ hf.smul hg
626648
627649/-- Multiplication of analytic functions (valued in a normed `𝕜`-algebra) is analytic. -/
628650lemma AnalyticOnNhd.mul {f g : E → A} {s : Set E}
629651 (hf : AnalyticOnNhd 𝕜 f s) (hg : AnalyticOnNhd 𝕜 g s) :
630652 AnalyticOnNhd 𝕜 (fun x ↦ f x * g x) s :=
631- fun _ m ↦ (hf _ m).mul (hg _ m)
653+ hf.smul hg
632654
633655/-- Powers of analytic functions (into a normed `𝕜`-algebra) are analytic. -/
634656@[to_fun]
@@ -662,31 +684,31 @@ lemma AnalyticOnNhd.pow {f : E → A} {s : Set E} (hf : AnalyticOnNhd 𝕜 f s)
662684 AnalyticOnNhd 𝕜 (f ^ n) s :=
663685 fun _ m ↦ (hf _ m).pow n
664686
665- /-- ZPowers of analytic functions (into a normed field over `𝕜`) are analytic if the exponent is
666- nonnegative. -/
687+ /-- ZPowers of analytic functions (into a normed division algebra over `𝕜`) are analytic if the
688+ exponent is nonnegative. -/
667689@[to_fun]
668690lemma AnalyticWithinAt.zpow_nonneg {f : E → 𝕝} {z : E} {s : Set E} {n : ℤ}
669691 (hf : AnalyticWithinAt 𝕜 f s z) (hn : 0 ≤ n) :
670692 AnalyticWithinAt 𝕜 (f ^ n) s z := by
671693 simpa [← zpow_natCast, hn] using hf.pow n.toNat
672694
673- /-- ZPowers of analytic functions (into a normed field over `𝕜`) are analytic if the exponent is
674- nonnegative. -/
695+ /-- ZPowers of analytic functions (into a normed division algebra over `𝕜`) are analytic if the
696+ exponent is nonnegative. -/
675697@[to_fun]
676698lemma AnalyticAt.zpow_nonneg {f : E → 𝕝} {z : E} {n : ℤ} (hf : AnalyticAt 𝕜 f z) (hn : 0 ≤ n) :
677699 AnalyticAt 𝕜 (f ^ n) z := by
678700 simpa [← zpow_natCast, hn] using hf.pow n.toNat
679701
680- /-- ZPowers of analytic functions (into a normed field over `𝕜`) are analytic if the exponent is
681- nonnegative. -/
702+ /-- ZPowers of analytic functions (into a normed division algebra over `𝕜`) are analytic if the
703+ exponent is nonnegative. -/
682704@[to_fun]
683705lemma AnalyticOn.zpow_nonneg {f : E → 𝕝} {s : Set E} {n : ℤ} (hf : AnalyticOn 𝕜 f s)
684706 (hn : 0 ≤ n) :
685707 AnalyticOn 𝕜 (f ^ n) s := by
686708 simpa [← zpow_natCast, hn] using hf.pow n.toNat
687709
688- /-- ZPowers of analytic functions (into a normed field over `𝕜`) are analytic if the exponent is
689- nonnegative. -/
710+ /-- ZPowers of analytic functions (into a normed division algebra over `𝕜`) are analytic if the
711+ exponent is nonnegative. -/
690712@[to_fun]
691713lemma AnalyticOnNhd.zpow_nonneg {f : E → 𝕝} {s : Set E} {n : ℤ} (hf : AnalyticOnNhd 𝕜 f s)
692714 (hn : 0 ≤ n) :
749771-/
750772
751773section Geometric
752-
753- variable (𝕜 A : Type *) [NontriviallyNormedField 𝕜] [NormedRing A] [NormedAlgebra 𝕜 A]
774+ variable (𝕜 A)
754775
755776/-- The geometric series `1 + x + x ^ 2 + ...` as a `FormalMultilinearSeries`. -/
756777def formalMultilinearSeries_geometric : FormalMultilinearSeries 𝕜 A A :=
@@ -771,24 +792,18 @@ lemma formalMultilinearSeries_geometric_apply_norm [NormOneClass A] (n : ℕ) :
771792 ‖formalMultilinearSeries_geometric 𝕜 A n‖ = 1 :=
772793 ContinuousMultilinearMap.norm_mkPiAlgebraFin
773794
774- end Geometric
775-
776- lemma one_le_formalMultilinearSeries_geometric_radius (𝕜 : Type *) [NontriviallyNormedField 𝕜]
777- (A : Type *) [NormedRing A] [NormedAlgebra 𝕜 A] :
795+ lemma one_le_formalMultilinearSeries_geometric_radius :
778796 1 ≤ (formalMultilinearSeries_geometric 𝕜 A).radius := by
779797 convert formalMultilinearSeries_geometric_eq_ofScalars 𝕜 A ▸
780798 FormalMultilinearSeries.inv_le_ofScalars_radius_of_tendsto A _ one_ne_zero (by simp)
781799 simp
782800
783- lemma formalMultilinearSeries_geometric_radius (𝕜 : Type *) [NontriviallyNormedField 𝕜]
784- (A : Type *) [NormedRing A] [NormOneClass A] [NormedAlgebra 𝕜 A] :
801+ lemma formalMultilinearSeries_geometric_radius [NormOneClass A] :
785802 (formalMultilinearSeries_geometric 𝕜 A).radius = 1 :=
786803 formalMultilinearSeries_geometric_eq_ofScalars 𝕜 A ▸
787804 FormalMultilinearSeries.ofScalars_radius_eq_of_tendsto A _ one_ne_zero (by simp)
788805
789- lemma hasFPowerSeriesOnBall_inverse_one_sub
790- (𝕜 : Type *) [NontriviallyNormedField 𝕜]
791- (A : Type *) [NormedRing A] [NormedAlgebra 𝕜 A] [HasSummableGeomSeries A] :
806+ lemma hasFPowerSeriesOnBall_inverse_one_sub [HasSummableGeomSeries A] :
792807 HasFPowerSeriesOnBall (fun x : A ↦ Ring.inverse (1 - x))
793808 (formalMultilinearSeries_geometric 𝕜 A) 0 1 := by
794809 constructor
@@ -802,16 +817,16 @@ lemma hasFPowerSeriesOnBall_inverse_one_sub
802817 exact (summable_geometric_of_norm_lt_one hy).hasSum
803818
804819@[fun_prop]
805- lemma analyticAt_inverse_one_sub (𝕜 : Type *) [NontriviallyNormedField 𝕜]
806- (A : Type *) [NormedRing A] [NormedAlgebra 𝕜 A] [HasSummableGeomSeries A] :
820+ lemma analyticAt_inverse_one_sub [HasSummableGeomSeries A] :
807821 AnalyticAt 𝕜 (fun x : A ↦ Ring.inverse (1 - x)) 0 :=
808822 ⟨_, ⟨_, hasFPowerSeriesOnBall_inverse_one_sub 𝕜 A⟩⟩
809823
824+ end Geometric
825+
810826/-- If `A` is a normed algebra over `𝕜` with summable geometric series, then inversion on `A` is
811827analytic at any unit. -/
812828@[fun_prop]
813- lemma analyticAt_inverse {𝕜 : Type *} [NontriviallyNormedField 𝕜]
814- {A : Type *} [NormedRing A] [NormedAlgebra 𝕜 A] [HasSummableGeomSeries A] (z : Aˣ) :
829+ lemma analyticAt_inverse [HasSummableGeomSeries A] (z : Aˣ) :
815830 AnalyticAt 𝕜 Ring.inverse (z : A) := by
816831 rcases subsingleton_or_nontrivial A with hA | hA
817832 · convert analyticAt_const (v := (0 : A))
@@ -840,20 +855,19 @@ lemma analyticAt_inverse {𝕜 : Type*} [NontriviallyNormedField 𝕜]
840855 exact analyticAt_inverse_one_sub 𝕜 A
841856 · exact analyticAt_const.sub (analyticAt_const.mul analyticAt_id)
842857
843- lemma analyticOnNhd_inverse {𝕜 : Type *} [NontriviallyNormedField 𝕜]
844- {A : Type *} [NormedRing A] [NormedAlgebra 𝕜 A] [HasSummableGeomSeries A] :
858+ lemma analyticOnNhd_inverse [HasSummableGeomSeries A] :
845859 AnalyticOnNhd 𝕜 Ring.inverse {x : A | IsUnit x} :=
846860 fun _ hx ↦ analyticAt_inverse (IsUnit.unit hx)
847861
848- lemma hasFPowerSeriesOnBall_inv_one_sub
849- (𝕜 𝕝 : Type *) [NontriviallyNormedField 𝕜] [NontriviallyNormedField 𝕝] [NormedAlgebra 𝕜 𝕝] :
862+ variable (𝕜 𝕝) in
863+ lemma hasFPowerSeriesOnBall_inv_one_sub :
850864 HasFPowerSeriesOnBall (fun x : 𝕝 ↦ (1 - x)⁻¹) (formalMultilinearSeries_geometric 𝕜 𝕝) 0 1 := by
851865 convert hasFPowerSeriesOnBall_inverse_one_sub 𝕜 𝕝
852866 exact Ring.inverse_eq_inv'.symm
853867
868+ variable (𝕝) in
854869@[fun_prop]
855- lemma analyticAt_inv_one_sub (𝕝 : Type *) [NontriviallyNormedField 𝕝] [NormedAlgebra 𝕜 𝕝] :
856- AnalyticAt 𝕜 (fun x : 𝕝 ↦ (1 - x)⁻¹) 0 :=
870+ lemma analyticAt_inv_one_sub : AnalyticAt 𝕜 (fun x : 𝕝 ↦ (1 - x)⁻¹) 0 :=
857871 ⟨_, ⟨_, hasFPowerSeriesOnBall_inv_one_sub 𝕜 𝕝⟩⟩
858872
859873/-- If `𝕝` is a normed field extension of `𝕜`, then the inverse map `𝕝 → 𝕝` is `𝕜`-analytic
@@ -937,8 +951,8 @@ lemma AnalyticOnNhd.zpow {f : E → 𝕝} {s : Set E} {n : ℤ} (h₁f : Analyti
937951
938952/- A function is analytic at a point iff it is analytic after scalar
939953 multiplication with a non-vanishing analytic function. -/
940- theorem analyticAt_iff_analytic_fun_smul [NormedSpace 𝕝 F] [IsScalarTower 𝕜 𝕝 F] {f : E → 𝕝}
941- {g : E → F} {z : E} (h₁f : AnalyticAt 𝕜 f z) (h₂f : f z ≠ 0 ) :
954+ theorem analyticAt_iff_analytic_fun_smul [Module 𝕝 F] [IsBoundedSMul 𝕝 F] [IsScalarTower 𝕜 𝕝 F]
955+ {f : E → 𝕝} { g : E → F} {z : E} (h₁f : AnalyticAt 𝕜 f z) (h₂f : f z ≠ 0 ) :
942956 AnalyticAt 𝕜 g z ↔ AnalyticAt 𝕜 (fun z ↦ f z • g z) z := by
943957 constructor
944958 · exact fun a ↦ h₁f.smul a
@@ -952,8 +966,8 @@ theorem analyticAt_iff_analytic_fun_smul [NormedSpace 𝕝 F] [IsScalarTower
952966
953967/- A function is analytic at a point iff it is analytic after scalar
954968 multiplication with a non-vanishing analytic function. -/
955- theorem analyticAt_iff_analytic_smul [NormedSpace 𝕝 F] [IsScalarTower 𝕜 𝕝 F] {f : E → 𝕝}
956- {g : E → F} {z : E} (h₁f : AnalyticAt 𝕜 f z) (h₂f : f z ≠ 0 ) :
969+ theorem analyticAt_iff_analytic_smul [Module 𝕝 F] [IsBoundedSMul 𝕝 F] [IsScalarTower 𝕜 𝕝 F]
970+ {f : E → 𝕝} { g : E → F} {z : E} (h₁f : AnalyticAt 𝕜 f z) (h₂f : f z ≠ 0 ) :
957971 AnalyticAt 𝕜 g z ↔ AnalyticAt 𝕜 (f • g) z :=
958972 analyticAt_iff_analytic_fun_smul h₁f h₂f
959973
0 commit comments