All proofs
Project-declaredLean 4.32.0 · mathlib@81a5d257c8e4

Borel Caratheodory closed Ball

borelCaratheodory_closedBall

Project documentation

A closed-disc form of the Borel–Carathéodory theorem. Let R,M>0R,M>0, let ff be analytic on zR|z|\le R, assume f(0)=0f(0)=0, and suppose Ref(z)M\operatorname{Re}f(z)\le M throughout that disc. If r<Rr<R and zr|z|\le r, then f(z)2MrRr.|f(z)|\le \frac{2Mr}{R-r}.

Exact Lean statement

@[blueprint "borelCaratheodory_closedBall"
  (title := "borelCaratheodory-closedBall")
  (statement := /--
    Let $R,\,M>0$. Let $f$ be analytic on $|z|\leq R$ such that
    $f(0)=0$ and suppose $\Re f(z)\leq M$ for all $|z|\leq R$.
    Then for any $0 < r < R$,
    $$\sup_{|z|\leq r}|f(z)|\leq\frac{2Mr}{R-r}.$$
  -/)
  (proof := /--
    Let
    $$f_M(z)=\frac{f(z)/z}{2M-f(z)}.$$
    Note that $2M-f(z)\neq 0$ because
    $\Re (2M-f(z))=2M-\Re f(z)\geq M>0$. Additionally, since
    $f(z)$ has a zero at $0$, we know that $f(z)/z$ is analytic
    on $|z|\leq R$. Likewise, $f_M(z)$ is analytic on
    $|z|\leq R$.
    Now note that $|f(z)|\leq|2M-f(z)|$ since $\Re f(z)\leq M$.
    Thus we have that
    $$|f_M(z)|=\frac{|f(z)|/|z|}{|2M-f(z)|}
      \leq\frac{1}{|z|}.$$
    Now by the maximum modulus principle, we know the maximum of
    $|f_M|$ must occur on the boundary where $|z|=R$. Thus,
    $|f_M(z)|\leq 1/R$ for all $|z|\leq R$. So for $|z|=r$ we
    have
    $$|f_M(z)|=\frac{|f(z)|/r}{|2M-f(z)|}\leq\frac{1}{R}
    \implies R\,|f(z)|\leq r\,|2M-f(z)|\leq 2Mr+r\,|f(z)|.$$
    Which by algebraic manipulation gives
    $$|f(z)|\leq\frac{2Mr}{R-r}.$$
    Once more, by the maximum modulus principle, we know the
    maximum of $|f|$ must occur on the boundary where $|z|=r$.
    Thus, the desired result immediately follows
  -/)]
theorem borelCaratheodory_closedBall {M R r : ℝ} {z : ℂ}
    {f : ℂ → ℂ} (Rpos : 0 < R)
    (analytic : AnalyticOn ℂ f (Metric.closedBall 0 R))
    (zeroAtZero : f 0 = 0) (Mpos : 0 < M)
    (realPartBounded : ∀ z ∈ Metric.closedBall 0 R, (f z).re ≤ M)
    (hyp_r : r < R)
    (hyp_z : z ∈ Metric.closedBall 0 r) :
    ‖f z‖ ≤ (2 * M * r) / (R - r)

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
@[blueprint "borelCaratheodory_closedBall"  (title := "borelCaratheodory-closedBall")  (statement := /--    Let $R,\,M>0$. Let $f$ be analytic on $|z|\leq R$ such that    $f(0)=0$ and suppose $\Re f(z)\leq M$ for all $|z|\leq R$.    Then for any $0 < r < R$,    $$\sup_{|z|\leq r}|f(z)|\leq\frac{2Mr}{R-r}.$$  -/)  (proof := /--    Let    $$f_M(z)=\frac{f(z)/z}{2M-f(z)}.$$    Note that $2M-f(z)\neq 0$ because    $\Re (2M-f(z))=2M-\Re f(z)\geq M>0$. Additionally, since    $f(z)$ has a zero at $0$, we know that $f(z)/z$ is analytic    on $|z|\leq R$. Likewise, $f_M(z)$ is analytic on    $|z|\leq R$.    Now note that $|f(z)|\leq|2M-f(z)|$ since $\Re f(z)\leq M$.    Thus we have that    $$|f_M(z)|=\frac{|f(z)|/|z|}{|2M-f(z)|}      \leq\frac{1}{|z|}.$$    Now by the maximum modulus principle, we know the maximum of    $|f_M|$ must occur on the boundary where $|z|=R$. Thus,    $|f_M(z)|\leq 1/R$ for all $|z|\leq R$. So for $|z|=r$ we    have    $$|f_M(z)|=\frac{|f(z)|/r}{|2M-f(z)|}\leq\frac{1}{R}    \implies R\,|f(z)|\leq r\,|2M-f(z)|\leq 2Mr+r\,|f(z)|.$$    Which by algebraic manipulation gives    $$|f(z)|\leq\frac{2Mr}{R-r}.$$    Once more, by the maximum modulus principle, we know the    maximum of $|f|$ must occur on the boundary where $|z|=r$.    Thus, the desired result immediately follows  -/)]theorem borelCaratheodory_closedBall {M R r : } {z : ℂ}    {f : ℂ  ℂ} (Rpos : 0 < R)    (analytic : AnalyticOn ℂ f (Metric.closedBall 0 R))    (zeroAtZero : f 0 = 0) (Mpos : 0 < M)    (realPartBounded :  z  Metric.closedBall 0 R, (f z).re  M)    (hyp_r : r < R)    (hyp_z : z  Metric.closedBall 0 r) :    ‖f z‖  (2 * M * r) / (R - r) := by  have zInSFunc :       r  R,  z  Metric.sphere (0 : ℂ) r,      z  Metric.closedBall (0 : ℂ) R := by    intro r hyp_r z hyp_z    exact Set.mem_of_mem_of_subset hyp_z <|      (Metric.sphere_subset_closedBall).trans        (Metric.closedBall_subset_closedBall hyp_r)  have fPosAll :       z  Metric.closedBall 0 R, 2 * M - f z  0 := by    intro z zInS    exact Complex.ne_zero_of_re_pos (by      rw [Complex.sub_re, Complex.mul_re, Complex.re_ofNat, Complex.ofReal_re,        Complex.im_ofNat, Complex.ofReal_im, mul_zero, sub_zero, sub_pos]      linarith [realPartBounded z zInS])  have schwartzQuotientBounded :       z  Metric.sphere 0 R,      ‖schwartzQuotient f M z‖  1 / R := by    intro z hyp_z    have zNe0 : z  0 := by      rw [mem_sphere_zero_iff_norm] at hyp_z      exact ne_zero_of_norm_ne_zero (by linarith)    have zInS : z  Metric.closedBall 0 R :=      zInSFunc R le_rfl z hyp_z    rw [mem_sphere_iff_norm, sub_zero] at hyp_z    calc ‖schwartzQuotient f M z‖      _ = (‖f z‖ / ‖z‖) /2 * M - f z‖ := by        simp only [Complex.norm_div, divRemovable_zero_of_ne_zero f zNe0]      _  (‖f z‖ / ‖z‖) / ‖f z‖ := by        by_cases h : ‖f z‖ = 0        · simp only [h, zero_div, div_zero, le_refl]        · exact div_le_div_of_nonneg_left            (by positivity) (by positivity)            (Complex.norm_le_norm_two_mul_sub_of_re_le              Mpos (realPartBounded z zInS))      _  1 / ‖z‖ := by        rw [div_right_comm]        exact div_le_div_of_nonneg_right (div_self_le_one _) (norm_nonneg _)      _ = 1 / R := by rw [hyp_z]  have maxMod (z) (hz : z  Metric.closedBall 0 R) : ‖schwartzQuotient f M z‖  1 / R :=    AnalyticOn.norm_le_of_norm_le_on_sphere le_rfl      (AnalyticOn.schwartzQuotient M Rpos analytic fPosAll zeroAtZero)      schwartzQuotientBounded hz  have boundForF :       r < R, 0 < r        z  Metric.sphere 0 r,      ‖f z‖  2 * M * r / (R - r) := by    intro r hyp_r r_pos z zOnR    have zInS : z  Metric.closedBall 0 R :=      zInSFunc r hyp_r.le z zOnR    rw [mem_sphere_zero_iff_norm] at zOnR    have := maxMod z zInS    unfold schwartzQuotient at this    have U : z  0 := by      rwa [ norm_pos_iff, zOnR]    simp only [divRemovable_zero_of_ne_zero f U, Complex.norm_div, one_div] at this    have U : 0 < r *2 * M - f z‖ := by      simp only [r_pos, mul_pos_iff_of_pos_left, norm_pos_iff, ne_eq, fPosAll z zInS,        not_false_eq_true]    rw [zOnR, div_div, div_le_iff₀' U] at this    have U0 :        ‖f z‖  2 * M * r / R + (r / R) * ‖f z‖ := by      calc ‖f z‖        _  r *2 * M - f z‖ * R⁻¹ := this        _  r * (‖(2 : ℂ) * M‖ + ‖f z‖) * R⁻¹ := by          grw [norm_sub_le]        _ = r * (2 * M + ‖f z‖) * R⁻¹ := by          simp [Mpos.le]        _ = 2 * M * r / R + (r / R) * ‖f z‖ := by          ring_nf    rw [ tsub_le_iff_right,  one_sub_mul,  le_div_iff₀'] at U0    · have hR : (R : )  0 := Rpos.ne'      have hRr : R - r  0 := sub_ne_zero.mpr (ne_of_lt hyp_r).symm      have heq : 2 * M * r / (R - r) = 2 * M * r / R / (1 - r / R) := by        rw [one_sub_div hR]; field_simp      rw [heq]      exact U0    · rwa [sub_pos, div_lt_one₀ Rpos]  have maxBoundForF      (r) (hyp_r : r < R) (pos_r : 0 < r)      (z) (hz : z  Metric.closedBall 0 r) :      ‖f z‖  2 * M * r / (R - r) :=    AnalyticOn.norm_le_of_norm_le_on_sphere hyp_r.le analytic (boundForF r hyp_r pos_r) hz  have U : 0  r := by    rw [mem_closedBall_iff_norm, sub_zero] at hyp_z    exact (norm_nonneg z).trans hyp_z  cases U.eq_or_lt' with  | inl pos_r =>    obtain rfl : z = 0 := by      rwa [pos_r, Metric.closedBall_zero, Set.mem_singleton_iff] at hyp_z    rwa [pos_r, mul_zero, sub_zero, zero_div, norm_le_zero_iff]  | inr pos_r =>    exact maxBoundForF r hyp_r pos_r z hyp_z
Project
Prime Number Theorem and More
License
Apache-2.0
Commit
a93551347dce
Source
PrimeNumberTheoremAnd/BorelCaratheodory.lean:220-351

Reuse this declaration

Bring the exact result into your workflow

The import identifies the source module. Your project still needs the pinned package dependency shown on this page.

What this badge means

This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.

Continue in this project

Related declarations

Project-declaredLean 4.32.0

Admissible bound mono

admissible_bound.mono

Plain-language statement

For positive parameters A,B,C,RA,B,C,R, the classical error-bound function A(logxR)Bexp ⁣(ClogxR)A\left(\frac{\log x}{R}\right)^B\exp\!\left(-C\sqrt{\frac{\log x}{R}}\right) is nonincreasing once xexp ⁣(R(2B/C)2)x\ge \exp\!\left(R(2B/C)^2\right).

analytic number theoryprime numbersasymptotics

Source project: Prime Number Theorem and More

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Analytic On div Removable zero

AnalyticOn_divRemovable_zero

Plain-language statement

Let ff be analytic on an open set ss containing 00, and suppose f(0)=0f(0)=0. Define g(z)=f(z)/zg(z)=f(z)/z for z0z\ne0 and g(0)=f(0)g(0)=f'(0). Then the apparent singularity at 00 is removable and gg is analytic throughout ss.

analytic number theoryprime numbersasymptotics

Source project: Prime Number Theorem and More

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Analytic On div Removable zero closed Ball

AnalyticOn_divRemovable_zero_closedBall

Plain-language statement

Suppose R>0R>0 and ff is analytic on the closed disc zR|z|\le R with f(0)=0f(0)=0. Define g(z)=f(z)/zg(z)=f(z)/z for z0z\ne0 and g(0)=f(0)g(0)=f'(0). Then gg is analytic on the entire closed disc, including at the removed singularity.

analytic number theoryprime numbersasymptotics

Source project: Prime Number Theorem and More

Person-level attribution pending.

View proof record