FormalConjecturesForMathlib/RingTheory/MvPolynomial/LexPlusPowers.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: 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, Formal Conjectures paper, arXiv v1

7 declarations, 0 contain sorry, 0 declared as axioms

Hilbert functions, lex ideals and ideals of pure powers

Let k be a field and let S = k[x₁, …, xₙ], graded by total degree, with the variables ordered by x₁ > x₂ > ⋯ > xₙ. This file defines the Hilbert function d ↦ dim_k I_d of an ideal I of S, monomial ideals, lex ideals, and the ideal generated by pure powers of the first c variables. The sum of a lex ideal and an ideal of pure powers is a lex-plus-powers ideal.

Main definitions

References

Imports (2)
Imported by 1 file
  1. def MvPolynomial.hilbertFunction The Hilbert function of a homogeneous ideal I of $k[x_1, \dots, x_n]$, sending d to $\dim_k I_d$ line 55 source

    Source documentation

    The Hilbert function of a homogeneous ideal I of $k[x_1, \dots, x_n]$, sending d to $\dim_k I_d$. This is finite, since $I_d$ is a subspace of the finite dimensional space $S_d$. Two homogeneous ideals have the same Hilbert function in this sense if and only if the graded quotients by them do, since $\dim_k (S/I)_d = \dim_k S_d - \dim_k I_d$.

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

    Statement uses: Nat, Field, Ideal, MvPolynomial, Fin, Finsupp

    Proof uses: Module.finrank, Subtype, Membership.mem, Submodule, Min.min, Submodule.restrictScalars, MvPolynomial.homogeneousSubmodule

    30 instances, coercions and auxiliary constants left out.

    noncomputable def hilbertFunction (I : Ideal (MvPolynomial (Fin n) k)) (d : ℕ) : ℕ :=
    …
  2. def MvPolynomial.IsMonomialIdeal An ideal of a polynomial ring is a monomial ideal if it is generated by monomials line 59 source

    Source documentation

    An ideal of a polynomial ring is a monomial ideal if it is generated by monomials.

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

    Statement uses: Nat, Field, Ideal, MvPolynomial, Fin, Finsupp

    Proof uses: Exists, Set, Eq, Ideal.span, Set.image, LinearMap, RingHom.id, MvPolynomial.monomial, OfNat.ofNat

    29 instances, coercions and auxiliary constants left out.

    def IsMonomialIdeal (I : Ideal (MvPolynomial (Fin n) k)) : Prop :=
    …
  3. def MvPolynomial.IsLexIdeal A lex ideal is a monomial ideal L such that for monomials u, v of the same degree with u larger than v in the lexicographic order, v ∈ L implies u ∈ L line 67 source

    Source documentation

    A lex ideal is a monomial ideal L such that for monomials u, v of the same degree with u larger than v in the lexicographic order, v ∈ L implies u ∈ L. Here the variables are ordered by $x_1 > x_2 > \dots > x_n$, which for exponent vectors is toLex.

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

    Statement uses: Nat, Field, Ideal, MvPolynomial, Fin, Finsupp

    Proof uses: And, MvPolynomial.IsMonomialIdeal, Eq, AddMonoidHom, Finsupp.degree, LT.lt, Lex, Equiv, toLex, Membership.mem, LinearMap, RingHom.id, MvPolynomial.monomial, OfNat.ofNat

    43 instances, coercions and auxiliary constants left out.

    def IsLexIdeal (L : Ideal (MvPolynomial (Fin n) k)) : Prop :=
    …
  4. def MvPolynomial.purePowersIdeal The ideal generated by the pure powers $x_1^{d_1}, \dots, x_c^{d_c}$ line 72 source

    Source documentation

    The ideal generated by the pure powers $x_1^{d_1}, \dots, x_c^{d_c}$.

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

    Statement uses: Nat, Field, LE.le, Fin, Ideal, MvPolynomial, Finsupp

    Proof uses: Ideal.span, Set.range, HPow.hPow, MvPolynomial.X, Fin.castLE

    22 instances, coercions and auxiliary constants left out.

    noncomputable def purePowersIdeal {c : ℕ} (hc : c ≤ n) (d : Fin c → ℕ) :
        Ideal (MvPolynomial (Fin n) k) :=
    …

    Mentions: c

  5. theorem MvPolynomial.hilbertFunction_bot The zero ideal has Hilbert function zero line 77 source

    Source documentation

    The zero ideal has Hilbert function zero.

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

    Statement uses: Nat, Field, Eq, MvPolynomial.hilbertFunction, Bot.bot, Ideal, MvPolynomial, Fin, Finsupp, OfNat.ofNat

    Proof uses: Eq.mpr, Module.finrank, Subtype, Membership.mem, Submodule, Min.min, Submodule.restrictScalars, MvPolynomial.homogeneousSubmodule, id, congrArg, MvPolynomial.hilbertFunction.eq_1, Submodule.restrictScalars_bot, bot_inf_eq, finrank_bot, Eq.refl

    48 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem hilbertFunction_bot (d : ℕ) :
        hilbertFunction (⊥ : Ideal (MvPolynomial (Fin n) k)) d = 0 := by
    …

    Mentions: MvPolynomial.hilbertFunction

  6. theorem MvPolynomial.purePowersIdeal_zero For c = 0 there are no pure powers, so purePowersIdeal is the zero ideal line 82 source

    Source documentation

    For c = 0 there are no pure powers, so purePowersIdeal is the zero ideal.

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

    Statement uses: Nat, Field, LE.le, OfNat.ofNat, Fin, Eq, Ideal, MvPolynomial, Finsupp, MvPolynomial.purePowersIdeal, Bot.bot

    Proof uses: of_eq_true, Eq.trans, Submodule, True, congrFun', congrArg, Ideal.span, Set.range, HPow.hPow, MvPolynomial.X, Fin.castLE, EmptyCollection.emptyCollection, Set, Matrix.range_empty, Submodule.span_empty, eq_self

    31 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem purePowersIdeal_zero (hc : 0 ≤ n) (d : Fin 0 → ℕ) :
        (purePowersIdeal hc d : Ideal (MvPolynomial (Fin n) k)) = ⊥ := by
    …

    Mentions: MvPolynomial.purePowersIdeal

  7. theorem MvPolynomial.isLexIdeal_top The unit ideal is a lex ideal line 87 source

    Source documentation

    The unit ideal is a lex ideal.

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

    Statement uses: Nat, Field, MvPolynomial.IsLexIdeal, Top.top, Ideal, MvPolynomial, Fin, Finsupp

    Proof uses: And.intro, MvPolynomial.IsMonomialIdeal, Eq, AddMonoidHom, Finsupp.degree, LT.lt, Lex, Equiv, toLex, Membership.mem, LinearMap, RingHom.id, MvPolynomial.monomial, OfNat.ofNat, Exists.intro, Set, Ideal.span, Set.image, Set.univ, Eq.mpr and 11 more

    53 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

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

    theorem isLexIdeal_top : IsLexIdeal (⊤ : Ideal (MvPolynomial (Fin n) k)) := by
    …

    Mentions: MvPolynomial.IsLexIdeal