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.
ConjRootClass K L is the quotient of L by the relation IsConjRoot K.
Equations
- ConjRootClass K L = Quotient (IsConjRoot.setoid K L)
Instances For
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
- ConjRootClass.mk K x = ⟦x⟧
Instances For
@[instance_reducible]
instance ConjRootClass.instZero (K : Type u_1) {L : Type u_2} [Field K] [Field L] [Algebra K L] :
Zero (ConjRootClass K L)
Equations
- ConjRootClass.instZero K = { zero := ConjRootClass.mk K 0 }
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
@[instance_reducible]
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)
@[instance_reducible]
instance ConjRootClass.instNeg {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] :
Neg (ConjRootClass K L)
Equations
- ConjRootClass.instNeg = { neg := Quotient.map (fun (x : L) => -x) ⋯ }
@[instance_reducible]
instance ConjRootClass.instInvolutiveNeg {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] :
InvolutiveNeg (ConjRootClass K L)
Equations
- ConjRootClass.instInvolutiveNeg = { toNeg := ConjRootClass.instNeg, neg_neg := ⋯ }
@[instance_reducible]
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_reducible]
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
- c.instFintypeElemCarrierOfNormalOfDecidableEqOfAlgEquiv = Quotient.recOnSubsingleton c fun (x : L) => Fintype.ofFinset (Finset.image (fun (x_1 : Gal(L/K)) => x_1 x) Finset.univ) ⋯
theorem ConjRootClass.carrier_nonempty {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] (c : ConjRootClass K L) :
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
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)