[Merged by Bors] - feat(LinearAlgebra/LinearDisjoint): definition and properties of linearly disjoint of submodules#12434
[Merged by Bors] - feat(LinearAlgebra/LinearDisjoint): definition and properties of linearly disjoint of submodules#12434
Conversation
erdOne
left a comment
There was a problem hiding this comment.
I've reviewed up to end mulMap (L297). I think everything until that point can go into a new file Mathlib.LinearAlgebra.TensorProduct.Submodule. And it will probably be merged sooner if it is split into a separate PR.
Added as #12498. Maybe some proof in this PR can be golfed since I added |
erdOne
left a comment
There was a problem hiding this comment.
LGTM. Some small nitpicks on naming.
|
|
||
| /-- The `Submodule.LinearDisjoint.not_linearIndependent_pair_of_commute_of_flat` | ||
| for commutative rings. -/ | ||
| theorem not_linearIndependent_pair_of_flat (hf : Module.Flat R M ∨ Module.Flat R N) |
There was a problem hiding this comment.
What I was referring to before were the lemmas with hypothesis Module.Flat R M ∨ Module.Flat R N. Are they useful downstream?
There was a problem hiding this comment.
It is not essential; there are some corollaries of it, stated using Module.Flat R M ∨ Module.Flat R N; it's always possible to rewrite the proof for splitting cases left and right.
But personally I think it's convenient if we have a ored version, just like IntermediateField.sup_toSubalgebra_of_isAlgebraic (sorry that is also contributed by me).
|
Thanks! |
|
maintainer merge |
|
🚀 Pull request has been placed on the maintainer queue by erdOne. |
riccardobrasca
left a comment
There was a problem hiding this comment.
Thanks a lot for this contribution! I see a lot of simp_rw, is there a particular reason?
bors d+
| /-- Two submodules `M` and `N` in an algebra `S` over `R` are linearly disjoint if the natural map | ||
| `M ⊗[R] N →ₗ[R] S` induced by multiplication in `S` is injective. -/ | ||
| @[mk_iff] | ||
| protected structure LinearDisjoint : Prop where |
There was a problem hiding this comment.
Because later we will have Subalgebra.LinearDisjoint, IntermediateField.LinearDisjoint and Field.LinearDisjoint.
|
✌️ acmepjz can now approve this pull request. To approve and merge a pull request, simply reply with |
I forgot. Probably because |
OK, no problem. |
|
bors r+ |
…arly disjoint of submodules (#12434) This is part 1 of #9651. We adapt the definitions in <https://en.wikipedia.org/wiki/Linearly_disjoint>. Let `R` be a commutative ring, `S` be an `R`-algebra (not necessarily commutative). Two `R`-submodules `M` and `N` in `S` are linearly disjoint, if the natural `R`-linear map `M ⊗[R] N →ₗ[R] S` (`Submodule.mulMap M N`) induced by the multiplication in `S` is injective. The following is the first equivalent characterization of linearly disjointness: - `Submodule.LinearDisjoint.linearIndependent_left_of_flat`: if `M` and `N` are linearly disjoint, if `N` is a flat `R`-module, then for any family of `R`-linearly independent elements `{ m_i }` of `M`, they are also `N`-linearly independent, in the sense that the `R`-linear map from `ι →₀ N` to `S` which maps `{ n_i }` to the sum of `m_i * n_i` (`Submodule.mulLeftMap N m`) is injective. - `Submodule.LinearDisjoint.of_basis_left`: conversely, if `{ m_i }` is an `R`-basis of `M`, which is also `N`-linearly independent, then `M` and `N` are linearly disjoint. Dually, we have: - `Submodule.LinearDisjoint.linearIndependent_right_of_flat`: if `M` and `N` are linearly disjoint, if `M` is a flat `R`-module, then for any family of `R`-linearly independent elements `{ n_i }` of `N`, they are also `M`-linearly independent, in the sense that the `R`-linear map from `ι →₀ M` to `S` which maps `{ m_i }` to the sum of `m_i * n_i` (`Submodule.mulRightMap M n`) is injective. - `Submodule.LinearDisjoint.of_basis_right`: conversely, if `{ n_i }` is an `R`-basis of `N`, which is also `M`-linearly independent, then `M` and `N` are linearly disjoint. The following is the second equivalent characterization of linearly disjointness: - `Submodule.LinearDisjoint.linearIndependent_mul_of_flat`: if `M` and `N` are linearly disjoint, if one of `M` and `N` is flat, then for any family of `R`-linearly independent elements `{ m_i }` of `M`, and any family of `R`-linearly independent elements `{ n_j }` of `N`, the family `{ m_i * n_j }` in `S` is also `R`-linearly independent. - `Submodule.LinearDisjoint.of_basis_mul`: conversely, if `{ m_i }` is an `R`-basis of `M`, if `{ n_i }` is an `R`-basis of `N`, such that the family `{ m_i * n_j }` in `S` is `R`-linearly independent, then `M` and `N` are linearly disjoint. Other results: - `Submodule.LinearDisjoint.symm_of_commute`, `Submodule.linearDisjoint_symm_of_commute`: linearly disjoint is symmetric under some commutative conditions. - `Submodule.linearDisjoint_op`: linearly disjoint is preserved by taking multiplicative opposite. - `Submodule.LinearDisjoint.of_le_left_of_flat`, `Submodule.LinearDisjoint.of_le_right_of_flat`, `Submodule.LinearDisjoint.of_le_of_flat_left`, `Submodule.LinearDisjoint.of_le_of_flat_right`: linearly disjoint is preserved by taking submodules under some flatness conditions. - `Submodule.LinearDisjoint.of_linearDisjoint_fg_left`, `Submodule.LinearDisjoint.of_linearDisjoint_fg_right`, `Submodule.LinearDisjoint.of_linearDisjoint_fg`: conversely, if any finitely generated submodules of `M` and `N` are linearly disjoint, then `M` and `N` themselves are linearly disjoint. - `Submodule.LinearDisjoint.bot_left`, `Submodule.LinearDisjoint.bot_right`: the zero module is linearly disjoint with any other submodules. - `Submodule.LinearDisjoint.one_left`, `Submodule.LinearDisjoint.one_right`: the image of `R` in `S` is linearly disjoint with any other submodules. - `Submodule.LinearDisjoint.of_left_le_one_of_flat`, `Submodule.LinearDisjoint.of_right_le_one_of_flat`: if a submodule is contained in the image of `R` in `S`, then it is linearly disjoint with any other submodules, under some flatness conditions. - `Submodule.LinearDisjoint.not_linearIndependent_pair_of_commute_of_flat`, `Submodule.LinearDisjoint.rank_inf_le_one_of_commute_of_flat`: if `M` and `N` are linearly disjoint, if one of `M` and `N` is flat, then any two commutative elements contained in the intersection of `M` and `N` are not `R`-linearly independent (namely, their span is not `R ^ 2`). In particular, if any two elements in the intersection of `M` and `N` are commutative, then the rank of the intersection of `M` and `N` is at most one. - `Submodule.LinearDisjoint.rank_le_one_of_commute_of_flat_of_self`: if `M` and itself are linearly disjoint, if `M` is flat, if any two elements in `M` are commutative, then the rank of `M` is at most one. The results with name containing "of_commute" also have corresponding specified versions assuming `S` is commutative.
|
Pull request successfully merged into master. Build succeeded: |
This is part 1 of #9651.
We adapt the definitions in https://en.wikipedia.org/wiki/Linearly_disjoint.
Let
Rbe a commutative ring,Sbe anR-algebra (not necessarily commutative).Two
R-submodulesMandNinSare linearly disjoint,if the natural
R-linear mapM ⊗[R] N →ₗ[R] S(Submodule.mulMap M N)induced by the multiplication in
Sis injective.The following is the first equivalent characterization of linearly disjointness:
Submodule.LinearDisjoint.linearIndependent_left_of_flat:if
MandNare linearly disjoint, ifNis a flatR-module, then for any family ofR-linearly independent elements{ m_i }ofM, they are alsoN-linearly independent,in the sense that the
R-linear map fromι →₀ NtoSwhich maps{ n_i }to the sum of
m_i * n_i(Submodule.mulLeftMap N m) is injective.Submodule.LinearDisjoint.of_basis_left:conversely, if
{ m_i }is anR-basis ofM, which is alsoN-linearly independent,then
MandNare linearly disjoint.Dually, we have:
Submodule.LinearDisjoint.linearIndependent_right_of_flat:if
MandNare linearly disjoint, ifMis a flatR-module, then for any family ofR-linearly independent elements{ n_i }ofN, they are alsoM-linearly independent,in the sense that the
R-linear map fromι →₀ MtoSwhich maps{ m_i }to the sum of
m_i * n_i(Submodule.mulRightMap M n) is injective.Submodule.LinearDisjoint.of_basis_right:conversely, if
{ n_i }is anR-basis ofN, which is alsoM-linearly independent,then
MandNare linearly disjoint.The following is the second equivalent characterization of linearly disjointness:
Submodule.LinearDisjoint.linearIndependent_mul_of_flat:if
MandNare linearly disjoint, if one ofMandNis flat, then for any family ofR-linearly independent elements{ m_i }ofM, and any family ofR-linearly independent elements{ n_j }ofN, the family{ m_i * n_j }inSisalso
R-linearly independent.Submodule.LinearDisjoint.of_basis_mul:conversely, if
{ m_i }is anR-basis ofM, if{ n_i }is anR-basis ofN,such that the family
{ m_i * n_j }inSisR-linearly independent,then
MandNare linearly disjoint.Other results:
Submodule.LinearDisjoint.symm_of_commute,Submodule.linearDisjoint_symm_of_commute:linearly disjoint is symmetric under some commutative conditions.
Submodule.linearDisjoint_op:linearly disjoint is preserved by taking multiplicative opposite.
Submodule.LinearDisjoint.of_le_left_of_flat,Submodule.LinearDisjoint.of_le_right_of_flat,Submodule.LinearDisjoint.of_le_of_flat_left,Submodule.LinearDisjoint.of_le_of_flat_right:linearly disjoint is preserved by taking submodules under some flatness conditions.
Submodule.LinearDisjoint.of_linearDisjoint_fg_left,Submodule.LinearDisjoint.of_linearDisjoint_fg_right,Submodule.LinearDisjoint.of_linearDisjoint_fg:conversely, if any finitely generated submodules of
MandNare linearly disjoint,then
MandNthemselves are linearly disjoint.Submodule.LinearDisjoint.bot_left,Submodule.LinearDisjoint.bot_right:the zero module is linearly disjoint with any other submodules.
Submodule.LinearDisjoint.one_left,Submodule.LinearDisjoint.one_right:the image of
RinSis linearly disjoint with any other submodules.Submodule.LinearDisjoint.of_left_le_one_of_flat,Submodule.LinearDisjoint.of_right_le_one_of_flat:if a submodule is contained in the image of
RinS, then it is linearly disjoint withany other submodules, under some flatness conditions.
Submodule.LinearDisjoint.not_linearIndependent_pair_of_commute_of_flat,Submodule.LinearDisjoint.rank_inf_le_one_of_commute_of_flat:if
MandNare linearly disjoint, if one ofMandNis flat, then any two commutativeelements contained in the intersection of
MandNare notR-linearly independent (namely,their span is not
R ^ 2). In particular, if any two elements in the intersection ofMandNare commutative, then the rank of the intersection of
MandNis at most one.Submodule.LinearDisjoint.rank_le_one_of_commute_of_flat_of_self:if
Mand itself are linearly disjoint, ifMis flat, if any two elements inMare commutative, then the rank of
Mis at most one.The results with name containing "of_commute" also have corresponding specified versions
assuming
Sis commutative.discussion: https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/Linearly.20disjoint