Documentation

LeanPool.Erdos1196.Markov

Markov-chain lemmas for primitive sets above x #

This file proves the main analytic estimates for the Markov-chain construction: the asymptotic control of R_Y(m), the eventual sub-Markov bound on the transition rows, the eventual estimate for the normalization constant B_x, and the explicit closed formula for the visiting probabilities.

Main statements #

theorem PrimitiveSetsAboveX.tsum_eq_sum_divisors_of_nondivisors_zero {α : Type u_1} [AddCommMonoid α] [TopologicalSpace α] {n : } (hn : 0 < n) (f : α) (hf : ∀ (q : ), ¬q nf q = 0) :
∑' (q : ), f q = n.divisors.sum f

If a summand vanishes off the divisors of n, its infinite sum is the finite sum over n.divisors.

theorem PrimitiveSetsAboveX.tsum_eq_sum_divisors_of_dvd_and {α : Type u_1} [AddCommMonoid α] [TopologicalSpace α] {n : } (hn : 0 < n) (P : Prop) [DecidablePred P] (f : α) :
(∑' (q : ), if q n P q then f q else 0) = qn.divisors, if P q then f q else 0

If a divisor condition is bundled into the summand, the tsum reduces to the finite divisor sum with that condition removed.

theorem PrimitiveSetsAboveX.subMarkovRowSumBound :
∃ (C : ), 0 < C ∀ ⦃Y : ⦄, Real.exp (2 * C) < Y∃ (x₀ : ), Y x₀ ∀ ⦃m : ⦄, x₀ m∑' (q : ), transitionWeight Y m q 1

Choosing the cutoff Y large enough makes every sufficiently late transition row sum at most 1, so the outgoing weights define an eventual sub-Markov chain.

theorem PrimitiveSetsAboveX.normalizationEstimate {Y : } (hY : 2 Y) :
∃ (C : ), 0 < C ∃ (x₀ : ), ∀ ⦃x : ⦄, x₀ x|normalizationConstant x Y - 1| C / Real.log x

For each fixed Y ≥ 2, the normalizing constants satisfy the asymptotic estimate B_x = 1 + O(1 / log x).

theorem PrimitiveSetsAboveX.visitProbabilityRecurrence_sum_parents {x Y : } (chain : MarkovLayer x Y) {n : } (hxn : x n) (hn : 0 < n) :
chain.visitProbability n = initialDistribution x Y n + mn.divisors, if x m Y n / m then chain.visitProbability m * transitionWeight Y m (n / m) else 0

Reindexing the last-jump recurrence by the parent state shows that only divisors m ∣ n can contribute to the probability of visiting n.

theorem PrimitiveSetsAboveX.lastJumpContribution_eq_of_formula {x Y : } (hx : 2 x) {n q : } (hq : q n.divisors) (hqx : Y q x n / q) {v : } (hvisit : v = 1 / (normalizationConstant x Y * (n / q) * Real.log (n / q))) :

For a proper parent n / q, any last-jump term with the explicit parent value simplifies to the common factor (1 / B_x) * (Λ(q) / (n log^2 n)).

The divisor decomposition of log n rewrites the explicit target formula as the normalized initial mass plus the filtered von Mangoldt divisor sum.

theorem PrimitiveSetsAboveX.explicitFormula_eq_recurrence_rhs {x Y n : } (hx : 2 x) (hn : x n) {f : } (hvisit : ∀ ⦃q : ⦄, q n.divisorsY q x n / qq 1f (n / q) = 1 / (normalizationConstant x Y * (n / q) * Real.log (n / q))) :
1 / (normalizationConstant x Y * n * Real.log n) = initialDistribution x Y n + ∑' (q : ), if Y q q n x n / q then f (n / q) * transitionWeight Y (n / q) q else 0

If every last-jump parent already has the explicit value 1 / (B_x n log n), then the recurrence right-hand side collapses to the closed formula for the visit probability at n.

theorem PrimitiveSetsAboveX.visitProbabilityFormula {x Y : } (chain : MarkovLayer x Y) (hx : 2 x) {n : } (hn : x n) :

The Markov layer visits each state n ≥ x with the explicit probability 1 / (B_x n log n). The lower bound 2 ≤ x guarantees that the logarithms in this formula are positive.

theorem PrimitiveSetsAboveX.visitProbability_nonneg {x Y : } (chain : MarkovLayer x Y) (hx : 2 x) (hB : 0 < normalizationConstant x Y) {n : } (hn : x n) :

Under the standing hypotheses 2 ≤ x and B_x > 0, the visiting probabilities are nonnegative on the state space n ≥ x.