APNOutputs/StacksProject/NormalRings_NormalDomain_powerSeries.lean

GitHub source file

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)
  1. class NormalDomain line 37 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: CommRing

    Also declared: APNOutputs/StacksProject/NormalRings_normalRing_characterization.lean:41 (same declaration text).

  2. class NormalRing line 39 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: CommRing

    Distinct definitions of this name: APNOutputs/StacksProject/NormalRings_normalRing_characterization.lean:43 (same statement text; different proof or body). Qualify references as NormalRing@path.

  3. lemma normalDomain_of_normalRing line 47 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: CommRing, IsDomain, NormalRing, NormalDomain

    Proof uses: NormalDomain.mk, IsIntegrallyClosed.of_isLocalization_maximal, Ideal, Ideal.IsMaximal, Localization.AtPrime, Ideal.primeCompl, Ideal.IsPrime, Ideal.IsMaximal.isPrime, inferInstance, IsIntegrallyClosed, NormalRing.localization_atPrime_normalDomain

    12 instances, coercions and auxiliary constants left out.

    Tactic trace: 7 steps

    Open to load the checked before-and-after goal states.

  4. lemma NormalDomain.toNormalRing line 57 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: CommRing, NormalDomain, NormalRing

    Proof 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.mk and 4 more

    30 instances, coercions and auxiliary constants left out.

    Tactic trace: 10 steps

    Open to load the checked before-and-after goal states.

  5. lemma map_injective line 70 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: CommRing, IsDomain, Function.Injective, PowerSeries, FractionRing, RingHom, nonZeroDivisors, algebraMap

    Proof 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.injective

    38 instances, coercions and auxiliary constants left out.

    Tactic trace: 9 steps

    Open to load the checked before-and-after goal states.

  6. def map_frac line 80 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: CommRing, IsDomain, RingHom, Function.Injective, FractionRing, nonZeroDivisors

    Proof uses: IsLocalization.map

    22 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

    Open to load the checked before-and-after goal states.

  7. def map_powerSeries_frac line 92 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: CommRing, IsDomain, RingHom, FractionRing, PowerSeries, nonZeroDivisors

    Proof uses: map_frac, algebraMap, map_injective

    25 instances, coercions and auxiliary constants left out.

  8. lemma isIntegral_map line 96 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: CommRing, Algebra, RingHom, Eq, algebraMap, IsIntegral

    Proof 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, congr and 17 more

    45 instances, coercions and auxiliary constants left out.

    Tactic trace: 10 steps

    Open to load the checked before-and-after goal states.

  9. lemma pow_mul_in_range_aux line 109 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: CommRing, IsDomain, PowerSeries, FractionRing, Eq, HMul.hMul, Unit, nonZeroDivisors, RingHom, algebraMap, Nat, HPow.hPow

    Proof uses: of_eq_true, Eq.trans, True, congr, congrArg, RingHom.map_pow, eq_self

    47 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  10. lemma pow_mul_in_range_lt line 116 source

    standard 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.hSub

    Proof 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_self

    66 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

  11. lemma pow_mul_in_range line 123 source

    standard 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.hSub

    Proof 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_range and 21 more

    107 instances, coercions and auxiliary constants left out.

    Tactic trace: 9 steps

    Open to load the checked before-and-after goal states.

  12. lemma fg_of_denom_pow_mul line 136 source

    standard 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, IsIntegral

    Proof 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.sum and 61 more

    142 instances, coercions and auxiliary constants left out.

    Tactic trace: 18 steps

    Open to load the checked before-and-after goal states.

  13. lemma int_of_denom_pow_mul line 163 source

    standard 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.hPow

    Proof uses: IsIntegral, fg_of_denom_pow_mul, Iff.mp, isIntegrallyClosed_iff, inferInstance

    52 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

  14. lemma exists_lowest_coeff line 170 source

    standard 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, Eq

    Proof 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_min

    39 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

  15. lemma coeff_integral_of_denom line 175 source

    standard 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.coeff

    Proof 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, True and 149 more

    228 instances, coercions and auxiliary constants left out.

    Tactic trace: 50 steps

    Open to load the checked before-and-after goal states.

  16. lemma mem_A_of_denom_pow_mul line 216 source

    standard 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.hPow

    Proof 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, id and 1 more

    63 instances, coercions and auxiliary constants left out.

    Tactic trace: 16 steps

    Open to load the checked before-and-after goal states.

  17. lemma eq_of_integral_K line 235 source

    standard 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, algebraMap

    Proof 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.coeff and 26 more

    140 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

    Open to load the checked before-and-after goal states.

  18. lemma mem_A_of_integral_K line 241 source

    standard 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, Exists

    Proof 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_mul

    78 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

    Open to load the checked before-and-after goal states.

  19. lemma coeff_mul_lowest line 252 source

    standard 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, Unit

    Proof 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_self and 16 more

    63 instances, coercions and auxiliary constants left out.

    Tactic trace: 9 steps

    Open to load the checked before-and-after goal states.

  20. lemma coeff_pow_lowest line 260 source

    standard 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.hPow

    Proof 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_true and 97 more

    139 instances, coercions and auxiliary constants left out.

    Tactic trace: 14 steps

    Open to load the checked before-and-after goal states.

  21. lemma eq_of_integral_frac line 269 source

    standard 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.hMul and 2 more

    Proof 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.intro and 51 more

    215 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

    Open to load the checked before-and-after goal states.

  22. lemma map_eq_of_eq line 279 source

    standard 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, algebraMap

    Proof 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, congr

    97 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

  23. lemma isIntegral_K_of_eq line 286 source

    standard 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, IsIntegral

    Proof 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_congr and 59 more

    176 instances, coercions and auxiliary constants left out.

    Tactic trace: 15 steps

    Open to load the checked before-and-after goal states.

  24. lemma isIntegral_K_of_integral_frac line 305 source

    standard 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, Unit

    Proof 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_eq

    106 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

    Open to load the checked before-and-after goal states.

  25. lemma dvd_of_integral_K line 319 source

    standard 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, Unit

    Proof 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.mp and 10 more

    118 instances, coercions and auxiliary constants left out.

    Tactic trace: 29 steps

    Open to load the checked before-and-after goal states.

  26. lemma powerSeries_isIntegrallyClosed line 350 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: CommRing, IsDomain, IsNoetherianRing, IsIntegrallyClosed, PowerSeries

    Proof 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.hMul and 15 more

    76 instances, coercions and auxiliary constants left out.

    Tactic trace: 21 steps

    Open to load the checked before-and-after goal states.

  27. lemma NormalRing.powerSeries line 372 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: CommRing, IsDomain, IsNoetherianRing, NormalRing, PowerSeries

    Proof uses: NormalDomain, normalDomain_of_normalRing, NormalDomain.mk, powerSeries_isIntegrallyClosed, NormalDomain.toNormalRing

    9 instances, coercions and auxiliary constants left out.

    Tactic trace: 5 steps

    Open to load the checked before-and-after goal states.

  28. theorem NormalDomain.powerSeries The power series ring over a Noetherian normal domain is a normal domain line 382 source

    Source 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, PowerSeries

    Proof uses: NormalRing, NormalDomain.toNormalRing, NormalRing.powerSeries, normalDomain_of_normalRing, inferInstance, IsDomain

    10 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