APNOutputs/StacksProject/NormalRings_NormalDomain_powerSeries.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: Google DeepMind published the AlphaProof Nexus proof artifacts. The pinned repository identifies the mathematical sources and collaborators, including OEIS, Erdős Problems, Gergely Bérczi, and Mario Krenn; those source records remain the authority for individual credit.
Project sources: Pinned AlphaProof Nexus results documentation, AlphaProof Nexus paper, Pinned human-written natural-language proof companions
28 declarations, 0 contain sorry, 0 declared as axioms
Imports (1)
- class
NormalDomainline 37 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRingAlso declared: APNOutputs/StacksProject/NormalRings_normalRing_characterization.lean:41 (same declaration text).
- class
NormalRingline 39 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRingDistinct definitions of this name: APNOutputs/StacksProject/NormalRings_normalRing_characterization.lean:43 (same statement text; different proof or body). Qualify references as NormalRing@path.
- lemma
normalDomain_of_normalRingline 47 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,NormalRing, NormalDomainProof uses:
NormalDomain.mk,IsIntegrallyClosed.of_isLocalization_maximal,Ideal,Ideal.IsMaximal,Localization.AtPrime,Ideal.primeCompl,Ideal.IsPrime,Ideal.IsMaximal.isPrime,inferInstance,IsIntegrallyClosed,NormalRing.localization_atPrime_normalDomain12 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
NormalDomain.toNormalRingline 57 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing, NormalDomain,NormalRingProof uses:
NormalRing.mk,Ideal,Ideal.IsPrime,LE.le,Submonoid,Ideal.primeCompl,nonZeroDivisors,Membership.mem,Eq.mpr,Ne,OfNat.ofNat,id,Eq,congrArg,propext,mem_nonZeroDivisors_iff_ne_zero,False,Ideal.zero_mem,Eq.symm,NormalDomain.mkand 4 more30 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- lemma
map_injectiveline 70 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,Function.Injective,PowerSeries,FractionRing,RingHom,nonZeroDivisors,algebraMapProof uses:
Eq,PowerSeries.ext,Nat,LinearMap,RingHom.id,PowerSeries.coeff,of_eq_true,Eq.trans,True,eq_self,eq_true,True.intro,Eq.mpr,id,congrArg,Eq.symm,Eq.refl,IsFractionRing.injective38 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- def
map_fracline 80 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,RingHom,Function.Injective,FractionRing,nonZeroDivisorsProof uses:
IsLocalization.map22 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- def
map_powerSeries_fracline 92 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,RingHom,FractionRing,PowerSeries,nonZeroDivisorsProof uses: map_frac,
algebraMap, map_injective25 instances, coercions and auxiliary constants left out.
- lemma
isIntegral_mapline 96 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,Algebra,RingHom,Eq,algebraMap,IsIntegralProof uses:
Polynomial,And,Polynomial.Monic,Polynomial.eval₂,OfNat.ofNat,Exists.intro,Polynomial.map,And.intro,Polynomial.Monic.map,Eq.mpr,Finset.sum,Nat,Finset.range,HAdd.hAdd,Polynomial.natDegree,HMul.hMul,Polynomial.coeff,HPow.hPow,id,congrand 17 more45 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- lemma
pow_mul_in_range_auxline 109 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,PowerSeries,FractionRing,Eq,HMul.hMul,Unit,nonZeroDivisors,RingHom,algebraMap,Nat,HPow.hPowProof uses:
of_eq_true,Eq.trans,True,congr,congrArg,RingHom.map_pow,eq_self47 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
pow_mul_in_range_ltline 116 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,PowerSeries,FractionRing,Eq,HMul.hMul,Unit,nonZeroDivisors,RingHom,algebraMap,Nat,LT.lt,OfNat.ofNat,Exists,HPow.hPow,HSub.hSubProof uses:
Exists.intro,of_eq_true,Eq.trans,True,congr,congrArg,Monoid,Eq.rec,HAdd.hAdd,pow_add,Nat.sub_add_cancel,Nat.le_sub_one_of_lt,algebraMap.coe_mul,algebraMap.coe_pow,mul_assoc,Eq.symm,mul_pow,eq_self66 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
pow_mul_in_rangeline 123 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,PowerSeries,FractionRing,Eq,HMul.hMul,Unit,nonZeroDivisors,RingHom,algebraMap,Nat,LT.lt,OfNat.ofNat,HPow.hPow,Finset.sum,Finset.range,Exists,HSub.hSubProof uses:
Nat.strongRec,dite,LE.le,Exists.elim,HAdd.hAdd,Nat.exists_eq_add_of_le',Fin,Classical.axiomOfChoice,Decidable.byContradiction,Not,Exists.intro,Finset.univ,of_eq_true,Eq.trans,True,congr,congrArg,algebraMap.coe_pow,pow_add,Finset.sum_rangeand 21 more107 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
fg_of_denom_pow_mulline 136 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,IsNoetherianRing,FractionRing,Ne,OfNat.ofNat,Nat,Exists,Eq,RingHom,nonZeroDivisors,algebraMap,HMul.hMul,HPow.hPow,IsIntegralProof uses:
Subalgebra,Algebra.adjoin,Singleton.singleton,Set,Subtype,Membership.mem,Submodule,LinearMap.range,RingHom.id,Algebra.linearMap,Polynomial,AlgHom.toRingHom,Polynomial.aeval,AlgHom.range,Subtype.mk,Eq.le,Algebra.adjoin_singleton_eq_range_aeval,of_eq_true,Eq.trans,Finset.sumand 61 more142 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
- lemma
int_of_denom_pow_mulline 163 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,IsNoetherianRing,IsIntegrallyClosed,FractionRing,Ne,OfNat.ofNat,Nat,Exists,Eq,RingHom,nonZeroDivisors,algebraMap,HMul.hMul,HPow.hPowProof uses:
IsIntegral, fg_of_denom_pow_mul,Iff.mp,isIntegrallyClosed_iff,inferInstance52 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
exists_lowest_coeffline 170 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,PowerSeries,Ne,OfNat.ofNat,Exists,Nat,And,LinearMap,RingHom.id,PowerSeries.coeff,LT.lt,EqProof uses:
Exists.intro,Nat.find,Not,Classical.decEq,Iff.mp,Classical.not_forall,Function.comp,False,PowerSeries.ext,And.intro,Nat.find_spec,by_contra,Nat.find_min39 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
coeff_integral_of_denomline 175 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,IsNoetherianRing,IsIntegrallyClosed,PowerSeries,FractionRing,Ne,OfNat.ofNat,Nat,Exists,Eq,RingHom,nonZeroDivisors,algebraMap,HMul.hMul,Unit,HPow.hPow,LinearMap,RingHom.id,PowerSeries.coeffProof uses:
Nat.strong_induction_on,LT.lt,And, exists_lowest_coeff,GE.ge,Eq.mpr,LE.le,id,congrArg,funext,forall_congr,implies_congr,Eq.refl,Exists.intro,Finset.sum,Finset.range,PowerSeries.monomial,of_eq_true,Eq.trans,Trueand 149 more228 instances, coercions and auxiliary constants left out.
Tactic trace: 50 steps
Open to load the checked before-and-after goal states.
- lemma
mem_A_of_denom_pow_mulline 216 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,IsNoetherianRing,IsIntegrallyClosed,PowerSeries,FractionRing,Ne,OfNat.ofNat,Nat,Exists,Eq,HMul.hMul,Unit,nonZeroDivisors,RingHom,algebraMap,HPow.hPowProof uses:
LinearMap,RingHom.id,PowerSeries.coeff,Exists.intro,Eq.symm, coeff_integral_of_denom,PowerSeries.mk,Classical.choose,PowerSeries.ext,of_eq_true,Eq.trans,True,congr,congrArg,PowerSeries.coeff_mk,eq_self,eq_true,True.intro,Eq.mpr,idand 1 more63 instances, coercions and auxiliary constants left out.
Tactic trace: 16 steps
Open to load the checked before-and-after goal states.
- lemma
eq_of_integral_Kline 235 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,PowerSeries,FractionRing,IsIntegral,nonZeroDivisors,Exists,Nat,LT.lt,OfNat.ofNat,Eq,HPow.hPow,Finset.sum,Finset.range,HMul.hMul,Unit,RingHom,algebraMapProof uses:
Exists.elim,Polynomial,And,Polynomial.Monic,Polynomial.eval₂,Exists.intro,Polynomial.natDegree,pos_of_ne_zero,False.elim,False,Eq.mp,Eq.trans,True,congr,congrArg,id,Polynomial.eval₂_one,and_false,Neg.neg,Polynomial.coeffand 26 more140 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
mem_A_of_integral_Kline 241 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,IsNoetherianRing,IsIntegrallyClosed,PowerSeries,Ne,OfNat.ofNat,FractionRing,Eq,HMul.hMul,Unit,nonZeroDivisors,RingHom,algebraMap,IsIntegral,ExistsProof uses:
Nat,LT.lt,HPow.hPow,Finset.sum,Finset.range, eq_of_integral_K,HSub.hSub,pow_ne_zero, pow_mul_in_range, mem_A_of_denom_pow_mul78 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
coeff_mul_lowestline 252 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,PowerSeries,Nat,LT.lt,Eq,LinearMap,RingHom.id,PowerSeries.coeff,OfNat.ofNat,HAdd.hAdd,HMul.hMul,UnitProof uses:
Mathlib.Tactic.Nontriviality.subsingleton_or_nontrivial_elim,Subsingleton,of_eq_true,Nontrivial,Eq.mpr,Finset.sum,Prod,Finset.HasAntidiagonal.antidiagonal,Prod.fst,Prod.snd,id,congrArg,PowerSeries.coeff_mul,Finset.sum_eq_single_of_mem,Prod.mk,Membership.mem,Finset,Eq.trans,True,eq_selfand 16 more63 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
coeff_pow_lowestline 260 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,PowerSeries,Nat,LT.lt,Eq,LinearMap,RingHom.id,PowerSeries.coeff,OfNat.ofNat,And,HMul.hMul,HPow.hPowProof uses:
Nat.rec,of_eq_true,Eq.trans,True,congr,congrArg,forall_congr,False,implies_congr,MulZeroClass.mul_zero,eq_false,not_false,ite,pow_zero,PowerSeries.coeff_one,eq_true,True.intro,implies_true,ite_congr,Mathlib.Meta.NormNum.isNat_eq_trueand 97 more139 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
eq_of_integral_fracline 269 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,PowerSeries,Ne,OfNat.ofNat,IsIntegral,FractionRing,nonZeroDivisors,HDiv.hDiv,RingHom,algebraMap,Exists,Nat,LT.lt,Eq,HPow.hPow,Neg.neg,Finset.sum,Finset.range,HMul.hMuland 2 moreProof uses:
Polynomial,And,Polynomial.Monic,Polynomial.eval₂,Eq.mpr,id,congrArg,funext,Eq.trans,propext,exists_prop_congr,Iff.of_eq,Finset.sum_congr,Eq.refl,Finset,Membership.mem,mul_assoc,Exists.intro,Polynomial.natDegree,And.introand 51 more215 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
map_eq_of_eqline 279 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,PowerSeries,Nat,Eq,HPow.hPow,Neg.neg,Finset.sum,Finset.range,HMul.hMul,Unit,HSub.hSub,FractionRing,nonZeroDivisors,RingHom,algebraMapProof uses:
congrArg,Mathlib.Tactic.LinearCombination'.eq_trans₃,of_eq_true,Eq.trans,True,algebraMap.coe_pow,eq_self,algebraMap.coe_neg,algebraMap.coe_sum,Finset.sum_congr,Eq.refl,Finset,Membership.mem,algebraMap.coe_mul,congr97 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
isIntegral_K_of_eqline 286 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,PowerSeries,FractionRing,Ne,OfNat.ofNat,nonZeroDivisors,Nat,LT.lt,Eq,HMul.hMul,Unit,HPow.hPow,Neg.neg,Finset.sum,Finset.range,RingHom,algebraMap,HSub.hSub,IsIntegralProof uses:
of_eq_true,Eq.trans,True,congrArg,id,Eq.mp,congr,Finset.sum_congr,Eq.refl,Finset,Membership.mem,eq_self,Eq.rec,congr_arg,rfl,Mathlib.Tactic.Ring.of_eq,HAdd.hAdd,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Tactic.Ring.mul_congrand 59 more176 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
- lemma
isIntegral_K_of_integral_fracline 305 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,IsNoetherianRing,IsIntegrallyClosed,PowerSeries,Ne,OfNat.ofNat,IsIntegral,FractionRing,nonZeroDivisors,HDiv.hDiv,RingHom,algebraMap,Eq,HMul.hMul,UnitProof uses:
Nat,Exists,LT.lt,HPow.hPow,Neg.neg,Finset.sum,Finset.range,HSub.hSub, eq_of_integral_frac, map_eq_of_eq,Eq.mpr,id,congrArg,map_zero,Eq.refl, map_injective, isIntegral_K_of_eq106 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
dvd_of_integral_Kline 319 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,IsNoetherianRing,IsIntegrallyClosed,PowerSeries,Ne,OfNat.ofNat,IsIntegral,FractionRing,nonZeroDivisors,HDiv.hDiv,RingHom,algebraMap,Exists,Eq,HMul.hMul,UnitProof uses: map_powerSeries_frac,
id,of_eq_true,IsLocalization.map, map_injective,Eq.trans,True,forall_congr,congrArg,IsLocalization.map_eq,eq_self,eq_true,True.intro,implies_true, isIntegral_map,map_div₀,Iff.mp,isIntegrallyClosed_iff,inferInstance,Eq.mpand 10 more118 instances, coercions and auxiliary constants left out.
Tactic trace: 29 steps
Open to load the checked before-and-after goal states.
- lemma
powerSeries_isIntegrallyClosedline 350 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,IsNoetherianRing,IsIntegrallyClosed,PowerSeriesProof uses:
Iff.mpr,FractionRing,IsIntegral,nonZeroDivisors,Exists,Eq,RingHom,algebraMap,isIntegrallyClosed_iff,And,Membership.mem,Submonoid,HDiv.hDiv,IsFractionRing.div_surjective,Ne,OfNat.ofNat,nonZeroDivisors.ne_zero,Eq.rec,Eq.symm,HMul.hMuland 15 more76 instances, coercions and auxiliary constants left out.
Tactic trace: 21 steps
Open to load the checked before-and-after goal states.
- lemma
NormalRing.powerSeriesline 372 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsDomain,IsNoetherianRing,NormalRing,PowerSeriesProof uses: NormalDomain, normalDomain_of_normalRing,
NormalDomain.mk, powerSeries_isIntegrallyClosed, NormalDomain.toNormalRing9 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- theorem
NormalDomain.powerSeriesThe power series ring over a Noetherian normal domain is a normal domain line 382 sourceSource documentation
The power series ring over a Noetherian normal domain is a normal domain.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsNoetherianRing, NormalDomain,PowerSeriesProof uses:
NormalRing, NormalDomain.toNormalRing, NormalRing.powerSeries, normalDomain_of_normalRing,inferInstance,IsDomain10 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
theorem NormalDomain.powerSeries {R : Type*} [CommRing R] [IsNoetherianRing R] [NormalDomain R] : NormalDomain R⟦X⟧ := by …Mentions: R, NormalDomain