Skip to content

Commit 9142280

Browse files
committed
Extract out lemma about density of translate on subspace
1 parent caf196c commit 9142280

2 files changed

Lines changed: 18 additions & 12 deletions

File tree

APAP/FiniteField.lean

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public import Mathlib.Combinatorics.Additive.AP.Three.Defs
99
public import Mathlib.LinearAlgebra.Dimension.Finrank
1010
public import Mathlib.MeasureTheory.MeasurableSpace.Defs
1111

12+
import AddCombi.Mathlib.Algebra.Order.GroupWithZero.Indicator
1213
import APAP.Physics.AlmostPeriodicity
1314
import APAP.Physics.DRC
1415
import APAP.Physics.Unbalancing
@@ -528,18 +529,12 @@ public theorem ff (hq₃ : 3 ≤ q) (hq : q.Prime) (hA₀ : A.Nonempty) (hA : Th
528529
rw [dLinftyNorm_eq_iSup_norm, ← Finset.sup'_univ_eq_ciSup, Finset.le_sup'_iff] at hv'
529530
obtain ⟨x, -, hx⟩ := hv'
530531
let B' : Finset V' := (-x +ᵥ B).preimage (↑) Set.injOn_subtype_val
531-
have hβ := by
532-
calc
533-
((1 + 64⁻¹ : ℝ) * B.dens : ℝ) = (1 + 2⁻¹ / 32) * B.dens := by ring
534-
_ ≤ ‖(𝟭_[(B : Set V), ℝ] ∗ᵈ μ (V' : Set V).toFinset) x‖ := hx
535-
_ = B'.dens := ?_
536-
rw [mu, ddconv_smul, Pi.smul_apply, indicator_one_ddconv_indicator_one_eq_card_vadd_inter_neg,
537-
Real.norm_of_nonneg (by positivity), nnratCast_dens, card_preimage, smul_eq_mul,
538-
inv_mul_eq_div]
539-
congr 2
540-
· congr 1 with x
541-
simp
542-
· simp
532+
have hβ := calc
533+
((1 + 64⁻¹ : ℝ) * B.dens : ℝ) = (1 + 2⁻¹ / 32) * B.dens := by ring
534+
_ ≤ ‖(𝟭_[(B : Set V), ℝ] ∗ᵈ μ (V' : Set V).toFinset) x‖ := hx
535+
_ = B'.dens := by
536+
rw [Real.norm_of_nonneg (ddconv_apply_nonneg Set.indicator_one_nonneg mu_nonneg _),
537+
dens_addSubgroup_preimage_vadd_eq_indicator_one_ddconv_mu]
543538
refine ⟨V', inferInstance, inferInstance, inferInstance, inferInstance, B', ?_, ?_, ?_,
544539
fun h ↦ ?_⟩
545540
· calc

APAP/Prereqs/Convolution/Discrete/Basic.lean

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,17 @@ lemma ddconv_mu_iterConv (f : G → R) (s : Finset G) (n : ℕ) :
210210
f ∗ᵈ μ s ∗ᵈ^ n = 𝔼 a ∈ piFinset (fun _ : Fin n ↦ s), τ (∑ i, a i) f := by
211211
rw [ddconv_comm, mu_iterConv_ddconv]
212212

213+
lemma Finset.dens_addSubgroup_preimage_vadd_eq_indicator_one_ddconv_mu (a : G) (B : Finset G)
214+
{S : Type*} [SetLike S G] [AddSubgroupClass S G] (V : S) [Fintype V] :
215+
((-a +ᵥ B).preimage (↑) Set.injOn_subtype_val : Finset V).dens =
216+
(𝟭_[B, R] ∗ᵈ μ (V : Set G).toFinset) a := by
217+
rw [mu, ddconv_smul, Pi.smul_apply, indicator_one_ddconv_indicator_one_eq_card_vadd_inter_neg,
218+
nnratCast_dens, card_preimage, smul_eq_mul, inv_mul_eq_div]
219+
congr
220+
· congr 1 with x
221+
simp
222+
· simp
223+
213224
variable [StarRing R]
214225

215226
lemma mu_iterConv_dddconv (s : Finset G) (n : ℕ) (f : G → R) :

0 commit comments

Comments
 (0)