Skip to main content
AlexKontorovich/PrimeNumberTheoremAnd
Source indexedtheorem · leanprover/lean4:v4.32.0

JBlaschkeDerivBound

PrimeNumberTheoremAnd.StrongPNT · PrimeNumberTheoremAnd/StrongPNT.lean:881 to 931

Mathematical statement

Exact Lean statement

@[blueprint "JBlaschkeDerivBound"
  (title := "JBlaschkeDerivBound")
  (statement := /--
    Let $B>1$ and $0 < r' < r < R<1$. If $f:\mathbb{C}\to\mathbb{C}$ is a function analytic
    on neighborhoods of points in $\overline{\mathbb{D}_1}$ with $f(0)=1$ and $|f(z)|\leq B$
    for all $|z|\leq R$, then for all $|z|\leq r'$
    $$|L_f'(z)|\leq\frac{16\log(B)\,r^2}{(r-r')^3}.$$
  -/)
  (proof := /--
    By Lemma \ref{DiskBound} we immediately know that $|B_f(z)|\leq B$ for all $|z|\leq R$.
    Now since $L_f=J_{B_f}$ by Definition \ref{JBlaschke}, by Theorem
    \ref{LogOfAnalyticFunction} we know that
    $$L_f(0)=0\qquad\text{and}\qquad
      \Re L_f(z)=\log|B_f(z)|-\log|B_f(0)|\leq\log|B_f(z)|\leq\log B$$
    for all $|z|\leq r$. Note that in the above
    $$0=\log|f(0)|\leq\log|B_f(0)|$$
    because of Lemma \ref{norm_fOfZero_le_norm_BlaschkeOfZero}. So by Theorem \ref{BorelCaratheodoryDeriv}, it follows that
    $$|L_f'(z)|\leq\frac{16\log(B)\,r^2}{(r-r')^3}$$
    for all $|z|\leq r'$.
  -/)
  (latexEnv := "theorem")]
theorem JBlaschkeDerivBound {B r' r R : ℝ} {f : ℂ → ℂ} {z : ℂ}
    (one_lt_B : 1 < B) (r'_pos : 0 < r') (r'_lt_r : r' < r) (r_pos : 0 < r) (r_lt_R : r < R) (R_lt_one : R < 1)
    (hfAnalytic : AnalyticOnNhd ℂ f (Metric.closedBall (0 : ℂ) 1)) (hf0_eq_one : f 0 = 1)
    (finiteZeros : (SetOfZeros 1 f).Finite) (fz_bound : ∀ z : ℂ, ‖z‖ ≤ R → ‖f z‖ ≤ B)
    (hz : z ∈ Metric.closedBall (0 : ℂ) r') :
    ‖deriv (JBlaschke r'_pos r'_lt_r r_pos r_lt_R R_lt_one hfAnalytic hf0_eq_one finiteZeros) z‖
      ≤ 16 * Real.log (B) * r ^ 2 / (r - r') ^ 3

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
@[blueprint "JBlaschkeDerivBound"  (title := "JBlaschkeDerivBound")  (statement := /--    Let $B>1$ and $0 < r' < r < R<1$. If $f:\mathbb{C}\to\mathbb{C}$ is a function analytic    on neighborhoods of points in $\overline{\mathbb{D}_1}$ with $f(0)=1$ and $|f(z)|\leq B$    for all $|z|\leq R$, then for all $|z|\leq r'$    $$|L_f'(z)|\leq\frac{16\log(B)\,r^2}{(r-r')^3}.$$  -/)  (proof := /--    By Lemma \ref{DiskBound} we immediately know that $|B_f(z)|\leq B$ for all $|z|\leq R$.    Now since $L_f=J_{B_f}$ by Definition \ref{JBlaschke}, by Theorem    \ref{LogOfAnalyticFunction} we know that    $$L_f(0)=0\qquad\text{and}\qquad      \Re L_f(z)=\log|B_f(z)|-\log|B_f(0)|\leq\log|B_f(z)|\leq\log B$$    for all $|z|\leq r$. Note that in the above    $$0=\log|f(0)|\leq\log|B_f(0)|$$    because of Lemma \ref{norm_fOfZero_le_norm_BlaschkeOfZero}. So by Theorem \ref{BorelCaratheodoryDeriv}, it follows that    $$|L_f'(z)|\leq\frac{16\log(B)\,r^2}{(r-r')^3}$$    for all $|z|\leq r'$.  -/)  (latexEnv := "theorem")]theorem JBlaschkeDerivBound {B r' r R : } {f : ℂ  ℂ} {z : ℂ}    (one_lt_B : 1 < B) (r'_pos : 0 < r') (r'_lt_r : r' < r) (r_pos : 0 < r) (r_lt_R : r < R) (R_lt_one : R < 1)    (hfAnalytic : AnalyticOnNhd ℂ f (Metric.closedBall (0 : ℂ) 1)) (hf0_eq_one : f 0 = 1)    (finiteZeros : (SetOfZeros 1 f).Finite) (fz_bound :  z : ℂ, ‖z‖  R  ‖f z‖  B)    (hz : z  Metric.closedBall (0 : ℂ) r') :    ‖deriv (JBlaschke r'_pos r'_lt_r r_pos r_lt_R R_lt_one hfAnalytic hf0_eq_one finiteZeros) z‖       16 * Real.log (B) * r ^ 2 / (r - r') ^ 3 := by  have r_pos : 0 < r := lt_trans r'_pos r'_lt_r  let blaschkeAnalytic := BlaschkeAnalytic r_pos r_lt_R R_lt_one finiteZeros hfAnalytic (hf0_eq_one ▸ one_ne_zero)  let blaschkeNonzero := BlaschkeNonzero r_pos r_lt_R R_lt_one finiteZeros hfAnalytic (hf0_eq_one ▸ one_ne_zero)  let logOfAnalytic := LogOfAnalyticFunction' r'_pos r'_lt_r r_lt_R blaschkeAnalytic blaschkeNonzero  set JB := logOfAnalytic.choose with JB_def  obtain JB_Analytic, JB_0_eq_0, deriv_JB_eq, JB_re := logOfAnalytic.choose_spec  rw [ JB_def] at JB_Analytic JB_0_eq_0 deriv_JB_eq JB_re  have JB_def' : JB = (JBlaschke r'_pos r'_lt_r r_pos r_lt_R R_lt_one hfAnalytic hf0_eq_one finiteZeros) := by    unfold JBlaschke    rw [ JB_def]  rw[ JB_def']  refine BorelCaratheodoryDeriv (Real.log_pos one_lt_B) r'_pos r'_lt_r (JB_Analytic.analyticOn) JB_0_eq_0 ?_ hz  intro w hw  rw[ JB_re w hw]  have hwr : w  Metric.closedBall (0 : ℂ) r := by exact Metric.ball_subset_closedBall hw  have hlog : 0  Real.logBlaschkeB r R f 0:= by    rw [ Real.log_one]    apply Real.log_le_log zero_lt_one    rw [ norm_one (α := ℂ),  hf0_eq_one]    exact norm_fOfZero_le_norm_BlaschkeOfZero r_pos r_lt_R R_lt_one finiteZeros (hf0_eq_one ▸ one_ne_zero)  suffices h : Real.logBlaschkeB r R f w‖  Real.log B by linarith  exact Real.log_le_log (norm_pos_iff.mpr (blaschkeNonzero w hwr))    (DiskBound r_pos r_lt_R R_lt_one finiteZeros hfAnalytic (hf0_eq_one ▸ one_ne_zero) fz_bound (Metric.closedBall_subset_closedBall r_lt_R.le hwr))