[Merged by Bors] - feat(Mathlib/LinearAlgebra/DirectSum/Finsupp): tensor products of finsupp sums#11635
[Merged by Bors] - feat(Mathlib/LinearAlgebra/DirectSum/Finsupp): tensor products of finsupp sums#11635AntoineChambert-Loir wants to merge 7 commits intomasterfrom
Conversation
|
Thank you very much! It looks good for me. |
|
!bench |
|
Here are the benchmark results for commit b400dac. Benchmark Metric Change
================================================================
- ~Mathlib.LinearAlgebra.DirectSum.Finsupp instructions 244.6% |
alreadydone
left a comment
There was a problem hiding this comment.
Largely LGTM but I might come back to golf some proofs ...
|
@alreadydone, is there something else that you would want me to add or change? |
alreadydone
left a comment
There was a problem hiding this comment.
Sorry for the delay, I'll get back to this tomorrow.
There was a problem hiding this comment.
I've done the golfs here. I made the defs finsuppLeft etc. shorter but it may make it harder for the reader, so feel free to adopt the changes that you think is appropriate. I gave two proofs for finsuppLeft_apply_tmul etc. and you're free to adopt either.
It's a bit weird that finsuppLeft etc. have no explicit argument, but LGTM.
|
Thanks for the shorter versions, I'll use them, and I'm OK to make the arguments of finsuppLeft explicit, in accordance with what is done for docs#TensorProduct.directSumLeft |
|
Can you please fix the compile errors (which probably results from the implicitness changes)? Thanks! |
|
I had not noticed that there were errors left, sorry. I make the necessary adjustments at once. |
|
Thanks 🎉 |
|
🚀 Pull request has been placed on the maintainer queue by alreadydone. |
|
Thanks! bors merge |
…supp sums (#11635) ## Modules * `TensorProduct.finsuppLeft`, the tensor product of `ι →₀ M` and `N` is linearly equivalent to `ι →₀ M ⊗[R] N` * `TensorProduct.finsuppScalarLeft`, the tensor product of `ι →₀ R` and `N` is linearly equivalent to `ι →₀ N` * `TensorProduct.finsuppRight`, the tensor product of `M` and `ι →₀ N` is linearly equivalent to `ι →₀ M ⊗[R] N` * `TensorProduct.finsuppLeft'`, if `M` is an `S`-module, then the tensor product of `ι →₀ M` and `N` is `S`-linearly equivalent to `ι →₀ M ⊗[R] N` This is the first part of PR #10824 which contains three applications of these functions to monoid algebras, polynomials and multivariate polynomials. It has been split because this part is reasonably sound, while the three other files are more like propositions.
|
Pull request successfully merged into master. Build succeeded: |
…supp sums (#11635) ## Modules * `TensorProduct.finsuppLeft`, the tensor product of `ι →₀ M` and `N` is linearly equivalent to `ι →₀ M ⊗[R] N` * `TensorProduct.finsuppScalarLeft`, the tensor product of `ι →₀ R` and `N` is linearly equivalent to `ι →₀ N` * `TensorProduct.finsuppRight`, the tensor product of `M` and `ι →₀ N` is linearly equivalent to `ι →₀ M ⊗[R] N` * `TensorProduct.finsuppLeft'`, if `M` is an `S`-module, then the tensor product of `ι →₀ M` and `N` is `S`-linearly equivalent to `ι →₀ M ⊗[R] N` This is the first part of PR #10824 which contains three applications of these functions to monoid algebras, polynomials and multivariate polynomials. It has been split because this part is reasonably sound, while the three other files are more like propositions.
…supp sums (#11635) ## Modules * `TensorProduct.finsuppLeft`, the tensor product of `ι →₀ M` and `N` is linearly equivalent to `ι →₀ M ⊗[R] N` * `TensorProduct.finsuppScalarLeft`, the tensor product of `ι →₀ R` and `N` is linearly equivalent to `ι →₀ N` * `TensorProduct.finsuppRight`, the tensor product of `M` and `ι →₀ N` is linearly equivalent to `ι →₀ M ⊗[R] N` * `TensorProduct.finsuppLeft'`, if `M` is an `S`-module, then the tensor product of `ι →₀ M` and `N` is `S`-linearly equivalent to `ι →₀ M ⊗[R] N` This is the first part of PR #10824 which contains three applications of these functions to monoid algebras, polynomials and multivariate polynomials. It has been split because this part is reasonably sound, while the three other files are more like propositions.
…supp sums (#11635) ## Modules * `TensorProduct.finsuppLeft`, the tensor product of `ι →₀ M` and `N` is linearly equivalent to `ι →₀ M ⊗[R] N` * `TensorProduct.finsuppScalarLeft`, the tensor product of `ι →₀ R` and `N` is linearly equivalent to `ι →₀ N` * `TensorProduct.finsuppRight`, the tensor product of `M` and `ι →₀ N` is linearly equivalent to `ι →₀ M ⊗[R] N` * `TensorProduct.finsuppLeft'`, if `M` is an `S`-module, then the tensor product of `ι →₀ M` and `N` is `S`-linearly equivalent to `ι →₀ M ⊗[R] N` This is the first part of PR #10824 which contains three applications of these functions to monoid algebras, polynomials and multivariate polynomials. It has been split because this part is reasonably sound, while the three other files are more like propositions.
…supp sums (#11635) ## Modules * `TensorProduct.finsuppLeft`, the tensor product of `ι →₀ M` and `N` is linearly equivalent to `ι →₀ M ⊗[R] N` * `TensorProduct.finsuppScalarLeft`, the tensor product of `ι →₀ R` and `N` is linearly equivalent to `ι →₀ N` * `TensorProduct.finsuppRight`, the tensor product of `M` and `ι →₀ N` is linearly equivalent to `ι →₀ M ⊗[R] N` * `TensorProduct.finsuppLeft'`, if `M` is an `S`-module, then the tensor product of `ι →₀ M` and `N` is `S`-linearly equivalent to `ι →₀ M ⊗[R] N` This is the first part of PR #10824 which contains three applications of these functions to monoid algebras, polynomials and multivariate polynomials. It has been split because this part is reasonably sound, while the three other files are more like propositions.
Modules
TensorProduct.finsuppLeft, the tensor product ofι →₀ MandNis linearly equivalent toι →₀ M ⊗[R] NTensorProduct.finsuppScalarLeft, the tensor product ofι →₀ RandNis linearly equivalent toι →₀ NTensorProduct.finsuppRight, the tensor product ofMandι →₀ Nis linearly equivalent toι →₀ M ⊗[R] NTensorProduct.finsuppLeft', ifMis anS-module, then the tensor product ofι →₀ MandNisS-linearly equivalent toι →₀ M ⊗[R] NThis is the first part of PR #10824 which contains three applications of these functions to monoid algebras, polynomials and multivariate polynomials.
It has been split because this part is reasonably sound, while the three other files are more like propositions.