A square-free number with exactly two prime factors is a product of two distinct primes in increasing order
ProvedOddPerfectNumber.Kernel.squarefree_card_two_eq_two_primesLet be a square-free natural number with exactly two distinct prime factors. Then is the product of two distinct primes . This is the shape lemma needed to finish the square-free-index reduction : once the lower bound is known, a failure of the bound forces the cardinality to be exactly , and this child turns that into an explicit semiprime with to hand to the two-prime residual. The pinned Mathlib revision contains no lemma of the form , so the characterisation is obtained instead from , which produces an explicit two-element presentation of the finset together with the ordering, and from , the same square-free product characterisation that the accepted child OddPerfectNumber.Kernel.squarefree_card_ge_three_of_not_small (64627c09-9af1-4ab3-afc0-a3498abf1dc3) is built on. The two members are automatically distinct because a finset has no duplicates, so no separate injectivity hypothesis is needed.
import Mathlib
namespace OddPerfectNumber.Kernel
theorem squarefree_card_two_eq_two_primes {d : Nat} (hdsf : Squarefree d)
(hcard : d.primeFactors.card = 2) :
∃ q r : Nat, q < r ∧ q.Prime ∧ r.Prime ∧ d = q * r := by
sorry
end OddPerfectNumber.Kernel