[Merged by Bors] - feat(RingTheory/LinearDisjoint): properties of linearly disjoint of subalgebras (2)#15346
[Merged by Bors] - feat(RingTheory/LinearDisjoint): properties of linearly disjoint of subalgebras (2)#15346
Conversation
PR summary aaa7fe6e3c
|
| File | Base Count | Head Count | Change |
|---|---|---|---|
| Mathlib.RingTheory.LinearDisjoint | 1585 | 1586 | +1 (+0.06%) |
Import changes for all files
| Files | Import difference |
|---|---|
Mathlib.RingTheory.LinearDisjoint |
1 |
Declarations diff
+ adjoin_rank_eq_rank_left
+ adjoin_rank_eq_rank_right
+ finrank_sup_of_free
+ of_finrank_coprime_of_free
+ of_finrank_sup_of_free
+ rank_eq_one_of_commute_of_flat_of_self_of_inj
+ rank_eq_one_of_flat_of_self_of_inj
+ rank_inf_eq_one_of_commute_of_flat_left_of_inj
+ rank_inf_eq_one_of_commute_of_flat_of_inj
+ rank_inf_eq_one_of_commute_of_flat_right_of_inj
+ rank_inf_eq_one_of_flat_left_of_inj
+ rank_inf_eq_one_of_flat_of_inj
+ rank_inf_eq_one_of_flat_right_of_inj
+ rank_sup_of_free
You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>
## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>The doc-module for script/declarations_diff.sh contains some details about this script.
kbuzzard
left a comment
There was a problem hiding this comment.
This PR is very long. Are you sure that you want a one field structure for your definition of LinearDisjoint?
Fine. I'll try to split this as two separate PRs. Note that the first one can only contain very basic results which can almost do nothing. |
|
OK I've split half of them to #17820. It's 450 lines but I think it can't be shorten. Please review it first. |
|
This PR/issue depends on: |
# Conflicts: # Mathlib/RingTheory/LinearDisjoint.lean
|
Thanks! |
|
🚀 Pull request has been placed on the maintainer queue by erdOne. |
|
Thanks! bors merge |
…ubalgebras (2) (#15346) Some new results: - `Subalgebra.LinearDisjoint.rank_sup_of_free`, `Subalgebra.LinearDisjoint.finrank_sup_of_free`: if subalgebras `A` and `B` are linearly disjoint and they are free modules, then the rank of `A ⊔ B` is equal to the product of the rank of `A` and `B`. - `Subalgebra.LinearDisjoint.of_finrank_sup_of_free`: conversely, if `A` and `B` are subalgebras which are free modules of finite rank, such that rank of `A ⊔ B` is equal to the product of the rank of `A` and `B`, then `A` and `B` are linearly disjoint. - `Subalgebra.LinearDisjoint.adjoin_rank_eq_rank_left`: `Subalgebra.LinearDisjoint.adjoin_rank_eq_rank_right`: if `A` and `B` are linearly disjoint, if `A` is free and `B` is flat (resp. `B` is free and `A` is flat), then `[B[A] : B] = [A : R]` (resp. `[A[B] : A] = [B : R]`). See also `Subalgebra.adjoin_rank_le`. - `Subalgebra.LinearDisjoint.of_finrank_coprime_of_free`: if the rank of `A` and `B` are coprime, and they satisfy some freeness condition, then `A` and `B` are linearly disjoint.
|
Pull request successfully merged into master. Build succeeded: |
…ubalgebras (2) (#15346) Some new results: - `Subalgebra.LinearDisjoint.rank_sup_of_free`, `Subalgebra.LinearDisjoint.finrank_sup_of_free`: if subalgebras `A` and `B` are linearly disjoint and they are free modules, then the rank of `A ⊔ B` is equal to the product of the rank of `A` and `B`. - `Subalgebra.LinearDisjoint.of_finrank_sup_of_free`: conversely, if `A` and `B` are subalgebras which are free modules of finite rank, such that rank of `A ⊔ B` is equal to the product of the rank of `A` and `B`, then `A` and `B` are linearly disjoint. - `Subalgebra.LinearDisjoint.adjoin_rank_eq_rank_left`: `Subalgebra.LinearDisjoint.adjoin_rank_eq_rank_right`: if `A` and `B` are linearly disjoint, if `A` is free and `B` is flat (resp. `B` is free and `A` is flat), then `[B[A] : B] = [A : R]` (resp. `[A[B] : A] = [B : R]`). See also `Subalgebra.adjoin_rank_le`. - `Subalgebra.LinearDisjoint.of_finrank_coprime_of_free`: if the rank of `A` and `B` are coprime, and they satisfy some freeness condition, then `A` and `B` are linearly disjoint.
Some new results:
Subalgebra.LinearDisjoint.rank_sup_of_free,Subalgebra.LinearDisjoint.finrank_sup_of_free:if subalgebras
AandBare linearly disjoint and they arefree modules, then the rank of
A ⊔ Bis equal to the product of the rank ofAandB.Subalgebra.LinearDisjoint.of_finrank_sup_of_free:conversely, if
AandBare subalgebras which are free modules of finite rank,such that rank of
A ⊔ Bis equal to the product of the rank ofAandB,then
AandBare linearly disjoint.Subalgebra.LinearDisjoint.adjoin_rank_eq_rank_left:Subalgebra.LinearDisjoint.adjoin_rank_eq_rank_right:if
AandBare linearly disjoint, ifAis free andBis flat (resp.Bis free andAis flat), then[B[A] : B] = [A : R](resp.[A[B] : A] = [B : R]).See also
Subalgebra.adjoin_rank_le.Subalgebra.LinearDisjoint.of_finrank_coprime_of_free:if the rank of
AandBare coprime, and they satisfy some freeness condition,then
AandBare linearly disjoint.discussion: https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/Linearly.20disjoint