Skip to content

[Merged by Bors] - feat(Mathlib/LinearAlgebra/DirectSum/Finsupp): tensor products of finsupp sums#11635

Closed
AntoineChambert-Loir wants to merge 7 commits intomasterfrom
ACL/FinsuppTensorProd_part1
Closed

[Merged by Bors] - feat(Mathlib/LinearAlgebra/DirectSum/Finsupp): tensor products of finsupp sums#11635
AntoineChambert-Loir wants to merge 7 commits intomasterfrom
ACL/FinsuppTensorProd_part1

Conversation

@AntoineChambert-Loir
Copy link
Copy Markdown
Collaborator

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.


Open in Gitpod

@acmepjz
Copy link
Copy Markdown
Collaborator

acmepjz commented Mar 24, 2024

Thank you very much! It looks good for me.

@AntoineChambert-Loir
Copy link
Copy Markdown
Collaborator Author

!bench

@leanprover-bot
Copy link
Copy Markdown
Collaborator

Here are the benchmark results for commit b400dac.
There were significant changes against commit f4fd1b1:

  Benchmark                                  Metric         Change
  ================================================================
- ~Mathlib.LinearAlgebra.DirectSum.Finsupp   instructions   244.6%

Copy link
Copy Markdown
Contributor

@alreadydone alreadydone left a comment

Choose a reason for hiding this comment

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

Largely LGTM but I might come back to golf some proofs ...

@AntoineChambert-Loir
Copy link
Copy Markdown
Collaborator Author

@alreadydone, is there something else that you would want me to add or change?

Copy link
Copy Markdown
Contributor

@alreadydone alreadydone left a comment

Choose a reason for hiding this comment

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

Sorry for the delay, I'll get back to this tomorrow.

Copy link
Copy Markdown
Contributor

@alreadydone alreadydone left a comment

Choose a reason for hiding this comment

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

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.

@AntoineChambert-Loir
Copy link
Copy Markdown
Collaborator Author

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

@alreadydone
Copy link
Copy Markdown
Contributor

Can you please fix the compile errors (which probably results from the implicitness changes)? Thanks!

@AntoineChambert-Loir
Copy link
Copy Markdown
Collaborator Author

I had not noticed that there were errors left, sorry. I make the necessary adjustments at once.

@alreadydone
Copy link
Copy Markdown
Contributor

Thanks 🎉
maintainer merge

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 8, 2024

🚀 Pull request has been placed on the maintainer queue by alreadydone.

@github-actions github-actions bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Apr 8, 2024
@ocfnash
Copy link
Copy Markdown
Contributor

ocfnash commented Apr 8, 2024

Thanks!

bors merge

@github-actions github-actions bot added ready-to-merge This PR has been sent to bors. and removed awaiting-review labels Apr 8, 2024
mathlib-bors bot pushed a commit that referenced this pull request Apr 8, 2024
…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.
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Apr 8, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(Mathlib/LinearAlgebra/DirectSum/Finsupp): tensor products of finsupp sums [Merged by Bors] - feat(Mathlib/LinearAlgebra/DirectSum/Finsupp): tensor products of finsupp sums Apr 8, 2024
@mathlib-bors mathlib-bors bot closed this Apr 8, 2024
@mathlib-bors mathlib-bors bot deleted the ACL/FinsuppTensorProd_part1 branch April 8, 2024 20:58
xgenereux pushed a commit that referenced this pull request Apr 15, 2024
…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.
atarnoam pushed a commit that referenced this pull request Apr 16, 2024
…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.
uniwuni pushed a commit that referenced this pull request Apr 19, 2024
…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.
callesonne pushed a commit that referenced this pull request Apr 22, 2024
…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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. 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.

5 participants