Coprime non-square blocks of a prime times a square carry the prime in a prescribed order
ProvedOddPerfectNumber.Kernel.coprime_non_square_blocks_prime_mul_sqLet and be coprime nonzero naturals, let be prime, and suppose with neither nor a square. Then exactly one of and equals times a square, and the other is a square.
Since , the total multiplicity of every prime in is even except that of , which is odd. Coprimality means each prime occurs in at most one of the two blocks, so the block containing has to an odd power and every other prime to an even power, while the other block has all multiplicities even and is therefore a square. As neither block is a square, the block containing cannot be the other one, giving the disjunction.
In the residual this is the tool that turns a prime-times-a-square second cyclotomic block into the concrete statement that one of the two prime-times-square orientations actually occurs.
import Mathlib
namespace OddPerfectNumber.Kernel
theorem coprime_non_square_blocks_prime_mul_sq {a b c y : Nat} (ha0 : a ≠ 0) (hb0 : b ≠ 0)
(hc : c.Prime) (hab : a.Coprime b) (hna : ¬ ∃ w : Nat, w ^ 2 = a)
(hnb : ¬ ∃ w : Nat, w ^ 2 = b) (hy : a * b = c * y ^ 2) :
(∃ x : Nat, a = c * x ^ 2) ∨ (∃ x : Nat, b = c * x ^ 2) := by
sorry
end OddPerfectNumber.Kernel