Skip to content

Commit 5e4acf8

Browse files
committed
feat: simple lemmas on circle integrability (#39566)
Add several very simple but useful lemmas on circle integrability and circle averages. This material is used in [Project VD](https://github.com/kebekus/ProjectVD), formalizing Value Distribution Theory for meromorphic functions on the complex plane.
1 parent 2f5831a commit 5e4acf8

2 files changed

Lines changed: 38 additions & 2 deletions

File tree

Mathlib/MeasureTheory/Integral/CircleAverage.lean

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,15 @@ theorem ContinuousOn.circleAverage {f : ℂ → E} {s : Set ℝ} {c : ℂ}
209209
apply hf.comp (f := (fun x ↦ ⟨circleMap c x.1 x.2, this x⟩))
210210
fun_prop
211211

212+
/--
213+
The circle average of a continuous function is itself continuous, as a function
214+
of the radius.
215+
-/
216+
@[fun_prop] theorem Continuous.circleAverage {f : ℂ → E} (hf : Continuous f) :
217+
Continuous (Real.circleAverage f c) := by
218+
apply (intervalIntegral.continuous_parametric_intervalIntegral_of_continuous' _ _ _).const_smul
219+
fun_prop
220+
212221
/--
213222
Companion lemma to `ContinuousOn.circleAverage`: a function continuous on `Ioc r
214223
R` and constant on `Ioo r R` is constant.

Mathlib/MeasureTheory/Integral/CircleIntegral.lean

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,9 +194,13 @@ Analogue of `IntervalIntegrable.abs`: If a real-valued function `f` is circle in
194194
theorem abs {f : ℂ → ℝ} (hf : CircleIntegrable f c R) :
195195
CircleIntegrable |f| c R := IntervalIntegrable.abs hf
196196

197-
nonrec theorem add (hf : CircleIntegrable f c R) (hg : CircleIntegrable g c R) :
197+
@[to_fun] theorem add (hf : CircleIntegrable f c R) (hg : CircleIntegrable g c R) :
198198
CircleIntegrable (f + g) c R :=
199-
hf.add hg
199+
IntervalIntegrable.add hf hg
200+
201+
@[to_fun] theorem sub (hf : CircleIntegrable f c R) (hg : CircleIntegrable g c R) :
202+
CircleIntegrable (f - g) c R :=
203+
IntervalIntegrable.sub hf hg
200204

201205
/-- Sums of circle integrable functions are circle integrable. -/
202206
protected theorem sum {ι : Type*} (s : Finset ι) {f : ι → ℂ → E}
@@ -233,6 +237,29 @@ theorem const_smul {f : ℂ → A} (h : CircleIntegrable f c R) : CircleIntegrab
233237
theorem const_fun_smul {f : ℂ → A} (h : CircleIntegrable f c R) :
234238
CircleIntegrable (fun z ↦ a • f z) c R := const_smul h
235239

240+
variable
241+
{𝕜 F : Type*} [NormedRing 𝕜] [NormedAddCommGroup F] [Module 𝕜 F] [NormSMulClass 𝕜 F]
242+
243+
/--
244+
If `g` is continuous on the circle `sphere c |R|` and `f` is circle integrable, then `g • f` is
245+
circle integrable.
246+
-/
247+
@[to_fun] theorem smul_of_continuousOn {f : ℂ → F} {g : ℂ → 𝕜} (hf : CircleIntegrable f c R)
248+
(hg : ContinuousOn g (sphere c |R|)) :
249+
CircleIntegrable (g • f) c R :=
250+
IntervalIntegrable.continuousOn_smul hf
251+
(hg.comp (by fun_prop) (fun x hx ↦ circleMap_mem_sphere' c R x))
252+
253+
/--
254+
If `g` is continuous on the circle `sphere c |R|` and `f` is circle integrable, then `g * f` is
255+
circle integrable.
256+
-/
257+
@[to_fun] theorem mul_of_continuousOn {f g : ℂ → 𝕜} (hf : CircleIntegrable f c R)
258+
(hg : ContinuousOn g (sphere c |R|)) :
259+
CircleIntegrable (g * f) c R :=
260+
IntervalIntegrable.continuousOn_mul hf
261+
(hg.comp (by fun_prop) (fun x hx ↦ circleMap_mem_sphere' c R x))
262+
236263
/-- The function we actually integrate over `[0, 2π]` in the definition of `circleIntegral` is
237264
integrable. -/
238265
theorem out [NormedSpace ℂ E] (hf : CircleIntegrable f c R) :

0 commit comments

Comments
 (0)