All proofs
Project-declaredLean 4.32.0 · mathlib@81a5d257c8e4

Dirichlet Kernel eq

dirichletKernel_eq

Plain-language statement

At every real xx for which eix1e^{ix}\ne1, the finite-sum definition of the NNth Dirichlet kernel agrees with the project’s closed-form expression:

DN(x)=DN(x).D_N(x)=D'_N(x).

Exact Lean statement

lemma dirichletKernel_eq {x : ℝ} (h : cexp (I * x) ≠ 1) :
    dirichletKernel N x = dirichletKernel' N x

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
lemma dirichletKernel_eq {x : } (h : cexp (I * x)  1) :    dirichletKernel N x = dirichletKernel' N x := by  have : (cexp (1 / 2 * I * x) - cexp (-1 / 2 * I * x)) * dirichletKernel N x      = cexp ((N + 1 / 2) * I * x) - cexp (-(N + 1 / 2) * I * x) := by    calc (cexp (1 / 2 * I * x) - cexp (-1 / 2 * I * x)) * dirichletKernel N x      _ = ∑ n  Icc (-(N : )) N, (cexp ((n + 1 / 2) * I * ↑x) - cexp ((n - 1 / 2) * I * ↑x)) := by        rw [dirichletKernel, mul_sum]        congr 1 with n        simp [sub_mul,  exp_add,  exp_add]        congr 2 <;>        · ring_nf          congr 1          rw [mul_assoc, mul_assoc]          congr          rw_mod_cast [ mul_assoc, mul_comm,  mul_assoc, inv_mul_cancel₀, one_mul]          exact Real.pi_pos.ne.symm      _ = ∑ n  Icc (-(N : )) N, cexp ((n + 1 / 2) * I * ↑x)          - ∑ n  Icc (-(N : )) N, cexp ((n - 1 / 2) * I * ↑x) := by        rw [sum_sub_distrib]      _ = cexp ((N + 1 / 2) * I * x) - cexp (-(N + 1 / 2) * I * x) := by        rw [ sum_Ico_add_eq_sum_Icc,  sum_Ioc_add_eq_sum_Icc, add_sub_add_comm,           zero_add (cexp ((N + 1 / 2) * I * ↑x) - cexp (-(N + 1 / 2) * I * ↑x))]        · congr 2          · rw [sub_eq_zero]            conv => lhs; rw [ Int.add_sub_cancel (-(N : )) 1, sub_eq_add_neg,               Int.add_sub_cancel (Nat.cast N) 1, sub_eq_add_neg,  sum_Ico_add']            congr 2 with n            · rw [mem_Ico, mem_Ioc, Int.lt_iff_add_one_le, add_le_add_iff_right,               mem_Icc, Int.lt_iff_add_one_le,  mem_Icc]              simp            · simp only [Int.reduceNeg, Int.cast_add, Int.cast_neg, Int.cast_one, one_div, add_assoc,                sub_eq_add_neg]              norm_num          · rw [neg_add_rev, add_comm, Int.cast_neg, sub_eq_add_neg]            norm_cast        all_goals simp  have h' : (cexp (1 / 2 * I * x) - cexp (-1 / 2 * I * x))  0 := by    contrapose! h    rw [sub_eq_zero] at h    calc cexp (I * ↑x)      _ = cexp (1 / 2 * I * ↑x) * cexp (1 / 2 * I * ↑x) := by        rw [ exp_add, mul_assoc,  mul_add]        ring_nf      _ = cexp (1 / 2 * I * ↑x) * cexp (-1 / 2 * I * ↑x) := by congr 2      _ = 1 := by        rw [ exp_add]        ring_nf        exact exp_zero  rw [dirichletKernel']  apply mul_left_cancel₀ h'  rw [this, mul_add, sub_eq_add_neg]  congr  · rw [mul_div]    apply eq_div_of_mul_eq    · contrapose! h      rwa [sub_eq_zero, neg_mul, exp_neg, eq_comm, inv_eq_one] at h    ring_nf    rw [ exp_add,  exp_add,  exp_add]    congr 2 <;> ring  · rw [mul_div]    apply eq_div_of_mul_eq (sub_ne_zero_of_ne h.symm)    ring_nf    rw [ exp_add,  exp_add,  exp_add, neg_add_eq_sub]    congr 2 <;> ring
Project
Carleson formalization
License
Apache-2.0
Commit
74ef907d6bdb
Source
Carleson/Classical/DirichletKernel.lean:69-132

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

Ae tendsto zero of distribution le

ae_tendsto_zero_of_distribution_le

Plain-language statement

Suppose that, for every error threshold δ>0\delta>0 and every measure tolerance ε>0\varepsilon>0, one can choose N0N_0 so that the set where supN>N0f(x)FN(x)\sup_{N>N_0}\lVert f(x)-F_N(x)\rVert exceeds δ\delta has measure at most ε\varepsilon. Then FN(x)F_N(x) converges to f(x)f(x) for almost every xx.

harmonic analysisFourier analysismeasure theory

Source project: Carleson formalization

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Antichain operator

antichain_operator

Plain-language statement

For an antichain A\mathfrak{A} of pairwise incomparable tiles, and measurable functions ff and gg bounded by the indicators of FF and GG, the pairing of gg with the Carleson sum over A\mathfrak{A} is controlled by the L2L^2 norms of ff and gg and by positive powers of the two tile-density parameters. Concretely, the bound is

C(a,q)dens1(A)(q1)/(8a4)dens2(A)1/q1/2f2g2.C(a,q)\,\mathrm{dens}_1(\mathfrak{A})^{(q-1)/(8a^4)}\,\mathrm{dens}_2(\mathfrak{A})^{1/q-1/2}\,\lVert f\rVert_2\lVert g\rVert_2.

harmonic analysisFourier analysismeasure theory

Source project: Carleson formalization

Person-level attribution pending.

View proof record