OAI/NumberTheory/TwoPoint/Bounds/ResidueCentering.lean
8 declarations, 0 contain sorry, 0 declared as axioms
Exact passage from divisibility centers to the common-carrier singleton formula.
- lemma
OAI.TwoPointCorrelations.FiniteLaw.average_congr_on_supportline 15 - def
OAI.TwoPointCorrelations.forcedResidueline 24 - lemma
OAI.TwoPointCorrelations.forcedResidue_ltline 28 - lemma
OAI.TwoPointCorrelations.divisor_test_iff_forcedResidueline 33 - theorem
OAI.TwoPointCorrelations.uniform_divisor_word_averageline 52Source documentation
The equality is needed only on the support of the product law. Values in the common carrier above a coordinate's modulus have zero mass.
theorem uniform_divisor_word_average {ι τ : Type*} [Fintype ι] [Fintype τ] [DecidableEq ι] (B : ℕ) (p : ι → ℕ) (hp : ∀ i, 0 < p i) (hpB : ∀ i, p i ≤ B) (label : τ → ι) (offset : τ → ℤ) (R : ℝ) (G : (ι → Fin B) → ℝ) : (FiniteLaw.independent (fun i => uniformResidueLaw B (p i) (hp i) (hpB i))).average (fun z => R * (∏ t, ((if (p (label t) : ℤ) ∣ (z (label t)).val + offset t then (1 : ℝ) else 0) - (p (label t) : ℝ)⁻¹)) * G z) = (FiniteLaw.independent (fun i => uniformResidueLaw B (p i) (hp i) (hpB i))).average (fun z => R * (∏ t, ((if z (label t) = forcedResidue B (p (label t)) (hp _) (hpB _) (offset t) then (1 : ℝ) else 0) - (p (label t) : ℝ)⁻¹)) * G z) := by …Mentions: OAI.TwoPointCorrelations.FiniteLaw.independent, OAI.TwoPointCorrelations.uniformResidueLaw, OAI.TwoPointCorrelations.forcedResidue
- abbrev
OAI.TwoPointCorrelations.ColumnPrimeCoordinateline 70 - def
OAI.TwoPointCorrelations.tupleSlotLabelline 72 - lemma
OAI.TwoPointCorrelations.familyCenter_word_productline 78Source documentation
Flatten the actual product of family centers without changing either the numerical prime labels or their repeated residue coordinates.
lemma familyCenter_word_product {J R B : ℕ} {P : Fin J → Finset ℕ} (w : ColumnPrimeAssignment J R P) (offset : Fin R → ℤ) (z : ColumnPrimeCoordinate P → Fin B) : (∏ i, familyCenter (fun _ p => p.val) (fun j p => ((z ⟨j, p⟩).val : ℤ)) (fun j => w j i) (offset i)) = ∏ t : Fin R × Fin J, ((if ((tupleSlotLabel w t).2.val : ℤ) ∣ ((z (tupleSlotLabel w t)).val : ℤ) + offset t.1 then (1 : ℝ) else 0) - ((tupleSlotLabel w t).2.val : ℝ)⁻¹) := by …Mentions: OAI.TwoPointCorrelations.ColumnPrimeAssignment, OAI.TwoPointCorrelations.ColumnPrimeCoordinate, OAI.TwoPointCorrelations.familyCenter, OAI.TwoPointCorrelations.tupleSlotLabel