Skip to content

[Merged by Bors] - feat(Algebra/Polynomial): add aevalEquiv and its bivariate version#35283

Closed
Multramate wants to merge 9 commits intoleanprover-community:masterfrom
Multramate:Polynomial.algHomEquiv
Closed

[Merged by Bors] - feat(Algebra/Polynomial): add aevalEquiv and its bivariate version#35283
Multramate wants to merge 9 commits intoleanprover-community:masterfrom
Multramate:Polynomial.algHomEquiv

Conversation

@Multramate
Copy link
Copy Markdown
Collaborator


Open in Gitpod

Copilot AI review requested due to automatic review settings February 13, 2026 23:55
@Multramate Multramate added the t-algebra Algebra (groups, rings, fields, etc) label Feb 13, 2026
@Multramate Multramate added the easy < 20s of review time. See the lifecycle page for guidelines. label Feb 13, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 13, 2026

PR summary 7c0aa26a8b

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ aevalAevalEquiv
+ aevalAevalEquiv_apply
+ aevalAeval_C
+ aevalAeval_X
+ aevalAeval_Y
+ aevalEquiv
+ aevalEquiv_apply

You can run this locally as follows
## summary with just the declaration names:
./scripts/pr_summary/declarations_diff.sh <optional_commit>

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

The doc-module for scripts/pr_summary/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/reporting/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds two new equivalences that characterize algebra homomorphisms from polynomial algebras: Polynomial.algHomEquiv establishes a bijection between R[X] →ₐ[R] A and A, while Polynomial.Bivariate.algHomEquiv establishes a bijection between R[X][Y] →ₐ[R] A and A × A. These equivalences formalize the universal property of polynomial algebras.

Changes:

  • Added Polynomial.algHomEquiv equivalence for univariate polynomials
  • Added Polynomial.Bivariate.algHomEquiv equivalence for bivariate polynomials with supporting lemmas

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
Mathlib/Algebra/Polynomial/AlgebraMap.lean Adds algHomEquiv establishing the bijection (R[X] →ₐ[R] A) ≃ A
Mathlib/Algebra/Polynomial/Bivariate.lean Adds helper lemmas (aevalAeval_C, aevalAeval_X, aevalAeval_Y) and Bivariate.algHomEquiv establishing the bijection (R[X][Y] →ₐ[R] A) ≃ A × A

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

lemma aevalAeval_Y (x y : A) : (Y : R[X][Y]).aevalAeval x y = y := by simp

variable (R A) in
/-- The bijection `(R[X][Y] →ₐ[R] A) ≃ A × A induced by `Polynomial.aevalAeval`. -/
Copy link

Copilot AI Feb 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The docstring has a typo: it should be "A × A` induced" instead of "A × A induced" (missing the closing backtick after "A × A").

Suggested change
/-- The bijection `(R[X][Y] →ₐ[R] A) ≃ A × A induced by `Polynomial.aevalAeval`. -/
/-- The bijection `(R[X][Y] →ₐ[R] A) ≃ A × A` induced by `Polynomial.aevalAeval`. -/

Copilot uses AI. Check for mistakes.
Comment thread Mathlib/Algebra/Polynomial/Bivariate.lean Outdated
Comment thread Mathlib/Algebra/Polynomial/AlgebraMap.lean Outdated
@ocfnash ocfnash added the awaiting-author A reviewer has asked the author a question or requested changes. label Feb 24, 2026
@Multramate Multramate removed the awaiting-author A reviewer has asked the author a question or requested changes. label Mar 3, 2026
@Multramate Multramate changed the title feat(Algebra/Polynomial): add Polynomial.algHomEquiv and its bivariate version feat(Algebra/Polynomial): add aevalEquiv and its bivariate version Mar 3, 2026
@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 Mar 4, 2026
@mathlib-merge-conflicts
Copy link
Copy Markdown

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

@github-actions github-actions Bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Mar 4, 2026
@ocfnash
Copy link
Copy Markdown
Contributor

ocfnash commented Mar 4, 2026

bors merge

@mathlib-triage mathlib-triage Bot added the ready-to-merge This PR has been sent to bors. label Mar 4, 2026
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors Bot commented Mar 4, 2026

Build failed (retrying...):

@Multramate
Copy link
Copy Markdown
Collaborator Author

@ocfnash I'm happy with my new feature additions but I'm not 100% sure about changing the simp normal form for aeval and aevalAeval etc - could you confirm that you're also happy with them?

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors Bot commented Mar 4, 2026

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors Bot changed the title feat(Algebra/Polynomial): add aevalEquiv and its bivariate version [Merged by Bors] - feat(Algebra/Polynomial): add aevalEquiv and its bivariate version Mar 4, 2026
@mathlib-bors mathlib-bors Bot closed this Mar 4, 2026
@ocfnash
Copy link
Copy Markdown
Contributor

ocfnash commented Mar 4, 2026

@ocfnash I'm happy with my new feature additions but I'm not 100% sure about changing the simp normal form for aeval and aevalAeval etc - could you confirm that you're also happy with them?

Unfortunately I'm too late reading this. If you have specific concerns, please ping me in a follow-up PR.

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

Labels

easy < 20s of review time. See the lifecycle page for guidelines. ready-to-merge This PR has been sent to bors. t-algebra Algebra (groups, rings, fields, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants