APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_2.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

69 declarations, 0 contain sorry, 0 declared as axioms

Imports (1)
  1. abbrev Monomial A monomial as its vector of natural-number exponents line 39 source

    Source documentation

    Monomials in r variables as finitely supported exponent vectors on Fin r.

    L4DEL explanation

    the exponent vector m = (m(0), m(1), m(2)) ∈ N3

    The Lean type Monomial(r) is the finitely supported exponent vector for a monomial in r variables. For the manuscript's three-variable theorem, a monomial such as x₀^a x₁^b x₂^c is therefore represented by the vector (a,b,c) in ℕ³.

    1. A coordinate records the exponent of one variable, so comparing two values pointwise is the same divisibility order used throughout the proof.
    2. The Lean definition works for any finite number r of variables; the companion specializes this representation to r = 3.

    Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion

    standard axioms: Quot.sound, propext what this means

    Statement uses: Nat

    Proof uses: Finsupp, Fin

    2 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:39 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:39 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:39 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:39 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:39 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:39 (same declaration text).

    abbrev Monomial (r : ℕ) := Fin r →₀ ℕ
  2. def totalDeg Total degree is the sum of a monomial's exponents line 42 source

    Source documentation

    Total degree of a monomial (sum of all exponents).

    L4DEL explanation

    |m| = m(0) + m(1) + m(2) for total degree.

    totalDeg(m)—written totalDeg m in Lean—adds every coordinate of the exponent vector. In three variables this is m(0)+m(1)+m(2), the usual total degree of the represented monomial.

    1. The finitely supported sum makes the definition uniform in the number of variables.
    2. Degree is the grading used both to group the order ideal into its O-sequence and to state that all maximal monomials of a pure ideal lie in one degree.

    Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion

    standard axioms: Quot.sound, propext what this means

    Statement uses: Nat, Monomial

    Proof uses: Finsupp.sum, Fin

    3 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:42 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:42 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:42 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:42 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:42 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:42 (same declaration text).

    def totalDeg {r : ℕ} (m : Monomial r) : ℕ :=
    …

    Mentions: Monomial

  3. structure OrderIdeal A finite set of monomials closed downward under divisibility line 47 source

    Source documentation

    A finite order ideal of monomials, closed downward under divisibility. Divisibility of monomials uses the standard pointwise ≤ on Finsupp.

    L4DEL explanation

    A finite order ideal Γ ⊂ N3 is a finite set closed downward under this order

    is said to be an O-sequence if there exists an order ideal M of monomials

    An OrderIdeal(r) (Lean: OrderIdeal r) stores a finite collection of monomials together with the guarantee that every divisor of a stored monomial is stored too. In exponent-vector form, divisibility is coordinatewise ≤.

    1. carrier is the finite set itself.
    2. downward_closed is the proof that if n is in the carrier and m ≤ n, then m is also in it.

    Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion, Richard P. Stanley, Hilbert functions of graded algebras (1978)

    standard axioms: Quot.sound, propext what this means

    Statement uses: Nat

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:47 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:47 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:47 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:47 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:47 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:47 (same declaration text).

    structure OrderIdeal (r : ℕ) where
    …
  4. lemma OrderIdeal.mem_of_dvd line 51 source

    standard axioms: Quot.sound, propext what this means

    Statement uses: Nat, OrderIdeal, Monomial, Membership.mem, Finset, OrderIdeal.carrier, LE.le, Fin

    Proof uses: OrderIdeal.downward_closed

    10 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:51 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:51 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:51 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:51 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:51 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:51 (same declaration text).

  5. def divisorsFinset All monomial divisors of one generator as a finite set line 56 source

    Source documentation

    The finite set of divisors of a monomial, i.e. the principal lower set {m | m ≤ g}.

    L4DEL explanation

    Div(g) = {u : u ≤ g}.

    divisorsFinset(g) (Lean: divisorsFinset g) is the principal lower set of g: it contains exactly the monomials u whose exponent vector is coordinatewise at most that of g. Equivalently, these are the monomial divisors of g.

    1. In the type-two proof, every element of the pure order ideal lies below one of its two maximal monomials.
    2. This lets the carrier be rewritten as the union of two such divisor sets, the first combinatorial reduction in the manuscript proof.

    Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion

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

    Statement uses: Nat, Monomial, Finset

    Proof uses: Finset.Iic, Fin

    13 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:56 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:56 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:56 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:56 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:56 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:56 (same declaration text).

    noncomputable def divisorsFinset {r : ℕ} (g : Monomial r) : Finset (Monomial r) :=
    …

    Mentions: Monomial

  6. lemma mem_divisorsFinset_iff line 59 source

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

    Statement uses: Nat, Monomial, Iff, Membership.mem, Finset, divisorsFinset, LE.le, Fin

    Proof uses: Finset.mem_Iic

    18 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:59 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:59 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:59 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:59 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:59 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:59 (same declaration text).

  7. def generatedOrderIdeal The finite order ideal generated by a finite set of monomials line 64 source

    Source documentation

    The finite order ideal generated by a finite set of monomials.

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

    Statement uses: Nat, Finset, Monomial, OrderIdeal

    Proof uses: OrderIdeal.mk, Finset.biUnion, Fin, divisorsFinset

    6 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:64 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:64 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:64 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:64 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:64 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:64 (same declaration text).

    Tactic trace: 3 steps

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

    noncomputable def generatedOrderIdeal {r : ℕ} (G : Finset (Monomial r)) : OrderIdeal r where
    …

    Mentions: Monomial, OrderIdeal

  8. lemma mem_generatedOrderIdeal_iff line 72 source

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

    Statement uses: Nat, Finset, Monomial, Iff, Membership.mem, OrderIdeal.carrier, generatedOrderIdeal, Exists, And, LE.le, Fin

    Proof uses: Iff.intro, divisorsFinset, Iff.mp, Finset.biUnion, Finset.mem_biUnion, Exists.intro, And.intro, mem_divisorsFinset_iff, Iff.mpr

    15 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:72 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:72 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:72 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:72 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:72 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:72 (same declaration text).

    Tactic trace: 8 steps

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

  9. def IsMaximalIn Maximality inside an order ideal under monomial divisibility line 82 source

    Source documentation

    Maximality with respect to divisibility inside an order ideal.

    L4DEL explanation

    A monomial m ∈ Γ is maximal if every n ∈ Γ with m ≤ n also satisfies n ≤ m.

    IsMaximalIn(I,m) (Lean: IsMaximalIn I m) says first that m belongs to I, and then that no strictly larger monomial of I is divisible by m. Any member n above m must also lie below m, hence equals it in the partial order.

    1. The condition is relative to the selected order ideal, not maximality among all monomials.
    2. These maximal elements are the generators whose shared degree and number determine purity, socle degree, and type.

    Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion

    standard axioms: Quot.sound, propext what this means

    Statement uses: Nat, OrderIdeal, Monomial

    Proof uses: And, Membership.mem, Finset, OrderIdeal.carrier, LE.le, Fin

    5 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:82 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:82 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:82 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:82 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:82 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:82 (same declaration text).

    def IsMaximalIn {r : ℕ} (I : OrderIdeal r) (m : Monomial r) : Prop :=
    …

    Mentions: OrderIdeal, Monomial

  10. def maximalMonomials The finite set of maximal monomials of an order ideal line 87 source

    Source documentation

    The finite set of maximal monomials of an order ideal.

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

    Statement uses: Nat, OrderIdeal, Finset, Monomial

    Proof uses: Finset.filter, IsMaximalIn, Classical.propDecidable, OrderIdeal.carrier

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:87 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:87 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:87 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:87 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:87 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:87 (same declaration text).

    noncomputable def maximalMonomials {r : ℕ} (I : OrderIdeal r) : Finset (Monomial r) :=
    …

    Mentions: OrderIdeal, Monomial

  11. def IsPure Purity means every maximal monomial has the same total degree line 91 source

    Source documentation

    Purity: all maximal monomials have the same total degree.

    L4DEL explanation

    The ideal is pure if all maximal monomials have the same total degree

    IsPure(I) (Lean: IsPure I) requires any two maximal monomials of I to have equal total degree. It does not itself assert that a maximal monomial exists; that nonemptiness is added by PureOrderIdeal.

    1. The equal-degree condition supplies one common top grading for the ideal.
    2. That common degree becomes the socle degree used as the endpoint of the finite O-sequence.

    Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion

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

    Statement uses: Nat, OrderIdeal

    Proof uses: Monomial, Membership.mem, Finset, maximalMonomials, Eq, totalDeg

    1 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:91 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:91 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:91 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:91 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:91 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:91 (same declaration text).

    def IsPure {r : ℕ} (I : OrderIdeal r) : Prop :=
    …

    Mentions: OrderIdeal

  12. structure PureOrderIdeal An order ideal packaged with purity and a maximal monomial line 95 source

    Source documentation

    A pure order ideal packages an order ideal with purity and a nonempty maximal set.

    L4DEL explanation

    The ideal is pure if all maximal monomials have the same total degree

    PureOrderIdeal(r) (Lean: PureOrderIdeal r) is the structure used when later statements need a pure finite order ideal as data. It contains the ideal, a proof that its maximal monomials share one degree, and a proof that the maximal set is nonempty.

    1. The nonempty field makes the subsequent choice of a maximal monomial—and therefore the definition of socle degree—total rather than conditional.
    2. This is a formal packaging choice around the manuscript's mathematical notion of a pure order ideal, not a stronger log-concavity assertion.

    Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion

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

    Statement uses: Nat

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:95 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:95 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:95 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:95 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:95 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:95 (same declaration text).

    structure PureOrderIdeal (r : ℕ) where
    …
  13. def typePO The type is the number of maximal monomials line 101 source

    Source documentation

    Type of a pure order ideal: the number of maximal monomials.

    L4DEL explanation

    The type is the number of maximal monomials.

    typePO(P) is the cardinality of maximalMonomials(P.ideal). In Lean these are written typePO P and maximalMonomials P.ideal. Thus “type 2” in the theorem means that the pure order ideal has exactly two maximal monomial generators.

    1. The definition counts maximal monomials; it does not count variables, degrees, or all elements of the ideal.
    2. The main proof uses type two to name two distinct maxima and express the carrier as the union of their divisor sets.

    Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion

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

    Statement uses: Nat, PureOrderIdeal

    Proof uses: Finset.card, Monomial, maximalMonomials, PureOrderIdeal.ideal

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:101 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:101 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:101 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:101 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:101 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:101 (same declaration text).

    noncomputable def typePO {r : ℕ} (P : PureOrderIdeal r) : ℕ :=
    …

    Mentions: PureOrderIdeal

  14. def socleDegree The shared total degree of a pure ideal's maximal monomials line 106 source

    Source documentation

    Socle degree of a pure order ideal (the common degree of maximal monomials).

    L4DEL explanation

    this common degree is the socle degree.

    socleDegree(P) (Lean: socleDegree P) chooses one maximal monomial and returns its total degree. Purity proves that every other maximal monomial has the same degree, so the result is independent of which witness is chosen.

    1. Nonemptiness of the maximal set supplies the chosen witness.
    2. The socle degree is the top index through which unimodality or log-concavity is asserted.

    Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion

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

    Statement uses: Nat, PureOrderIdeal

    Proof uses: totalDeg, Classical.choose, Monomial, Membership.mem, Finset, maximalMonomials, PureOrderIdeal.ideal, PureOrderIdeal.maximal_nonempty

    1 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:106 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:106 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:106 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:106 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:106 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:106 (same declaration text).

    noncomputable def socleDegree {r : ℕ} (P : PureOrderIdeal r) : ℕ :=
    …

    Mentions: PureOrderIdeal

  15. def pureOSequence Degree-by-degree counts of monomials in an order ideal line 110 source

    Source documentation

    The pure O-sequence: number of monomials of total degree d in an order ideal.

    L4DEL explanation

    The pure O-sequence of Γ is hΓ (d) = #{m ∈ Γ : |m| = d}.

    is said to be an O-sequence if there exists an order ideal M of monomials

    pureOSequence(I,d) (Lean: pureOSequence I d) counts the monomials in I whose total degree is exactly d. Varying d produces the Hilbert-function sequence studied by the theorem.

    1. The carrier is filtered by the equation totalDeg m = d.
    2. The cardinality of that filtered finite set is the value of the sequence at degree d.

    Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion, Richard P. Stanley, Hilbert functions of graded algebras (1978)

    standard axioms: Quot.sound, propext what this means

    Statement uses: Nat, OrderIdeal

    Proof uses: Finset.card, Monomial, Finset.filter, Eq, totalDeg, OrderIdeal.carrier

    1 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:110 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:110 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:110 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:110 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:110 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:110 (same declaration text).

    def pureOSequence {r : ℕ} (I : OrderIdeal r) (d : ℕ) : ℕ :=
    …

    Mentions: OrderIdeal

  16. def IsUnimodal Unimodality of a finite sequence h up to index e: there exists a peak j ≤ e such that h is weakly increasing on [0, j] and weakly decreasing on [j, e] line 116 source

    Source documentation

    Unimodality of a finite sequence h up to index e: there exists a peak j ≤ e such that h is weakly increasing on [0, j] and weakly decreasing on [j, e].

    no axioms what this means

    Statement uses: Nat

    Proof uses: Exists, And, LE.le, LT.lt, HAdd.hAdd, OfNat.ofNat

    5 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:116 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:116 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:116 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:116 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:116 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:116 (same declaration text).

    def IsUnimodal (e : ℕ) (h : ℕ → ℕ) : Prop :=
    …
  17. def IsLogConcaveUpTo Log-concavity at every internal degree through a chosen endpoint line 122 source

    Source documentation

    Log-concavity up to degree e: h_i² ≥ h_{i-1} h_{i+1} for i ∈ (0, e).

    L4DEL explanation

    hΓ (i − 1)hΓ (i + 1) ≤ hΓ (i)2 (0 < i < e).

    IsLogConcaveUpTo(e,h) (Lean: IsLogConcaveUpTo e h) requires h(i-1)·h(i+1) ≤ h(i)² for every integer index strictly between 0 and e. Each middle term must therefore dominate the geometric mean of its two neighbours.

    1. Finset.Ioo 0 e makes both boundary exclusions explicit: neither 0 nor e is tested.
    2. For the pure O-sequence theorem, e is instantiated with the socle degree.

    Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion

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

    Statement uses: Nat

    Proof uses: Membership.mem, Finset, Finset.Ioo, OfNat.ofNat, LE.le, HMul.hMul, HSub.hSub, HAdd.hAdd, HPow.hPow

    14 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:122 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:122 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:122 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:122 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:122 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:122 (same declaration text).

    def IsLogConcaveUpTo (e : ℕ) (h : ℕ → ℕ) : Prop :=
    …
  18. def mXYZ The monomial xyz encoded as an exponent vector in 3 variables line 127 source

    Source documentation

    The monomial xyz encoded as an exponent vector in 3 variables.

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

    Statement uses: Monomial, OfNat.ofNat, Nat

    Proof uses: HAdd.hAdd, Finsupp, Fin, Finsupp.single

    10 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:127 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:127 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:127 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:127 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:127 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:127 (same declaration text).

    noncomputable def mXYZ : Monomial 3 :=
    …

    Mentions: Monomial

  19. def mXZ2 The monomial xz^2 encoded as an exponent vector in 3 variables line 131 source

    Source documentation

    The monomial xz^2 encoded as an exponent vector in 3 variables.

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

    Statement uses: Monomial, OfNat.ofNat, Nat

    Proof uses: HAdd.hAdd, Finsupp, Fin, Finsupp.single

    10 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:131 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:131 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:131 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:131 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:131 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:131 (same declaration text).

    noncomputable def mXZ2 : Monomial 3 :=
    …

    Mentions: Monomial

  20. def GammaP1 The order ideal generated by the two monomials from P1 line 135 source

    Source documentation

    The order ideal generated by the two monomials from P1.

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

    Statement uses: OrderIdeal, OfNat.ofNat, Nat

    Proof uses: generatedOrderIdeal, Insert.insert, Monomial, Finset, Fin, mXYZ, Singleton.singleton, mXZ2

    9 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:135 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:135 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:135 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:135 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:135 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:135 (same declaration text).

    noncomputable def GammaP1 : OrderIdeal 3 :=
    …

    Mentions: OrderIdeal

  21. def ProblemP1 P1 statement: the degree-counting values for the generated order ideal are (1, 3, 4, 2) line 139 source

    Source documentation

    P1 statement: the degree-counting values for the generated order ideal are (1, 3, 4, 2).

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

    Proof uses: And, Eq, Nat, pureOSequence, OfNat.ofNat, GammaP1

    1 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:139 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:139 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:139 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:139 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:139 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:139 (same declaration text).

    def ProblemP1 : Prop :=
    …
  22. def ProblemP2CoeffFormula P2 (coefficient-level): one-generator degree counts match the product-formula coefficients line 149 source

    Source documentation

    P2 (coefficient-level): one-generator degree counts match the product-formula coefficients.

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

    Proof uses: Nat, Monomial, Eq, pureOSequence, generatedOrderIdeal, Singleton.singleton, Finset, Finset.card, Finset.filter, totalDeg, divisorsFinset

    2 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:149 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:149 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:149 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:149 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:149 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:149 (same declaration text).

    def ProblemP2CoeffFormula : Prop :=
    …
  23. def ProblemP2Type1Unimodal P2 consequence: every type-1 pure O-sequence is unimodal line 155 source

    Source documentation

    P2 consequence: every type-1 pure O-sequence is unimodal.

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

    Proof uses: Nat, PureOrderIdeal, Eq, typePO, OfNat.ofNat, IsUnimodal, socleDegree, pureOSequence, PureOrderIdeal.ideal

    1 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:155 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:155 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:155 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:155 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:155 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:155 (same declaration text).

    def ProblemP2Type1Unimodal : Prop :=
    …
  24. def ProblemP2Type1LogConcave P2 consequence: every type-1 pure O-sequence is log-concave line 160 source

    Source documentation

    P2 consequence: every type-1 pure O-sequence is log-concave.

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

    Proof uses: Nat, PureOrderIdeal, Eq, typePO, OfNat.ofNat, IsLogConcaveUpTo, socleDegree, pureOSequence, PureOrderIdeal.ideal

    1 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:160 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:160 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:160 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:160 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:160 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:160 (same declaration text).

    def ProblemP2Type1LogConcave : Prop :=
    …
  25. def ProblemP2 P2 statement, split into a coefficient-level formula plus two sequence consequences line 165 source

    Source documentation

    P2 statement, split into a coefficient-level formula plus two sequence consequences.

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

    Proof uses: And, ProblemP2CoeffFormula, ProblemP2Type1Unimodal, ProblemP2Type1LogConcave

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:165 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:165 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:165 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:165 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:165 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:165 (same declaration text).

    def ProblemP2 : Prop :=
    …
  26. def ProblemP3 P3 statement: in codimension 3, first-half log-concavity up to e / 2 line 170 source

    Source documentation

    P3 statement: in codimension 3, first-half log-concavity up to e / 2. Here e is the socle degree of the pure order ideal.

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

    Proof uses: PureOrderIdeal, OfNat.ofNat, Nat, LT.lt, LE.le, HDiv.hDiv, socleDegree, HMul.hMul, pureOSequence, PureOrderIdeal.ideal, HSub.hSub, HAdd.hAdd, HPow.hPow

    14 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:170 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:170 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:170 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:170 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:170 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:170 (same declaration text).

    def ProblemP3 : Prop :=
    …
  27. def ProblemP4 P4 statement: codimension 3 and type 2 imply unimodality line 178 source

    Source documentation

    P4 statement: codimension 3 and type 2 imply unimodality.

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

    Proof uses: PureOrderIdeal, OfNat.ofNat, Nat, Eq, typePO, IsUnimodal, socleDegree, pureOSequence, PureOrderIdeal.ideal

    1 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:178 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:178 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:178 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:178 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:178 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:178 (same declaration text).

    def ProblemP4 : Prop :=
    …
  28. def ExistsNonLogConcavePureOSeq Helper predicate for open problems about non-log-concavity at fixed codimension/type line 184 source

    Source documentation

    Helper predicate for open problems about non-log-concavity at fixed codimension/type.

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

    Statement uses: Nat

    Proof uses: Exists, PureOrderIdeal, And, Eq, typePO, Not, IsLogConcaveUpTo, socleDegree, pureOSequence, PureOrderIdeal.ideal

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:184 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:184 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:184 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:184 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:184 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:184 (same declaration text).

    def ExistsNonLogConcavePureOSeq (r t : ℕ) : Prop :=
    …
  29. def ProblemP5 P5: in codimension 3, every type-2 pure O-sequence is log-concave line 189 source

    Source documentation

    P5: in codimension 3, every type-2 pure O-sequence is log-concave.

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

    Proof uses: PureOrderIdeal, OfNat.ofNat, Nat, Eq, typePO, IsLogConcaveUpTo, socleDegree, pureOSequence, PureOrderIdeal.ideal

    1 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:189 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:189 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:189 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:189 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:189 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:189 (same declaration text).

    def ProblemP5 : Prop :=
    …
  30. def ProblemP6 P6: for fixed r ≥ 5, every type-2 pure O-sequence in codimension r is unimodal line 195 source

    Source documentation

    P6: for fixed r ≥ 5, every type-2 pure O-sequence in codimension r is unimodal.

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

    Statement uses: Nat

    Proof uses: LE.le, OfNat.ofNat, PureOrderIdeal, Eq, typePO, IsUnimodal, socleDegree, pureOSequence, PureOrderIdeal.ideal

    2 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:195 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:195 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:195 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:195 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:195 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:195 (same declaration text).

    def ProblemP6 (r : ℕ) : Prop :=
    …
  31. def ProblemP7 P7: threshold existence for eventual log-concavity failure in codimension r line 202 source

    Source documentation

    P7: threshold existence for eventual log-concavity failure in codimension r.

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

    Statement uses: Nat

    Proof uses: LE.le, OfNat.ofNat, Exists, And, ExistsNonLogConcavePureOSeq

    2 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:202 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:202 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:202 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:202 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:202 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:202 (same declaration text).

    def ProblemP7 (r : ℕ) : Prop :=
    …
  32. def LCFailureThreshold Helper: t0 is a threshold after which all types admit a non-log-concave example line 207 source

    Source documentation

    Helper: t0 is a threshold after which all types admit a non-log-concave example.

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

    Statement uses: Nat

    Proof uses: LE.le, ExistsNonLogConcavePureOSeq

    1 instances, coercions and auxiliary constants left out.

    Also declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:207 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:207 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:207 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:207 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:207 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:207 (same declaration text).

    def LCFailureThreshold (r t0 : ℕ) : Prop :=
    …
  33. def ProblemP8 P8: least threshold for eventual log-concavity failure in codimension r line 211 source

    Source documentation

    P8: least threshold for eventual log-concavity failure in codimension r.

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

    Statement uses: Nat

    Proof uses: LE.le, OfNat.ofNat, Exists, IsLeast, setOf, LCFailureThreshold

    2 instances, coercions and auxiliary constants left out.

    Distinct definitions of this name: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:211 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_3.lean:211 (same statement text; different proof or body), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_4.lean:211 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.lean:211 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_7.lean:211 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:211 (same declaration text). Qualify references as ProblemP8@path.

    def ProblemP8 (r : ℕ) : Prop :=
    …
  34. lemma P2_coeff line 216 source

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

    Statement uses: ProblemP2CoeffFormula

    Proof uses: Nat, Monomial, id, Eq, pureOSequence, generatedOrderIdeal, Singleton.singleton, Finset, Finset.card, Finset.filter, totalDeg, divisorsFinset, Eq.rec, Eq.refl, Finset.biUnion, Fin, Finset.ext, of_eq_true, Iff, Membership.mem and 8 more

    8 instances, coercions and auxiliary constants left out.

    Tactic trace: 5 steps

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

  35. def seq_of_g line 223 source

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

    Statement uses: Nat, Monomial

    Proof uses: Finset.card, Finset.filter, Eq, totalDeg, divisorsFinset

    1 instances, coercions and auxiliary constants left out.

  36. lemma ring_identity line 226 source

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

    Statement uses: Int, Eq, HSub.hSub, HMul.hMul, HAdd.hAdd

    Proof uses: Mathlib.Tactic.Ring.of_eq, HPow.hPow, Nat, Nat.rawCast, Mathlib.Tactic.Ring.instCommSemiringNat, Mathlib.Meta.NormNum.instAddMonoidWithOne, Int.rawCast, Int.negOfNat, OfNat.ofNat, Mathlib.Tactic.Ring.sub_congr, Mathlib.Tactic.Ring.mul_congr, Mathlib.Tactic.Ring.add_congr, Mathlib.Tactic.Ring.atom_pf, Mathlib.Tactic.Ring.add_pf_add_lt, Mathlib.Tactic.Ring.add_pf_zero_add, Mathlib.Tactic.Ring.add_mul, Mathlib.Tactic.Ring.mul_add, Mathlib.Tactic.Ring.mul_pp_pf_overlap, Mathlib.Meta.NormNum.IsNat.to_raw_eq, Mathlib.Meta.NormNum.isNat_add and 26 more

    33 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  37. lemma sum_eval_1 line 231 source

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

    Statement uses: Int, Nat, Eq, Finset.sum, Finset.range, HSub.hSub, HMul.hMul, HAdd.hAdd, OfNat.ofNat

    Proof uses: of_eq_true, Eq.trans, True, congr, congrArg, Finset.sum_sub_distrib, Finset.mul_sum, eq_self

    34 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  38. lemma sum_eval_2 line 236 source

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

    Statement uses: Int, Nat, Eq, Finset.sum, Finset.range, HAdd.hAdd, OfNat.ofNat, HSub.hSub, HMul.hMul

    Proof uses: of_eq_true, Eq.trans, True, congr, congrArg, Finset.sum_sub_distrib, Finset.sum_mul, eq_self

    38 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  39. lemma sum_eval_H1 line 241 source

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

    Statement uses: Int, Nat, Eq, Finset.sum, Finset.range, HAdd.hAdd, OfNat.ofNat, HSub.hSub

    Proof uses: Finset.sum_range_succ

    14 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  40. lemma sum_eval_H2 line 245 source

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

    Statement uses: Int, Nat, Eq, Finset.sum, Finset.range, HAdd.hAdd, OfNat.ofNat, HSub.hSub

    Proof uses: Eq.trans, Finset.sum_range_succ, congr_arg₂, Nat.recAux, of_eq_true, True, congr, congrArg, Mathlib.Meta.NormNum.IsNat.to_eq, Eq.rec, Finset.empty, Mathlib.Meta.NormNum.IsNat, Mathlib.Meta.NormNum.Finset.sum_empty, Eq.symm, congr_fun, EmptyCollection.emptyCollection, Finset, congr_arg, Mathlib.Meta.Finset.range_zero', Mathlib.Meta.NormNum.isNat_ofNat and 14 more

    55 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

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

  41. lemma sum_eval_H3 line 249 source

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

    Statement uses: Int, Nat, Eq, Finset.sum, Finset.range, HAdd.hAdd, OfNat.ofNat, HSub.hSub

    Proof uses: of_eq_true, Eq.trans, True, congrArg, Finset.sum_range_succ', congr, Finset.sum_congr, Eq.refl, Finset, Membership.mem, Nat.cast_add, Nat.cast_one, add_sub_add_right_eq_sub, Nat.cast_zero, sub_zero, add_comm, eq_self

    46 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  42. lemma sum_eval_H4 line 253 source

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

    Statement uses: Int, Nat, Eq, Finset.sum, Finset.range, HSub.hSub, OfNat.ofNat, HAdd.hAdd

    Proof uses: Nat.recAux, of_eq_true, Eq.trans, True, congr, congrArg, Mathlib.Meta.NormNum.IsNat.to_eq, Eq.rec, Finset.empty, Mathlib.Meta.NormNum.IsNat, Mathlib.Meta.NormNum.Finset.sum_empty, Eq.symm, congr_fun, EmptyCollection.emptyCollection, Finset, congr_arg, Mathlib.Meta.Finset.range_zero', Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Neg.neg and 24 more

    59 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

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

  43. lemma sum_eval_H5 line 257 source

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

    Statement uses: Int, Nat, Eq, Finset.sum, Finset.range, HAdd.hAdd, OfNat.ofNat, HSub.hSub

    Proof uses: of_eq_true, Eq.trans, True, congr, congrArg, Finset.sum_congr, Eq.refl, Finset, Membership.mem, sub_add, Finset.sum_range_succ', Nat.cast_add, Mathlib.Meta.NormNum.IsNat.to_eq, Mathlib.Meta.NormNum.isNat_natCast, Mathlib.Meta.NormNum.isNat_ofNat, add_sub_cancel_right, Neg.neg, Mathlib.Meta.NormNum.IsInt.neg_to_eq, Mathlib.Meta.NormNum.isInt_sub, Int.ofNat and 7 more

    49 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  44. lemma log_concave_conv_identity line 261 source

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

    Statement uses: Int, Nat, Eq, HSub.hSub, HMul.hMul, Finset.sum, Finset.range, HAdd.hAdd, OfNat.ofNat

    Proof uses: Eq.mpr, id, congrArg, sum_eval_1, sum_eval_2, sum_eval_H1, sum_eval_H2, sum_eval_H3, sum_eval_H4, sum_eval_H5, ring_identity

    24 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

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

  45. def is_ratio_decreasing_Z line 269 source

    no axioms what this means

    Statement uses: Int

    Proof uses: GE.ge, HMul.hMul, HAdd.hAdd, OfNat.ofNat, HSub.hSub

    8 instances, coercions and auxiliary constants left out.

  46. lemma log_concave_conv_Z line 272 source

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

    Statement uses: Int, Nat, is_ratio_decreasing_Z, GE.ge, HMul.hMul, Finset.sum, Finset.range, HAdd.hAdd, OfNat.ofNat, HSub.hSub

    Proof uses: Eq, log_concave_conv_identity, LE.le, Finset.sum_nonneg, Membership.mem, Finset, Decidable.byContradiction, Not, le_of_not_gt, LT.lt, Mathlib.Tactic.Linarith.lt_irrefl, Eq.mp, Neg.neg, congrArg, Mathlib.Tactic.Ring.of_eq, Mathlib.Tactic.Ring.add_congr, Int.rawCast, Int.negOfNat, HPow.hPow, Nat.rawCast and 50 more

    98 instances, coercions and auxiliary constants left out.

    Tactic trace: 18 steps

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

  47. def seq_of_g_Z line 292 source

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

    Statement uses: Nat, Monomial, Int

    Proof uses: ite, LT.lt, OfNat.ofNat, seq_of_g, Int.toNat

    5 instances, coercions and auxiliary constants left out.

  48. lemma totalDeg_eq_sum_univ line 295 source

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

    Statement uses: Nat, Monomial, Eq, totalDeg, Finset.sum, Fin, Finset.univ

    Proof uses: Eq.mpr, id, congrArg, Eq.symm, propext, eq_comm, Finsupp.sum, totalDeg.eq_1, Finset.sum_subset, Finsupp.support, Finsupp, Finset.subset_univ, Membership.mem, Finset, Not, Iff.mp, OfNat.ofNat, Finsupp.notMem_support_iff

    18 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

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

  49. lemma totalDeg_le_of_le line 300 source

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

    Statement uses: Nat, Monomial, LE.le, Fin, totalDeg

    Proof uses: Eq.mpr, Finset.sum, Finset.univ, id, Eq, congrArg, totalDeg_eq_sum_univ, Finset.sum_le_sum, Membership.mem, Finset

    16 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

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

  50. lemma seq_of_g_zero line 306 source

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

    Statement uses: Nat, Monomial, LT.lt, totalDeg, Eq, seq_of_g, OfNat.ofNat

    Proof uses: id, Iff.mpr, Finset.card, Finset.filter, divisorsFinset, Finset, EmptyCollection.emptyCollection, Finset.card_eq_zero, Eq.mpr, Membership.mem, Not, congrArg, propext, Finset.filter_eq_empty_iff, LE.le, Fin, Iff.mp, mem_divisorsFinset_iff, totalDeg_le_of_le, False.elim and 51 more

    78 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

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

  51. lemma exists_index_lt_of_totalDeg_lt line 317 source

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

    Statement uses: Nat, Monomial, LE.le, Fin, LT.lt, totalDeg, Exists

    Proof uses: Decidable.byContradiction, Not, Eq, Finsupp.ext, le_antisymm, Finsupp, Eq.mp, Eq.trans, binderNameHint, forall_congr, lt_irrefl, congrArg

    25 instances, coercions and auxiliary constants left out.

    Tactic trace: 7 steps

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

  52. lemma totalDeg_add_single line 326 source

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

    Statement uses: Nat, Monomial, Fin, Eq, totalDeg, HAdd.hAdd, Finsupp, Finsupp.single, OfNat.ofNat

    Proof uses: Eq.trans, Finsupp.sum, Finsupp.sum_add_index', Decidable.byContradiction, Not, of_eq_true, True, implies_congr, Eq.refl, forall_congr, eq_self, implies_true, congr_arg, congrArg, Finsupp.sum_single_index

    25 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

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

  53. lemma exists_dvd_of_totalDeg_le line 330 source

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

    Statement uses: Nat, Monomial, LE.le, totalDeg, Exists, And, Fin, Eq

    Proof uses: Nat.recAux, OfNat.ofNat, Exists.intro, And.intro, Nat.zero_le, Finsupp, rfl, HAdd.hAdd, le_trans, Nat.succ, Nat.le_succ, LT.lt, Eq.mpr, id, congrArg, exists_index_lt_of_totalDeg_lt, Finsupp.single, dite, Finsupp.single_eq_same, Eq.refl and 4 more

    26 instances, coercions and auxiliary constants left out.

    Tactic trace: 37 steps

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

  54. lemma seq_of_g_pos line 365 source

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

    Statement uses: Nat, Monomial, LE.le, totalDeg, LT.lt, OfNat.ofNat, seq_of_g

    Proof uses: id, Exists, And, Fin, Eq, exists_dvd_of_totalDeg_le, Finset.card, Finset.filter, divisorsFinset, Membership.mem, Finset, Eq.mpr, congrArg, propext, Finset.mem_filter, And.intro, Iff.mpr, mem_divisorsFinset_iff, Finset.Nonempty, Finset.card_pos and 1 more

    13 instances, coercions and auxiliary constants left out.

    Tactic trace: 7 steps

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

  55. lemma seq_of_g_Z_pos line 374 source

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

    Statement uses: Nat, Monomial, Int, LE.le, OfNat.ofNat, totalDeg, LT.lt, seq_of_g_Z

    Proof uses: id, Not, Not.intro, Mathlib.Tactic.Linarith.lt_irrefl, Eq.mp, HAdd.hAdd, Neg.neg, HSub.hSub, congrArg, Mathlib.Tactic.Ring.of_eq, Mathlib.Tactic.Ring.add_congr, Int.rawCast, Int.negOfNat, HMul.hMul, HPow.hPow, Nat.rawCast, Mathlib.Tactic.Ring.instCommSemiringNat, Mathlib.Tactic.Ring.neg_congr, Mathlib.Tactic.Ring.cast_pos, Mathlib.Meta.NormNum.isNat_ofNat and 44 more

    85 instances, coercions and auxiliary constants left out.

    Tactic trace: 9 steps

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

  56. lemma seq_of_g_Z_zero line 385 source

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

    Statement uses: Nat, Monomial, Int, Or, LT.lt, OfNat.ofNat, totalDeg, Eq, seq_of_g_Z

    Proof uses: id, dite, ite, seq_of_g, Int.toNat, Eq.mpr, congrArg, if_pos, Eq.refl, Not, if_neg, False.elim, LE.le, le_of_not_gt, Mathlib.Tactic.Linarith.lt_irrefl, Eq.mp, HAdd.hAdd, HMul.hMul, Neg.neg, HSub.hSub and 55 more

    87 instances, coercions and auxiliary constants left out.

    Tactic trace: 17 steps

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

  57. lemma ratio_decreasing_of_log_concave_Z line 400 source

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

    Statement uses: Int, GE.ge, HMul.hMul, HSub.hSub, OfNat.ofNat, HAdd.hAdd, And, LE.le, LT.lt, Or, Eq, is_ratio_decreasing_Z

    Proof uses: Eq.mpr, Real, id, forall_congr, implies_congr, AddCommGroupWithOne, PartialOrder, AddLeftMono, ZeroLEOneClass, NeZero, Eq.symm, propext, Int.cast_le, Eq.trans, congr, congrArg, Int.cast_mul, cast, Nat, Eq.refl and 103 more

    167 instances, coercions and auxiliary constants left out.

    Tactic trace: 34 steps

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

  58. lemma seq_of_g_Z_conv line 418 source

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

    Statement uses: Nat, Monomial, Fin, Not, Membership.mem, Finset, Finsupp.support, Int, Eq, seq_of_g_Z, HAdd.hAdd, Finsupp, Finsupp.single, Finset.sum, Finset.range, OfNat.ofNat, HSub.hSub

    Proof uses: id, ite, LT.lt, seq_of_g, Int.toNat, Eq.mpr, Finset.card, Finset.filter, totalDeg, divisorsFinset, Finset.Iic, Finsupp.sum, congr, congrArg, ite_congr, Eq.refl, Finset.card_filter, Finset.sum_congr, LE.le, dite and 78 more

    152 instances, coercions and auxiliary constants left out.

    Tactic trace: 31 steps

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

  59. lemma log_concave_seq_of_g_Z_ind line 435 source

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

    Statement uses: Nat, Monomial, is_ratio_decreasing_Z, seq_of_g_Z

    Proof uses: Finsupp.induction, Fin, Eq.mpr, OfNat.ofNat, Finsupp, Int, LE.le, ite, LT.lt, HAdd.hAdd, HMul.hMul, seq_of_g, Int.toNat, HSub.hSub, id, Eq, forall_congr, GE.ge, implies_congr, Eq.trans and 66 more

    96 instances, coercions and auxiliary constants left out.

    Tactic trace: 25 steps

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

  60. lemma log_concave_seq_of_g line 456 source

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

    Statement uses: Nat, Monomial, IsLogConcaveUpTo, totalDeg, seq_of_g

    Proof uses: id, Membership.mem, Finset, Finset.Ioo, OfNat.ofNat, GE.ge, Int, HMul.hMul, seq_of_g_Z, HAdd.hAdd, HSub.hSub, log_concave_seq_of_g_Z_ind, Decidable.byContradiction, Not, Eq, LT.lt, Not.intro, Mathlib.Tactic.Linarith.lt_irrefl, Eq.mp, Neg.neg and 68 more

    100 instances, coercions and auxiliary constants left out.

    Tactic trace: 28 steps

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

  61. lemma unimodal_of_log_concave line 484 source

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

    Statement uses: Nat, IsLogConcaveUpTo, LE.le, LT.lt, OfNat.ofNat, IsUnimodal

    Proof uses: id, Exists.intro, And, HAdd.hAdd, SupSet.sSup, setOf, And.intro, csSup_le', And.left, And.elim, Membership.mem, Set, Exists.choose, exists_lt_of_lt_csSup, bot_le, unimodal_of_log_concave.match_4, And.right, Exists.choose_spec, Iff.mp, Not and 31 more

    44 instances, coercions and auxiliary constants left out.

    Tactic trace: 18 steps

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

  62. lemma unimodal_seq_of_g line 494 source

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

    Statement uses: Nat, Monomial, IsUnimodal, totalDeg, seq_of_g

    Proof uses: IsLogConcaveUpTo, log_concave_seq_of_g, LE.le, LT.lt, OfNat.ofNat, seq_of_g_pos, unimodal_of_log_concave

    3 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

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

  63. lemma mem_maximalMonomials_iff line 500 source

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

    Statement uses: Nat, OrderIdeal, Monomial, Iff, Membership.mem, Finset, maximalMonomials, IsMaximalIn

    Proof uses: id, Eq.mpr, Finset.filter, Classical.propDecidable, OrderIdeal.carrier, And, Eq, congrArg, propext, Finset.mem_filter, and_iff_right_of_imp, And.left, LE.le, Fin

    6 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

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

  64. lemma eq_of_le_of_totalDeg_le line 507 source

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

    Statement uses: Nat, Monomial, LE.le, Fin, totalDeg, Eq

    Proof uses: Finsupp.ext, LE.le.eq_of_not_lt, Finsupp, LT.lt, False.elim, False, Eq.mp, Finsupp.sum, Eq.trans, Finset.sum, Top.top, Finset, congr, congrArg, Zero, AddCommMonoid, Top, HasSubset.Subset, Finsupp.support, Membership.mem and 19 more

    32 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

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

  65. lemma exists_le_maximal line 512 source

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

    Statement uses: Nat, OrderIdeal, Monomial, Membership.mem, Finset, OrderIdeal.carrier, Exists, And, maximalMonomials, LE.le, Fin

    Proof uses: Finset.filter, Finset.Nonempty, Exists.intro, Eq.mpr, id, Eq, congrArg, propext, Finset.mem_filter, And.intro, le_rfl, Finset.image, totalDeg, Finset.Nonempty.image, Finset.max', Finset.max'_mem, Iff.mp, Finset.mem_image, And.right, Eq.mp and 9 more

    21 instances, coercions and auxiliary constants left out.

    Tactic trace: 30 steps

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

  66. lemma type1_carrier_eq line 543 source

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

    Statement uses: Nat, PureOrderIdeal, Eq, typePO, OfNat.ofNat, Exists, Monomial, And, Finset, OrderIdeal.carrier, PureOrderIdeal.ideal, divisorsFinset, socleDegree, totalDeg

    Proof uses: Finset.card, maximalMonomials, Singleton.singleton, Iff.mp, Finset.card_eq_one, Exists.intro, And.intro, Finset.ext, Iff.intro, Membership.mem, LE.le, Fin, exists_le_maximal, Eq.mpr, id, congrArg, Eq.symm, Finset.mem_singleton, Iff.mpr, mem_divisorsFinset_iff and 10 more

    10 instances, coercions and auxiliary constants left out.

    Tactic trace: 35 steps

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

  67. lemma P2_unimodal line 578 source

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

    Statement uses: ProblemP2Type1Unimodal

    Proof uses: Nat, PureOrderIdeal, Eq, typePO, OfNat.ofNat, Monomial, And, Finset, OrderIdeal.carrier, PureOrderIdeal.ideal, divisorsFinset, socleDegree, totalDeg, Exists, IsUnimodal, pureOSequence, type1_carrier_eq, seq_of_g, funext, id and 6 more

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

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

  68. lemma P2_logconcave line 588 source

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

    Statement uses: ProblemP2Type1LogConcave

    Proof uses: Nat, PureOrderIdeal, Eq, typePO, OfNat.ofNat, Monomial, And, Finset, OrderIdeal.carrier, PureOrderIdeal.ideal, divisorsFinset, socleDegree, totalDeg, Exists, IsLogConcaveUpTo, pureOSequence, type1_carrier_eq, seq_of_g, funext, id and 6 more

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

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

  69. theorem P2 line 599 source

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

    Statement uses: ProblemP2

    Proof uses: And.intro, ProblemP2CoeffFormula, And, ProblemP2Type1Unimodal, ProblemP2Type1LogConcave, Nat, P2_coeff, P2_unimodal, P2_logconcave

    Distinct definitions of this name: APNOutputs/OEIS/oeis_51293_conjecture_0.lean:122 (different declaration text). Qualify references as P2@path.

    Tactic trace: 1 steps

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