feat(Algebra): add multivariate Laurent polynomials#37249
feat(Algebra): add multivariate Laurent polynomials#37249yuma-mizuno wants to merge 9 commits intoleanprover-community:masterfrom
Conversation
PR summary 28a77d90ecImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
I removed `sum_def` because its left-hand side directly uses the `Finsupp` expression.
There was a problem hiding this comment.
Can you please reuse as many AddMonoidAlgebra primitives as possible? In particular, could you please avoid defining: coeff, support. monomial?
My hope is that you can work with mutlvariate polynomials without adding any API at all, but I can see that maybe you want MvLaurentPolynomial.C and MvLaurentPolynomial.X, the latter of which doesn't make sense over AddMonoidAlgebra.
| variable {R : Type*} {S : Type*} {σ : Type*} | ||
|
|
||
| /-- Multivariate Laurent polynomials over `R` in variables indexed by `σ`. -/ | ||
| abbrev MvLaurentPolynomial (σ : Type*) (R : Type*) [CommSemiring R] := |
There was a problem hiding this comment.
| abbrev MvLaurentPolynomial (σ : Type*) (R : Type*) [CommSemiring R] := | |
| abbrev MvLaurentPolynomial (σ R : Type*) [CommSemiring R] := |
Indeed, what I actually want would be def X {σ R M : Type*} [CommSemiring R] [AddCommGroup M] [Module ℤ M]
(v : Basis σ ℤ M) (i : σ) :
AddMonoidAlgebra R M :=
AddMonoidAlgebra.single (v i) 1 |
I used Codex to imitate theNow it has been rewritten by hand to focus on itsMvPolynomialAPI.AddMonoidAlgebrafeatures.Proving
UniqueFactorizationMonoidis my next plan.