Documentation

Mathlib.FieldTheory.Relrank

Relative rank of subfields and intermediate fields #

This file contains basics about the relative rank of subfields and intermediate fields.

Main definitions #

noncomputable def Subfield.relrank {E : Type v} [Field E] (A B : Subfield E) :

Subfield.relrank A B is defined to be [B : A ⊓ B] as a Cardinal, in particular, when A ≤ B it is [B : A], the degree of the field extension B / A. This is similar to Subgroup.relindex but it is Cardinal valued.

Equations
noncomputable def Subfield.relfinrank {E : Type v} [Field E] (A B : Subfield E) :

The Nat version of Subfield.relrank. If B / A ⊓ B is an infinite extension, then it is zero.

Equations
theorem Subfield.relrank_eq_of_inf_eq {E : Type v} [Field E] {A B C : Subfield E} (h : AC = BC) :
A.relrank C = B.relrank C
theorem Subfield.relfinrank_eq_of_inf_eq {E : Type v} [Field E] {A B C : Subfield E} (h : AC = BC) :
theorem Subfield.relrank_eq_rank_of_le {E : Type v} [Field E] {A B : Subfield E} (h : A B) :

If A ≤ B, then Subfield.relrank A B is [B : A].

theorem Subfield.relfinrank_eq_finrank_of_le {E : Type v} [Field E] {A B : Subfield E} (h : A B) :

If A ≤ B, then Subfield.relfinrank A B is [B : A].

theorem Subfield.inf_relrank_right {E : Type v} [Field E] (A B : Subfield E) :
(AB).relrank B = A.relrank B
theorem Subfield.inf_relfinrank_right {E : Type v} [Field E] (A B : Subfield E) :
(AB).relfinrank B = A.relfinrank B
theorem Subfield.inf_relrank_left {E : Type v} [Field E] (A B : Subfield E) :
(AB).relrank A = B.relrank A
theorem Subfield.inf_relfinrank_left {E : Type v} [Field E] (A B : Subfield E) :
(AB).relfinrank A = B.relfinrank A
@[simp]
theorem Subfield.relrank_self {E : Type v} [Field E] (A : Subfield E) :
A.relrank A = 1
@[simp]
theorem Subfield.relfinrank_self {E : Type v} [Field E] (A : Subfield E) :
theorem Subfield.relrank_eq_one_of_le {E : Type v} [Field E] {A B : Subfield E} (h : B A) :
A.relrank B = 1
theorem Subfield.relfinrank_eq_one_of_le {E : Type v} [Field E] {A B : Subfield E} (h : B A) :
theorem Subfield.relrank_mul_rank_top {E : Type v} [Field E] {A B : Subfield E} (h : A B) :
A.relrank B * Module.rank (↥B) E = Module.rank (↥A) E
theorem Subfield.relfinrank_mul_finrank_top {E : Type v} [Field E] {A B : Subfield E} (h : A B) :
@[simp]
theorem Subfield.relrank_top_left {E : Type v} [Field E] (A : Subfield E) :
@[simp]
@[simp]
theorem Subfield.relrank_top_right {E : Type v} [Field E] (A : Subfield E) :
@[simp]
theorem Subfield.lift_relrank_map_map {E : Type v} [Field E] {L : Type w} [Field L] (A B : Subfield E) (f : E →+* L) :
theorem Subfield.relrank_map_map {E : Type v} [Field E] (A B : Subfield E) {L : Type v} [Field L] (f : E →+* L) :
(map f A).relrank (map f B) = A.relrank B
theorem Subfield.lift_relrank_comap {E : Type v} [Field E] {L : Type w} [Field L] (A : Subfield E) (f : L →+* E) (B : Subfield L) :
theorem Subfield.relrank_comap {E : Type v} [Field E] (A : Subfield E) {L : Type v} [Field L] (f : L →+* E) (B : Subfield L) :
(comap f A).relrank B = A.relrank (map f B)
theorem Subfield.relfinrank_comap {E : Type v} [Field E] {L : Type w} [Field L] (A : Subfield E) (f : L →+* E) (B : Subfield L) :
(comap f A).relfinrank B = A.relfinrank (map f B)
theorem Subfield.rank_comap {E : Type v} [Field E] (A : Subfield E) {L : Type v} [Field L] (f : L →+* E) :
theorem Subfield.finrank_comap {E : Type v} [Field E] {L : Type w} [Field L] (A : Subfield E) (f : L →+* E) :
theorem Subfield.relfinrank_map_map {E : Type v} [Field E] {L : Type w} [Field L] (A B : Subfield E) (f : E →+* L) :
(map f A).relfinrank (map f B) = A.relfinrank B
theorem Subfield.relrank_comap_comap_eq_relrank_inf {E : Type v} [Field E] (A B : Subfield E) {L : Type v} [Field L] (f : L →+* E) :
(comap f A).relrank (comap f B) = A.relrank (Bf.fieldRange)
theorem Subfield.relfinrank_comap_comap_eq_relfinrank_inf {E : Type v} [Field E] {L : Type w} [Field L] (A B : Subfield E) (f : L →+* E) :
(comap f A).relfinrank (comap f B) = A.relfinrank (Bf.fieldRange)
theorem Subfield.relrank_comap_comap_eq_relrank_of_le {E : Type v} [Field E] (A B : Subfield E) {L : Type v} [Field L] (f : L →+* E) (h : B f.fieldRange) :
(comap f A).relrank (comap f B) = A.relrank B
theorem Subfield.relfinrank_comap_comap_eq_relfinrank_of_le {E : Type v} [Field E] {L : Type w} [Field L] (A B : Subfield E) (f : L →+* E) (h : B f.fieldRange) :
theorem Subfield.relrank_comap_comap_eq_relrank_of_surjective {E : Type v} [Field E] (A B : Subfield E) {L : Type v} [Field L] (f : L →+* E) (h : Function.Surjective f) :
(comap f A).relrank (comap f B) = A.relrank B
theorem Subfield.relrank_dvd_rank_top_of_le {E : Type v} [Field E] {A B : Subfield E} (h : A B) :
A.relrank B Module.rank (↥A) E
theorem Subfield.relrank_mul_relrank {E : Type v} [Field E] {A B C : Subfield E} (h1 : A B) (h2 : B C) :
A.relrank B * B.relrank C = A.relrank C
theorem Subfield.relfinrank_mul_relfinrank {E : Type v} [Field E] {A B C : Subfield E} (h1 : A B) (h2 : B C) :
theorem Subfield.relrank_inf_mul_relrank {E : Type v} [Field E] (A B C : Subfield E) :
A.relrank (BC) * B.relrank C = (AB).relrank C
theorem Subfield.relfinrank_inf_mul_relfinrank {E : Type v} [Field E] (A B C : Subfield E) :
A.relfinrank (BC) * B.relfinrank C = (AB).relfinrank C
theorem Subfield.relrank_mul_relrank_eq_inf_relrank {E : Type v} [Field E] (A : Subfield E) {B C : Subfield E} (h : B C) :
A.relrank B * B.relrank C = (AB).relrank C
theorem Subfield.relfinrank_mul_relfinrank_eq_inf_relfinrank {E : Type v} [Field E] (A : Subfield E) {B C : Subfield E} (h : B C) :
A.relfinrank B * B.relfinrank C = (AB).relfinrank C
theorem Subfield.relrank_inf_mul_relrank_of_le {E : Type v} [Field E] {A B : Subfield E} (C : Subfield E) (h : A B) :
A.relrank (BC) * B.relrank C = A.relrank C
theorem Subfield.relfinrank_inf_mul_relfinrank_of_le {E : Type v} [Field E] {A B : Subfield E} (C : Subfield E) (h : A B) :
A.relfinrank (BC) * B.relfinrank C = A.relfinrank C
theorem Subfield.relrank_dvd_of_le_left {E : Type v} [Field E] {A B : Subfield E} (C : Subfield E) (h : A B) :
theorem Subfield.relfinrank_dvd_of_le_left {E : Type v} [Field E] {A B : Subfield E} (C : Subfield E) (h : A B) :
noncomputable def IntermediateField.relrank {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A B : IntermediateField F E) :

IntermediateField.relrank A B is defined to be [B : A ⊓ B] as a Cardinal, in particular, when A ≤ B it is [B : A], the degree of the field extension B / A. This is similar to Subgroup.relindex but it is Cardinal valued.

Equations
noncomputable def IntermediateField.relfinrank {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A B : IntermediateField F E) :

The Nat version of IntermediateField.relrank. If B / A ⊓ B is an infinite extension, then it is zero.

Equations
theorem IntermediateField.relrank_eq_of_inf_eq {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B C : IntermediateField F E} (h : AC = BC) :
A.relrank C = B.relrank C
theorem IntermediateField.relfinrank_eq_of_inf_eq {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B C : IntermediateField F E} (h : AC = BC) :
theorem IntermediateField.relrank_eq_rank_of_le {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B : IntermediateField F E} (h : A B) :

If A ≤ B, then IntermediateField.relrank A B is [B : A]

theorem IntermediateField.relfinrank_eq_finrank_of_le {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B : IntermediateField F E} (h : A B) :

If A ≤ B, then IntermediateField.relrank A B is [B : A]

theorem IntermediateField.inf_relrank_right {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A B : IntermediateField F E) :
(AB).relrank B = A.relrank B
theorem IntermediateField.inf_relfinrank_right {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A B : IntermediateField F E) :
(AB).relfinrank B = A.relfinrank B
theorem IntermediateField.inf_relrank_left {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A B : IntermediateField F E) :
(AB).relrank A = B.relrank A
theorem IntermediateField.inf_relfinrank_left {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A B : IntermediateField F E) :
(AB).relfinrank A = B.relfinrank A
@[simp]
theorem IntermediateField.relrank_self {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A : IntermediateField F E) :
A.relrank A = 1
@[simp]
theorem IntermediateField.relfinrank_self {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A : IntermediateField F E) :
theorem IntermediateField.relrank_eq_one_of_le {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B : IntermediateField F E} (h : B A) :
A.relrank B = 1
theorem IntermediateField.relfinrank_eq_one_of_le {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B : IntermediateField F E} (h : B A) :
theorem IntermediateField.rank_comap {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A : IntermediateField F E) {L : Type v} [Field L] [Algebra F L] (f : L →ₐ[F] E) :
theorem IntermediateField.finrank_comap {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {L : Type w} [Field L] [Algebra F L] (A : IntermediateField F E) (f : L →ₐ[F] E) :
theorem IntermediateField.lift_relrank_comap {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {L : Type w} [Field L] [Algebra F L] (A : IntermediateField F E) (f : L →ₐ[F] E) (B : IntermediateField F L) :
theorem IntermediateField.relrank_comap {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A : IntermediateField F E) {L : Type v} [Field L] [Algebra F L] (f : L →ₐ[F] E) (B : IntermediateField F L) :
(comap f A).relrank B = A.relrank (map f B)
theorem IntermediateField.relfinrank_comap {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {L : Type w} [Field L] [Algebra F L] (A : IntermediateField F E) (f : L →ₐ[F] E) (B : IntermediateField F L) :
(comap f A).relfinrank B = A.relfinrank (map f B)
theorem IntermediateField.lift_relrank_map_map {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {L : Type w} [Field L] [Algebra F L] (A B : IntermediateField F E) (f : E →ₐ[F] L) :
theorem IntermediateField.relrank_map_map {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A B : IntermediateField F E) {L : Type v} [Field L] [Algebra F L] (f : E →ₐ[F] L) :
(map f A).relrank (map f B) = A.relrank B
theorem IntermediateField.relfinrank_map_map {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {L : Type w} [Field L] [Algebra F L] (A B : IntermediateField F E) (f : E →ₐ[F] L) :
(map f A).relfinrank (map f B) = A.relfinrank B
theorem IntermediateField.relrank_comap_comap_eq_relrank_inf {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A B : IntermediateField F E) {L : Type v} [Field L] [Algebra F L] (f : L →ₐ[F] E) :
(comap f A).relrank (comap f B) = A.relrank (Bf.fieldRange)
theorem IntermediateField.relfinrank_comap_comap_eq_relfinrank_inf {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {L : Type w} [Field L] [Algebra F L] (A B : IntermediateField F E) (f : L →ₐ[F] E) :
(comap f A).relfinrank (comap f B) = A.relfinrank (Bf.fieldRange)
theorem IntermediateField.relrank_comap_comap_eq_relrank_of_le {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A B : IntermediateField F E) {L : Type v} [Field L] [Algebra F L] (f : L →ₐ[F] E) (h : B f.fieldRange) :
(comap f A).relrank (comap f B) = A.relrank B
theorem IntermediateField.relfinrank_comap_comap_eq_relfinrank_of_le {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {L : Type w} [Field L] [Algebra F L] (A B : IntermediateField F E) (f : L →ₐ[F] E) (h : B f.fieldRange) :
theorem IntermediateField.relrank_comap_comap_eq_relrank_of_surjective {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A B : IntermediateField F E) {L : Type v} [Field L] [Algebra F L] (f : L →ₐ[F] E) (h : Function.Surjective f) :
(comap f A).relrank (comap f B) = A.relrank B
theorem IntermediateField.relrank_mul_rank_top {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B : IntermediateField F E} (h : A B) :
A.relrank B * Module.rank (↥B) E = Module.rank (↥A) E
theorem IntermediateField.relfinrank_mul_finrank_top {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B : IntermediateField F E} (h : A B) :
theorem IntermediateField.rank_bot_mul_relrank {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B : IntermediateField F E} (h : A B) :
Module.rank F A * A.relrank B = Module.rank F B
theorem IntermediateField.finrank_bot_mul_relfinrank {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B : IntermediateField F E} (h : A B) :
theorem IntermediateField.relrank_dvd_rank_top_of_le {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B : IntermediateField F E} (h : A B) :
A.relrank B Module.rank (↥A) E
theorem IntermediateField.relrank_mul_relrank {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B C : IntermediateField F E} (h1 : A B) (h2 : B C) :
A.relrank B * B.relrank C = A.relrank C
theorem IntermediateField.relfinrank_mul_relfinrank {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B C : IntermediateField F E} (h1 : A B) (h2 : B C) :
theorem IntermediateField.relrank_inf_mul_relrank {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A B C : IntermediateField F E) :
A.relrank (BC) * B.relrank C = (AB).relrank C
theorem IntermediateField.relfinrank_inf_mul_relfinrank {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A B C : IntermediateField F E) :
A.relfinrank (BC) * B.relfinrank C = (AB).relfinrank C
theorem IntermediateField.relrank_mul_relrank_eq_inf_relrank {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A : IntermediateField F E) {B C : IntermediateField F E} (h : B C) :
A.relrank B * B.relrank C = (AB).relrank C
theorem IntermediateField.relrank_inf_mul_relrank_of_le {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B : IntermediateField F E} (C : IntermediateField F E) (h : A B) :
A.relrank (BC) * B.relrank C = A.relrank C
theorem IntermediateField.relfinrank_inf_mul_relfinrank_of_le {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B : IntermediateField F E} (C : IntermediateField F E) (h : A B) :
A.relfinrank (BC) * B.relfinrank C = A.relfinrank C
@[simp]
theorem IntermediateField.relrank_top_left {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A : IntermediateField F E) :
@[simp]
theorem IntermediateField.relfinrank_top_left {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A : IntermediateField F E) :
@[simp]
theorem IntermediateField.relrank_top_right {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A : IntermediateField F E) :
@[simp]
@[simp]
theorem IntermediateField.relrank_bot_left {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A : IntermediateField F E) :
@[simp]
@[simp]
theorem IntermediateField.relrank_bot_right {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (A : IntermediateField F E) :
@[simp]
theorem IntermediateField.relrank_dvd_of_le_left {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B : IntermediateField F E} (C : IntermediateField F E) (h : A B) :
theorem IntermediateField.relfinrank_dvd_of_le_left {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {A B : IntermediateField F E} (C : IntermediateField F E) (h : A B) :