From 72d6a5dbc936a73dc3b06da189a668a4e417f732 Mon Sep 17 00:00:00 2001 From: madeve-unipi <56154049+madeve-unipi@users.noreply.github.com> Date: Mon, 22 Jul 2024 12:55:45 +0200 Subject: [PATCH] Three lines lemma on any strip from the Mathlib version on the unit strip (#38) Not sure this actually needs to be merged, but Hadamard.lean is a generalization of the Mathlib version of the three lines lemma to any vertical strip in the complex plane. --- BonnAnalysis/Hadamard.lean | 251 ++++++++++++++++++++++++ blueprint/src/chapter/interpolation.tex | 5 +- 2 files changed, 254 insertions(+), 2 deletions(-) create mode 100644 BonnAnalysis/Hadamard.lean diff --git a/BonnAnalysis/Hadamard.lean b/BonnAnalysis/Hadamard.lean new file mode 100644 index 0000000..fd20e79 --- /dev/null +++ b/BonnAnalysis/Hadamard.lean @@ -0,0 +1,251 @@ +import Mathlib.Analysis.Complex.Hadamard + +open Set Filter Function Complex Topology HadamardThreeLines + +lemma Real.sub_ne_zero_of_lt {a b : ℝ} (hab: a < b) : b - a ≠ 0 := by apply ne_of_gt; simp[hab] + +namespace Complex + +lemma DiffContOnCl.id {s: Set ℂ} : DiffContOnCl ℂ id s := + DiffContOnCl.mk differentiableOn_id continuousOn_id + +namespace HadamardThreeLines + +variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℂ E] + +/--An auxiliary function to prove the general statement of Hadamard's three lines theorem.-/ +def scale (f: ℂ → E) (l u : ℝ) : ℂ → E := fun z ↦ f (l + z • (u-l)) + +/--The transformation on ℂ that is used for `scale` maps the strip ``re ⁻¹' (l,u)`` + to the strip ``re ⁻¹' (0,1)``-/ +lemma scale_mapsto_dom {l u : ℝ} (hul: l