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 betweenK
andL
.Subalgebra.to_intermediateField
: turns a subalgebra closed under⁻¹
into an intermediate fieldSubfield.to_intermediateField
: turns a subfield containing the image ofK
into an intermediate fieldIntermediateField.map
: map an intermediate field along anAlgHom
IntermediateField.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
IntermediateField
s 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
IntermediateField
s 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 is_scalar_tower_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
Equations
- IntermediateField.AlgHom.inhabited S = { default := S.val }
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
Alias of IntermediateField.toSubalgebra_inj
.
Lift an intermediate_field of an intermediate_field
Equations
Instances For
Equations
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
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
.