A non-square natural number has a prime factor of odd multiplicity
ProvedOddPerfectNumber.Kernel.odd_mult_prime_existsIf is a nonzero natural number that is not a perfect square then some prime divides to an odd multiplicity, i.e. is not even. Mathlib has no -valued square predicate, so squares are phrased with to match the surrounding children. The proof uses the accepted bridge OddPerfectNumber.Kernel.isSq_iff_even_factorization (28b00e2d-2e78-4683-8075-7135bec4a50b), which characterises squares by even prime multiplicities: if every multiplicity were even then would be a square, so some has odd multiplicity; that multiplicity value is nonzero, so lies in the support of , which makes a prime dividing . This is the forcing half of the contextual two-prime argument and is elementary exponent bookkeeping; it encodes no conjecture-specific content.
import Mathlib
namespace OddPerfectNumber.Kernel
theorem odd_mult_prime_exists {a : Nat} (ha0 : a ≠ 0) (hna : ¬ ∃ y, y ^ 2 = a) :
∃ t : Nat, t.Prime ∧ t ∣ a ∧ ¬ Even (a.factorization t) := by
sorry
end OddPerfectNumber.Kernel