The collapsed coefficient #
The four facts about A_j(m) that the master expansion needs. The definition
GranvilleMoore.collapsedCoeff is a sum over i ≤ j of signed c-coefficients against
binomial coefficients C(e_i, m); expanding each C(e_i, m) as a polynomial in p^i and
exchanging the two sums replaces it by a sum over n ≤ m of β_{m,n} against a product of
differences of powers of p. Everything else here is read off that closed form.
Main results #
GranvilleMoore.collapsedCoeff_eq_sum:A_j(m) = ∑_{n ≤ m} β_{m,n} ∏_{r<j}(p^n - p^r).GranvilleMoore.collapsedCoeff_eq_zero:A_j(m) = 0form < j.GranvilleMoore.exists_intCast_eq_factorial_mul_pow_mul_collapsedCoeffandGranvilleMoore.le_padicValRat_collapsedCoeff:m! (p-1)^m A_j(m) / p^{C(j,2)}is an integer, and hencev_p(A_j(m)) ≥ C(j,2) - v_p(m!).GranvilleMoore.collapsedCoeff_self_eq,GranvilleMoore.factorial_mul_pow_mul_collapsedCoeff_selfandGranvilleMoore.exists_int_factorial_mul_pow_mul_collapsedCoeff_self: the leading valueA_j(j) = β_{j,j} p^{C(j,2)} ∏_{s<j}(p^{s+1} - 1), its division-free form, and the resulting congruencej! A_j(j) / p^{C(j,2)} ≡ 1 (mod p).
Implementation notes #
The coefficient analysis of GranvilleMoore.CoefficientAnalysis is stated over ℤ,
because that is where the c_{j,i}(p) live, while collapsedCoeff is rational. The three
private *_rat lemmas at the top of this file are those statements pushed through
Int.cast, and they are the only place a cast appears; prod_pow_sub_pow_rat_eq_pow_mul
also converts the exponent ∑_{r<j} r into C(j,2).
The valuation is usually stated as the inequality v_p(A_j(m)) ≥ C(j,2) - v_p(m!), and that is
le_padicValRat_collapsedCoeff. It carries the side condition A_j(m) ≠ 0, which is not
avoidable: padicValRat p 0 = 0 by convention, so the unconditional inequality would assert
C(j,2) ≤ v_p(m!) at every pair (j, m) where A_j(m) happens to vanish, and that is false
already for j = m = 2 and p odd. The inequality is therefore derived from a sharper, purely
algebraic and unconditional form, exists_intCast_eq_factorial_mul_pow_mul_collapsedCoeff, which
says that
m! (p-1)^m A_j(m) / p^{C(j,2)}
is an integer. That is the form a consumer wanting integrality should use — it holds for all
j and m with no nonvanishing hypothesis and no primality beyond p ≠ 1 in spirit — and
the valuation bound follows from it because p ∤ p - 1. Neither statement needs j ≤ m:
for j > m the collapsed coefficient vanishes and both are trivially true.
For the leading coefficient the paper asserts the congruence A_j(j)/p^{C(j,2)} ≡ 1/j! (mod p) for
j ≤ p - 1. A congruence between rational numbers is not a Mathlib notion, so what is proved here
is the exact factorisation that the paper's proof actually establishes, in three increasingly
explicit forms:
collapsedCoeff_self_eq:A_j(j) = β_{j,j} p^{C(j,2)} ∏_{s<j}(p^{s+1} - 1);factorial_mul_pow_mul_collapsedCoeff_self: the same withβ_{j,j}eliminated usingfactorial_mul_pow_mul_binomPolyCoeff_self, giving the division-free identityj! (p-1)^j A_j(j) = p^{C(j,2)} ∏_{s<j}(p^{s+1} - 1);exists_int_factorial_mul_pow_mul_collapsedCoeff_self: the congruence itself, in the shapej! (p-1)^j A_j(j) = p^{C(j,2)} ((p-1)^j + p a)for an integera, which says exactly thatj! A_j(j)/p^{C(j,2)}differs from1byp a/(p-1)^j, a rational of positive valuation.
None of the three needs j ≤ p - 1: that hypothesis exists only to make 1/j! p-integral, i.e.
to give the congruence's right-hand side a meaning, and the forms above clear j! instead of
inverting it. They need only 2 ≤ p.
Rational forms of the coefficient analysis #
GranvilleMoore.prod_pow_sub_pow_eq_pow_mul over ℚ, with the exponent written as
C(j,2).
The closed form #
lem_A_formula: the collapsed coefficient in closed form,
A_j(m) = ∑_{n ≤ m} β_{m,n} ∏_{r<j}(p^n - p^r).
Substituting the expansion C(e_i, m) = ∑_{n ≤ m} β_{m,n} (p^n)^i of
GranvilleMoore.natCast_choose_frobeniusExponent_eq_sum into the definition and exchanging
the two finite sums leaves, for each n, the signed sum ∑_i (-1)^{j-i} c_{j,i} (p^n)^i,
which is ∏_{r<j}(p^n - p^r) by GranvilleMoore.signedCCoeff_sum_eq_prod.
lem_A_vanishes: the collapsed coefficient vanishes in low degree,
A_j(m) = 0 for m < j.
Every index n of the closed form satisfies n ≤ m < j, so every product vanishes by
GranvilleMoore.prod_pow_sub_pow_eq_zero.
The valuation #
lem_A_valuation, algebraic form: m! (p-1)^m A_j(m) / p^{C(j,2)} is an integer.
This is the unconditional content behind the valuation inequality: it exhibits the denominator of
A_j(m) explicitly as m! (p-1)^m and its p-power numerator as p^{C(j,2)}. In the closed form
every term with n < j vanishes and every term with n ≥ j contributes a factor p^{C(j,2)}.
lem_A_valuation: v_p(A_j(m)) ≥ C(j,2) - v_p(m!).
Taking p-adic valuations in the algebraic form
GranvilleMoore.exists_intCast_eq_factorial_mul_pow_mul_collapsedCoeff: the integer on the
right has nonnegative valuation and v_p((p-1)^m) = 0, so
v_p(m!) + v_p(A_j(m)) ≥ C(j,2).
The hypothesis A_j(m) ≠ 0 is needed because padicValRat p 0 = 0; a consumer that cannot
supply it should use the algebraic form, which has no side condition.
The leading coefficient #
The leading coefficient of B_m: m! (p-1)^m β_{m,m} = 1, i.e.
β_{m,m} = 1/(m! (p-1)^m).
Clearing the denominators of B_m turns it into the monic polynomial
∏_{s<m} (X - 1 - s(p-1)) of degree m (GranvilleMoore.C_mul_binomPoly_eq_prod), whose
top coefficient is 1.
lem_A_leading, the factorisation:
A_j(j) = β_{j,j} p^{C(j,2)} ∏_{s<j}(p^{s+1} - 1).
In the closed form with m = j every term with n < j vanishes, leaving the single term
β_{j,j} ∏_{r<j}(p^j - p^r); that product factors as p^{C(j,2)} ∏_{r<j}(p^{j-r} - 1) by
GranvilleMoore.prod_pow_sub_pow_eq_pow_mul, and re-indexing by s = j - 1 - r turns the
remaining product into ∏_{s<j}(p^{s+1} - 1), each of whose factors is ≡ -1 (mod p).
lem_A_leading, division-free:
j! (p-1)^j A_j(j) = p^{C(j,2)} ∏_{s<j}(p^{s+1} - 1).
The factorisation of GranvilleMoore.collapsedCoeff_self_eq with β_{j,j} eliminated by
GranvilleMoore.factorial_mul_pow_mul_binomPolyCoeff_self. Dividing by p^{C(j,2)} and by
(p-1)^j this reads A_j(j)/p^{C(j,2)} = (1/j!) ∏_{s<j}(p^{s+1}-1)/(p-1)^j, which is the
displayed formula of the paper's proof.
lem_A_leading, the congruence: there is an integer a with
j! (p-1)^j A_j(j) = p^{C(j,2)} ((p-1)^j + p a).
Equivalently j! A_j(j)/p^{C(j,2)} = 1 + p a/(p-1)^j, and since p ∤ p - 1 the correction
term has positive valuation: this is the congruence A_j(j)/p^{C(j,2)} ≡ 1/j! (mod p), with
j! cleared instead of inverted. It comes from the division-free identity together with
∏_{s<j}(p^{s+1} - 1) ≡ (p-1)^j (mod p), both sides being ≡ (-1)^j.