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

Complex.CartanBound.posLog_log_one_div_abs_one_sub_le_sqrt

PrimeNumberTheoremAnd.Mathlib.Analysis.Complex.CartanBound · PrimeNumberTheoremAnd/Mathlib/Analysis/Complex/CartanBound.lean:92 to 122

Mathematical statement

Exact Lean statement

lemma posLog_log_one_div_abs_one_sub_le_sqrt {t : ℝ} :
    Real.posLog (1 / |1 - t|) ≤ Real.sqrt (2 / |1 - t|)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma posLog_log_one_div_abs_one_sub_le_sqrt {t : } :    Real.posLog (1 / |1 - t|)  Real.sqrt (2 / |1 - t|) := by  by_cases ht : |1 - t|  1  · by_cases h0 : |1 - t| = 0    · have : t = 1 := by        have : 1 - t = 0 := by simpa [abs_eq_zero] using h0        linarith      subst this      simp    · have hpos : 0 < |1 - t| := lt_of_le_of_ne (abs_nonneg _) (Ne.symm h0)      have hle : -Real.log |1 - t|  Real.sqrt (2 / |1 - t|) :=        neg_log_le_sqrt_two_div (x := |1 - t|) hpos ht      have hlog : Real.log (1 / |1 - t|) = -Real.log |1 - t| := by simp [Real.log_inv]      have hnonneg : 0  Real.log (1 / |1 - t|) := by        exact Real.log_nonneg ((one_le_div hpos).2 ht)      have hmax : Real.posLog (1 / |1 - t|) = Real.log (1 / |1 - t|) :=        max_eq_right hnonneg      calc        Real.posLog (1 / |1 - t|) = Real.log (1 / |1 - t|) := hmax        _ = -Real.log |1 - t| := hlog        _  Real.sqrt (2 / |1 - t|) := hle  · have hlt : 1 < |1 - t| := lt_of_not_ge ht    have hle0 : Real.log (1 / |1 - t|)  0 := by      have hpos : 0 < |1 - t| := lt_trans (by norm_num) hlt      have : (1 / |1 - t| : )  1 := (div_le_one hpos).2 (le_of_lt hlt)      exact le_trans (Real.log_le_log (by positivity) this) (by simp)    have hmax : Real.posLog (1 / |1 - t|) = 0 := max_eq_left hle0    have hrhs : 0  Real.sqrt (2 / |1 - t|) := by      exact Real.sqrt_nonneg _    rw [hmax]    exact hrhs