Skip to content

Veronese sections preserve constant-coefficient linear recurrences (#2533 part 2) - #2546

Merged
PerAlexandersson merged 4 commits into
mainfrom
feat/section-recurrences
Nov 12, 2026
Merged

PerAlexandersson merged 4 commits into
mainfrom
feat/section-recurrences

Conversation

@PerAlexandersson

Copy link
Copy Markdown
Owner

Part 2 of #2533, in the agreed form (Mathlib LinearRecurrence; explicit determinant norm).

Generic (Mathlib-only, upstreamable):

  • RealRooted/Mathlib/Algebra/Polynomial/Veronese.lean (464 lines): Polynomial.veroneseSection, veroneseSection_expand_mul, the section multiplication matrix, veroneseNorm r p = det, natDegree_veroneseNorm_le (≤ r·deg), coeff_veroneseNorm_zero, Monic.veroneseNorm, mul_veroneseAdjugateCoeffs (p · Q' = expand r (veroneseNorm r p)).
  • RealRooted/Mathlib/Algebra/LinearRecurrence/Veronese.lean (130 lines): LinearRecurrence.veronese, veronese_order, charPoly_veronese, IsSolution.veronese, exists_veroneseSection, veronese_recurrence_of_eventually (start N + (r−1)d).

Real API: veroneseSectionPolynomial_eq_veroneseSection (bridge; existing signatures unchanged) and isSolution_and_eq_zero_or_splits_veroneseSectionPolynomial.

Breadth (Tactic/Examples/VeroneseRecurrence.lean): binomial rows r = 2 (order 2), Fibonacci tiling rows r = 3 (order 6), Delannoy rows r = 2 (order 4), each by applying the general theorem. The worked examples were checked by exact computation to n = 30 (issue comment).

Catalog: Veronese sections page gains the definitions and theorems. Import budgets: Hadamard closure 354 → 358, broad umbrella +1 module each for the new files.

Checks: guarded lake-workspace build RealRooted RealRooted.Production RealRooted.Tactic.Examples RealRooted.Challenges.PolyaFrequency.VeroneseSections rc=0, no warnings; all source guards and catalog validation pass.

🤖 Generated with Claude Code

PerAlexandersson and others added 4 commits November 12, 2026 21:02
Over any commutative ring, every r-section of a solution of an order-d
LinearRecurrence over A[X] satisfies one recurrence of order r*d whose
characteristic polynomial is the explicit section-matrix determinant
veroneseNorm of the original one (adjugate factorization; no roots of unity).
Eventual-start version, real bridge to veroneseSectionPolynomial, a
real-rootedness corollary, three breadth examples and catalog entries.

Part 2 of #2533.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PerAlexandersson
PerAlexandersson merged commit 8893fea into main Nov 12, 2026
5 checks passed
@PerAlexandersson
PerAlexandersson deleted the feat/section-recurrences branch November 12, 2026 21:33
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