Adjoining Elements to Fields #
In this file we introduce the notion of adjoining elements to fields.
This isn't quite the same as adjoining elements to rings.
For example, Algebra.adjoin K {x}
might not include x⁻¹
.
Main results #
adjoin_adjoin_left
: adjoining S and then T is the same as adjoiningS ∪ T
.bot_eq_top_of_rank_adjoin_eq_one
: ifF⟮x⟯
has dimension1
overF
for everyx
inE
thenF = E
Notation #
F⟮α⟯
: adjoin a single elementα
toF
.
Galois insertion between adjoin
and coe
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- IntermediateField.instCompleteLatticeIntermediateField = GaloisInsertion.liftCompleteLattice IntermediateField.gi
Construct an algebra isomorphism from an equality of intermediate fields
Equations
- One or more equations did not get rendered due to their size.
Instances For
The bottom intermediate_field is isomorphic to the field.
Equations
- IntermediateField.botEquiv F E = AlgEquiv.trans (Subalgebra.equivOfEq ⊥.toSubalgebra ⊥ (_ : ⊥.toSubalgebra = ⊥)) (Algebra.botEquiv F E)
Instances For
Equations
- IntermediateField.algebraOverBot = RingHom.toAlgebra ↑↑(IntermediateField.botEquiv F E)
The top IntermediateField
is isomorphic to the field.
This is the intermediate field version of Subalgebra.topEquiv
.
Equations
- IntermediateField.topEquiv = AlgEquiv.trans (Subalgebra.equivOfEq ⊤.toSubalgebra ⊤ (_ : ⊤.toSubalgebra = ⊤)) Subalgebra.topEquiv
Instances For
Equations
- IntermediateField.adjoin.fieldCoe F S = { coe := fun x => { val := ↑(algebraMap F E) x, property := (_ : ↑(algebraMap F E) x ∈ IntermediateField.adjoin F S) } }
Equations
- IntermediateField.adjoin.setCoe F S = { coe := fun x => { val := ↑x, property := (_ : ↑x ∈ ↑(IntermediateField.adjoin F S)) } }
F[S][T] = F[S ∪ T]
F[S][T] = F[T][S]
If x₁ x₂ ... xₙ : E
then F⟮x₁,x₂,...,xₙ⟯
is the IntermediateField F E
generated by these elements.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
A compositum of splitting fields is a splitting field
Adjoining a finite subset is compact in the lattice of intermediate fields.
If F⟮x⟯
has dimension ≤1
over F
for every x ∈ E
then F = E
.
algebra isomorphism between AdjoinRoot
and F⟮α⟯
Equations
- One or more equations did not get rendered due to their size.
Instances For
The elements 1, x, ..., x ^ (d - 1)
form a basis for K⟮x⟯
,
where d
is the degree of the minimal polynomial of x
.
Equations
- IntermediateField.powerBasisAux hx = Basis.map (AdjoinRoot.powerBasis (_ : minpoly K x ≠ 0)).basis (AlgEquiv.toLinearEquiv (IntermediateField.adjoinRootEquivAdjoin K hx))
Instances For
The power basis 1, x, ..., x ^ (d - 1)
for K⟮x⟯
,
where d
is the degree of the minimal polynomial of x
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Algebra homomorphism F⟮α⟯ →ₐ[F] K
are in bijection with the set of roots
of minpoly α
in K
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Fintype of algebra homomorphism F⟮α⟯ →ₐ[F] K
Equations
Instances For
An intermediate field S
is finitely generated if there exists t : Finset E
such that
IntermediateField.adjoin F t = S
.
Equations
- IntermediateField.FG S = ∃ t, IntermediateField.adjoin F ↑t = S
Instances For
Equations
- IntermediateField.instPartialOrderLifts = PartialOrder.mk (_ : ∀ (a b : IntermediateField.Lifts F E K), a ≤ b → b ≤ a → a = b)
Equations
- One or more equations did not get rendered due to their size.
An upper bound on a chain of lifts
Equations
- One or more equations did not get rendered due to their size.
Instances For
The lift on the upper bound on a chain of lifts
Equations
- One or more equations did not get rendered due to their size.
Instances For
An upper bound on a chain of lifts
Equations
Instances For
Extend a lift x : Lifts F E K
to an element s : E
whose conjugates are all in K
Equations
- One or more equations did not get rendered due to their size.
Instances For
A compositum of algebraic extensions is algebraic
pb.equivAdjoinSimple
is the equivalence between K⟮pb.gen⟯
and L
itself.
Equations
- One or more equations did not get rendered due to their size.