Skip to content

Move catalog theorems out of the Challenges namespace; closure-lemma names for preserves - #2540

Merged
PerAlexandersson merged 2 commits into
mainfrom
cleanup/naming-batch-2
Nov 12, 2026
Merged

PerAlexandersson merged 2 commits into
mainfrom
cleanup/naming-batch-2

Conversation

@PerAlexandersson

Copy link
Copy Markdown
Owner

Part C of #2534. Statements and proofs are unchanged; every caller, catalog entry and document is updated.

  • Challenges namespace: of the 114 public declarations in RealRooted.Challenges, 22 move into the modules that hold their proofs under library names; for the other 92, which wrapped existing library results, the catalog entry now points at the library declaration and the wrapper is removed. Challenge files keep only their catalog entries and stay importable under their module paths.
  • preserves names: 45 become closure lemmas in the predicate's namespace (for example reverseHermiteTransform_preserves_pf → IsPFPolynomial.reverseHermiteTransform, preservesInterlacingSeq0_iff → PreservesInterlacingSeq0.iff_nonneg_and_2x2). 21 names are kept: 14 predicate definitions, two counting theorems and five classifications without a fitting predicate namespace.
  • Downstream compatibility: six @[deprecated (since := "2026-11-12")] aliases keep the names that the sequence-proof repository uses; the Challenges.Combinatorial.Eulerian module path and the Hermite–Poulain exports still work.
  • Naming baseline: 171 → 21 entries. About 1,000 lines fewer.

Checks on this head: lake build RealRooted.Production RealRooted.Tactic.Examples passed; check_declaration_names.py (with --self-test), check_proof_status.py, check_root_imports.py, check_module_system.py, check_import_architecture.py, build_challenge_pages.py --check (149 pages), test_challenge_catalog.py passed. The full rename table is in the commit history of this branch's lane notes and available on request.

🤖 Generated with Claude Code

PerAlexandersson and others added 2 commits November 12, 2026 10:54
…names for preserves

Part C of #2534. Of the 114 public declarations in RealRooted.Challenges, 22 move into the
modules that hold their proofs under library names and 92 catalog entries now point at the
existing library results they wrapped; challenge files keep only their catalog entries. 45
preserves names become closure lemmas in the predicate's namespace. Six deprecated aliases
keep names the downstream sequence proofs use. Naming baseline 171 -> 21; about 1000 lines
fewer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PerAlexandersson
PerAlexandersson merged commit 2b6ba05 into main Nov 12, 2026
5 checks passed
@PerAlexandersson
PerAlexandersson deleted the cleanup/naming-batch-2 branch November 12, 2026 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant