Skip to content

feat(RingTheory/HopfAlgebra): delta operators and Rota's classification#39465

Draft
RaggedR wants to merge 6 commits into
leanprover-community:masterfrom
RaggedR:feat/delta-operators
Draft

feat(RingTheory/HopfAlgebra): delta operators and Rota's classification#39465
RaggedR wants to merge 6 commits into
leanprover-community:masterfrom
RaggedR:feat/delta-operators

Conversation

@RaggedR

@RaggedR RaggedR commented May 16, 2026

Copy link
Copy Markdown

This formalizes the fundamental theorem of the umbral calculus: that the basic sequence of any delta operator is a sequence of binomial type.

A delta operator on R[X] is a shift-equivariant linear operator which is essentially a formal power series in the variable d/dx. Rota's classification theorem states that the images of monomials x^n under delta operators are sequences of binomial type.

This PR defines IsBinomialType, IsShiftEquivariant, IsDeltaOperator, forwardDiff, and IsBasicSequence. It proves that monomials and falling factorials are of binomial type, that the derivative and forward difference are delta operators, and that basic sequences are of binomial type (Rota's classification).

The mathematical content is from the first half of my masters thesis (arXiv:0907.3950). See also Rota, Kahaner, and Odlyzko, Finite Operator Calculus (JMAA 42, 1973) and Roman, The Umbral Calculus (Academic Press, 1984).

Depends on #39410.


LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work.

RaggedR added 4 commits May 15, 2026 21:51
…G_a)

Add the Coalgebra, Bialgebra, and HopfAlgebra instances on `R[X]` with
additive comultiplication `Δ(X) = X ⊗ 1 + 1 ⊗ X`, counit `ε(p) = p(0)`,
and antipode `S(X) = -X`. This is the coordinate ring of the additive
group scheme 𝔾_a, dual to the multiplicative 𝔾_m already formalized via
Laurent polynomials.
Adds `module` keyword and changes `import` to `public import` to match
the module system introduced in Lean 4.30.0-rc2, which Mathlib master
now requires.
Add `public section` for Lean 4.30.0 module visibility and remove
deprecated/unused simp lemmas (`AlgEquiv.toAlgHom_eq_coe`,
`AlgHom.coe_coe`, `Algebra.TensorProduct.assoc_tmul`) flagged by linters.
Formalize the fundamental theorem of the umbral calculus: the basic sequence
of any delta operator is a sequence of binomial type.

New definitions:
- `Polynomial.IsBinomialType`: binomial convolution for the coalgebra comultiplication
- `Polynomial.IsShiftEquivariant`: commutes with Taylor shift
- `Polynomial.IsDeltaOperator`: shift-equivariant, kills constants, unit leading term
- `Polynomial.forwardDiff`: forward difference operator
- `Polynomial.IsBasicSequence`: basic sequence of a delta operator

Main results:
- `Polynomial.X_pow_isBinomialType`: monomials are of binomial type
- `Polynomial.descPochhammer_isBinomialType`: Vandermonde's identity
- `Polynomial.IsBasicSequence.isBinomialType`: Rota's classification
@github-actions github-actions Bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label May 16, 2026
@github-actions

Copy link
Copy Markdown

Welcome new contributor!

Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests.

We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the awaiting-author tag, or another reason described in the Lifecycle of a PR. The review dashboard has a dedicated webpage which shows whether your PR is on the review queue, and (if not), why.

If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR.

Thank you again for joining our community.

@github-actions github-actions Bot added the t-ring-theory Ring theory label May 16, 2026
@github-actions

github-actions Bot commented May 16, 2026

Copy link
Copy Markdown

PR summary 0a15124a6f

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.RingTheory.HopfAlgebra.Polynomial (new file) 1228
Mathlib.RingTheory.HopfAlgebra.BinomialType (new file) 1231
Mathlib.RingTheory.HopfAlgebra.DeltaOperator (new file) 1341

Declarations diff

+ IsBasicSequence
+ IsBasicSequence.isBinomialType
+ IsBinomialType
+ IsBinomialType.comp_coalgebraHom
+ IsBinomialType.comul_zero
+ IsBinomialType.of_coalgebraHom
+ IsDeltaOperator
+ IsShiftEquivariant
+ X_pow_isBasicSequence
+ X_pow_isBinomialType
+ aeval_C_eq_C_eval
+ antipodeAdditiveAlgHom
+ antipodeAdditiveAlgHom_C
+ antipodeAdditiveAlgHom_X
+ coeff_taylor_sub_eq
+ comulAdditiveAlgHom
+ comulAdditiveAlgHom_C
+ comulAdditiveAlgHom_X
+ comul_X_sub_natCast
+ comul_eq
+ comul_taylor_bridge
+ counitAdditiveAlgHom
+ counitAdditiveAlgHom_C
+ counitAdditiveAlgHom_X
+ counit_eq
+ delta_ker_eval_zero
+ delta_op_Q_X_eq_C
+ derivative_isDeltaOperator
+ descPochhammer_isBasicSequence_forwardDiff
+ descPochhammer_isBinomialType
+ descPochhammer_mul_X
+ descPochhammer_mul_X_sub
+ eval_determines
+ eval_tensor_zero
+ forwardDiff
+ forwardDiff_C
+ forwardDiff_X
+ forwardDiff_apply
+ forwardDiff_isDeltaOperator
+ forwardDiff_isShiftEquivariant
+ forwardDiff_one_descPochhammer
+ hasseDeriv_isShiftEquivariant
+ instBialgebra
+ instCoalgebra
+ instCoalgebraStruct
+ instHopfAlgebra
+ instTorsionFree
+ isShiftEquivariant_add
+ isShiftEquivariant_comp
+ lTensor_comul_eq
+ lTensor_counit_eq
+ mk_flip_one_eq_includeLeft
+ mk_one_eq_includeRight
+ natDegree_Q_of_bounded
+ natDegree_delta_op_pow
+ natDegree_taylor_sub_le
+ rTensor_comul_eq
+ rTensor_counit_eq
+ sum_hasseDeriv_eq_zero
+ summand_identity
+ taylor_basic_eq
+ taylor_invariant_eq_C
+ taylor_one_X_sub_natCast
+ taylor_one_mul

You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci

## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.


No changes to strong technical debt.
No changes to weak technical debt.

@RaggedR
RaggedR force-pushed the feat/delta-operators branch from bd14ac2 to a84f277 Compare May 16, 2026 14:38
@wwylele

wwylele commented May 16, 2026

Copy link
Copy Markdown
Collaborator

As I have commented in #39410, please write the PR description yourself. There is also a specific format to follow for dependent PR

@RaggedR

RaggedR commented May 16, 2026

Copy link
Copy Markdown
Author

Could a maintainer add the LLM-generated label please?

@mathlib-dependent-issues mathlib-dependent-issues Bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label May 16, 2026
@RaggedR

RaggedR commented May 16, 2026 via email

Copy link
Copy Markdown
Author

@RaggedR

RaggedR commented May 21, 2026

Copy link
Copy Markdown
Author

LLM-generated

@RaggedR
RaggedR force-pushed the feat/delta-operators branch from 219be5b to 0a15124 Compare May 22, 2026 09:47
@RaggedR

RaggedR commented May 22, 2026

Copy link
Copy Markdown
Author

Please add the LLM-generated label to this PR.

@mathlib-dependent-issues mathlib-dependent-issues Bot removed the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label May 22, 2026
@RaggedR
RaggedR marked this pull request as draft May 23, 2026 11:01
@mathlib-bors

mathlib-bors Bot commented May 23, 2026

Copy link
Copy Markdown
Contributor

This pull request is now in draft mode. No active bors state needed cleanup.

While this PR remains draft, bors will ignore commands on this PR. Mark it ready for review before using commands like bors r+ or bors try.

@mathlib-merge-conflicts mathlib-merge-conflicts Bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Jun 8, 2026
@mathlib-merge-conflicts

Copy link
Copy Markdown

This pull request has conflicts, please merge master and resolve them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

LLM-generated PRs with substantial input from LLMs - review accordingly merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-ring-theory Ring theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants