Intermediate fields #
Let L / K be a field extension, given as an instance Algebra K L.
This file defines the type of fields in between K and L, IntermediateField K L.
An IntermediateField K L is a subfield of L which contains (the image of) K,
i.e. it is a Subfield L and a Subalgebra K L.
Main definitions #
IntermediateField K L: the type of intermediate fields betweenKandL.Subalgebra.to_intermediateField: turns a subalgebra closed under⁻¹into an intermediate fieldSubfield.to_intermediateField: turns a subfield containing the image ofKinto an intermediate fieldIntermediateField.map: map an intermediate field along anAlgHomIntermediateField.restrict_scalars: restrict the scalars of an intermediate field to a smaller field in a tower of fields.
Implementation notes #
Intermediate fields are defined with a structure extending Subfield and Subalgebra.
A Subalgebra is closed under all operations except ⁻¹,
Tags #
intermediate field, field extension
S : IntermediateField K L is a subset of L such that there is a field
tower L / S / K.
- carrier : Set L
- one_mem' : 1 ∈ self.carrier
- zero_mem' : 0 ∈ self.carrier
- algebraMap_mem' : ∀ (r : K), (algebraMap K L) r ∈ self.carrier
Instances For
Equations
- One or more equations did not get rendered due to their size.
Reinterpret an IntermediateField as a Subfield.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- (_ : SubfieldClass (IntermediateField K L) L) = (_ : SubfieldClass (IntermediateField K L) L)
Two intermediate fields are equal if they have the same elements.
Copy of an intermediate field with a new carrier equal to the old one. Useful to fix
definitional equalities.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Lemmas inherited from more general structures #
The declarations in this section derive from the fact that an IntermediateField is also a
subalgebra or subfield. Their use should be replaceable with the corresponding lemma from a
subobject class.
An intermediate field contains the image of the smaller field.
An intermediate field contains the ring's 1.
An intermediate field contains the ring's 0.
Product of a multiset of elements in an intermediate field is in the intermediate_field.
Sum of a multiset of elements in an IntermediateField is in the IntermediateField.
Product of elements of an intermediate field indexed by a Finset is in the intermediate_field.
Sum of elements in an IntermediateField indexed by a Finset is in the IntermediateField.
Turn a subalgebra closed under inverses into an intermediate field
Equations
- Subalgebra.toIntermediateField S inv_mem = { toSubalgebra := S, inv_mem' := inv_mem }
Instances For
Turn a subalgebra satisfying IsField into an intermediate_field
Equations
- Subalgebra.toIntermediateField' S hS = Subalgebra.toIntermediateField S (_ : ∀ x ∈ S, x⁻¹ ∈ S)
Instances For
Turn a subfield of L containing the image of K into an intermediate field
Equations
- Subfield.toIntermediateField S algebra_map_mem = { toSubalgebra := { toSubsemiring := S.toSubsemiring, algebraMap_mem' := algebra_map_mem }, inv_mem' := (_ : ∀ x ∈ S.carrier, x⁻¹ ∈ S.carrier) }
Instances For
An intermediate field inherits a field structure
Equations
IntermediateFields inherit structure from their Subalgebra coercions.
Equations
- IntermediateField.module' S = Subalgebra.module' S.toSubalgebra
Equations
- IntermediateField.module S = inferInstanceAs (Module K ↥S.toSubsemiring)
Equations
- (_ : IsScalarTower R K ↥S) = (_ : IsScalarTower R K ↥S.toSubsemiring)
Equations
- IntermediateField.algebra' S = Subalgebra.algebra' S.toSubalgebra
Equations
- IntermediateField.algebra S = inferInstanceAs (Algebra K ↥S.toSubsemiring)
Equations
- IntermediateField.toAlgebra S = Subalgebra.toAlgebra S.toSubalgebra
Equations
- (_ : IsScalarTower (↥S) L R) = (_ : IsScalarTower (↥S.toSubalgebra) L R)
Equations
- (_ : IsScalarTower K (↥S) R) = (_ : IsScalarTower K (↥S.toSubalgebra) R)
Specialize is_scalar_tower_mid to the common case where the top field is L
Equations
- (_ : IsScalarTower K (↥S) L) = (_ : IsScalarTower K (↥S) L)
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- (_ : IsScalarTower K ↥S ↥T) = (_ : IsScalarTower K ↥S ↥T)
Given f : L →ₐ[K] L', S.comap f is the intermediate field between K and L
such that f x ∈ S ↔ x ∈ S.comap f.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given f : L →ₐ[K] L', S.map f is the intermediate field between K and L'
such that x ∈ S ↔ f x ∈ S.map f.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given an equivalence e : L ≃ₐ[K] L' of K-field extensions and an intermediate
field E of L/K, intermediateFieldMap e E is the induced equivalence
between E and E.map e
Equations
- IntermediateField.intermediateFieldMap e E = AlgEquiv.subalgebraMap e E.toSubalgebra
Instances For
The range of an algebra homomorphism, as an intermediate field.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The embedding from an intermediate field of L / K to L.
Equations
- IntermediateField.val S = Subalgebra.val S.toSubalgebra
Instances For
Equations
- IntermediateField.AlgHom.inhabited S = { default := IntermediateField.val S }
The map E → F when E is an intermediate field contained in the intermediate field F.
This is the intermediate field version of Subalgebra.inclusion.
Equations
Instances For
Lift an intermediate_field of an intermediate_field
Equations
Instances For
Equations
- IntermediateField.hasLift = { coe := IntermediateField.lift }
Given a tower L / ↥E / L' / K of field extensions, where E is an L'-intermediate field of
L, reinterpret E as a K-intermediate field of L.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If F ≤ E are two intermediate fields of L / K, then E is also an intermediate field of
L / F. It can be viewed as an inverse to IntermediateField.restrictScalars.
Equations
- IntermediateField.extendScalars h = Subfield.toIntermediateField (IntermediateField.toSubfield E) (_ : ∀ (x : ↥F), (algebraMap (↥F) L) x ∈ IntermediateField.toSubfield E)
Instances For
IntermediateField.extendScalars is an order isomorphism from
{ E : IntermediateField K L // F ≤ E } to IntermediateField F L. Its inverse is
IntermediateField.restrictScalars.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- (_ : FiniteDimensional K ↥F) = (_ : FiniteDimensional K ↥F)
Equations
- (_ : FiniteDimensional (↥F) L) = (_ : FiniteDimensional (↥F) L)
If F ≤ E are two intermediate fields of L / K such that [E : K] ≤ [F : K] are finite,
then F = E.
If F ≤ E are two intermediate fields of L / K such that [F : K] = [E : K] are finite,
then F = E.
If F ≤ E are two intermediate fields of L / K such that [L : F] ≤ [L : E] are finite,
then F = E.
If F ≤ E are two intermediate fields of L / K such that [L : F] = [L : E] are finite,
then F = E.
If L/K is algebraic, the K-subalgebras of L are all fields.
Equations
- One or more equations did not get rendered due to their size.