Documentation

MathlibNt.SieveTheory.Switching.BoundaryDensity

Rosser boundary densities and dyadic tails #

Dyadic log-ratio cells control far alternating pairs. Mesh corrections, atomic bounds, and factorial density estimates majorize finite Rosser boundary chains.

All declarations retain the MathlibNt.SieveTheory.SwitchingPrinciple namespace.

The dyadic cell containing a real number at least one. It is used with x = log p / log q, so the cells rescale with the current terminal prime instead of with the global sieve cutoff.

Equations
Instances For
    theorem MathlibNt.SieveTheory.SwitchingPrinciple.sum_nu_div_one_sub_le_logRatio_dyadicCell {S : BoundingSieve} {K η : } {q n : } {T : Finset } (hlocal : HasDimensionOneLocalProductBound S K) (hK : 0 K) (hq : Nat.Prime q) (herror : K / Real.log q η) (hT : TS.prodPrimes.primeFactors) (hqT : pT, q < p) :
    pT with upperRosserLogRatioDyadicCell (Real.log p / Real.log q) = n, S.nu p / (1 - S.nu p) 1 + 2 * η

    A dyadic logarithmic-ratio cell has uniformly bounded normalized density mass once the local-product correction is small at the cell's base prime.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.sum_nu_div_one_sub_mul_inv_logRatio_le_geometric_tail {S : BoundingSieve} {K η : } {q m : } {T : Finset } (hlocal : HasDimensionOneLocalProductBound S K) (hK : 0 K) ( : 0 η) (hq : Nat.Prime q) (herror : K / Real.log q η) (hT : TS.prodPrimes.primeFactors) (hqT : pT, q < p) (hfar : pT, 2 ^ m Real.log p / Real.log q) :
    pT, S.nu p / (1 - S.nu p) * (Real.log p / Real.log q)⁻¹ 2 * (1 + 2 * η) * (1 / 2) ^ m

    A scale-adaptive inverse-log moment bound. Unlike a fixed logarithmic screen, the dyadic cells are based at q; hence the estimate remains uniform when log q / log z tends to zero.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.upperRosserAlternatingPairDiscrete_quadratic_far_le {S : BoundingSieve} {K η r : } {q m : } {P T : Finset } (hlocal : HasDimensionOneLocalProductBound S K) (hK : 0 K) ( : 0 η) (hr : 3 r) (hq : Nat.Prime q) (herror : K / Real.log q η) (hP : PS.prodPrimes.primeFactors) (hqP : pP, q < p) (hT : TP) (hfar : pT, 2 ^ m Real.log p / Real.log q) :
    p₀T, p₁P with p₁ < p₀ 2 * (Real.log p₀ / Real.log q) < Real.log p₁ / Real.log q + r, S.nu p₀ / (1 - S.nu p₀) * (S.nu p₁ / (1 - S.nu p₁)) * ((r + Real.log p₁ / Real.log q + Real.log p₀ / Real.log q) / (Real.log p₀ / Real.log q)) ^ 2 18 * (1 + η) * (1 + 2 * η) * (1 / 2) ^ m * r ^ 2

    The part of a discrete reverse Rosser pair whose larger logarithmic ratio lies beyond the m-th dyadic scale has a uniform quadratic tail. The proof uses the alternating-prefix face 2x < y + r to force x < r; the remaining inverse-log moment is controlled by scale-adaptive cells based at q, not by a fixed lower bound for log q / log z.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.exists_upperRosserAlternatingPairDiscrete_quadratic_far_lt (K ρ : ) (hK : 0 K) ( : 0 < ρ) :
    ∃ (Q : ), 2 Q ∃ (m : ), ∀ (S : BoundingSieve) (q : ) (r : ) (P T : Finset ), Q qHasDimensionOneLocalProductBound S K3 rNat.Prime qPS.prodPrimes.primeFactors(∀ pP, q < p)TP(∀ pT, 2 ^ m Real.log p / Real.log q)p₀T, p₁P with p₁ < p₀ 2 * (Real.log p₀ / Real.log q) < Real.log p₁ / Real.log q + r, S.nu p₀ / (1 - S.nu p₀) * (S.nu p₁ / (1 - S.nu p₁)) * ((r + Real.log p₁ / Real.log q + Real.log p₀ / Real.log q) / (Real.log p₀ / Real.log q)) ^ 2 < ρ * r ^ 2

    Uniform tightness of one discrete reverse Rosser pair. Once the terminal prime is above an absolute cutoff, the contribution of larger ratios outside a fixed dyadic window is arbitrarily small relative to the quadratic envelope, uniformly in the sieve, the terminal coordinate, and the state r ≥ 3.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.exists_upperRosserAlternatingPairDiscrete_quadratic_far_lt_uniform (K ρ : ) (hK : 0 K) ( : 0 < ρ) :
    ∃ (m : ), ∀ (S : BoundingSieve) (q : ) (r : ) (P T : Finset ), HasDimensionOneLocalProductBound S K3 rNat.Prime qPS.prodPrimes.primeFactors(∀ pP, q < p)TP(∀ pT, 2 ^ m Real.log p / Real.log q)p₀T, p₁P with p₁ < p₀ 2 * (Real.log p₀ / Real.log q) < Real.log p₁ / Real.log q + r, S.nu p₀ / (1 - S.nu p₀) * (S.nu p₁ / (1 - S.nu p₁)) * ((r + Real.log p₁ / Real.log q + Real.log p₀ / Real.log q) / (Real.log p₀ / Real.log q)) ^ 2 < ρ * r ^ 2

    Uniform tightness of one discrete reverse Rosser pair, including terminal primes whose global logarithmic coordinate tends to zero. The dyadic cutoff depends only on K and the requested error.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.upperRosserAlternatingPairDiscrete_quadratic_le_near_add {S : BoundingSieve} {K η r : } {q m : } {P : Finset } (hlocal : HasDimensionOneLocalProductBound S K) (hK : 0 K) ( : 0 η) (hr : 3 r) (hq : Nat.Prime q) (herror : K / Real.log q η) (hP : PS.prodPrimes.primeFactors) (hqP : pP, q < p) :
    p₀P, p₁P with p₁ < p₀ 2 * (Real.log p₀ / Real.log q) < Real.log p₁ / Real.log q + r, S.nu p₀ / (1 - S.nu p₀) * (S.nu p₁ / (1 - S.nu p₁)) * ((r + Real.log p₁ / Real.log q + Real.log p₀ / Real.log q) / (Real.log p₀ / Real.log q)) ^ 2 p₀P with Real.log p₀ / Real.log q < 2 ^ m, p₁P with p₁ < p₀ 2 * (Real.log p₀ / Real.log q) < Real.log p₁ / Real.log q + r, S.nu p₀ / (1 - S.nu p₀) * (S.nu p₁ / (1 - S.nu p₁)) * ((r + Real.log p₁ / Real.log q + Real.log p₀ / Real.log q) / (Real.log p₀ / Real.log q)) ^ 2 + 18 * (1 + η) * (1 + 2 * η) * (1 / 2) ^ m * r ^ 2

    Splitting at a relative dyadic scale reduces the full discrete reverse-pair sum to a compact-ratio part and an explicit geometric remainder.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.exists_upperRosserAlternatingPairDiscrete_quadratic_le_near_add (K ρ : ) (hK : 0 K) ( : 0 < ρ) :
    ∃ (m : ), ∀ (S : BoundingSieve) (q : ) (r : ) (P : Finset ), HasDimensionOneLocalProductBound S K3 rNat.Prime qPS.prodPrimes.primeFactors(∀ pP, q < p)p₀P, p₁P with p₁ < p₀ 2 * (Real.log p₀ / Real.log q) < Real.log p₁ / Real.log q + r, S.nu p₀ / (1 - S.nu p₀) * (S.nu p₁ / (1 - S.nu p₁)) * ((r + Real.log p₁ / Real.log q + Real.log p₀ / Real.log q) / (Real.log p₀ / Real.log q)) ^ 2 < p₀P with Real.log p₀ / Real.log q < 2 ^ m, p₁P with p₁ < p₀ 2 * (Real.log p₀ / Real.log q) < Real.log p₁ / Real.log q + r, S.nu p₀ / (1 - S.nu p₀) * (S.nu p₁ / (1 - S.nu p₁)) * ((r + Real.log p₁ / Real.log q + Real.log p₀ / Real.log q) / (Real.log p₀ / Real.log q)) ^ 2 + ρ * r ^ 2

    Uniform compactness reduction for the discrete reverse-pair operator. A single dyadic window, depending only on K and ρ, works for every sieve and every terminal prime, even when its global logarithmic coordinate vanishes.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.exists_upperRosserFixedDepthMesh_correctedDarboux_le_add (m : ) {K ρ B c : } (hK : 0 K) ( : 0 < ρ) (hB : 0 B) (hc : 0 < c) (hc1 : c < 1) :
    ∃ (z₀ : ), 2 z₀ ∀ (z : ), z₀ z∀ (M : Fin (m + 1)), (∀ (i : Fin (m + 1)), 0 M i M i B)i : Fin (m + 1), M i * (upperRosserFixedDepthMeshRight c m i / upperRosserFixedDepthMeshLeft c m i * (1 + K / (upperRosserFixedDepthMeshLeft c m i * Real.log z)) - 1) i : Fin (m + 1), M i * (upperRosserFixedDepthMeshRight c m i / upperRosserFixedDepthMeshLeft c m i - 1) + ρ

    On any fixed positive mesh, all local-product correction factors can be removed from a bounded nonnegative Darboux sum at a prescribed total cost.

    The total uncorrected logarithmic increment of a fixed mesh is uniformly bounded by the reciprocal of its positive lower endpoint.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.exists_upperRosserFixedDepthMesh_correctedIncrementSum_le (m : ) {K ρ c : } (hK : 0 K) ( : 0 < ρ) (hc : 0 < c) (hc1 : c < 1) :
    ∃ (z₀ : ), 2 z₀ ∀ (z : ), z₀ zi : Fin (m + 1), (upperRosserFixedDepthMeshRight c m i / upperRosserFixedDepthMeshLeft c m i * (1 + K / (upperRosserFixedDepthMeshLeft c m i * Real.log z)) - 1) c⁻¹ + ρ

    The corrected outer-mesh increments have bounded total mass. This turns a uniform additive error in every inner cell into one controlled outer error in the two-partition Rosser successor.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.exists_dimensionOne_atom_cutoff (K η c : ) (hK : 1 K) ( : 0 < η) (hc : 0 < c) :
    ∃ (z₀ : ), 2 z₀ ∀ (S : BoundingSieve) (z : ) (q : ), z₀ zHasDimensionOneLocalProductBound S Kq S.prodPrimes.primeFactorsz ^ c qS.nu q / (1 - S.nu q) η

    Above any fixed positive logarithmic coordinate, every individual normalized density atom is uniformly small once the global cutoff is large. This controls the hyperplane and endpoint atoms in fixed-depth Darboux sums.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.exists_upperRosserBoundaryChains_fixed_length_atom_le (K η : ) (k : ) (hK : 1 K) ( : 0 < η) :
    ∃ (z₀ : ), 2 z₀ ∀ (S : BoundingSieve) (z Δ s : ) (q : ) (l : List ), z₀ z0 < Δs = Real.log Δ / Real.log z3 / 2 sHasDimensionOneLocalProductBound S K(∀ pS.prodPrimes.primeFactors, p z)q S.prodPrimes.primeFactorsl LinearSieve.upperRosserBoundaryChains (Δ⌋₊ + 1) q ({pS.prodPrimes.primeFactors | q < p})l.length = 2 * kS.nu q / (1 - S.nu q) η pl, S.nu p / (1 - S.nu p) η

    At fixed Rosser depth, one cutoff makes the normalized density of the distinguished prime and of every selected prime uniformly smaller than a prescribed tolerance.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.upperRosserBoundaryChains_fixed_length_localProduct_error_le {S : BoundingSieve} {K z Δ s : } {q k : } {l : List } (hK : 0 K) (hz : 2 z) ( : 0 < Δ) (hs : s = Real.log Δ / Real.log z) (hslo : 3 / 2 s) (hcut : pS.prodPrimes.primeFactors, p z) (hq : q S.prodPrimes.primeFactors) (hl : l LinearSieve.upperRosserBoundaryChains (Δ⌋₊ + 1) q ({pS.prodPrimes.primeFactors | q < p})) (hlen : l.length = 2 * k) :
    K / (Real.log q / Real.log z * Real.log z) 2 * 3 ^ k * K / Real.log z xLinearSieve.logarithmicCoordinates z l, K / (x * Real.log z) 2 * 3 ^ k * K / Real.log z

    On depth-2k boundary carriers, every local-product correction is at most 2 * 3^k * K / log z. Thus the K / log errors are uniformly harmless after the depth cutoff has been fixed.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.exists_upperRosserBoundaryChains_fixed_length_localProduct_error_le (K η : ) (k : ) (hK : 0 K) ( : 0 < η) :
    ∃ (z₀ : ), 2 z₀ ∀ (S : BoundingSieve) (z Δ s : ) (q : ) (l : List ), z₀ z0 < Δs = Real.log Δ / Real.log z3 / 2 s(∀ pS.prodPrimes.primeFactors, p z)q S.prodPrimes.primeFactorsl LinearSieve.upperRosserBoundaryChains (Δ⌋₊ + 1) q ({pS.prodPrimes.primeFactors | q < p})l.length = 2 * kK / (Real.log q / Real.log z * Real.log z) η xLinearSieve.logarithmicCoordinates z l, K / (x * Real.log z) η

    After fixing the Rosser depth, one cutoff makes every local-product correction on every boundary carrier smaller than a prescribed tolerance.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.factorial_mul_upperRosserBoundaryChains_fixed_length_density_le {S : BoundingSieve} {K z : } {D q ell : } (hlocal : HasDimensionOneLocalProductBound S K) (hcut : pS.prodPrimes.primeFactors, p z) (hq : q S.prodPrimes.primeFactors) :
    ell.factorial * lLinearSieve.upperRosserBoundaryChains D q ({pS.prodPrimes.primeFactors | q < p}) with l.length = ell, (List.map (fun (p : ) => S.nu p / (1 - S.nu p)) l).prod (Real.log (z + 1) / Real.log (q + 1) * (1 + K / Real.log (q + 1)) - 1) ^ ell

    The selected part of a fixed-depth Rosser boundary has factorial decay. The base of the power is the dimension-one mass of the complete prime tail above q; imposing the Rosser region can only decrease this mass.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.upperRosserBoundaryChains_fixed_length_density_le_pow_div_factorial {S : BoundingSieve} {K z : } {D q ell : } (hlocal : HasDimensionOneLocalProductBound S K) (hcut : pS.prodPrimes.primeFactors, p z) (hq : q S.prodPrimes.primeFactors) :
    lLinearSieve.upperRosserBoundaryChains D q ({pS.prodPrimes.primeFactors | q < p}) with l.length = ell, (List.map (fun (p : ) => S.nu p / (1 - S.nu p)) l).prod (Real.log (z + 1) / Real.log (q + 1) * (1 + K / Real.log (q + 1)) - 1) ^ ell / ell.factorial

    Direct M ^ ell / ell! form of the dimension-one fixed-depth bound.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.upperRosserTailComplement_invProduct_le {S : BoundingSieve} {K z : } {q : } (hlocal : HasDimensionOneLocalProductBound S K) (hcut : pS.prodPrimes.primeFactors, p z) (hq : q S.prodPrimes.primeFactors) (s : Finset ) :
    p{pS.prodPrimes.primeFactors | q < p} \ s, (1 - S.nu p)⁻¹ Real.log (z + 1) / Real.log (q + 1) * (1 + K / Real.log (q + 1))

    A skipped complement in the tail above q is controlled by the dimension-one product estimate on [q + 1, z + 1).

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.upperRosserTailFactor_le_logCoordinate {K z η : } {q : } (hK : 0 K) (hz : 1 < z) (hq : Nat.Prime q) ( : 0 η) (hlogRatio : Real.log (z + 1) / Real.log z 1 + η) (herror : K / (Real.log q / Real.log z * Real.log z) η) :
    Real.log (z + 1) / Real.log (q + 1) * (1 + K / Real.log (q + 1)) (1 + η) ^ 2 * (Real.log q / Real.log z)⁻¹

    On a logarithmic coordinate bounded away from zero, the skipped-prime tail factor contributes at most one further reciprocal-coordinate factor, up to the two uniform local-product errors. This is the factor-bearing estimate needed when the outer Rosser prime is inserted into a logarithmic mesh.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.upperRosserBoundaryPathTerm_le {S : BoundingSieve} {K z : } {q : } (hlocal : HasDimensionOneLocalProductBound S K) (hcut : pS.prodPrimes.primeFactors, p z) (hq : q S.prodPrimes.primeFactors) {s : Finset } (hs : s{pS.prodPrimes.primeFactors | q < p}) :
    (∏ ps, S.nu p / (1 - S.nu p)) * p{pS.prodPrimes.primeFactors | q < p} \ s, (1 - S.nu p)⁻¹ (∏ ps, S.nu p / (1 - S.nu p)) * (Real.log (z + 1) / Real.log (q + 1) * (1 + K / Real.log (q + 1)))

    The skipped-prime part of one Rosser boundary path can be replaced by the dimension-one interval factor, leaving only the selected prime ratios.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.upperRosserBoundaryDensity_div_eulerProduct_le {S : BoundingSieve} {K z : } {D q : } (hlocal : HasDimensionOneLocalProductBound S K) (hcut : pS.prodPrimes.primeFactors, p z) (hq : q S.prodPrimes.primeFactors) :
    (∑ s{pS.prodPrimes.primeFactors | q < p}.powerset with (LinearSieve.UpperRosserBoundarySet D q) s, ps, S.nu p) / pS.prodPrimes.primeFactors with q < p, (1 - S.nu p) Real.log (z + 1) / Real.log (q + 1) * (1 + K / Real.log (q + 1)) * s{pS.prodPrimes.primeFactors | q < p}.powerset with (LinearSieve.UpperRosserBoundarySet D q) s, ps, S.nu p / (1 - S.nu p)

    Quantitative reduction of a normalized boundary mass to the selected Rosser chains. This removes all skipped primes using only the local-product hypothesis; the remaining sum carries the cubic boundary condition.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.upperRosserSetDensityRatio_le_one_add_boundaryChains {S : BoundingSieve} {K z : } {D : } (hD : 1 < D) (hlocal : HasDimensionOneLocalProductBound S K) (hcut : pS.prodPrimes.primeFactors, p z) (hlevel : pS.prodPrimes.primeFactors, p < D) :
    LinearSieve.upperRosserSetDensitySum (⇑S.nu) D S.prodPrimes.primeFactors / pS.prodPrimes.primeFactors, (1 - S.nu p) 1 + qS.prodPrimes.primeFactors, S.nu q / (1 - S.nu q) * (Real.log (z + 1) / Real.log (q + 1) * (1 + K / Real.log (q + 1)) * s{pS.prodPrimes.primeFactors | q < p}.powerset with (LinearSieve.UpperRosserBoundarySet D q) s, ps, S.nu p / (1 - S.nu p))

    The normalized upper Rosser density is bounded by an explicit finite sum over selected cubic-boundary chains. All unselected Euler factors have been absorbed by the dimension-one interval estimate.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.upperRosserSetDensityRatio_le_one_add_boundaryChains_by_even_length {S : BoundingSieve} {K z : } {D : } (hD : 1 < D) (hlocal : HasDimensionOneLocalProductBound S K) (hcut : pS.prodPrimes.primeFactors, p z) (hlevel : pS.prodPrimes.primeFactors, p < D) :
    LinearSieve.upperRosserSetDensitySum (⇑S.nu) D S.prodPrimes.primeFactors / pS.prodPrimes.primeFactors, (1 - S.nu p) 1 + qS.prodPrimes.primeFactors, S.nu q / (1 - S.nu q) * (Real.log (z + 1) / Real.log (q + 1) * (1 + K / Real.log (q + 1)) * ellFinset.range ({pS.prodPrimes.primeFactors | q < p}.card + 1) with Even ell, lLinearSieve.upperRosserBoundaryChains D q ({pS.prodPrimes.primeFactors | q < p}) with l.length = ell, (List.map (fun (p : ) => S.nu p / (1 - S.nu p)) l).prod)

    The normalized density bound grouped by the even length of each canonical decreasing Rosser boundary chain. This exposes exactly the finite depth parameter to which the factorial estimate applies.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.upperRosserSetDensityRatio_le_one_add_boundaryChains_by_depth {S : BoundingSieve} {K z : } {D : } (hD : 1 < D) (hlocal : HasDimensionOneLocalProductBound S K) (hcut : pS.prodPrimes.primeFactors, p z) (hlevel : pS.prodPrimes.primeFactors, p < D) :
    LinearSieve.upperRosserSetDensitySum (⇑S.nu) D S.prodPrimes.primeFactors / pS.prodPrimes.primeFactors, (1 - S.nu p) 1 + qS.prodPrimes.primeFactors, S.nu q / (1 - S.nu q) * (Real.log (z + 1) / Real.log (q + 1) * (1 + K / Real.log (q + 1)) * kFinset.range ({pS.prodPrimes.primeFactors | q < p}.card + 1), LinearSieve.upperRosserBoundaryChainsFixedDepthDensity (fun (p : ) => S.nu p / (1 - S.nu p)) D q ({pS.prodPrimes.primeFactors | q < p}) k)

    The normalized upper Rosser density bound indexed directly by Buchstab pair depth. Each inner term is now exactly the quantity governed by upperRosserBoundaryChainsFixedDepthDensity_succ.

    theorem MathlibNt.SieveTheory.SwitchingPrinciple.lt_floor_add_one_of_le_of_log_ratio {p : } {z Δ s : } (hz : 2 z) ( : 0 < Δ) (hp : p z) (hs : s = Real.log Δ / Real.log z) (hslo : 3 / 2 s) :
    p < Δ⌋₊ + 1

    A sieve ratio strictly larger than one places every integer below the sifting cutoff strictly below the natural Rosser level ⌊Δ⌋ + 1.

    Dividing a strict real cutoff by a positive integer commutes exactly with the floor + 1 convention used for Rosser levels.