Skip to content

Conversation

@kavanaghpatrick
Copy link

Summary

  • Fills the sorry for even_of_isUnitaryPerfect: all unitary perfect numbers are even
  • Classical result due to Subbarao and Warren (1966), first-ever formalization in Lean 4
  • Adds private helper infrastructure (unitary sigma function, parity constraints, prime factor bounds)

Proof approach

Defines unitary sigma function, shows 2^k | sigma*(n) for odd n where k = |primeFactors(n)|, derives contradiction with sigma*(n) = 2n.

Test plan

  • CI passes (Lean 4 build)
  • No new sorry introduced (net reduction: 1 sorry filled)
  • Existing test cases unchanged

The proof was discovered by Anthropic Claude using the Aristotle proof search engine.

@google-cla
Copy link

google-cla bot commented Feb 9, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

1 similar comment
@google-cla
Copy link

google-cla bot commented Feb 9, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Fills the sorry for `even_of_isUnitaryPerfect`: all unitary perfect
numbers are even, a result due to Subbarao and Warren (1966).

The proof defines the unitary sigma function σ*(n) = Π_{p^a || n} (1 + p^a),
shows that for odd n the product Π(1 + p^a) forces a parity constraint
incompatible with σ*(n) = 2n, and derives a contradiction.

Helper lemmas added (all private):
- unitaryDivisors, unitarySigma definitions
- unitarySigma_eq_prod_prime_factors: σ*(n) = Π_{p ∈ primeFactors} (1 + p^{v_p(n)})
- two_pow_card_primeFactors_dvd_unitarySigma: 2^k | σ*(n) for odd n
- card_primeFactors_le_one_of_odd_isUnitaryPerfect: odd UPN has ≤ 1 prime factor

The proof was discovered by Anthropic's Claude (using the Aristotle
proof search engine) and constitutes a first-ever formalization of
this classical number theory result.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@kavanaghpatrick kavanaghpatrick force-pushed the prove-erdos-1052-even-unitary branch from cbf5642 to aa91edc Compare February 9, 2026 19:23
@github-actions github-actions bot added the erdos-problems Erdős Problems label Feb 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

erdos-problems Erdős Problems

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants