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.
Instances For
Equations
- IntermediateField.instSetLike = { coe := fun (S : IntermediateField K L) => S.carrier, coe_injective' := ⋯ }
Reinterpret an IntermediateField as a Subfield.
Equations
- S.toSubfield = { toSubsemiring := S.toSubsemiring, neg_mem' := ⋯, inv_mem' := ⋯ }
Instances For
Copy of an intermediate field with a new carrier equal to the old one. Useful to fix
definitional equalities.
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.
Sum of a multiset of elements in an IntermediateField is in the IntermediateField.
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
- S.toIntermediateField inv_mem = { toSubalgebra := S, inv_mem' := inv_mem }
Instances For
Turn a subalgebra satisfying IsField into an intermediate field.
Equations
- S.toIntermediateField' hS = S.toIntermediateField ⋯
Instances For
Turn a subfield of L containing the image of K into an intermediate field.
Equations
- S.toIntermediateField algebra_map_mem = { toSubsemiring := S.toSubsemiring, algebraMap_mem' := algebra_map_mem, inv_mem' := ⋯ }
Instances For
An intermediate field inherits a field structure.
Equations
- S.toField = S.toSubfield.toField
IntermediateFields inherit structure from their Subfield coercions.
The action by an intermediate field is the action by the underlying field.
Equations
- F.instSMulSubtypeMem = inferInstanceAs (SMul (↥F.toSubfield) X)
Note that this provides IsScalarTower F K K which is needed by smul_mul_assoc.
The action by an intermediate field is the action by the underlying field.
Equations
- F.instMulActionSubtypeMem = inferInstanceAs (MulAction (↥F.toSubfield) X)
The action by an intermediate field is the action by the underlying field.
Equations
The action by an intermediate field is the action by the underlying field.
Equations
The action by an intermediate field is the action by the underlying field.
Equations
The action by an intermediate field is the action by the underlying field.
Equations
The action by an intermediate field is the action by the underlying field.
Equations
- F.instModuleSubtypeMem = inferInstanceAs (Module (↥F.toSubfield) X)
The action by an intermediate field is the action by the underlying field.
Equations
IntermediateFields inherit structure from their Subalgebra coercions.
Equations
- S.toAlgebra = inferInstanceAs (Algebra (↥S.toSubalgebra) L)
Equations
- S.module' = inferInstanceAs (Module R ↥S.toSubalgebra)
Equations
- S.algebra' = inferInstanceAs (Algebra R' ↥S.toSubalgebra)
Specialize isScalarTower_mid to the common case where the top field is L.
Equations
- S.instAlgebraSubtypeMem = inferInstanceAs (Algebra (↥S.toSubalgebra) E)
Equations
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
- IntermediateField.comap f S = { toSubalgebra := Subalgebra.comap f S.toSubalgebra, inv_mem' := ⋯ }
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
- IntermediateField.map f S = { toSubalgebra := Subalgebra.map f S.toSubalgebra, inv_mem' := ⋯ }
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
Instances For
The range of an algebra homomorphism, as an intermediate field.
Equations
- f.fieldRange = { toSubalgebra := f.range, inv_mem' := ⋯ }
Instances For
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
The algEquiv between an intermediate field and its lift.
Equations
- One or more equations did not get rendered due to their size.
Instances For
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
- IntermediateField.restrictScalars K E = { carrier := E.carrier, mul_mem' := ⋯, one_mem' := ⋯, add_mem' := ⋯, zero_mem' := ⋯, algebraMap_mem' := ⋯, inv_mem' := ⋯ }
Instances For
Construct an algebra isomorphism from an equality of intermediate fields.
Equations
Instances For
An intermediate field is isomorphic to its image under an AlgHom
(which is automatically injective).
Equations
- L.equivMap f = (AlgEquiv.ofInjective (f.comp L.val) ⋯).trans (IntermediateField.equivOfEq ⋯)
Instances For
If F ≤ E are two subfields of L, then E is also an intermediate field of
L / F. It can be viewed as an inverse to IntermediateField.toSubfield.
Equations
Instances For
Subfield.extendScalars.orderIso bundles Subfield.extendScalars
into an order isomorphism from
{ E : Subfield L // F ≤ E } to IntermediateField F L. Its inverse is
IntermediateField.toSubfield.
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
Instances For
IntermediateField.extendScalars.orderIso bundles IntermediateField.extendScalars
into 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
If F ≤ E are two intermediate fields of L / K, then F is also an intermediate field of
E / K. It is an inverse of IntermediateField.lift, and can be viewed as a dual to
IntermediateField.extendScalars.
Equations
Instances For
F is equivalent to F as an intermediate field of E / K.