FLT/Mathlib/RingTheory/Polynomial/GaussLemma.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
1 declarations, 0 contain sorry, 0 declared as axioms
Monic divisors descend along the fraction field
Material for Mathlib.RingTheory.Polynomial.GaussLemma.
Imports (1)
Imported by 2 files
- theorem
Polynomial.Monic.exists_monic_map_eq_of_monic_dvd_mapDocumented declaration: exists_monic_map_eq_of_monic_dvd_map line 23 sourceSource documentation
Over an integrally closed domain
Rwith fraction fieldK, a monic divisorq ∈ K[X]of the image of a monic polynomialP ∈ R[X]is itself the image of a monic polynomial overR(a form of Gauss's lemma, packagingIsIntegrallyClosed.eq_map_mul_C_of_dvd).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsIntegrallyClosed,Field,Algebra,IsFractionRing,Polynomial,Polynomial.Monic,Dvd.dvd,Polynomial.map,Algebra.algebraMap,Exists,And,EqProof uses:
HMul.hMul,RingHom,Polynomial.C,Polynomial.leadingCoeff,IsIntegrallyClosed.eq_map_mul_C_of_dvd,Exists.intro,And.intro,Iff.mpr,Function.Injective.monic_map_iff,IsFractionRing.injective,Eq.rec,Eq.symm,Eq.mp,OfNat.ofNat,congrArg,mul_one,Polynomial.C_1,Polynomial.Monic.leadingCoeff41 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
theorem Polynomial.Monic.exists_monic_map_eq_of_monic_dvd_map {R : Type*} [CommRing R] [IsIntegrallyClosed R] {K : Type*} [Field K] [Algebra R K] [IsFractionRing R K] {P : R[X]} (hP : P.Monic) {q : K[X]} (hq : q.Monic) (hdvd : q ∣ P.map (algebraMap R K)) : ∃ Q : R[X], Q.Monic ∧ Q.map (algebraMap R K) = q := by …