FLT/Mathlib/RingTheory/AdjoinRoot.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Pinned FLT blueprint introduction
5 declarations, 0 contain sorry, 0 declared as axioms
Complements on AdjoinRoot
Material for Mathlib.RingTheory.AdjoinRoot: reduction of A[X]/(P) along ring maps, and
degrees and generators of the simple extension F[X]/(q).
Imports (1)
Imported by 2 files
- theorem
AdjoinRoot.map_comp_mkReduction alongf : A →+* Bdescends toAdjoinRoot: the squareA[X] → B[X] → B[X]/(q)=A[X] → A[X]/(p) → B[X]/(q)commutes whenq = p.map fline 25 sourceSource documentation
Reduction along
f : A →+* Bdescends toAdjoinRoot: the squareA[X] → B[X] → B[X]/(q)=A[X] → A[X]/(p) → B[X]/(q)commutes whenq = p.map f.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,RingHom,Polynomial,Eq,Polynomial.map,AdjoinRoot,RingHom.comp,AdjoinRoot.map,Eq.dvd,AdjoinRoot.mk,Polynomial.mapRingHomProof uses:
Polynomial.ringHom_ext,Eq.mpr,Polynomial.C,id,congrArg,RingHom.comp_apply,AdjoinRoot.of,AdjoinRoot.mk_C,AdjoinRoot.map_of,Polynomial.coe_mapRingHom,Polynomial.map_C,Eq.refl,Polynomial.X,AdjoinRoot.root,Eq.symm,AdjoinRoot.root.eq_1,AdjoinRoot.map_root,Polynomial.map_X14 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
theorem AdjoinRoot.map_comp_mk {A B : Type*} [CommRing A] [CommRing B] (f : A →+* B) {p : A[X]} {q : B[X]} (h : q = p.map f) : (map f p q h.dvd).comp (mk p) = (mk q).comp (Polynomial.mapRingHom f) := by … - theorem
AdjoinRoot.finrank_eq_natDegreeThe simple extensionF[X]/(q)by a root of an irreducibleqhas degreenatDegree qline 37 sourceSource documentation
The simple extension
F[X]/(q)by a root of an irreducibleqhas degreenatDegree q.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Polynomial,Fact,Irreducible,Eq,Nat,Module.finrank,AdjoinRoot,Polynomial.natDegreeProof uses:
Eq.mpr,PowerBasis.dim,AdjoinRoot.powerBasis,Irreducible.ne_zero,Fact.out,id,congrArg,PowerBasis.finrank,AdjoinRoot.powerBasis_dim,Eq.refl30 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem AdjoinRoot.finrank_eq_natDegree {F : Type*} [Field F] {q : F[X]} [Fact (Irreducible q)] : Module.finrank F (AdjoinRoot q) = q.natDegree := by … - theorem
AdjoinRoot.natDegree_minpoly_rootThe minimal polynomial ofroot qhas the same degree as the irreducibleqline 45 sourceSource documentation
The minimal polynomial of
root qhas the same degree as the irreducibleq.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Polynomial,Fact,Irreducible,Eq,Nat,Polynomial.natDegree,minpoly,AdjoinRoot,AdjoinRoot.rootProof uses:
Ne,OfNat.ofNat,Irreducible.ne_zero,Fact.out,Eq.mpr,HMul.hMul,RingHom,Polynomial.C,Inv.inv,Polynomial.leadingCoeff,id,congrArg,AdjoinRoot.minpoly_root,HAdd.hAdd,Polynomial.natDegree_mul,Iff.mpr,Polynomial.C_ne_zero,inv_ne_zero,Polynomial.leadingCoeff_ne_zero,Polynomial.natDegree_Cand 2 more56 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem AdjoinRoot.natDegree_minpoly_root {F : Type*} [Field F] {q : F[X]} [Fact (Irreducible q)] : (minpoly F (root q)).natDegree = q.natDegree := by … - theorem
AdjoinRoot.eq_zero_of_mul_root_add_eq_zeroDocumented declaration: eq_zero_of_mul_root_add_eq_zero line 53 sourceSource documentation
In
F[X]/(q)withqirreducible of degree at least2, the elements1androot qare linearly independent overF: a linear relationa · root q + b = 0forcesa = b = 0.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Polynomial,Fact,Irreducible,LE.le,Nat,OfNat.ofNat,Polynomial.natDegree,Eq,AdjoinRoot,HAdd.hAdd,HMul.hMul,RingHom,Algebra.algebraMap,AdjoinRoot.root,AndProof uses:
AlgHom,Polynomial.aeval,Polynomial.C,Polynomial.X,Eq.mpr,id,congrFun',congrArg,Eq.trans,map_add,RingHom.id,congr,map_mul,MonoidHom.id,Polynomial.aeval_C,Polynomial.aeval_X,Classical.byContradiction,Not,minpoly,Polynomial.natDegree_le_of_dvdand 19 more85 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
theorem AdjoinRoot.eq_zero_of_mul_root_add_eq_zero {F : Type*} [Field F] {q : F[X]} [Fact (Irreducible q)] (hdeg : 2 ≤ q.natDegree) {a b : F} (hab : algebraMap F (AdjoinRoot q) a * root q + algebraMap F (AdjoinRoot q) b = 0) : a = 0 ∧ b = 0 := by … - theorem
AdjoinRoot.root_notMem_range_algebraMapThe root of an irreducible polynomial of degree at least2does not lie in the base field line 69 sourceSource documentation
The root of an irreducible polynomial of degree at least
2does not lie in the base field.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Polynomial,Fact,Irreducible,LE.le,Nat,OfNat.ofNat,Polynomial.natDegree,Not,Membership.mem,AdjoinRoot,Set,Set.range,RingHom,Algebra.algebraMap,AdjoinRoot.rootProof uses:
Eq,False,minpoly, AdjoinRoot.natDegree_minpoly_root,Eq.mp,HSub.hSub,Polynomial.X,Polynomial.C,congrArg,Polynomial.natDegree_X_sub_C,minpoly.eq_X_sub_C,Eq.symm42 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
theorem AdjoinRoot.root_notMem_range_algebraMap {F : Type*} [Field F] {q : F[X]} [Fact (Irreducible q)] (hdeg : 2 ≤ q.natDegree) : root q ∉ Set.range (algebraMap F (AdjoinRoot q)) := by …