Documentation

Mathlib.FieldTheory.Tower

Tower of field extensions #

In this file we prove the tower law for arbitrary extensions and finite extensions. Suppose L is a field extension of K and K is a field extension of F. Then [L:F] = [L:K] [K:F] where [E₁:E₂] means the E₂-dimension of E₁.

In fact we generalize it to rings and modules, where L is not necessarily a field, but just a free module over K.

Implementation notes #

We prove two versions, since there are two notions of dimensions: Module.rank which gives the dimension of an arbitrary vector space as a cardinal, and FiniteDimensional.finrank which gives the dimension of a finite-dimensional vector space as a natural number.

Tags #

tower law

theorem FiniteDimensional.left (F : Type u) (K : Type v) (A : Type w) [DivisionRing F] [DivisionRing K] [AddCommGroup A] [Module F K] [Module K A] [Module F A] [IsScalarTower F K A] [Nontrivial A] [FiniteDimensional F A] :

In a tower of field extensions A / K / F, if A / F is finite, so is K / F.

(In fact, it suffices that A is a nontrivial ring.)

Note this cannot be an instance as Lean cannot infer A.

theorem FiniteDimensional.right (F : Type u) (K : Type v) (A : Type w) [DivisionRing F] [DivisionRing K] [AddCommGroup A] [Module F K] [Module K A] [Module F A] [IsScalarTower F K A] [hf : FiniteDimensional F A] :
@[deprecated FiniteDimensional.finrank_linearMap_self]

Alias of FiniteDimensional.finrank_linearMap_self.