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

fejer_kernel_nonneg

PrimeNumberTheoremAnd.Unused.Fejer_I_know_this_is_dirty_but_it_typechecks · PrimeNumberTheoremAnd/Unused/Fejer_I_know_this_is_dirty_but_it_typechecks.lean:389 to 395

Mathematical statement

Exact Lean statement

theorem fejer_kernel_nonneg (n : ℕ) (t : ℝ) : 0 ≤ fejer_kernel n t

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
theorem fejer_kernel_nonneg (n : ) (t : ) : 0  fejer_kernel n t := by  by_cases h : Real.sin ( t / 2 ) = 0;  · -- Since $\sin(t/2) = 0$, we have $t = 2k\pi$ for some integer $k$.    obtain k, rfl :  k : , t = 2 * k * Real.pi := by      exact Real.sin_eq_zero_iff.mp h |> fun  k, hk  =>  k, by linarith ;    exact mul_nonneg ( by positivity ) ( Finset.sum_nonneg fun _ _ => add_nonneg ( by positivity ) ( Finset.sum_nonneg fun _ _ => by rw [ show Real.cos ( _ * ( 2 * k * Real.pi ) ) = 1 by rw [ Real.cos_eq_one_iff ] ; use k *›; push_cast; ring ] ; positivity ) );  · exact ( by rw [ fejer_kernel_closed_form n t h ] ; positivity )