Plain-language statement
A weighted Hölder lower bound for Fourier energy. If lies in the -large spectrum of , , and a weight is at least wherever is nonzero, then the order- energy of weighted by is at least .
Exact Lean statement
lemma general_hoelder (hη : 0 ≤ η) (ν : G → ℝ≥0) (hfν : ∀ x, f x ≠ 0 → 1 ≤ ν x)
(hΔ : Δ ⊆ largeSpec f η) (hm : m ≠ 0) :
#Δ ^ (2 * m) * (η ^ (2 * m) * (‖f‖_[1] ^ 2 / ‖f‖_[2] ^ 2)) ≤
energy m Δ (dft fun a ↦ ν a)Formal artifact
Lean source
lemma general_hoelder (hη : 0 ≤ η) (ν : G → ℝ≥0) (hfν : ∀ x, f x ≠ 0 → 1 ≤ ν x) (hΔ : Δ ⊆ largeSpec f η) (hm : m ≠ 0) : #Δ ^ (2 * m) * (η ^ (2 * m) * (‖f‖_[1] ^ 2 / ‖f‖_[2] ^ 2)) ≤ energy m Δ (dft fun a ↦ ν a) := by obtain rfl | hf := eq_or_ne f 0 · simp choose c norm_c hc using fun γ ↦ RCLike.exists_norm_eq_mul_self (dft f γ) have := calc η * ‖f‖_[1] * #Δ ≤ ∑ γ ∈ Δ, ‖dft f γ‖ := ?_ _ ≤ ‖∑ x, f x * ∑ γ ∈ Δ, c γ * conj (γ x)‖ := ?_ _ ≤ ∑ x, ‖f x * ∑ γ ∈ Δ, c γ * conj (γ x)‖ := (norm_sum_le _ _) _ = ∑ x, ‖f x‖ * ‖∑ γ ∈ Δ, c γ * conj (γ x)‖ := by simp_rw [norm_mul] _ ≤ _ := inner_le_weight_mul_Lp_of_nonneg _ (p := m) ?_ _ _ (fun _ ↦ norm_nonneg _) fun _ ↦ norm_nonneg _ _ = ‖f‖_[1] ^ (1 - (m : ℝ)⁻¹) * (∑ x, ‖f x‖ * ‖∑ γ ∈ Δ, c γ * conj (γ x)‖ ^ m) ^ (m⁻¹ : ℝ) := by simp_rw [dL1Norm_eq_sum_norm, rpow_natCast] rotate_left · rw [← nsmul_eq_mul'] exact card_nsmul_le_sum _ _ _ fun x hx ↦ mem_largeSpec.1 <| hΔ hx · simp_rw [mul_sum, mul_comm (f _), mul_assoc (c _), @sum_comm _ _ G, ← mul_sum, ← inner_apply', ← wInner_one_eq_sum, ← dft_apply, ← hc, ← RCLike.ofReal_sum, RCLike.norm_ofReal] exact le_abs_self _ · norm_cast exact hm.bot_lt replace this := pow_le_pow_left₀ (by positivity) this m simp_rw [mul_pow] at this rw [rpow_inv_natCast_pow _ hm, ← rpow_mul_natCast, one_sub_mul, inv_mul_cancel₀, ← Nat.cast_pred, rpow_natCast, mul_assoc, mul_left_comm, ← pow_sub_one_mul, mul_assoc, mul_le_mul_iff_right₀] at this any_goals positivity replace hfν : ∀ x, ‖f x‖ ≤ ‖f x‖ * sqrt (ν x) := by rintro x obtain hfx | hfx := eq_or_ne (f x) 0 · simp [hfx] · exact le_mul_of_one_le_right (norm_nonneg _) <| one_le_sqrt.2 <| NNReal.one_le_coe.2 <| hfν _ hfx replace this := calc (‖f‖_[1] * (η ^ m * #Δ ^ m)) ^ 2 ≤ (∑ x, ‖f x‖ * ‖∑ γ ∈ Δ, c γ * conj (γ x)‖ ^ m) ^ 2 := by gcongr _ ≤ (∑ x, ‖f x‖ * sqrt (ν x) * ‖∑ γ ∈ Δ, c γ * conj (γ x)‖ ^ m) ^ 2 := by gcongr with x; exact hfν _ _ = (∑ x, ‖f x‖ * (sqrt (ν x) * ‖∑ γ ∈ Δ, c γ * conj (γ x)‖ ^ m)) ^ 2 := by simp_rw [mul_assoc] _ ≤ (∑ x, ‖f x‖ ^ 2) * ∑ x, (sqrt (ν x) * ‖∑ γ ∈ Δ, c γ * conj (γ x)‖ ^ m) ^ 2 := sum_mul_sq_le_sq_mul_sq _ _ _ _ ≤ ‖f‖_[2] ^ 2 * ∑ x, ν x * (‖∑ γ ∈ Δ, c γ * conj (γ x)‖ ^ 2) ^ m := by simp_rw [dL2Norm_sq_eq_sum_norm, mul_pow, sq_sqrt (NNReal.coe_nonneg _), pow_right_comm] rfl rw [mul_rotate', mul_left_comm, mul_pow, mul_pow, ← pow_mul', ← pow_mul', ← div_le_iff₀' (by positivity), mul_div_assoc, mul_div_assoc] at this calc _ ≤ _ := this _ = ‖(_ : ℂ)‖ := Eq.symm <| RCLike.norm_of_nonneg <| sum_nonneg fun _ _ ↦ by positivity _ = ‖∑ γ ∈ Δ ^^ m, ∑ δ ∈ Δ ^^ m, (∏ i, conj (c (γ i)) * c (δ i)) * conj (dft (fun a ↦ ν a) (∑ i, γ i - ∑ i, δ i))‖ := ?_ _ ≤ ∑ γ ∈ Δ ^^ m, ∑ δ ∈ Δ ^^ m, ‖(∏ i, conj (c (γ i)) * c (δ i)) * conj (dft (fun a ↦ ν a) (∑ i, γ i - ∑ i, δ i))‖ := (norm_sum_le _ _).trans <| sum_le_sum fun _ _ ↦ norm_sum_le _ _ _ = _ := by simp [energy, norm_c, norm_prod] · push_cast simp_rw [← RCLike.conj_mul, dft_apply, wInner_one_eq_sum, inner_apply', map_sum, map_mul, RCLike.conj_conj, mul_pow, sum_pow', sum_mul, mul_sum, @sum_comm _ _ G, ← AddChar.inv_apply_eq_conj, ← AddChar.neg_apply', prod_mul_prod_comm, ← AddChar.add_apply, ← AddChar.sum_apply, mul_left_comm (Algebra.cast (ν _ : ℝ) : ℂ), ← mul_sum, ← sub_eq_add_neg, sum_sub_distrib, Complex.conj_ofReal, mul_comm (Algebra.cast (ν _ : ℝ) : ℂ)] rfl- Project
- Arithmetic Progressions Almost Periodicity
- License
- Apache-2.0
- Commit
- afafc42a5326
- Source
- APAP/Prereqs/Chang.lean:98-165
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
Add Dissociated boring Energy le
AddDissociated.boringEnergy_le
Project documentation
If a finite set is additively dissociated, then its order- additive energy is at most , where is the project's Chang constant. This is the quantitative dissociated-set estimate used in the proof of Chang's lemma.
Source project: Arithmetic Progressions Almost Periodicity
Person-level attribution pending.
Linfty almost periodicity
AlmostPeriodicity.linfty_almost_periodicity
Project documentation
An almost-periodicity theorem. Under the small-growth hypothesis , and for nonempty finite sets , there is a set of translations with . Every changes the normalized convolution by at most in .
Source project: Arithmetic Progressions Almost Periodicity
Person-level attribution pending.
Linfty almost periodicity boosted
AlmostPeriodicity.linfty_almost_periodicity_boosted
Plain-language statement
A boosted almost-periodicity estimate. Under , it finds a large set , with the stated lower bound , such that averaging the target convolution against the -fold convolution of changes it by at most in .
Source project: Arithmetic Progressions Almost Periodicity
Person-level attribution pending.