Skip to content

[Merged by Bors] - feat(FieldTheory/LinearDisjoint): definition and basic properties of linearly disjoint of fields#9651

Closed
acmepjz wants to merge 89 commits intomasterfrom
acmepjz_lin_disj
Closed

[Merged by Bors] - feat(FieldTheory/LinearDisjoint): definition and basic properties of linearly disjoint of fields#9651
acmepjz wants to merge 89 commits intomasterfrom
acmepjz_lin_disj

Conversation

@acmepjz
Copy link
Copy Markdown
Collaborator

@acmepjz acmepjz commented Jan 11, 2024

This PR adds basics about the linearly disjoint fields.

Main definitions:

  • IntermediateField.LinearDisjoint: an intermediate field A of E / F
    and an abstract field L between E / F are linearly disjoint over F,
    if they are linearly disjoint as subalgebras (Subalgebra.LinearDisjoint).

Main results:

Equivalent characterization of linearly disjointness:

  • IntermediateField.LinearDisjoint.linearIndependent_left:
    if A and L are linearly disjoint, then any F-linearly independent family on A remains
    linearly independent over L.

  • IntermediateField.LinearDisjoint.of_basis_left:
    conversely, if there exists an F-basis of A which remains linearly independent over L, then
    A and L are linearly disjoint.

  • IntermediateField.LinearDisjoint.linearIndependent_right:
    if A and L are linearly disjoint, then any F-linearly independent family on L remains
    linearly independent over A.

  • IntermediateField.LinearDisjoint.of_basis_right:
    conversely, if there exists an F-basis of L which remains linearly independent over A, then
    A and L are linearly disjoint.

  • IntermediateField.LinearDisjoint.linearIndependent_mul:
    if A and L are linearly disjoint, then for any family of
    F-linearly independent elements { a_i } of A, and any family of
    F-linearly independent elements { b_j } of L, the family { a_i * b_j } in S is
    also F-linearly independent.

  • IntermediateField.LinearDisjoint.of_basis_mul:
    conversely, if { a_i } is an F-basis of A, if { b_j } is an F-basis of L,
    such that the family { a_i * b_j } in E is F-linearly independent,
    then A and L are linearly disjoint.

Other main results:

  • IntermediateField.LinearDisjoint.symm, IntermediateField.linearDisjoint_symm:
    linearly disjoint is symmetric.

  • IntermediateField.LinearDisjoint.rank_sup_of_isAlgebraic,
    IntermediateField.LinearDisjoint.finrank_sup:
    if A and B are linearly disjoint,
    then the rank of A ⊔ B is equal to the product of the rank of A and B.

    TODO: remove the algebraic assumptions (the proof becomes complicated).

  • IntermediateField.LinearDisjoint.of_finrank_sup:
    conversely, if A and B are finite extensions,
    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.

  • IntermediateField.LinearDisjoint.of_finrank_coprime:
    if the rank of A and B are coprime,
    then A and B are linearly disjoint.

  • IntermediateField.LinearDisjoint.inf_eq_bot:
    if A and B are linearly disjoint, then they are disjoint.


discussion: https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/Linearly.20disjoint

Open in Gitpod

@acmepjz acmepjz added WIP Work in progress t-algebra Algebra (groups, rings, fields, etc) labels Jan 11, 2024
@acmepjz acmepjz changed the title feat(FieldTheory/LinearlyDisjoint): definition of lienarly disjoint and basic properties feat(FieldTheory/LinearlyDisjoint): definition of linearly disjoint and basic properties Jan 11, 2024
@alreadydone
Copy link
Copy Markdown
Contributor

alreadydone commented Jan 11, 2024

Personally I'm inclined to use the following as the definition:

/-- Two submodules K and L in an algebra S over R are linearly disjoint if the map
  `K ⊗[R] L →ₗ[R] S` induced by multiplication in S is injective. -/
def Submodule.LinearDisjoint (R S) [CommSemiring R] [Semiring S] [Algebra R S]
    (K L : Submodule R S) : Prop :=
  Injective (TensorProduct.lift <| ((LinearMap.domRestrict' L).comp <| .mul R S).domRestrict K)

and we should be able to show

  1. it implies that every R-linearly independent set in L is K-linearly independent (your definition), if K is a subalgebra (Edit: K needs to be flat over R). If L/R is free (and the semirings are rings), it's equivalent to it, because the existence of a basis of L/R that is K-linearly independent implies injectivity.
  2. it implies that every R-linearly independent set in K is (MulOpposite L)-linearly independent, if L is a subalgebra (flat over R). If K/R is free, it's equivalent to it.
  3. it implies that the product of every R-linear independent set in K with one in L is R-linear independent (requires K or L flat over R (?)), if both K/R and L/R are free, it's equivalent to it.

Note that in general K ⊗[R] L →ₗ[R] S isn't an AlgHom, unless every element of K commutes with every element of L. Bourbaki's definition has this additional commutativity requirement. In general the image is the pointwise product KL, which may be a proper submodule of the subalgebra generated by K and L. Even when K and L are both subalgebras the image is exactly K ⊔ L, the multiplication may not agree: consider ℝ + ℝi and ℝ + ℝj in the quaternions.

I don't know if there are benefits of doing things in this generality; I just think it's better to find out most general statements we can prove. Maybe @AntoineChambert-Loir has thoughts?

@AntoineChambert-Loir
Copy link
Copy Markdown
Collaborator

I don't know if there are benefits of doing things in this generality; I just think it's better to find out most general statements we can prove. Maybe @AntoineChambert-Loir has thoughts?

I don't have a clear idea. When the target algebra is not commutative, it does not seem obvious that the IsLinearlyDisjoint is symmetric. But maybe it is anyway, I don't know. And maybe it's not so important.

@acmepjz
Copy link
Copy Markdown
Collaborator Author

acmepjz commented Jan 12, 2024

I doubt that. In the proof I use mul_comm several times.

@AntoineChambert-Loir
Copy link
Copy Markdown
Collaborator

Maybe the right place for this file in mathlib's hierarchy is in Algebra.Algebra, or RingTheory (like Algebra.TensorProduct).

@acmepjz
Copy link
Copy Markdown
Collaborator Author

acmepjz commented Feb 26, 2024

it implies that every R-linearly independent set in L is K-linearly independent (your definition), if K is a subalgebra.

I think that this requires K/R being flat, no?

[EDIT] Yes, it requires flatness, at least for the items 1 and 2. Otherwise there is a counterexample: let R=Z, S=Z×Fp×Fp×Fp, let K be the submodule generated by (1,1,1,1) and (0,1,1,0), S be the submodule generated by (1,1,1,1) and (0,0,1,1), then they are both subalgebras, not flat over R, isomorphic to Z⊕Fp as R-modules, and they are linearly disjoint if using tensor product definition. On the other hand, (p,0,0,0) is contained in their intersections, which is R-linearly independent, but not K-linearly independent nor L-linearly independent.

I don't know if there is counterexample for item 3. I can prove it if assuming one of K,L is flat over R.

@acmepjz
Copy link
Copy Markdown
Collaborator Author

acmepjz commented Feb 27, 2024

The proof is quite simple without explicit computations (hopefully also in Lean):

screenshot1

@alreadydone
Copy link
Copy Markdown
Contributor

Yes, it requires flatness, at least for the items 1 and 2. Otherwise there is a counterexample: let R=Z, S=Z×Fp×Fp×Fp, let K be the submodule generated by (1,1,1,1) and (0,1,1,0), S be the submodule generated by (1,1,1,1) and (0,0,1,1), then they are both subalgebras, not flat over R, isomorphic to Z⊕Fp as R-modules, and they are linearly disjoint if using tensor product definition. On the other hand, (p,0,0,0) is contained in their intersections, which is R-linearly independent, but not K-linearly independent nor L-linearly independent.

You're right! Thanks for the counterexample and sorry for my mistake. So either we assume flatness or we require R to be a field; both would be fine with me.

@acmepjz
Copy link
Copy Markdown
Collaborator Author

acmepjz commented Mar 5, 2024

Personally I'm inclined to use the following as the definition:

/-- Two submodules K and L in an algebra S over R are linearly disjoint if the map
  `K ⊗[R] L →ₗ[R] S` induced by multiplication in S is injective. -/
def Submodule.LinearDisjoint (R S) [CommSemiring R] [Semiring S] [Algebra R S]
    (K L : Submodule R S) : Prop :=
  Injective (TensorProduct.lift <| ((LinearMap.domRestrict' L).comp <| .mul R S).domRestrict K)

I think it's better to give the map TensorProduct.lift <| ((LinearMap.domRestrict' L).comp <| .mul R S).domRestrict K a name, and we can prove some basic properties on it. What about Submodule.mulMap?

@ghost ghost added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Mar 23, 2024
@acmepjz acmepjz changed the title feat(FieldTheory/LinearlyDisjoint): definition of linearly disjoint and basic properties feat(): definition of linearly disjoint and basic properties Mar 23, 2024
@acmepjz acmepjz changed the title feat(): definition of linearly disjoint and basic properties feat(LinearAlgebra/LinearDisjoint): definition of linearly disjoint and basic properties Mar 23, 2024
@acmepjz acmepjz marked this pull request as ready for review November 1, 2024 12:09
@acmepjz acmepjz removed the WIP Work in progress label Nov 1, 2024
@acmepjz acmepjz changed the title feat: definition and basic properties of linearly disjoint feat(FieldTheory/LinearDisjoint): definition and basic properties of linearly disjoint of fields Nov 1, 2024
@leanprover-community-bot-assistant leanprover-community-bot-assistant removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Nov 1, 2024
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Nov 1, 2024
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot removed the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Nov 13, 2024
@mathlib4-dependent-issues-bot
Copy link
Copy Markdown
Collaborator

This PR/issue depends on:

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.

Looks pretty good

@acmepjz
Copy link
Copy Markdown
Collaborator Author

acmepjz commented Nov 26, 2024

All comments are addressed except for the remaining one.

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.

Thanks!

@alreadydone
Copy link
Copy Markdown
Contributor

Thanks 🎉
maintainer merge

@github-actions
Copy link
Copy Markdown

🚀 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 Nov 27, 2024
Copy link
Copy Markdown
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

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

Thanks 🎉

bors merge

@ghost ghost added the ready-to-merge This PR has been sent to bors. label Nov 27, 2024
mathlib-bors bot pushed a commit that referenced this pull request Nov 27, 2024
…linearly disjoint of fields (#9651)

This PR adds basics about the linearly disjoint fields.

Main definitions:

- `IntermediateField.LinearDisjoint`: an intermediate field `A` of `E / F`
  and an abstract field `L` between `E / F` are linearly disjoint over `F`,
  if they are linearly disjoint as subalgebras (`Subalgebra.LinearDisjoint`).

Main results:

Equivalent characterization of linearly disjointness:

- `IntermediateField.LinearDisjoint.linearIndependent_left`:
  if `A` and `L` are linearly disjoint, then any `F`-linearly independent family on `A` remains
  linearly independent over `L`.

- `IntermediateField.LinearDisjoint.of_basis_left`:
  conversely, if there exists an `F`-basis of `A` which remains linearly independent over `L`, then
  `A` and `L` are linearly disjoint.

- `IntermediateField.LinearDisjoint.linearIndependent_right`:
  if `A` and `L` are linearly disjoint, then any `F`-linearly independent family on `L` remains
  linearly independent over `A`.

- `IntermediateField.LinearDisjoint.of_basis_right`:
  conversely, if there exists an `F`-basis of `L` which remains linearly independent over `A`, then
  `A` and `L` are linearly disjoint.

- `IntermediateField.LinearDisjoint.linearIndependent_mul`:
  if `A` and `L` are linearly disjoint, then for any family of
  `F`-linearly independent elements `{ a_i }` of `A`, and any family of
  `F`-linearly independent elements `{ b_j }` of `L`, the family `{ a_i * b_j }` in `S` is
  also `F`-linearly independent.

- `IntermediateField.LinearDisjoint.of_basis_mul`:
  conversely, if `{ a_i }` is an `F`-basis of `A`, if `{ b_j }` is an `F`-basis of `L`,
  such that the family `{ a_i * b_j }` in `E` is `F`-linearly independent,
  then `A` and `L` are linearly disjoint.

Other main results:

- `IntermediateField.LinearDisjoint.symm`, `IntermediateField.linearDisjoint_symm`:
  linearly disjoint is symmetric.

- `IntermediateField.LinearDisjoint.rank_sup_of_isAlgebraic`,
  `IntermediateField.LinearDisjoint.finrank_sup`:
  if `A` and `B` are linearly disjoint,
  then the rank of `A ⊔ B` is equal to the product of the rank of `A` and `B`.

  **TODO:** remove the algebraic assumptions (the proof becomes complicated).

- `IntermediateField.LinearDisjoint.of_finrank_sup`:
  conversely, if `A` and `B` are finite extensions,
  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.

- `IntermediateField.LinearDisjoint.of_finrank_coprime`:
  if the rank of `A` and `B` are coprime,
  then `A` and `B` are linearly disjoint.

- `IntermediateField.LinearDisjoint.inf_eq_bot`:
  if `A` and `B` are linearly disjoint, then they are disjoint.
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Nov 27, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(FieldTheory/LinearDisjoint): definition and basic properties of linearly disjoint of fields [Merged by Bors] - feat(FieldTheory/LinearDisjoint): definition and basic properties of linearly disjoint of fields Nov 27, 2024
@mathlib-bors mathlib-bors bot closed this Nov 27, 2024
@mathlib-bors mathlib-bors bot deleted the acmepjz_lin_disj branch November 27, 2024 09:04
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.

7 participants