Nielsen Theorem 1: for odd -perfect
ProvedOddPerfectNumber.nielsen_theorem1This is Theorem 1 of Nielsen 2003 (pages 4-7), the general upper bound from which the odd-perfect milestone follows.
Let be odd and -perfect with positive, i.e. where is the sum-of-divisors function, and let be the number of distinct prime divisors of . Then
The published proof strengthens Heath-Brown's algorithm: starting from any prime set , Cases 1-2 build a disjoint extension giving inequalities (1)-(2), then a subset giving (3)-(4); a long calculation yields the key estimate (5), which replaces inequality (iv) of Heath-Brown's Lemma 2. The Heath-Brown induction (p. 196) with (5) in place of (iv) gives the bound. The odd-perfect corollary (, ) is .
Formalization Note The -perfect hypothesis is stated cross-multiplied in as ArithmeticFunction.sigma 1 N * d = n * N, and is N.primeFactors.card.
import Mathlib
namespace OddPerfectNumber
theorem nielsen_theorem1 (N n d : ℕ) (hn : 0 < n) (hd : 0 < d) (hodd : Odd N)
(hperf : ArithmeticFunction.sigma 1 N * d = n * N) :
N < (d + 1) ^ (4 ^ N.primeFactors.card) := by
sorry
end OddPerfectNumber