Conjugate root classes #
In this file, we define the ConjRootClass of a field extension L / K as the quotient of L by
the relation IsConjRoot K.
def
ConjRootClass.mk
(K : Type u_1)
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
(x : L)
:
ConjRootClass K L
The canonical quotient map from a field K into the ConjRootClass of the field extension
L / K.
Equations
Instances For
instance
ConjRootClass.instZero
(K : Type u_1)
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
:
Zero (ConjRootClass K L)
Equations
theorem
ConjRootClass.ind
(K : Type u_1)
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
{motive : ConjRootClass K L → Prop}
(h : ∀ (x : L), motive (mk K x))
(c : ConjRootClass K L)
:
motive c
@[simp]
@[simp]
instance
ConjRootClass.instDecidableEqOfNormalOfFintypeAlgEquiv
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
[Normal K L]
[DecidableEq L]
[Fintype Gal(L/K)]
:
DecidableEq (ConjRootClass K L)
Equations
def
ConjRootClass.carrier
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
(c : ConjRootClass K L)
:
Set L
c.carrier is the set of conjugates represented by c.
Equations
Instances For
@[simp]
instance
ConjRootClass.instNeg
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
:
Neg (ConjRootClass K L)
Equations
instance
ConjRootClass.instInvolutiveNeg
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
:
InvolutiveNeg (ConjRootClass K L)
Equations
@[simp]
instance
ConjRootClass.instDecidablePredMemSetCarrierOfNormalOfDecidableEqOfFintypeAlgEquiv
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
[Normal K L]
[DecidableEq L]
[Fintype Gal(L/K)]
(c : ConjRootClass K L)
:
DecidablePred fun (x : L) => x ∈ c.carrier
Equations
instance
ConjRootClass.instFintypeElemCarrierOfNormalOfDecidableEqOfAlgEquiv
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
[Normal K L]
[DecidableEq L]
[Fintype Gal(L/K)]
(c : ConjRootClass K L)
:
Equations
noncomputable def
ConjRootClass.minpoly
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
:
ConjRootClass K L → Polynomial K
c.minpoly is the minimal polynomial of the conjugates.
Equations
Instances For
@[simp]
theorem
ConjRootClass.splits_minpoly
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
[n : Normal K L]
(c : ConjRootClass K L)
:
(Polynomial.map (algebraMap K L) c.minpoly).Splits
theorem
ConjRootClass.monic_minpoly
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
[Algebra.IsAlgebraic K L]
(c : ConjRootClass K L)
:
theorem
ConjRootClass.minpoly_ne_zero
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
[Algebra.IsAlgebraic K L]
(c : ConjRootClass K L)
:
theorem
ConjRootClass.irreducible_minpoly
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
[Algebra.IsAlgebraic K L]
(c : ConjRootClass K L)
:
theorem
ConjRootClass.aeval_minpoly_iff
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
[Algebra.IsAlgebraic K L]
(x : L)
(c : ConjRootClass K L)
:
theorem
ConjRootClass.rootSet_minpoly_eq_carrier
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
[Algebra.IsAlgebraic K L]
(c : ConjRootClass K L)
:
theorem
ConjRootClass.separable_minpoly
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
[Algebra.IsSeparable K L]
(c : ConjRootClass K L)
:
theorem
ConjRootClass.nodup_aroots_minpoly
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
[Algebra.IsSeparable K L]
(c : ConjRootClass K L)
:
theorem
ConjRootClass.minpoly.map_eq_prod
{K : Type u_1}
{L : Type u_2}
[Field K]
[Field L]
[Algebra K L]
[Algebra.IsSeparable K L]
[Normal K L]
(c : ConjRootClass K L)
[Fintype ↑c.carrier]
:
Polynomial.map (algebraMap K L) c.minpoly = ∏ x ∈ c.carrier.toFinset, (Polynomial.X - Polynomial.C x)