Skip to content

Commit e05c12d

Browse files
committed
feat: sums of meromorphic functions are meromorphic (#31010)
In complete analogy to existing statements about products, establish in very few lines that sums of meromorphic functions are meromorphic. Fix several docstrings.
1 parent 0517a13 commit e05c12d

File tree

1 file changed

+37
-5
lines changed

1 file changed

+37
-5
lines changed

β€ŽMathlib/Analysis/Meromorphic/Basic.leanβ€Ž

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ namespace MeromorphicAt
5555
@[fun_prop]
5656
lemma id (x : π•œ) : MeromorphicAt id x := analyticAt_id.meromorphicAt
5757

58-
@[fun_prop]
58+
@[fun_prop, simp]
5959
lemma const (e : E) (x : π•œ) : MeromorphicAt (fun _ ↦ e) x :=
6060
analyticAt_const.meromorphicAt
6161

@@ -109,7 +109,7 @@ lemma fun_mul {f g : π•œ β†’ π•œ} {x : π•œ} (hf : MeromorphicAt f x) (hg : Me
109109

110110
@[deprecated (since := "2025-05-09")] alias mul' := fun_mul
111111

112-
/-- Finite products of meromorphic functions are analytic. -/
112+
/-- Finite products of meromorphic functions are meromorphic. -/
113113
@[fun_prop]
114114
theorem prod {ΞΉ : Type*} {s : Finset ΞΉ} {f : ΞΉ β†’ π•œ β†’ π•œ} {x : π•œ}
115115
(h : βˆ€ Οƒ, MeromorphicAt (f Οƒ) x) :
@@ -123,14 +123,35 @@ theorem prod {ΞΉ : Type*} {s : Finset ΞΉ} {f : ΞΉ β†’ π•œ β†’ π•œ} {x : π•œ}
123123
rw [Finset.prod_insert hσ]
124124
exact (h Οƒ).mul hind
125125

126-
/-- Finite products of meromorphic functions are analytic. -/
126+
/-- Finite products of meromorphic functions are meromorphic. -/
127127
@[fun_prop]
128128
theorem fun_prod {ΞΉ : Type*} {s : Finset ΞΉ} {f : ΞΉ β†’ π•œ β†’ π•œ} {x : π•œ}
129129
(h : βˆ€ Οƒ, MeromorphicAt (f Οƒ) x) :
130130
MeromorphicAt (fun z ↦ ∏ n ∈ s, f n z) x := by
131131
convert prod h (s := s)
132132
simp
133133

134+
/-- Finite sums of meromorphic functions are meromorphic. -/
135+
@[fun_prop]
136+
theorem sum {ΞΉ : Type*} {s : Finset ΞΉ} {f : ΞΉ β†’ π•œ β†’ E} {x : π•œ} (h : βˆ€ Οƒ, MeromorphicAt (f Οƒ) x) :
137+
MeromorphicAt (βˆ‘ n ∈ s, f n) x := by
138+
classical
139+
induction s using Finset.induction with
140+
| empty =>
141+
simp only [Finset.sum_empty]
142+
exact analyticAt_const.meromorphicAt
143+
| insert σ s hσ hind =>
144+
rw [Finset.sum_insert hσ]
145+
exact (h Οƒ).add hind
146+
147+
/-- Finite sums of meromorphic functions are meromorphic. -/
148+
@[fun_prop]
149+
theorem fun_sum {ΞΉ : Type*} {s : Finset ΞΉ} {f : ΞΉ β†’ π•œ β†’ E} {x : π•œ}
150+
(h : βˆ€ Οƒ, MeromorphicAt (f Οƒ) x) :
151+
MeromorphicAt (fun z ↦ βˆ‘ n ∈ s, f n z) x := by
152+
convert sum h (s := s)
153+
simp
154+
134155
@[fun_prop]
135156
lemma neg {f : π•œ β†’ E} {x : π•œ} (hf : MeromorphicAt f x) : MeromorphicAt (-f) x := by
136157
convert (MeromorphicAt.const (-1 : π•œ) x).smul hf using 1
@@ -401,18 +422,29 @@ lemma mul : MeromorphicOn (s * t) U := fun x hx ↦ (hs x hx).mul (ht x hx)
401422
include hs ht in
402423
lemma fun_mul : MeromorphicOn (fun z ↦ s z * t z) U := fun x hx ↦ (hs x hx).mul (ht x hx)
403424

404-
/-- Finite products of meromorphic functions are analytic. -/
425+
/-- Finite products of meromorphic functions are meromorphic. -/
405426
lemma prod {U : Set π•œ} {ΞΉ : Type*} {s : Finset ΞΉ} {f : ΞΉ β†’ π•œ β†’ π•œ}
406427
(h : βˆ€ Οƒ, MeromorphicOn (f Οƒ) U) :
407428
MeromorphicOn (∏ n ∈ s, f n) U :=
408429
fun z hz ↦ MeromorphicAt.prod (fun Οƒ ↦ h Οƒ z hz)
409430

410-
/-- Finite products of meromorphic functions are analytic. -/
431+
/-- Finite products of meromorphic functions are meromorphic. -/
411432
lemma fun_prod {U : Set π•œ} {ΞΉ : Type*} {s : Finset ΞΉ} {f : ΞΉ β†’ π•œ β†’ π•œ}
412433
(h : βˆ€ Οƒ, MeromorphicOn (f Οƒ) U) :
413434
MeromorphicOn (fun z ↦ ∏ n ∈ s, f n z) U :=
414435
fun z hz ↦ MeromorphicAt.fun_prod (fun Οƒ ↦ h Οƒ z hz)
415436

437+
/-- Finite sums of meromorphic functions are meromorphic. -/
438+
lemma sum {U : Set π•œ} {ΞΉ : Type*} {s : Finset ΞΉ} {f : ΞΉ β†’ π•œ β†’ E} (h : βˆ€ Οƒ, MeromorphicOn (f Οƒ) U) :
439+
MeromorphicOn (βˆ‘ n ∈ s, f n) U :=
440+
fun z hz ↦ MeromorphicAt.sum (fun Οƒ ↦ h Οƒ z hz)
441+
442+
/-- Finite sums of meromorphic functions are meromorphic. -/
443+
lemma fun_sum {U : Set π•œ} {ΞΉ : Type*} {s : Finset ΞΉ} {f : ΞΉ β†’ π•œ β†’ E}
444+
(h : βˆ€ Οƒ, MeromorphicOn (f Οƒ) U) :
445+
MeromorphicOn (fun z ↦ βˆ‘ n ∈ s, f n z) U :=
446+
fun z hz ↦ MeromorphicAt.fun_sum (fun Οƒ ↦ h Οƒ z hz)
447+
416448
include hs in
417449
lemma inv : MeromorphicOn s⁻¹ U := fun x hx ↦ (hs x hx).inv
418450

0 commit comments

Comments
Β (0)