[Merged by Bors] - feat(Algebra/Polynomial): add aevalEquiv and its bivariate version#35283
[Merged by Bors] - feat(Algebra/Polynomial): add aevalEquiv and its bivariate version#35283Multramate wants to merge 9 commits intoleanprover-community:masterfrom
Conversation
Multramate
commented
Feb 13, 2026
PR summary 7c0aa26a8bImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
There was a problem hiding this comment.
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.algHomEquivequivalence for univariate polynomials - Added
Polynomial.Bivariate.algHomEquivequivalence 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`. -/ |
There was a problem hiding this comment.
The docstring has a typo: it should be "A × A` induced" instead of "A × A induced" (missing the closing backtick after "A × A").
| /-- 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`. -/ |
|
This pull request has conflicts, please merge |
|
bors merge |
|
Build failed (retrying...): |
|
@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? |
|
Pull request successfully merged into master. Build succeeded: |
Unfortunately I'm too late reading this. If you have specific concerns, please ping me in a follow-up PR. |