APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_5.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
169 declarations, 0 contain sorry, 0 declared as axioms
Imports (1)
- abbrev
MonomialA monomial as its vector of natural-number exponents line 39 sourceSource documentation
Monomials in
rvariables as finitely supported exponent vectors onFin 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 inrvariables. For the manuscript's three-variable theorem, a monomial such asx₀^a x₁^b x₂^cis therefore represented by the vector(a,b,c)inℕ³.- A coordinate records the exponent of one variable, so comparing two values pointwise is the same divisibility order used throughout the proof.
- The Lean definition works for any finite number
rof variables; the companion specializes this representation tor = 3.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion
standard axioms: Quot.sound, propext what this means
Statement uses:
NatProof uses:
Finsupp,Fin2 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_2.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_7.lean:39 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:39 (same declaration text).
abbrev Monomial (r : ℕ) := Fin r →₀ ℕ
- def
totalDegTotal degree is the sum of a monomial's exponents line 42 sourceSource documentation
Total degree of a monomial (sum of all exponents).
L4DEL explanation
|m| = m(0) + m(1) + m(2) for total degree.
totalDeg(m)—writtentotalDeg min Lean—adds every coordinate of the exponent vector. In three variables this ism(0)+m(1)+m(2), the usual total degree of the represented monomial.- The finitely supported sum makes the definition uniform in the number of variables.
- 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, MonomialProof uses:
Finsupp.sum,Fin3 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_2.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_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
- structure
OrderIdealA finite set of monomials closed downward under divisibility line 47 sourceSource documentation
A finite order ideal of monomials, closed downward under divisibility. Divisibility of monomials uses the standard pointwise
≤onFinsupp.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≤.carrieris the finite set itself.downward_closedis the proof that ifnis in the carrier andm ≤ n, thenmis 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:
NatAlso declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:47 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_2.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_7.lean:47 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:47 (same declaration text).
structure OrderIdeal (r : ℕ) where …
- lemma
OrderIdeal.mem_of_dvdline 51 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat, OrderIdeal, Monomial,Membership.mem,Finset,OrderIdeal.carrier,LE.le,FinProof uses:
OrderIdeal.downward_closed10 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_2.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_7.lean:51 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:51 (same declaration text).
- def
divisorsFinsetAll monomial divisors of one generator as a finite set line 56 sourceSource 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 ofg: it contains exactly the monomialsuwhose exponent vector is coordinatewise at most that ofg. Equivalently, these are the monomial divisors ofg.- In the type-two proof, every element of the pure order ideal lies below one of its two maximal monomials.
- 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,FinsetProof uses:
Finset.Iic,Fin13 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_2.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_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
- lemma
mem_divisorsFinset_iffline 59 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Monomial,Iff,Membership.mem,Finset, divisorsFinset,LE.le,FinProof uses:
Finset.mem_Iic18 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_2.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_7.lean:59 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:59 (same declaration text).
- def
generatedOrderIdealThe finite order ideal generated by a finite set of monomials line 64 sourceSource 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, OrderIdealProof uses:
OrderIdeal.mk,Finset.biUnion,Fin, divisorsFinset6 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_2.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_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
- lemma
mem_generatedOrderIdeal_iffline 72 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Finset, Monomial,Iff,Membership.mem,OrderIdeal.carrier, generatedOrderIdeal,Exists,And,LE.le,FinProof uses:
Iff.intro, divisorsFinset,Iff.mp,Finset.biUnion,Finset.mem_biUnion,Exists.intro,And.intro, mem_divisorsFinset_iff,Iff.mpr15 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_2.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_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.
- def
IsMaximalInMaximality inside an order ideal under monomial divisibility line 82 sourceSource 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 thatmbelongs toI, and then that no strictly larger monomial ofIis divisible bym. Any membernabovemmust also lie belowm, hence equals it in the partial order.- The condition is relative to the selected order ideal, not maximality among all monomials.
- 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, MonomialProof uses:
And,Membership.mem,Finset,OrderIdeal.carrier,LE.le,Fin5 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_2.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_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
- def
maximalMonomialsThe finite set of maximal monomials of an order ideal line 87 sourceSource documentation
The finite set of maximal monomials of an order ideal.
L4DEL explanation
The type is the number of maximal monomials.
maximalMonomials(I)filters the carrier ofI, keeping exactly the members satisfyingIsMaximalIn(I,·). In Lean these applications are writtenmaximalMonomials IandIsMaximalIn I. The result turns the mathematical notion of maximal generator into a finite set that Lean can count and select from.- Finiteness comes from the order ideal's finite carrier.
- Its cardinality is the type, while purity says all of its members have the same total 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, OrderIdeal,Finset, MonomialProof uses:
Finset.filter, IsMaximalIn,Classical.propDecidable,OrderIdeal.carrierAlso declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:87 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_2.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_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
- def
IsPurePurity means every maximal monomial has the same total degree line 91 sourceSource 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 ofIto have equal total degree. It does not itself assert that a maximal monomial exists; that nonemptiness is added byPureOrderIdeal.- The equal-degree condition supplies one common top grading for the ideal.
- 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, OrderIdealProof uses: Monomial,
Membership.mem,Finset, maximalMonomials,Eq, totalDeg1 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_2.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_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
- structure
PureOrderIdealAn order ideal packaged with purity and a maximal monomial line 95 sourceSource 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.- The nonempty field makes the subsequent choice of a maximal monomial—and therefore the definition of socle degree—total rather than conditional.
- 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:
NatAlso declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:95 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_2.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_7.lean:95 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:95 (same declaration text).
structure PureOrderIdeal (r : ℕ) where …
- def
typePOThe type is the number of maximal monomials line 101 sourceSource 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 ofmaximalMonomials(P.ideal). In Lean these are writtentypePO PandmaximalMonomials P.ideal. Thus “type 2” in the theorem means that the pure order ideal has exactly two maximal monomial generators.- The definition counts maximal monomials; it does not count variables, degrees, or all elements of the ideal.
- 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, PureOrderIdealProof uses:
Finset.card, Monomial, maximalMonomials,PureOrderIdeal.idealAlso declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:101 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_2.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_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
- def
socleDegreeThe shared total degree of a pure ideal's maximal monomials line 106 sourceSource 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.- Nonemptiness of the maximal set supplies the chosen witness.
- 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, PureOrderIdealProof uses: totalDeg,
Classical.choose, Monomial,Membership.mem,Finset, maximalMonomials,PureOrderIdeal.ideal,PureOrderIdeal.maximal_nonempty1 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_2.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_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
- def
pureOSequenceDegree-by-degree counts of monomials in an order ideal line 110 sourceSource documentation
The pure O-sequence: number of monomials of total degree
din 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 inIwhose total degree is exactlyd. Varyingdproduces the Hilbert-function sequence studied by the theorem.- The carrier is filtered by the equation
totalDeg m = d. - 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, OrderIdealProof uses:
Finset.card, Monomial,Finset.filter,Eq, totalDeg,OrderIdeal.carrier1 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_2.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_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
- The carrier is filtered by the equation
- def
IsUnimodalUnimodality of a finite sequencehup to indexe: there exists a peakj ≤ esuch thathis weakly increasing on[0, j]and weakly decreasing on[j, e]line 116 sourceSource documentation
Unimodality of a finite sequence
hup to indexe: there exists a peakj ≤ esuch thathis weakly increasing on[0, j]and weakly decreasing on[j, e].no axioms what this means
Statement uses:
NatProof uses:
Exists,And,LE.le,LT.lt,HAdd.hAdd,OfNat.ofNat5 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_2.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_7.lean:116 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:116 (same declaration text).
def IsUnimodal (e : ℕ) (h : ℕ → ℕ) : Prop := …
- def
IsLogConcaveUpToLog-concavity at every internal degree through a chosen endpoint line 122 sourceSource documentation
Log-concavity up to degree
e:h_i² ≥ h_{i-1} h_{i+1}fori ∈ (0, e).L4DEL explanation
hΓ (i − 1)hΓ (i + 1) ≤ hΓ (i)2 (0 < i < e).
IsLogConcaveUpTo(e,h)(Lean:IsLogConcaveUpTo e h) requiresh(i-1)·h(i+1) ≤ h(i)²for every integer index strictly between0ande. Each middle term must therefore dominate the geometric mean of its two neighbours.Finset.Ioo 0 emakes both boundary exclusions explicit: neither0noreis tested.- For the pure O-sequence theorem,
eis 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:
NatProof uses:
Membership.mem,Finset,Finset.Ioo,OfNat.ofNat,LE.le,HMul.hMul,HSub.hSub,HAdd.hAdd,HPow.hPow14 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_2.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_7.lean:122 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:122 (same declaration text).
def IsLogConcaveUpTo (e : ℕ) (h : ℕ → ℕ) : Prop := …
- def
mXYZThe monomialxyzencoded as an exponent vector in 3 variables line 127 sourceSource documentation
The monomial
xyzencoded as an exponent vector in 3 variables.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,NatProof uses:
HAdd.hAdd,Finsupp,Fin,Finsupp.single10 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_2.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_7.lean:127 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:127 (same declaration text).
noncomputable def mXYZ : Monomial 3 := …
Mentions: Monomial
- def
mXZ2The monomialxz^2encoded as an exponent vector in 3 variables line 131 sourceSource documentation
The monomial
xz^2encoded as an exponent vector in 3 variables.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,NatProof uses:
HAdd.hAdd,Finsupp,Fin,Finsupp.single10 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_2.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_7.lean:131 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:131 (same declaration text).
noncomputable def mXZ2 : Monomial 3 := …
Mentions: Monomial
- def
GammaP1The order ideal generated by the two monomials from P1 line 135 sourceSource 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,NatProof uses: generatedOrderIdeal,
Insert.insert, Monomial,Finset,Fin, mXYZ,Singleton.singleton, mXZ29 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_2.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_7.lean:135 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:135 (same declaration text).
noncomputable def GammaP1 : OrderIdeal 3 := …
Mentions: OrderIdeal
- def
ProblemP1P1 statement: the degree-counting values for the generated order ideal are(1, 3, 4, 2)line 139 sourceSource 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, GammaP11 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_2.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_7.lean:139 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:139 (same declaration text).
def ProblemP1 : Prop := …
- def
ProblemP2CoeffFormulaP2 (coefficient-level): one-generator degree counts match the product-formula coefficients line 149 sourceSource 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, divisorsFinset2 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_2.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_7.lean:149 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:149 (same declaration text).
def ProblemP2CoeffFormula : Prop := …
- def
ProblemP2Type1UnimodalP2 consequence: every type-1 pure O-sequence is unimodal line 155 sourceSource 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.ideal1 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_2.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_7.lean:155 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:155 (same declaration text).
def ProblemP2Type1Unimodal : Prop := …
- def
ProblemP2Type1LogConcaveP2 consequence: every type-1 pure O-sequence is log-concave line 160 sourceSource 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.ideal1 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_2.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_7.lean:160 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:160 (same declaration text).
def ProblemP2Type1LogConcave : Prop := …
- def
ProblemP2P2 statement, split into a coefficient-level formula plus two sequence consequences line 165 sourceSource 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, ProblemP2Type1LogConcaveAlso declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:165 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_2.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_7.lean:165 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:165 (same declaration text).
def ProblemP2 : Prop := …
- def
ProblemP3P3 statement: in codimension 3, first-half log-concavity up toe / 2line 170 sourceSource documentation
P3 statement: in codimension 3, first-half log-concavity up to
e / 2. Hereeis 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.hPow14 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_2.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_7.lean:170 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:170 (same declaration text).
def ProblemP3 : Prop := …
- def
ProblemP4P4 statement: codimension 3 and type 2 imply unimodality line 178 sourceSource 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.ideal1 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_2.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_7.lean:178 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:178 (same declaration text).
def ProblemP4 : Prop := …
- def
ExistsNonLogConcavePureOSeqHelper predicate for open problems about non-log-concavity at fixed codimension/type line 184 sourceSource 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:
NatProof uses:
Exists, PureOrderIdeal,And,Eq, typePO,Not, IsLogConcaveUpTo, socleDegree, pureOSequence,PureOrderIdeal.idealAlso declared: APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_1.lean:184 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_2.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_7.lean:184 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:184 (same declaration text).
def ExistsNonLogConcavePureOSeq (r t : ℕ) : Prop := …
- def
ProblemP5P5: in codimension3, every type-2pure O-sequence is log-concave line 189 sourceSource documentation
P5: in codimension
3, every type-2pure 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.ideal1 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_2.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_7.lean:189 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:189 (same declaration text).
def ProblemP5 : Prop := …
- def
ProblemP6P6: for fixedr ≥ 5, every type-2pure O-sequence in codimensionris unimodal line 195 sourceSource documentation
P6: for fixed
r ≥ 5, every type-2pure O-sequence in codimensionris unimodal.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
LE.le,OfNat.ofNat, PureOrderIdeal,Eq, typePO, IsUnimodal, socleDegree, pureOSequence,PureOrderIdeal.ideal2 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_2.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_7.lean:195 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:195 (same declaration text).
def ProblemP6 (r : ℕ) : Prop := …
- def
ProblemP7P7: threshold existence for eventual log-concavity failure in codimensionrline 202 sourceSource documentation
P7: threshold existence for eventual log-concavity failure in codimension
r.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
LE.le,OfNat.ofNat,Exists,And, ExistsNonLogConcavePureOSeq2 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_2.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_7.lean:202 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:202 (same declaration text).
def ProblemP7 (r : ℕ) : Prop := …
- def
LCFailureThresholdHelper:t0is a threshold after which all types admit a non-log-concave example line 207 sourceSource documentation
Helper:
t0is a threshold after which all types admit a non-log-concave example.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
LE.le, ExistsNonLogConcavePureOSeq1 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_2.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_7.lean:207 (same declaration text), APNOutputs/AICollaborator/AlgebraicGeometry/hilbert_functions_8.lean:207 (same declaration text).
def LCFailureThreshold (r t0 : ℕ) : Prop := …
- def
ProblemP8P8: least threshold for eventual log-concavity failure in codimensionrline 211 sourceSource documentation
P8: least threshold for eventual log-concavity failure in codimension
r.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
LE.le,OfNat.ofNat,Exists,IsLeast,setOf, LCFailureThreshold2 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_2.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_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 := …
- lemma
card_filter_union_interline 216 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
DecidableEq,Finset,DecidablePred,Eq,Nat,HAdd.hAdd,Finset.card,Finset.filter,Union.union,Inter.interProof uses:
of_eq_true,Eq.trans,Finset.sum,ite,OfNat.ofNat,True,congr,congrArg,Finset.card_filter,AddCommMonoid,Finset.sum_union_inter,eq_self14 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
type_two_implies_two_maximalsType two produces exactly two distinct maximal monomials line 221 sourceL4DEL explanation
suppose that its two maximal monomials are
If a pure order ideal has type
2, its finite set of maximal monomials can be written as the pair{m₁,m₂}withm₁ ≠ m₂. This is the bridge from the numerical type hypothesis to the two concrete generators used throughout the proof.typePO P = 2is a cardinality statement aboutmaximalMonomials P.ideal.- The finite-set cardinality lemma exposes two witnesses, their distinctness, and the exact pair equality in one result.
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,Eq, typePO,OfNat.ofNat,Exists, Monomial,And,Ne,Finset, maximalMonomials,PureOrderIdeal.ideal,Insert.insert,Fin,Singleton.singletonProof uses:
id,Iff.mp,Finset.card,Finset.filter, IsMaximalIn,Classical.propDecidable,OrderIdeal.carrier,Finset.card_eq_two16 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma type_two_implies_two_maximals {r : ℕ} (P : PureOrderIdeal r) (h_type : typePO P = 2) : ∃ m1 m2, m1 ≠ m2 ∧ maximalMonomials P.ideal = {m1, m2} := by …Mentions: PureOrderIdeal, typePO, maximalMonomials
- lemma
ideal_carrier_eq_unionA type-two pure ideal is the union of two principal divisor sets line 226 sourceL4DEL explanation
Every element of a finite order ideal lies below a maximal element
Once
m₁andm₂are known to be all the maximal monomials, every monomial in the order ideal divides one of them. The carrier is therefore exactlydivisorsFinset(m₁) ∪ divisorsFinset(m₂); Lean writes the two applications with spaces.- Downward closure puts every divisor of either maximum into the carrier.
- Finiteness guarantees that every carrier element lies below some maximal element; the pair equality leaves only
m₁orm₂.
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, Monomial,Eq,Finset, maximalMonomials,PureOrderIdeal.ideal,Insert.insert,Fin,Singleton.singleton,OrderIdeal.carrier,Union.union, divisorsFinsetProof uses: OrderIdeal, IsPure,
Finset.Nonempty,PureOrderIdeal.mk,id,Eq.mpr,Finset.Iic,Iff,Membership.mem,Or,LE.le,Eq.trans,forall_congr,congrArg,congr,Finsupp,OrderIdeal.mk,Finset.filter,And,Classical.propDecidableand 36 more53 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
lemma ideal_carrier_eq_union {r : ℕ} (P : PureOrderIdeal r) (m1 m2 : Monomial r) (h_max_eq : maximalMonomials P.ideal = {m1, m2}) : P.ideal.carrier = divisorsFinset m1 ∪ divisorsFinset m2 := by …Mentions: PureOrderIdeal, Monomial, maximalMonomials, divisorsFinset
- lemma
pureOSeq_eqline 242 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, PureOrderIdeal, Monomial,Eq,Finset, maximalMonomials,PureOrderIdeal.ideal,Insert.insert,Fin,Singleton.singleton,HAdd.hAdd, pureOSequence,Finset.card,Finset.filter, totalDeg,Inter.inter, divisorsFinsetProof uses:
id,OrderIdeal.carrier,Union.union, ideal_carrier_eq_union,Eq.mpr,congrArg, card_filter_union_inter21 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
inter_divisorsFinset_eqline 253 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Monomial,Exists,Eq,Finset,Inter.inter,Fin, divisorsFinsetProof uses:
Eq.mpr,Iff,And,Membership.mem,Finset.Iic,id,congrArg,funext,Eq.trans,forall_congr,Exists.intro,Min.min,Iff.trans,LE.le,and_congr,Finset.mem_Iic,Iff.symm,le_inf_iff31 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
exists_single_greater_varEqual-degree distinct triples can be oriented around one exceptional coordinate line 258 sourceL4DEL explanation
there is a coordinate x ∈ {0, 1, 2} such that
For two distinct three-variable monomials of equal total degree, the proof may order the pair so that the second exponent is larger at one coordinate
xand no larger at either other coordinate. The Lean disjunction records the two possible orientations instead of silently swapping names.- Equal total degree says the three coordinate differences sum to zero.
- Because the vectors differ, one sign is in the minority; choosing that coordinate and, if needed, reversing the pair gives the required inequalities.
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: Monomial,
OfNat.ofNat,Nat,Eq, totalDeg,Ne,Or,Exists,Fin,And,GT.gt,LE.leProof uses:
Eq.mpr,LT.lt,HAdd.hAdd,id,congr,Not,congrArg,Eq.trans,Fin.succ,funext,forall_congr,True,eq_true,True.intro,and_true,propext,Fin.exists_iff_succ,eq_true_of_decide,Eq.refl,Booland 34 more49 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma exists_single_greater_var {m1 m2 : Monomial 3} (h_deg : totalDeg m1 = totalDeg m2) (h_neq : m1 ≠ m2) : (∃ x : Fin 3, m1 x > m2 x ∧ ∀ y, y ≠ x → m1 y ≤ m2 y) ∨ (∃ x : Fin 3, m2 x > m1 x ∧ ∀ y, y ≠ x → m2 y ≤ m1 y) := by … - lemma
filter_union_card_eq_add_diffline 264 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
DecidableEq,Finset,DecidablePred,Eq,Nat,Finset.card,Finset.filter,Union.union,HAdd.hAdd,SDiff.sdiffProof uses:
Eq.trans,congr_arg,Finset.card_union_of_disjoint,Iff.mpr,Disjoint,Membership.mem,Not,Finset.disjoint_left,of_eq_true,True,forall_congr,And,implies_congr_ctx,False,congrArg,congr,eq_true,not_true_eq_false,and_false,and_trueand 2 more14 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
diff_divisorsFinsetline 268 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Monomial,Eq,Finset,SDiff.sdiff,Fin, divisorsFinset,Finset.filter,Not,LE.leProof uses:
of_eq_true,Finset.Iic,Eq.trans,Iff,Membership.mem,True,forall_congr,And,congr,congrArg,iff_self,eq_true,True.intro,implies_true40 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
not_le_of_gt_varline 272 sourcestandard axioms: Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,Ne,LE.le,Iff,Not,GE.ge,HAdd.hAddProof uses:
Iff.intro,Function.comp,Finsupp,Iff.mp,LT.lt,not_le,mt,dite,Eq,Eq.rec,Eq.symm,LE.le.trans,LE.le.not_gt25 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- def
reduced_monomialThe residual monomial after removing the exceptional-coordinate shift line 276 sourceL4DEL explanation
Then |Mred | = e − c.
Given oriented maxima
m₁,m₂and the exceptional coordinatex,reduced_monomiallowers thexexponent ofm₂bym₁(x)+1and leaves its other exponents unchanged. Its degree is correspondingly reduced by the same shift.- At
x, the exponent becomesm₂(x)-m₁(x)-1. - Away from
x, the exponent remainsm₂(y), matching the manuscript'sM_redconstruction.
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: Monomial,
OfNat.ofNat,Nat,FinProof uses:
Equiv,Finsupp,Equiv.symm,Finsupp.equivFunOnFinite,ite,Eq,HSub.hSub12 instances, coercions and auxiliary constants left out.
noncomputable def reduced_monomial (m1 m2 : Monomial 3) (x : Fin 3) : Monomial 3 := …
Mentions: Monomial
- At
- lemma
bijection_diff_to_reducedline 279 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,GE.ge,HAdd.hAdd,Eq,Finset.card,Finset.filter,And, totalDeg, divisorsFinset,HSub.hSub, reduced_monomialProof uses:
Eq.mpr,Finset.sum,Finset.Iic,ite,Finsupp.sum,Equiv,Finsupp,Equiv.symm,Finsupp.equivFunOnFinite,id,congr,congrArg,Finset.card_filter,Finset.image,Finsupp.single,Eq.symm,Finset.sum_subset,Iff.mpr,HasSubset.Subset,Finsetand 72 more110 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
- lemma
pureOSeq_decompositionSplit the union's degree count into a principal sequence and a shifted residual sequence line 291 sourceL4DEL explanation
H(d) := hΓ (d) = hm1 (d) + 1d≥c hMred (d − c).
The degree-
dmonomials belowm₁contribute the first summand. Monomials belowm₂but notm₁exist only whend ≥ m₁(x)+1; subtracting that amount in coordinatexbijects them with degree-d-(m₁(x)+1)divisors of the reduced monomial.- A filter-and-cardinality identity first separates the union into the first divisor set and the nonoverlapping part of the second.
- The exceptional-coordinate bijection turns that second part into the shifted residual count, producing the manuscript's equation (2).
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq,Finset.card,Finset.filter, totalDeg,Union.union,Finset, divisorsFinset,HAdd.hAdd,ite,GE.ge,HSub.hSub, reduced_monomialProof uses:
SDiff.sdiff, filter_union_card_eq_add_diff,id,Eq.mpr,Finsupp,Finsupp.sum,Finset.Iic,Equiv,Equiv.symm,Finsupp.equivFunOnFinite,Finset.sum,Finset.univ,LT.lt,Eq.trans,congr,congrArg,Finset.filter.congr_simp,funext,Top.top,Zeroand 100 more138 instances, coercions and auxiliary constants left out.
Tactic trace: 43 steps
Open to load the checked before-and-after goal states.
lemma pureOSeq_decomposition {m1 m2 : Monomial 3} (x : Fin 3) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (d : ℕ) : (Finset.filter (fun m => totalDeg m = d) (divisorsFinset m1 ∪ divisorsFinset m2)).card = (Finset.filter (fun m => totalDeg m = d) (divisorsFinset m1)).card + if d ≥ m1 x + 1 then (Finset.filter (fun m => totalDeg m = d - (m1 x + 1)) (divisorsFinset (reduced_monomial m1 m2 x))).card else 0 := by …Mentions: Monomial, totalDeg, divisorsFinset, reduced_monomial
- def
h_seqDegree counts for the divisors of one monomial line 321 sourceL4DEL explanation
For g a monomial, write hg (d) = #{u ≤ g : |u| = d}.
h_seq(m,d)(Lean:h_seq m d) counts the divisors ofmhaving total degreed. Geometrically this is a slice of the exponent box belowm; it is the principal sequence denotedh_m(d)in the companion proof.divisorsFinset mprovides all exponent vectors belowm.- Filtering by
totalDeg = dand taking the cardinality produces the degree slice.
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: Monomial,
OfNat.ofNat,NatProof uses:
Finset.card,Finset.filter,Eq, totalDeg, divisorsFinset3 instances, coercions and auxiliary constants left out.
noncomputable def h_seq (m : Monomial 3) (d : ℕ) : ℕ := …
Mentions: Monomial
- def
diffThe first backward difference of an integer-valued sequence line 324 sourceL4DEL explanation
∆F (d) = F (d) − F (d − 1) (d > 0),
At a positive index,
diff(h,d)(Lean:diff h d) ish(d)-h(d-1), the change from the preceding value. At index zero the definition usesh(0), giving the difference operator a total boundary value on natural-number indices.- The positive-index branch is the manuscript's
ΔF(d). - The explicit zero branch avoids forming a predecessor outside
ℕ.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion
no axioms what this means
Statement uses:
Nat,IntProof uses:
ite,Eq,OfNat.ofNat,HSub.hSub5 instances, coercions and auxiliary constants left out.
def diff (h : ℕ → ℤ) (d : ℕ) : ℤ := …
- The positive-index branch is the manuscript's
- def
diff2The second backward difference of an integer-valued sequence line 327 sourceL4DEL explanation
∆2 F (d) = ∆F (d) − ∆F (d − 1) (d > 0).
At a positive index,
diff2(h,d)(Lean:diff2 h d) measures how the first difference changes:Δh(d)-Δh(d-1). This discrete curvature is the quantity bounded by1for each principal sequence and by2for their sum.- The definition reuses
diff, so its boundary convention is inherited consistently. - Positive second difference marks local convexity of the discrete sequence; the proof isolates its only critical values.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion
no axioms what this means
Statement uses:
Nat,IntProof uses:
ite,Eq,OfNat.ofNat, diff,HSub.hSub5 instances, coercions and auxiliary constants left out.
def diff2 (h : ℕ → ℤ) (d : ℕ) : ℤ := …
- The definition reuses
- def
L_seqCount a diagonal slice of a two-dimensional exponent box line 330 sourceL4DEL explanation
where LA,B (k) = #{r < A : k − r < B, r ≤ k}.
L_seq(A,B,d)(Lean:L_seq A B d) counts pairs of nonnegative exponents with first coordinate belowA, second coordinate belowB, and total degreed. Lean stores only the first coordinate because the second is forced to bed-x.Finset.range Aenforces0 ≤ x < A.- The filter
d-x < Bsupplies the second side of the box, whilex ≤ dprevents truncated subtraction from admitting an invalid pair. - This is the companion's two-variable slice
L_{A,B}used to assemble the three-variable count.
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:
NatProof uses:
Finset.card,Finset.filter,And,LT.lt,HSub.hSub,LE.le,Finset.range7 instances, coercions and auxiliary constants left out.
Distinct definitions of this name: APNOutputs/OEIS/oeis_62567_conjecture_0.lean:242 (different declaration text). Qualify references as L_seq@path.
def L_seq (A B d : ℕ) : ℕ := …
- lemma
delta_LThe first difference of a box slice is three threshold indicators line 333 sourceL4DEL explanation
∆LA,B (d) = 1d<A + 1d<B − 1d<A+B (d > 0),
For positive
d, the change in the diagonal slice count is one contribution from crossing each side length, corrected once when the combined length is crossed.- The terms
d<Aandd<Brecord the two ways a new boundary point can enter the slice. - The subtraction at
d<A+Bremoves their overlap so the integer identity remains exact across every threshold. - This compact indicator formula is the first finite-difference input to the manuscript's second-difference computation.
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,GT.gt,OfNat.ofNat,Eq,Int,HSub.hSub,L_seq,HAdd.hAdd,ite,LT.ltProof uses:
Eq.mpr,Finset.card,Finset.filter,And,LE.le,Finset.range,id,delta_L.match_3,cast,Eq.symm,Eq.trans,congr,congrArg,ite_congr,Eq.refl,Nat.cast_one,Not,Nat.cast_zero,delta_L.match_2,Unitand 16 more70 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma delta_L (A B d : ℕ) (hd : d > 0) : (L_seq A B d : ℤ) - (L_seq A B (d - 1) : ℤ) = (if d < A then 1 else 0) + (if d < B then 1 else 0) - (if d < A + B then 1 else 0) := by …
- The terms
- def
H_calcAssemble a three-dimensional degree slice from two-dimensional slices line 339 sourceL4DEL explanation
A direct box count gives
H_calc(A,B,C,d)sums the two-coordinate countL_seq(A,B,k)over possible partial degreesk, retaining only those for which the remaining exponentd-kfits belowC. Lean writes these applications with spaces.range (d+1)considers everykfrom0throughd.- The guard
d-k<Cis exactly the bound on the third exponent. - The sum is a computational form of the companion's direct box count for a principal monomial divisor 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:
NatProof uses:
Finset.sum,Finset.range,HAdd.hAdd,OfNat.ofNat,ite,LT.lt,HSub.hSub,L_seq8 instances, coercions and auxiliary constants left out.
def H_calc (A B C d : ℕ) : ℕ := …
- lemma
H_eq_H_calcThe box-count formula equals the actual monomial divisor count line 342 sourceL4DEL explanation
A direct box count gives
For a three-variable monomial
m, the number of divisors of degreedis exactlyH_calc (m 0+1) (m 1+1) (m 2+1) d.- A divisor is converted to its three exponent coordinates, each lying in the corresponding closed interval from zero through
m(i). - The total-degree filter becomes the equation that those three coordinates sum to
d. - Rearranging the finite sum leaves the first two coordinates in
L_seqand the third-coordinate bound inH_calc.
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: Monomial,
OfNat.ofNat,Nat,Eq,Finset.card,Finset.filter, totalDeg, divisorsFinset, H_calc,HAdd.hAdd,FinProof uses:
id,Trans.simple,Finsupp,Finsupp.sum,Finset.Iic,Prod,Prod.fst,Prod.snd,SProd.sprod,Finset,Finset.Icc,Finset.sum,Finset.range,ite,LT.lt,HSub.hSub,L_seq,Finset.card_equiv,Equiv.mk,Prod.mkand 73 more113 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
lemma H_eq_H_calc (m : Monomial 3) (d : ℕ) : ((divisorsFinset m).filter (fun x => totalDeg x = d)).card = H_calc (m 0 + 1) (m 1 + 1) (m 2 + 1) d := by …
Mentions: Monomial, divisorsFinset, totalDeg, H_calc
- A divisor is converted to its three exponent coordinates, each lying in the corresponding closed interval from zero through
- lemma
delta_H_calcFirst difference of the three-dimensional box count line 355 sourceL4DEL explanation
∆HA,B,C (d) = LA,B (d) − 1d≥C LA,B (d − C) (d > 0).
At a positive degree, the change in
H_calcis the new two-dimensional slice atd, minus the slice that falls out after shifting by the third side lengthC.- Before degree
C, no slice falls out and the correction term is zero. - From degree
Conward,L_seq A B (d-C)is subtracted. - This is the Lean form of the companion's second first-difference identity.
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,GT.gt,OfNat.ofNat,Eq,Int,HSub.hSub, H_calc,L_seq,ite,GE.geProof uses:
Eq.mpr,HAdd.hAdd,id,Eq.rec,Finset.sum,Finset.range,LT.lt,cast,Eq.symm,Eq.trans,congrArg,ite_congr,Eq.refl,Not,Nat.cast_zero,congr,delta_H_calc.match_2,Finset.sum_range_succ_comm,add_assoc,delta_L.match_2and 46 more95 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
lemma delta_H_calc (A B C d : ℕ) (hd : d > 0) : (H_calc A B C d : ℤ) - (H_calc A B C (d - 1) : ℤ) = (L_seq A B d : ℤ) - (if d ≥ C then (L_seq A B (d - C) : ℤ) else 0) := by …
Mentions: H_calc
- Before degree
- def
Z_calcThe seven-threshold formula for discrete curvature line 364 sourceL4DEL explanation
∆2 hm (d) = Z(A, B, C, d)
Z_calc(A,B,C,d)(Lean:Z_calc A B C d) combines three single-side, three pair-sum, and one triple-sum indicators. Its value is the exact second difference of a three-dimensional monomial box count.- The three positive indicators register whether
dis below each side length. - The three negative indicators correct pairwise overlaps, and the final positive indicator restores the triple overlap.
- This inclusion-exclusion shape is why the second difference can later be bounded and classified by elementary integer arithmetic.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion
no axioms what this means
Statement uses:
Nat,IntProof uses:
HAdd.hAdd,HSub.hSub,ite,LT.lt,OfNat.ofNat8 instances, coercions and auxiliary constants left out.
def Z_calc (A B C d : ℕ) : ℤ := …
- The three positive indicators register whether
- lemma
L_seq_zeroline 369 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Int,L_seq,OfNat.ofNat,ite,And,LT.ltProof uses:
Eq.mpr,Finset.card,Finset.filter,Not,Finset.range,id,congr,HSub.hSub,LE.le,congrArg,Finset,Finset.filter.congr_simp,funext,Ne,Eq.trans,zero_tsub,Eq.refl,ite_congr,Nat.casesAuxOn,of_eq_trueand 32 more66 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
H_calc_zeroline 374 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, H_calc,OfNat.ofNat,ite,LT.lt,L_seqProof uses:
id,Eq.mpr,Finset.sum,Finset.range,HAdd.hAdd,HSub.hSub,congrArg,Finset.sum_range_one,Eq.refl11 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
diff2_H_calc_eq_1Verify the curvature formula at the first positive degree line 379 sourceL4DEL explanation
∆2 hm (d) = Z(A, B, C, d)
The general predecessor algebra has a boundary at
d=1; this lemma checks directly thatdiff2 H_calc 1still equalsZ_calc A B C 1.- Both
diffanddiff2are unfolded using their special value at zero. - The possible small side lengths are split so every indicator and finite slice can be evaluated exactly.
- This is Lean boundary bookkeeping for the manuscript's all-positive-degree formula, not an additional mathematical assumption.
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,Eq,Int, diff2, H_calc,OfNat.ofNat, Z_calcProof uses:
id,Eq.mpr,ite, diff,Finset.sum,Finset.range,HAdd.hAdd,LT.lt,HSub.hSub,L_seq,And,Not,Finset.card,Finset.filter,LE.le,congr,False,congrArg,ite_congr,eq_falseand 95 more156 instances, coercions and auxiliary constants left out.
Tactic trace: 13 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_calc_eq_1 (A B C : ℕ) : diff2 (fun k => (H_calc A B C k : ℤ)) 1 = Z_calc A B C 1 := by …
- Both
- lemma
diff2_H_calc_d_unfoldExpand a positive second difference into two neighbouring slice differences line 389 sourceL4DEL explanation
∆HA,B,C (d) = LA,B (d) − 1d≥C LA,B (d − C) (d > 0).
For
d>1, this lemma substitutes the first-difference formula atdandd-1, exposing the subtraction whose simplification producesZ_calc.- The hypotheses eliminate the zero branches of both finite-difference definitions.
delta_H_calcsupplies the two adjacent first differences.- The conclusion deliberately remains expanded so the ordinary and
C-shiftedL_seqchanges can be simplified separately.
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,GT.gt,OfNat.ofNat,Eq,Int, diff2, H_calc,HSub.hSub,L_seq,ite,GE.geProof uses:
id, diff,Ne,Eq.mpr,congrArg,if_neg, delta_H_calc,Decidable.byContradiction,Not,Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt,Not.intro,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,HAdd.hAdd,Neg.neg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,Int.rawCast,Int.negOfNatand 45 more90 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_calc_d_unfold (A B C d : ℕ) (hd : d > 1) : diff2 (fun k => (H_calc A B C k : ℤ)) d = (L_seq A B d : ℤ) - (if d ≥ C then (L_seq A B (d - C) : ℤ) else 0) - ((L_seq A B (d - 1) : ℤ) - (if d - 1 ≥ C then (L_seq A B (d - 1 - C) : ℤ) else 0)) := by …
- lemma
diff2_H_calc_L2Normalize the shifted slice difference across its threshold line 401 sourceL4DEL explanation
∆HA,B,C (d) = LA,B (d) − 1d≥C LA,B (d − C) (d > 0).
The correction term in
delta_H_calcchanges form depending on whetherdlies above, at, or belowC; this lemma states those three cases explicitly.- Above
C, both neighbouring correction slices exist and their difference remains. - At
C, only the new zero-degree slice exists; belowC, neither correction contributes. - Isolating this threshold case prevents natural-number truncated subtraction from hiding the boundary behavior.
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,GT.gt,OfNat.ofNat,Eq,Int,HSub.hSub,ite,GE.ge,L_seqProof uses:
Or,LT.lt,Decidable.byContradiction,Not,Eq.mpr,id,congrArg,if_pos,Eq.refl,if_neg,Mathlib.Tactic.Ring.of_eq,HAdd.hAdd,HMul.hMul,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.cast_zero,Mathlib.Meta.NormNum.isNat_ofNatand 4 more59 instances, coercions and auxiliary constants left out.
Tactic trace: 34 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_calc_L2 (A B C d : ℕ) (hd : d > 1) : (if d ≥ C then (L_seq A B (d - C) : ℤ) else 0) - (if d - 1 ≥ C then (L_seq A B (d - 1 - C) : ℤ) else 0) = if d > C then (L_seq A B (d - C) : ℤ) - (L_seq A B (d - 1 - C) : ℤ) else if d = C then (L_seq A B 0 : ℤ) else 0 := by … - Above
- lemma
diff2_H_calc_eq_dDerive the seven-indicator curvature formula above the boundary line 425 sourceL4DEL explanation
∆2 hm (d) = Z(A, B, C, d)
For
d>1, the expanded second difference ofH_calcsimplifies exactly toZ_calc A B C d.- The unshifted
L_seqchange becomes its three-indicator formula throughdelta_L. diff2_H_calc_L2handles the shifted change, with separate cases above, at, and belowC.- Integer arithmetic then combines the two expressions into the seven-term inclusion-exclusion formula.
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,GT.gt,OfNat.ofNat,Eq,Int, diff2, H_calc, Z_calcProof uses:
Eq.mpr,HSub.hSub,L_seq,ite,GE.ge,id,congrArg, diff2_H_calc_d_unfold,Mathlib.Tactic.Ring.of_eq,HAdd.hAdd,HMul.hMul,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.sub_pfand 28 more56 instances, coercions and auxiliary constants left out.
Tactic trace: 43 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_calc_eq_d (A B C d : ℕ) (hd : d > 1) : diff2 (fun k => (H_calc A B C k : ℤ)) d = Z_calc A B C d := by …
- The unshifted
- lemma
diff2_H_calc_eqThe box count has the manuscript's curvature formula at every positive degree line 459 sourceL4DEL explanation
∆2 hm (d) = Z(A, B, C, d)
diff2 H_calc d = Z_calc A B C dfor all positived, joining the directd=1boundary proof with the uniform argument ford>1.- Positivity leaves exactly the cases
d=1ord>1. diff2_H_calc_eq_1closes the boundary anddiff2_H_calc_eq_dcloses every later degree.- Later lemmas transfer this computational identity from
H_calcback to the actual divisor-count 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,GT.gt,OfNat.ofNat,Eq,Int, diff2, H_calc, Z_calcProof uses:
Or,Decidable.byContradiction,Not,Eq.mpr,id,congrArg, diff2_H_calc_eq_1, diff2_H_calc_eq_d13 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_calc_eq (A B C d : ℕ) (hd : d > 0) : diff2 (fun k => (H_calc A B C k : ℤ)) d = Z_calc A B C d := by …
- Positivity leaves exactly the cases
- lemma
Z_calc_le_oneThe curvature indicator expression never exceeds one line 467 sourceL4DEL explanation
In particular Z(A, B, C, d) ≤ 1
Regardless of the side lengths or degree, the inclusion-exclusion integer
Z_calc A B C dis at most1.- Each comparison is a zero-or-one threshold indicator.
- Their nesting relationships rule out any combination with total larger than one.
- Transferred through
diff2_H_calc_eq, this is the one-summand curvature bound driving the rest of the proof.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion
standard axioms: Quot.sound, propext what this means
Statement uses:
Nat,LE.le,Int, Z_calc,OfNat.ofNatProof uses:
id,Decidable.byContradiction,HAdd.hAdd,HSub.hSub,ite,LT.lt,Not13 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma Z_calc_le_one (A B C d : ℕ) : Z_calc A B C d ≤ 1 := by …
Mentions: Z_calc
- lemma
diff2_eq_funcPointwise equal sequences have equal second differences line 471 sourceL4DEL explanation
For an integer-valued sequence F : N → Z set
If two integer-valued sequences agree at every natural index, their
diff2values agree at any selected degree.- Function extensionality upgrades the pointwise equality to equality of functions.
- Rewriting by that equality transports the finite-difference expression without redoing its arithmetic.
- The proof uses this bridge to replace the semantic monomial count by the explicit
H_calcformula.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion
standard axioms: Quot.sound what this means
Statement uses:
Nat,Int,Eq, diff2Proof uses:
funext,Eq.mpr,id,congrArg,Eq.reflTactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma diff2_eq_func {h1 h2 : ℕ → ℤ} (heq : ∀ d, h1 d = h2 d) (d : ℕ) : diff2 h1 d = diff2 h2 d := by …Mentions: diff2
- lemma
diff2_h_seq_le_oneA single monomial's degree-count sequence has second difference at most one line 476 sourceL4DEL explanation
In particular Z(A, B, C, d) ≤ 1, hence ∆2 hm (d) ≤ 1 for every d
For every three-variable monomial and degree, the discrete second difference of its divisor-count sequence is at most
1. This is the uniform curvature bound obtained from the companion's explicit seven-indicator box-count formula.- The Lean proof identifies
diff2 h_seqwith the integer expressionZ_calc. - Arithmetic on the indicator thresholds proves
Z_calc ≤ 1, including the boundary case at degree zero.
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: Monomial,
OfNat.ofNat,Nat,LE.le,Int, diff2, h_seqProof uses:
Or,Eq,GT.gt,Decidable.byContradiction,Not,Eq.mpr,id,congrArg,ite, diff,HSub.hSub,rfl,if_pos,Finset.card,Finset.filter, totalDeg, divisorsFinset,Exists,Iff,Andand 41 more58 instances, coercions and auxiliary constants left out.
Tactic trace: 29 steps
Open to load the checked before-and-after goal states.
lemma diff2_h_seq_le_one (m : Monomial 3) (d : ℕ) : diff2 (fun k => (h_seq m k : ℤ)) d ≤ 1 := by …
- The Lean proof identifies
- lemma
log_concave_coreReduce log-concavity to the only two positive second-difference cases line 504 sourceL4DEL explanation
Since H(d − 1) ≥ 0 and ∆2 H(d + 1) ≤ 2, it is enough to prove
The algebraic identity for the log-concavity deficit expresses it as
y²-x·z, wherexis a nonnegative previous value,yis the first difference, andzis a second difference bounded above by2. Nonpositivezis automatic; hypotheses forz=1andz=2close the remaining cases.- Integer arithmetic handles all possibilities below the upper bound, including negative second differences.
- This lemma is the compact formal core behind the manuscript's reductions (9) and (10), not an independent assumption of log-concavity.
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:
Int,GE.ge,OfNat.ofNat,LE.le,Eq,HPow.hPow,Nat,HMul.hMulProof uses:
Or,Decidable.byContradiction,Not,mul_nonpos_of_nonneg_of_nonpos,sq_nonneg,Eq.mpr,id,congrArg46 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
lemma log_concave_core (x y z : ℤ) (hx : x ≥ 0) (hz : z ≤ 2) (hy : z = 1 → y^2 ≥ x) (hy2 : z = 2 → y^2 ≥ 2*x) : y^2 ≥ x * z := by …
- lemma
diff_eqReconstruct a sequence value from its preceding value and first difference line 518 sourceL4DEL explanation
Expanding H(d) = H(d − 1) + ∆H(d)
At a positive degree,
h(d)is exactlyh(d-1)+diff h d; this is the defining first-difference equation rearranged for later algebra.- Positivity selects the nonzero branch of
diff. - Integer arithmetic moves
h(d-1)to the other side. - The identity is one half of the log-concavity-deficit expansion used in the companion's equation (8).
Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion
standard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Int,GT.gt,OfNat.ofNat,Eq,HAdd.hAdd,HSub.hSub, diffProof uses:
id,Ne,Eq.mpr,ite,congrArg,if_neg,Decidable.byContradiction,Not17 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
lemma diff_eq (h : ℕ → ℤ) (d : ℕ) (hd : d > 0) : h d = h (d - 1) + diff h d := by …
Mentions: diff
- Positivity selects the nonzero branch of
- lemma
diff2_eqAdvance the first difference using the second difference line 525 sourceL4DEL explanation
∆H(d + 1) = ∆H(d) + ∆2 H(d + 1)
For positive
d, the next first difference is the current first difference plus the second difference atd+1.- The positive index makes
d+1nonzero, sodiff2unfolds to an ordinary subtraction. - Natural-number predecessor simplification turns
(d+1)-1back intod. - This is the second identity used to rewrite the log-concavity deficit in terms of discrete curvature.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion
standard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Int,GT.gt,OfNat.ofNat,Eq, diff,HAdd.hAdd, diff2Proof uses:
id,Ne,Eq.mpr,ite,HSub.hSub,congrArg,if_neg,Decidable.byContradiction,Not18 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma diff2_eq (h : ℕ → ℤ) (d : ℕ) (hd : d > 0) : diff h (d + 1) = diff h d + diff2 h (d + 1) := by …
- The positive index makes
- def
shifted_h_seqShift a principal divisor sequence behind a degree threshold line 534 sourceL4DEL explanation
H(d) := hΓ (d) = hm1 (d) + 1d≥c hMred (d − c).
shifted_h_seq(m,c,d)(Lean:shifted_h_seq m c d) is zero belowcand otherwise reads the divisor-count sequence ofmat degreed-c.- The threshold prevents natural-number subtraction from creating spurious low-degree values.
- For the reduced monomial,
c=m₁(x)+1records the exponent removed in the exceptional coordinate. - This packages the indicator-weighted residual term in the companion's decomposition of
H.
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: Monomial,
OfNat.ofNat,Nat,IntProof uses:
ite,GE.ge, h_seq,HSub.hSub9 instances, coercions and auxiliary constants left out.
noncomputable def shifted_h_seq (m : Monomial 3) (c : ℕ) (d : ℕ) : ℤ := …
Mentions: Monomial
- lemma
diff_addFirst differences distribute over pointwise addition line 537 sourceL4DEL explanation
Write f (t) = hm1 (t), g(t) = 1t≥c hMred (t − c), so that H = f + g.
Taking the first discrete difference of
h₁+h₂givesdiff h₁ + diff h₂at every degree, including the special boundary value at zero.- At zero, all three expressions reduce to their sequence values at zero.
- At positive degrees, ordinary subtraction distributes over addition.
- This lets the two summands of the decomposed Hilbert sequence be analysed independently.
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,Int,Eq, diff,HAdd.hAddProof uses:
id,dite,ite,OfNat.ofNat,HSub.hSub,Eq.mpr,congr,congrArg,if_pos,Mathlib.Tactic.Ring.of_eq,HMul.hMul,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_pf_add_lt,Mathlib.Tactic.Ring.add_pf_zero_add,Not,if_negand 16 more31 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma diff_add (h1 h2 : ℕ → ℤ) (d : ℕ) : diff (fun k => h1 k + h2 k) d = diff h1 d + diff h2 d := by …
Mentions: diff
- lemma
diff2_addSecond differences distribute over pointwise addition line 544 sourceL4DEL explanation
Because ∆2 f ≤ 1 and ∆2 g ≤ 1
The discrete curvature of a sum is the sum of the two discrete curvatures, with the identity valid at zero as well as positive degrees.
diff2is unfolded into first differences.diff_addis applied to every first-difference term.- This converts two individual upper bounds of one into the upper bound of two for the decomposed 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,Int,Eq, diff2,HAdd.hAddProof uses:
id,dite,ite,OfNat.ofNat, diff,HSub.hSub,Eq.mpr,congr,congrArg,if_pos, diff_add,Eq.refl,Not,if_neg,Mathlib.Tactic.Ring.of_eq,HMul.hMul,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCastand 18 more31 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
lemma diff2_add (h1 h2 : ℕ → ℤ) (d : ℕ) : diff2 (fun k => h1 k + h2 k) d = diff2 h1 d + diff2 h2 d := by …
Mentions: diff2
- def
H_seqThe decomposed degree sequence for the two-generator order ideal line 552 sourceL4DEL explanation
H(d) := hΓ (d) = hm1 (d) + 1d≥c hMred (d − c).
H_seqadds the principal degree counts belowm₁to a shifted residual degree count derived fromm₂. The second term is zero below the thresholdm₁(x)+1, exactly encoding the piecewise decomposition of the manuscript's equation (2).- The result is stored as an integer-valued sequence so finite differences and signed inequalities can be used without truncated subtraction.
- Under the orientation and equal-degree hypotheses,
H_seqis later identified with the original pure 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: Monomial,
OfNat.ofNat,Nat,Fin,IntProof uses:
HAdd.hAdd, h_seq,ite,GE.ge, reduced_monomial,HSub.hSub14 instances, coercions and auxiliary constants left out.
noncomputable def H_seq {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) : ℤ := …Mentions: Monomial
- lemma
H_seq_eq_addExpose the decomposed Hilbert sequence as an explicit pointwise sum line 555 sourceL4DEL explanation
H(d) := hΓ (d) = hm1 (d) + 1d≥c hMred (d − c).
H_seqis definitionally the principal sequence ofm₁plus the shifted sequence of the reduced monomial; this lemma presents that structure in the form expected by the finite-difference linearity lemmas.- The conditional in
H_seqand the conditional inshifted_h_sequse the same threshold. - Splitting on that condition makes both sides identical in each branch.
- The resulting equality is the formal counterpart of writing the manuscript's
Hasf+g.
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: Monomial,
OfNat.ofNat,Nat,Fin,Eq,Int, H_seq,HAdd.hAdd, h_seq, shifted_h_seq, reduced_monomialProof uses:
id,ite,GE.ge,HSub.hSub,Eq.mpr,congrArg,Eq.trans,Nat.cast_add,Nat.cast_ite,ite_congr,Eq.refl,Not,Nat.cast_zero,dite,congr,if_pos,if_neg36 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
lemma H_seq_eq_add {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) : H_seq (m1:=m1) (m2:=m2) x d = (fun k => (h_seq m1 k : ℤ)) d + shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1) d := by …Mentions: Monomial, H_seq, h_seq, shifted_h_seq, reduced_monomial
- The conditional in
- lemma
diff2_h_seq_eq_Z_calcThe actual monomial divisor sequence has the seven-indicator curvature line 565 sourceL4DEL explanation
∆2 hm (d) = Z(A, B, C, d)
At every positive degree, the second difference of
h_seq(m)equalsZ_calcwith side lengths one larger than the three exponents ofm; Lean writes the partial application ash_seq m.H_eq_H_calcgives pointwise equality between the semantic divisor count and the explicit box count.diff2_eq_functransports the second difference across that equality.diff2_H_calc_eqsupplies the exact threshold expression on the computational side.
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: Monomial,
OfNat.ofNat,Nat,GT.gt,Eq,Int, diff2, h_seq, Z_calc,HAdd.hAdd,FinProof uses: H_calc,
congrArg, H_eq_H_calc, diff2_eq_func,Eq.mpr,id, diff2_H_calc_eq24 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma diff2_h_seq_eq_Z_calc (m : Monomial 3) (d : ℕ) (hd : d > 0) : diff2 (fun k => (h_seq m k : ℤ)) d = Z_calc (m 0 + 1) (m 1 + 1) (m 2 + 1) d := by …
- lemma
Z_calc_eq_zero_casesClassify where the curvature indicator can vanish line 574 sourceL4DEL explanation
∆2 hm (d) = Z(A, B, C, d)
If
Z_calc A B C dis zero, thendhas crossed at least one single-side threshold while remaining below the opposite pair sum, or it has crossed the total sum.- The first three alternatives are symmetric in
A,B, andC. - The last alternative is the post-support region beyond
A+B+C. - This is a Lean case-analysis helper derived from the manuscript's indicator formula; the companion does not state this zero classification as a separate lemma.
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,Eq,Int, Z_calc,OfNat.ofNat,Or,And,GE.ge,LT.lt,HAdd.hAddProof uses:
id,HSub.hSub,ite,Decidable.byContradiction,Not18 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma Z_calc_eq_zero_cases (A B C d : ℕ) : Z_calc A B C d = 0 → (d ≥ A ∧ d < B + C) ∨ (d ≥ B ∧ d < A + C) ∨ (d ≥ C ∧ d < A + B) ∨ (d ≥ A + B + C) := by …
Mentions: Z_calc
- The first three alternatives are symmetric in
- lemma
Z_calc_eq_one_casesCurvature one occurs only in the lower or upper box region line 579 sourceL4DEL explanation
Moreover, if ∆2 hm (t) = 1, then either
When the indicator expression equals one, either
dlies below all three side lengths or it lies above all three pair sums but below the total sum.- The first alternative is the lower region, where the degree slice has its unrestricted quadratic form.
- The second alternative is the upper region, where the complementary quadratic form applies.
- The classification turns a numerical equality into the exact geometric regions used by the manuscript's 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,Eq,Int, Z_calc,OfNat.ofNat,Or,And,LT.lt,GE.ge,HAdd.hAddProof uses:
id,HSub.hSub,ite,Decidable.byContradiction,Not18 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma Z_calc_eq_one_cases (A B C d : ℕ) : Z_calc A B C d = 1 → (d < A ∧ d < B ∧ d < C) ∨ (d ≥ A + B ∧ d ≥ B + C ∧ d ≥ C + A ∧ d < A + B + C) := by …
Mentions: Z_calc
- lemma
diff2_h_seq_eq_one_implies_posPositive-degree curvature one forces a lower-or-upper region certificate line 584 sourceL4DEL explanation
if ∆2 hm (t) = 1, then either
If the monomial divisor count has second difference exactly one at a positive degree, Lean returns the coordinate inequalities describing the manuscript's two permitted regions.
- The semantic second difference is rewritten as
Z_calc. Z_calc_eq_one_casesgives the threshold alternatives in side-length coordinates.- Substituting
A=m(0)+1,B=m(1)+1, andC=m(2)+1converts them to exponent inequalities.
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: Monomial,
OfNat.ofNat,Nat,GT.gt,Eq,Int, diff2, h_seq,Or,And,LE.le,Fin,GE.ge,HAdd.hAddProof uses: H_calc,
id, H_eq_H_calc,congrArg, diff2_eq_func,Eq.mpr, Z_calc, diff2_H_calc_eq,LT.lt, Z_calc_eq_one_cases,Or.inl,Decidable.byContradiction,Not,Or.inr33 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
lemma diff2_h_seq_eq_one_implies_pos (m : Monomial 3) (d : ℕ) (hd : d > 0) : diff2 (fun k => (h_seq m k : ℤ)) d = 1 → (d ≤ m 0 ∧ d ≤ m 1 ∧ d ≤ m 2) ∨ (d ≥ m 0 + m 1 + 2 ∧ d ≥ m 1 + m 2 + 2 ∧ d ≥ m 0 + m 2 + 2 ∧ d ≤ m 0 + m 1 + m 2 + 2) := by …
- The semantic second difference is rewritten as
- lemma
diff2_h_seq_eq_one_impliesCurvature one has the same two-region classification at every degree line 603 sourceL4DEL explanation
if ∆2 hm (t) = 1, then either
This wrapper extends the positive-degree classification to degree zero, yielding one uniform lower-or-upper alternative for all natural indices.
- At zero, the lower-region inequalities hold automatically.
- At a positive degree,
diff2_h_seq_eq_one_implies_possupplies the full classification. - Later case analysis can therefore consume one theorem without reopening the boundary convention of
diff2.
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: Monomial,
OfNat.ofNat,Nat,Eq,Int, diff2, h_seq,Or,And,LE.le,Fin,GE.ge,HAdd.hAddProof uses:
GT.gt,Decidable.byContradiction,Not,Or.inl, diff2_h_seq_eq_one_implies_pos35 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma diff2_h_seq_eq_one_implies (m : Monomial 3) (d : ℕ) : diff2 (fun k => (h_seq m k : ℤ)) d = 1 → (d ≤ m 0 ∧ d ≤ m 1 ∧ d ≤ m 2) ∨ (d ≥ m 0 + m 1 + 2 ∧ d ≥ m 1 + m 2 + 2 ∧ d ≥ m 0 + m 2 + 2 ∧ d ≤ m 0 + m 1 + m 2 + 2) := by …
- lemma
diff2_shifted_h_seq_eq_zero_ltA shifted divisor sequence has zero curvature before it begins line 614 sourceL4DEL explanation
H(d) := hΓ (d) = hm1 (d) + 1d≥c hMred (d − c).
When
d<c, the shifted residual sequence is still zero atdand at the predecessor indices used bydiff2, so its second difference is exactly zero.- Unfolding
shifted_h_seqselects the zero branch at every relevant index. - The result formalizes the indicator
1_{d≥c}in the companion's decomposition. - It also prevents the shift from contributing spurious curvature below its threshold.
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: Monomial,
OfNat.ofNat,Nat,LT.lt,Eq,Int, diff2, shifted_h_seqProof uses:
id,ite, diff,HSub.hSub,dite,GE.ge, h_seq,Eq.mpr,congrArg,Eq.trans,ite_congr,Eq.refl,Not,if_pos,Decidable.byContradiction,if_neg,congr26 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma diff2_shifted_h_seq_eq_zero_lt (m : Monomial 3) (c d : ℕ) (h : d < c) : diff2 (shifted_h_seq m c) d = 0 := by …
Mentions: Monomial, diff2, shifted_h_seq
- Unfolding
- lemma
diff2_shifted_h_seq_le_one_ltThe shifted summand obeys the curvature bound below its threshold line 619 sourceL4DEL explanation
the same is true for the shifted sequence
Before the residual term turns on, its second difference is zero and therefore certainly at most one.
diff2_shifted_h_seq_eq_zero_ltsupplies the exact zero value.- The remaining inequality is integer arithmetic.
- This is the below-threshold half of the uniform one-summand curvature bound.
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: Monomial,
OfNat.ofNat,Nat,LT.lt,LE.le,Int, diff2, shifted_h_seqProof uses:
Eq.mpr,id,Eq,congrArg, diff2_shifted_h_seq_eq_zero_lt,Decidable.byContradiction,Not10 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma diff2_shifted_h_seq_le_one_lt (m : Monomial 3) (c d : ℕ) (h : d < c) : diff2 (shifted_h_seq m c) d ≤ 1 := by …
Mentions: Monomial, diff2, shifted_h_seq
- lemma
diff2_shifted_h_seq_eq_geAbove the threshold, shifting only translates the curvature index line 624 sourceL4DEL explanation
the same is true for the shifted sequence d 7→ 1d≥c hMred (d − c).
Once
d≥c, the second difference ofshifted_h_seq(m,c)atdequals the second difference of the original divisor sequence atd-c; Lean writes the partial application asshifted_h_seq m c.- The threshold branch rewrites shifted values as
h_seq mvalues. - Predecessor cases at the activation boundary are handled explicitly so the identity includes
d=c. - The statement lets every curvature classification for
h_seqbe reused for the residual summand.
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: Monomial,
OfNat.ofNat,Nat,GE.ge,Eq,Int, diff2, shifted_h_seq, h_seq,HSub.hSubProof uses:
id,ite, diff,diff2_shifted_h_seq_eq_ge.match_3,LE.le,Eq.mp,diff2_shifted_h_seq_eq_ge.match_4,HAdd.hAdd,diff2_shifted_h_seq_eq_ge.match_6,diff2_shifted_h_seq_eq_ge.match_928 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
lemma diff2_shifted_h_seq_eq_ge (m : Monomial 3) (c d : ℕ) (h : d ≥ c) : diff2 (shifted_h_seq m c) d = diff2 (fun k => (h_seq m k : ℤ)) (d - c) := by …
Mentions: Monomial, diff2, shifted_h_seq, h_seq
- The threshold branch rewrites shifted values as
- lemma
diff2_shifted_h_seq_le_one_geThe shifted summand obeys the curvature bound after activation line 630 sourceL4DEL explanation
the same is true for the shifted sequence d 7→ 1d≥c hMred (d − c).
At and above the shift threshold, the residual curvature is just the original monomial curvature at a translated index, which is already bounded by one.
diff2_shifted_h_seq_eq_geremoves the shift.diff2_h_seq_le_onesupplies the established principal-sequence bound.- No new analytic estimate is introduced by this wrapper.
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: Monomial,
OfNat.ofNat,Nat,GE.ge,LE.le,Int, diff2, shifted_h_seqProof uses:
Eq, h_seq,HSub.hSub, diff2_shifted_h_seq_eq_ge,Eq.mpr,id,congrArg, diff2_h_seq_le_one12 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma diff2_shifted_h_seq_le_one_ge (m : Monomial 3) (c d : ℕ) (h : d ≥ c) : diff2 (shifted_h_seq m c) d ≤ 1 := by …
Mentions: Monomial, diff2, shifted_h_seq
- lemma
diff2_shifted_h_seq_le_oneEvery shifted principal sequence has second difference at most one line 636 sourceL4DEL explanation
the same is true for the shifted sequence d 7→ 1d≥c hMred (d − c).
The curvature bound for a shifted residual sequence holds at every natural degree, whether the degree lies before or after the activation threshold.
- The proof splits on
d<cversusd≥c. - The two preceding lemmas close the inactive and active cases.
- This is the second one-summand estimate used to prove
diff2 H≤2.
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: Monomial,
OfNat.ofNat,Nat,LE.le,Int, diff2, shifted_h_seqProof uses:
Or,LT.lt,GE.ge,Decidable.byContradiction,Not, diff2_shifted_h_seq_le_one_lt, diff2_shifted_h_seq_le_one_ge13 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
lemma diff2_shifted_h_seq_le_one (m : Monomial 3) (c d : ℕ) : diff2 (shifted_h_seq m c) d ≤ 1 := by …
Mentions: Monomial, diff2, shifted_h_seq
- The proof splits on
- lemma
diff2_shifted_h_seq_eq_one_impliesCurvature one proves that the shifted term has activated line 643 sourceL4DEL explanation
Since ∆2 g(D) = 1, necessarily D ≥ c
If the shifted sequence has second difference exactly one at
d, thendcannot lie belowc; it must satisfyd≥c.- Below
c, the exact-zero lemma contradicts curvature one. - Negating the below-threshold inequality yields the activation bound.
- This is a Lean bridge needed before translating a residual critical case back to
h_seq.
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: Monomial,
OfNat.ofNat,Nat,Eq,Int, diff2, shifted_h_seq,GE.geProof uses:
Decidable.byContradiction,Not, diff2_shifted_h_seq_eq_zero_lt,Eq.mp,LT.lt13 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
lemma diff2_shifted_h_seq_eq_one_implies (m : Monomial 3) (c d : ℕ) : diff2 (shifted_h_seq m c) d = 1 → d ≥ c := by …
Mentions: Monomial, diff2, shifted_h_seq
- Below
- lemma
diff2_shifted_h_seq_eq_one_implies_eqTransfer residual curvature one to the unshifted reduced monomial line 651 sourceL4DEL explanation
D ≥ c and ∆2 hMred (D − c) = 1.
Curvature one for the shifted residual at degree
dbecomes curvature one for the reduced monomial's divisor sequence at degreed-c.- The preceding lemma first proves that the shift is active.
diff2_shifted_h_seq_eq_gesupplies equality of the two second differences.- This exposes the lower-or-upper region classification for the reduced monomial.
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: Monomial,
OfNat.ofNat,Nat,Eq,Int, diff2, shifted_h_seq, h_seq,HSub.hSubProof uses:
GE.ge, diff2_shifted_h_seq_eq_one_implies, diff2_shifted_h_seq_eq_ge,Decidable.byContradiction,Not15 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma diff2_shifted_h_seq_eq_one_implies_eq (m : Monomial 3) (c d : ℕ) : diff2 (shifted_h_seq m c) d = 1 → diff2 (fun k => (h_seq m k : ℤ)) (d - c) = 1 := by …
Mentions: Monomial, diff2, shifted_h_seq, h_seq
- lemma
H_seq_eval_addEvaluate the decomposed sequence as principal plus shifted residual line 658 sourceL4DEL explanation
H(d) := hΓ (d) = hm1 (d) + 1d≥c hMred (d − c).
At a concrete degree
d,H_seqis the integer sum of the principal divisor count and the shifted reduced-monomial count.- This is the pointwise form of
H_seq_eq_add. - It exposes the two summands used in all subsequent numerical bounds.
- The equality mirrors the companion's equation (2) without changing its mathematical content.
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: Monomial,
OfNat.ofNat,Nat,Fin,Eq,Int, H_seq,HAdd.hAdd, h_seq, shifted_h_seq, reduced_monomialProof uses: H_seq_eq_add
11 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma H_seq_eval_add {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) : H_seq (m1:=m1) (m2:=m2) x d = (h_seq m1 d : ℤ) + shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1) d := by …Mentions: Monomial, H_seq, h_seq, shifted_h_seq, reduced_monomial
- This is the pointwise form of
- lemma
diff_H_seq_eval_addSplit the first difference of the decomposed sequence line 662 sourceL4DEL explanation
so that H = f + g.
The first difference of
H_seqis the sum of the first differences of its principal and shifted-residual components.- Function extensionality rewrites
H_seqas its two summands. diff_adddistributes the first-difference operator.- This is the formal version of the manuscript's notation
ΔH=Δf+Δg.
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: Monomial,
OfNat.ofNat,Nat,Fin,Eq,Int, diff, H_seq,HAdd.hAdd, h_seq, shifted_h_seq, reduced_monomialProof uses:
funext, H_seq_eq_add,Eq.mpr,id,congrArg, diff_add,Eq.refl20 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma diff_H_seq_eval_add {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) : diff (H_seq (m1:=m1) (m2:=m2) x) d = diff (fun k => (h_seq m1 k : ℤ)) d + diff (shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1)) d := by …Mentions: Monomial, diff, H_seq, h_seq, shifted_h_seq, reduced_monomial
- Function extensionality rewrites
- lemma
diff2_H_seq_eq_addSplit the second difference of the decomposed sequence line 669 sourceL4DEL explanation
Because ∆2 f ≤ 1 and ∆2 g ≤ 1
The discrete curvature of
H_seqis exactly the sum of the curvatures of its principal and shifted-residual parts.- The pointwise sum representation replaces
H_seq. diff2_adddistributes the second-difference operator.- This equality makes the manuscript's curvature-one and curvature-two case split exhaustive.
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: Monomial,
OfNat.ofNat,Nat,Fin,Eq,Int, diff2, H_seq,HAdd.hAdd, h_seq, shifted_h_seq, reduced_monomialProof uses:
funext, H_seq_eq_add,Eq.mpr,id,congrArg, diff2_add,Eq.refl20 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_seq_eq_add {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) : diff2 (H_seq (m1:=m1) (m2:=m2) x) d = diff2 (fun k => (h_seq m1 k : ℤ)) d + diff2 (shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1)) d := by …Mentions: Monomial, diff2, H_seq, h_seq, shifted_h_seq, reduced_monomial
- The pointwise sum representation replaces
- lemma
diff2_H_seq_le_twoThe decomposed two-generator sequence has second difference at most two line 676 sourceL4DEL explanation
Thus ∆2 H(d) ≤ 2.
Because
H_seqis the sum of two principal-type sequences and each has second difference at most1, its second difference is at most2. This confines the positive-curvature analysis to the cases1and2.- Finite differences distribute over the sum of the principal and shifted residual sequences.
- Applying the one-summand bound twice yields the manuscript's inequality (4).
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: Monomial,
OfNat.ofNat,Nat,Fin,LE.le,Int, diff2, H_seqProof uses:
Eq.mpr,HAdd.hAdd, h_seq, shifted_h_seq, reduced_monomial,id,Eq,congrArg, diff2_H_seq_eq_add, diff2_h_seq_le_one, diff2_shifted_h_seq_le_one,Decidable.byContradiction,Not17 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_seq_le_two {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) : diff2 (H_seq (m1:=m1) (m2:=m2) x) d ≤ 2 := by … - lemma
L_seq_leA two-variable degree slice has at most d+1 points line 685 sourceL4DEL explanation
where LA,B (k) = #{r < A : k − r < B, r ≤ k}.
L_seq(A,B,d)filters possible first exponents from thed+1integers between zero andd, so its cardinality cannot exceedd+1; Lean writes this asL_seq A B d.- Every accepted exponent belongs to the finite interval
{0,…,d}. - Finset cardinality monotonicity supplies the bound.
- The estimate is independent of the side lengths and feeds the unrestricted three-variable upper bound.
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,LE.le,L_seq,HAdd.hAdd,OfNat.ofNatProof uses:
id,Finset.card,Finset.filter,And,LT.lt,HSub.hSub,Finset.range,Eq.rec,Finset.Iic,Eq,Nat.le,Finset.card_mono,of_eq_true,Membership.mem,Finset,Eq.trans,True,implies_congr_ctx,congrArg,eq_trueand 2 more23 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma L_seq_le (A B d : ℕ) : L_seq A B d ≤ d + 1 := by …
- Every accepted exponent belongs to the finite interval
- lemma
h_seq_le_binomA principal three-variable degree slice is bounded by all weak compositions line 689 sourceL4DEL explanation
If t ≤ m(i) for all i, then
The divisors of a fixed monomial at degree
dform a subset of all triples of nonnegative integers summing tod, of which there are(d+1)(d+2)/2.- Forgetting the coordinatewise upper bounds gives an injection into the unrestricted degree slice.
- A finite counting argument evaluates that unrestricted slice by stars and bars.
- This supplies the universal lower-region-size envelope used later in log-concavity estimates.
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: Monomial,
OfNat.ofNat,Nat,LE.le, h_seq,HDiv.hDiv,HMul.hMul,HAdd.hAddProof uses:
id,Trans.simple,Finset.card,Finsupp,Fin,Finset.filter,Eq, totalDeg, divisorsFinset,Nat.card,setOf,Eq.mpr,Subtype,And,Membership.mem,Finset,Finset.Iic,Finsupp.sum,congr,congrArgand 103 more129 instances, coercions and auxiliary constants left out.
Tactic trace: 30 steps
Open to load the checked before-and-after goal states.
lemma h_seq_le_binom (m : Monomial 3) (d : ℕ) : h_seq m d ≤ (d + 1) * (d + 2) / 2 := by …
- lemma
h_seq_pure_lowerExact quadratic formula in the lower box region line 709 sourceL4DEL explanation
2hm (t) = (t + 1)(t + 2),
If
ddoes not exceed any exponent ofm, none of the divisor-box ceilings are active, so twice the degree count is(d+1)(d+2).- Under the hypotheses, every weak composition of
dautomatically dividesm. - Counting the unrestricted triples gives the binomial coefficient
choose(d+2,2). - Multiplication by two avoids division in the integer-valued form used by later inequalities.
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: Monomial,
OfNat.ofNat,Nat,And,LE.le,Fin,Eq,Int,HMul.hMul, h_seq,HAdd.hAddProof uses:
Eq.mpr,id,Eq.trans,congrArg,Eq.symm,Nat.cast_one,congr,Finset.card,Finset.filter, totalDeg, divisorsFinset,h_seq.eq_1,Trans.simple,Finsupp.sum,Finset.Iic,Nat.card,setOf,Finset.sum,Finset.univ,Subtypeand 110 more142 instances, coercions and auxiliary constants left out.
Tactic trace: 42 steps
Open to load the checked before-and-after goal states.
lemma h_seq_pure_lower (m : Monomial 3) (d : ℕ) (h : d ≤ m 0 ∧ d ≤ m 1 ∧ d ≤ m 2) : (h_seq m d : ℤ) * 2 = (d + 1) * (d + 2) := by …
- Under the hypotheses, every weak composition of
- lemma
h_seq_pure_lower_diffFirst difference in the lower region is d+2 line 728 sourceL4DEL explanation
∆hm (t) = t + 1.
When degree
d+1remains below every exponent ceiling, subtracting consecutive lower-region quadratic formulas gives first differenced+2.h_seq_pure_lowerevaluates the counts atd+1andd.- The definition of
diffreduces to their subtraction. - Ring arithmetic cancels the two quadratic expressions.
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: Monomial,
OfNat.ofNat,Nat,And,LE.le,HAdd.hAdd,Fin,Eq,Int, diff, h_seqProof uses:
HMul.hMul, h_seq_pure_lower,Decidable.byContradiction,Not,id,Ne,Eq.mpr,ite,HSub.hSub,congrArg,if_neg,Trans.trans,Mathlib.Tactic.Ring.of_eq,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.sub_congrand 61 more105 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
lemma h_seq_pure_lower_diff (m : Monomial 3) (d : ℕ) (h : d + 1 ≤ m 0 ∧ d + 1 ≤ m 1 ∧ d + 1 ≤ m 2) : diff (fun k => (h_seq m k : ℤ)) (d + 1) = d + 2 := by …
- lemma
h_seq_symmA monomial divisor sequence is symmetric about half its total degree line 748 sourceL4DEL explanation
Finally, for all t one has the universal upper estimate
Divisors of
mat degreedare in bijection with complementary divisorsm-uat degree|m|-d.- Coordinatewise subtraction stays inside the same exponent box.
- Applying the complement twice returns the original divisor.
- This Lean symmetry bridge derives the companion's upper-region formulas from the lower-region count.
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: Monomial,
OfNat.ofNat,Nat,LE.le,HAdd.hAdd,Fin,Eq, h_seq,HSub.hSubProof uses:
id,Finset.card,Finset.filter, totalDeg, divisorsFinset,Finsupp.sum,Finset.Iic,Eq.mpr,Finsupp,Finset.sum,ite,congrArg,Finset.card_filter,Finset.image,Finset.univ,HSMul.hSMul,Finsupp.single,Finset.Icc,Finset,of_eq_trueand 74 more112 instances, coercions and auxiliary constants left out.
Tactic trace: 24 steps
Open to load the checked before-and-after goal states.
lemma h_seq_symm (m : Monomial 3) (d : ℕ) (hd : d ≤ m 0 + m 1 + m 2) : h_seq m d = h_seq m (m 0 + m 1 + m 2 - d) := by …
- lemma
h_seq_upper_bound_intUniversal complementary quadratic upper bound line 763 sourceL4DEL explanation
2hm (t) ≤ (|m| − t + 1)(|m| − t + 2),
Below the total degree, twice
h_seq(m,d)is at most(|m|-d+1)(|m|-d+2), the number of unrestricted complementary triples; Lean writes the application ash_seq m d.h_seq_symmmoves degreedto complementary degree|m|-d.- Forgetting the exponent ceilings gives the unrestricted weak-composition bound there.
- The integer cast preserves the inequality in the signed arithmetic used by the main 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: Monomial,
OfNat.ofNat,Nat,LE.le,HAdd.hAdd,Fin,Int,HMul.hMul, h_seq,HSub.hSubProof uses:
Eq, h_seq_symm,congrArg,Eq.mpr,id,Finsupp,Finset.card,Finset.filter, totalDeg, divisorsFinset,Finsupp.sum,Finset.Iic,Trans.simple,Nat.card,setOf,Finset.sum,Finset.univ,Subtype,And,Eq.transand 110 more159 instances, coercions and auxiliary constants left out.
Tactic trace: 54 steps
Open to load the checked before-and-after goal states.
lemma h_seq_upper_bound_int (m : Monomial 3) (d : ℕ) (h_le : d ≤ m 0 + m 1 + m 2) : (h_seq m d : ℤ) * 2 ≤ (m 0 + m 1 + m 2 - d + 1 : ℤ) * (m 0 + m 1 + m 2 - d + 2 : ℤ) := by …
- lemma
h_seq_pure_upperExact complementary quadratic formula in the upper box region line 790 sourceL4DEL explanation
2hm (t) = (|m| + 1 − t)(|m| + 2 − t),
Once
dlies beyond every pairwise exponent sum, the complementary degree is below every exponent ceiling, giving the exact upper-tail formula for the divisor count.- For
d≤|m|, symmetry reduces the claim toh_seq_pure_lowerat|m|-d. - The endpoint
d=|m|+1is handled separately, where the count is zero. - The result is the Lean version of the companion's equation (5).
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: Monomial,
OfNat.ofNat,Nat,And,GE.ge,HAdd.hAdd,Fin,LE.le,Eq,Int,HMul.hMul, h_seq,HSub.hSubProof uses:
Or,Decidable.byContradiction,Not, h_seq_symm,congrArg,Eq.mpr,id, h_seq_pure_lower,Eq.mp,Membership.mem,Finset, divisorsFinset, totalDeg,Eq.trans,Finset.card,Finset.filter,EmptyCollection.emptyCollection,Finsupp,Finset.Iic,LT.lt.neand 23 more76 instances, coercions and auxiliary constants left out.
Tactic trace: 30 steps
Open to load the checked before-and-after goal states.
lemma h_seq_pure_upper (m : Monomial 3) (d : ℕ) (h : d ≥ m 0 + m 1 ∧ d ≥ m 1 + m 2 ∧ d ≥ m 0 + m 2 ∧ d ≤ m 0 + m 1 + m 2 + 1) : (h_seq m d : ℤ) * 2 = (m 0 + m 1 + m 2 + 1 - d : ℤ) * (m 0 + m 1 + m 2 + 2 - d : ℤ) := by …
- For
- lemma
h_seq_pure_upper_diffFirst difference in the upper region is negative complementary distance line 813 sourceL4DEL explanation
∆hm (t) = −(|m| + 2 − t).
In the upper box region, subtracting the exact complementary quadratic formulas at adjacent degrees gives
Δh(d)=-(|m|+2-d).h_seq_pure_upperevaluates both neighbouring counts.- Positivity of
dselects the ordinary subtraction branch ofdiff. - Ring arithmetic yields the companion's equation (6).
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: Monomial,
OfNat.ofNat,Nat,And,GE.ge,HAdd.hAdd,Fin,LE.le,Eq,Int, diff, h_seq,Neg.neg,HSub.hSubProof uses:
Decidable.byContradiction,Not,HMul.hMul, h_seq_pure_upper,id,Ne,Eq.mpr,ite,congrArg,if_neg,Trans.trans,Mathlib.Tactic.Ring.of_eq,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.atom_pfand 59 more111 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
lemma h_seq_pure_upper_diff (m : Monomial 3) (d : ℕ) (h : d ≥ m 0 + m 1 + 1 ∧ d ≥ m 1 + m 2 + 1 ∧ d ≥ m 0 + m 2 + 1 ∧ d ≤ m 0 + m 1 + m 2 + 1) : diff (fun k => (h_seq m k : ℤ)) d = - (m 0 + m 1 + m 2 + 2 - d : ℤ) := by …
- lemma
int_add_eq_two_of_le_oneA sum of two one-bounded integers reaches two only as one plus one line 832 sourceL4DEL explanation
The case ∆2 H(d + 1) = 2. Then ∆2 f (d + 1) = ∆2 g(d + 1) = 1.
If
a≤1,b≤1, anda+b=2, then both summands must equal one.- The lemma is elementary integer arithmetic.
- Its role is semantic: curvature two for
H=f+gforces curvature one in both summands. - It introduces no extra mathematical hypothesis beyond the two individual curvature bounds.
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:
Int,LE.le,OfNat.ofNat,Eq,HAdd.hAdd,AndProof uses:
Decidable.byContradiction,Not11 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma int_add_eq_two_of_le_one (a b : ℤ) (ha : a ≤ 1) (hb : b ≤ 1) (hab : a + b = 2) : a = 1 ∧ b = 1 := by omega
- lemma
diff2_H_seq_eq_two_implies_both_oneCurvature two means both component curvatures equal one line 834 sourceL4DEL explanation
The case ∆2 H(d + 1) = 2. Then ∆2 f (d + 1) = ∆2 g(d + 1) = 1.
If the decomposed sequence has second difference two, its principal and shifted-residual summands must each contribute their maximum possible curvature one.
diff2_H_seq_eq_addrewrites the total curvature as the sum of component curvatures.- Each component is bounded above by one.
int_add_eq_two_of_le_oneforces equality in both bounds.
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: Monomial,
OfNat.ofNat,Nat,Fin,Eq,Int, diff2, H_seq,And, h_seq, shifted_h_seq, reduced_monomial,HAdd.hAddProof uses: diff2_H_seq_eq_add,
Eq.mpr,id,congrArg,Eq.symm,Eq.refl, int_add_eq_two_of_le_one, diff2_h_seq_le_one, diff2_shifted_h_seq_le_one21 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_seq_eq_two_implies_both_one {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) : diff2 (H_seq (m1:=m1) (m2:=m2) x) d = 2 → … - lemma
int_add_eq_one_of_le_one_casesA sum of two one-bounded integers equals one in exactly two zero-one cases line 843 sourceL4DEL explanation
if ∆2 H(d + 1) = 1, then either
Under upper bounds
a≤1andb≤1, an integer sum of one forces either(a,b)=(1,0)or(0,1).- Negative alternatives cannot compensate without pushing the other summand above one.
- Presburger arithmetic proves the exhaustive disjunction.
- This is the formal splitter for the manuscript's cases A and B.
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:
Int,LE.le,OfNat.ofNat,Eq,HAdd.hAdd,Or,AndProof uses:
Decidable.byContradiction,Not12 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma int_add_eq_one_of_le_one_cases (a b : ℤ) (ha : a ≤ 1) (hb : b ≤ 1) (hab : a + b = 1) : (a = 1 ∧ b = 0) ∨ (a = 0 ∧ b = 1) := by omega
- lemma
diff2_H_seq_eq_one_implies_casesCurvature one splits into the manuscript's principal or residual case line 846 sourceL4DEL explanation
∆2 f (d + 1) = 1, ∆2 g(d + 1) = 0,
When
H=f+ghas second difference one, exactly one component has curvature one and the other has curvature zero.- The total second difference is rewritten as the component sum.
- Both component curvatures are at most one.
- The integer splitter returns the two alternatives labeled A and B in the companion.
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: Monomial,
OfNat.ofNat,Nat,Fin,Eq,Int, diff2, H_seq,Or,And, h_seq, shifted_h_seq, reduced_monomial,HAdd.hAddProof uses: diff2_H_seq_eq_add,
Eq.mpr,id,congrArg,Eq.symm,Eq.refl, int_add_eq_one_of_le_one_cases, diff2_h_seq_le_one, diff2_shifted_h_seq_le_one21 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_seq_eq_one_implies_cases {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) : diff2 (H_seq (m1:=m1) (m2:=m2) x) d = 1 → … - lemma
log_concave_algebra_lower_evalLower-region quadratic counts satisfy the needed square bound line 856 sourceL4DEL explanation
2f (d − 1) = d(d + 1), ∆f (d) = d + 1.
For an active shift
c≥1andd≥c-1, the sum of the two lower-region quadratic count expressions is bounded by the square of their combined first differences.- Expanding the deficit expresses it as nonnegative products in
d-candc. - The hypotheses make every remaining factor nonnegative.
- This arithmetic lemma packages the lower-lower configuration used in the curvature-two analysis.
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:
Int,GE.ge,OfNat.ofNat,HSub.hSub,LE.le,HAdd.hAdd,HMul.hMul,HPow.hPow,NatProof uses:
Eq,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.pow_congr,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.add_pf_add_gt,Mathlib.Tactic.Ring.add_pf_add_zero,Mathlib.Tactic.Ring.add_pf_add_lt,Mathlib.Tactic.Ring.add_pf_add_overlap,Mathlib.Tactic.Ring.add_overlap_pf,Mathlib.Meta.NormNum.IsNat.to_raw_eqand 57 more109 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
lemma log_concave_algebra_lower_eval (d c : ℤ) (hc : c ≥ 1) (hd : d ≥ c - 1) : (d) * (d + 1) + (d - c) * (d - c + 1) ≤ (d + 1 + d - c + 1) ^ 2 := by …
- Expanding the deficit expresses it as nonnegative products in
- lemma
log_concave_weak_lowerA lower-region principal term absorbs a bounded residual term line 869 sourceL4DEL explanation
2S ≤ (U + 2)(U + 3), 2S ′ ≤ (U + 1)(U + 2),
If the residual value has the companion's quadratic upper bound and its first difference is nonnegative, the combined value is controlled by twice the square of the combined first difference.
- The residual-size hypothesis substitutes its worst permitted quadratic envelope.
- Expanding the target leaves only nonnegative terms from
c≥1,d≥c, anddS≥0. - This helper isolates arithmetic from the surrounding monomial-region reasoning.
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:
Int,LE.le,HMul.hMul,OfNat.ofNat,HSub.hSub,HAdd.hAdd,GE.ge,HPow.hPow,NatProof uses:
Eq,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.pow_congr,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_pf_add_gt,Mathlib.Tactic.Ring.add_pf_add_zero,Mathlib.Tactic.Ring.add_pf_add_lt,Mathlib.Tactic.Ring.add_pf_zero_add,Mathlib.Tactic.Ring.pow_add,Mathlib.Tactic.Ring.pow_nat,Mathlib.Tactic.Ring.coeff_one,Mathlib.Tactic.Ring.pow_one_cast,Mathlib.Tactic.Ring.pow_bit0and 60 more106 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma log_concave_weak_lower (d c S dS : ℤ) (hS : 2 * S ≤ (d - c) * (d - c + 1)) (hdS : dS ≥ 0) (hc : c ≥ 1) (hd : d ≥ c) : d * (d + 1) + 2 * S ≤ 2 * (d + 1 + dS)^2 := by …
- lemma
log_concave_algebra_upper_twoTwo upper-tail quadratics are dominated by the squared combined slope line 877 sourceL4DEL explanation
The case ∆2 H(d + 1) = 2. Then ∆2 f (d + 1) = ∆2 g(d + 1) = 1.
For positive complementary distances
k₁,k₂, the two quadratic upper-tail counts fit beneath twice the square of the sum of their negative first differences.- Expanding the difference produces
k₁(k₁-1),k₂(k₂-1), and a positive cross term. - Positivity of both distances makes all three contributions nonnegative.
- This is a general arithmetic form of the companion's final upper-upper estimate.
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:
Int,GE.ge,OfNat.ofNat,LE.le,HAdd.hAdd,HMul.hMul,HPow.hPow,Nat,HSub.hSub,Neg.negProof uses:
Eq,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.pow_congr,Mathlib.Tactic.Ring.neg_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.neg_add,Mathlib.Tactic.Ring.neg_mul,Mathlib.Tactic.Ring.neg_one_mul,Mathlib.Meta.NormNum.IsInt.to_raw_eq,Mathlib.Meta.NormNum.isInt_muland 57 more90 instances, coercions and auxiliary constants left out.
Tactic trace: 16 steps
Open to load the checked before-and-after goal states.
lemma log_concave_algebra_upper_two (k1 k2 : ℤ) (h1 : k1 ≥ 1) (h2 : k2 ≥ 1) : k1 * (k1 + 1) + k2 * (k2 + 1) ≤ 2 * (-k1 - k2)^2 := by …
- Expanding the difference produces
- lemma
log_concave_algebra_upper_evalThe exact upper-upper region inequality line 887 sourceL4DEL explanation
2(U1 + 1)(U2 + 1) + U1 + U2 + 2 ≥ 0,
When the two upper-region offsets satisfy
U₁,U₂≥-1, their complementary quadratic counts are bounded by the square of the sum of their negative slopes.- Ring expansion identifies the deficit as
2(U₁+1)(U₂+1)+U₁+U₂+2. - Both shifted offsets are nonnegative under the hypotheses.
- This matches the last algebraic inequality in the companion's curvature-two case.
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:
Int,GE.ge,Neg.neg,OfNat.ofNat,LE.le,HAdd.hAdd,HMul.hMul,HPow.hPow,Nat,HSub.hSubProof uses:
Eq,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.pow_congr,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.neg_congr,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.add_pf_add_gt,Mathlib.Tactic.Ring.add_pf_add_zero,Mathlib.Tactic.Ring.neg_add,Mathlib.Tactic.Ring.neg_one_mul,Mathlib.Meta.NormNum.IsInt.to_raw_eqand 55 more110 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
lemma log_concave_algebra_upper_eval (U1 U2 : ℤ) (h1 : U1 ≥ -1) (h2 : U2 ≥ -1) : (U1 + 2) * (U1 + 3) + (U2 + 2) * (U2 + 3) ≤ (- (U1 + 2) - (U2 + 2)) ^ 2 := by …
- Ring expansion identifies the deficit as
- lemma
diff2_eq_one_reductionShift a curvature-one square bound back by one degree line 895 sourceL4DEL explanation
If ∆2 H(d + 1) = 1 and H(d + 1) ≤ (∆H(d + 1))2 , then
If neighbouring first differences differ by one and the earlier sequence value is reconstructed from the later one, a square bound at the later degree implies the required square bound two indices earlier.
- The curvature-one equation rewrites the earlier first difference as the later one minus one.
- The sequence identity rewrites the earlier value as the later value minus twice the later slope plus one.
- Substituting the later square bound completes the square exactly as in the companion's reduction (13).
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:
Int,Eq,HSub.hSub,OfNat.ofNat,LE.le,HPow.hPow,NatProof uses:
Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt,Not.intro,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,HAdd.hAdd,Neg.neg,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,Int.rawCast,Int.negOfNat,HMul.hMul,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.neg_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refland 55 more86 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma diff2_eq_one_reduction (H_d_minus_1 H_d_plus_1 diff_H_d diff_H_d_plus_1 : ℤ) : diff_H_d_plus_1 - diff_H_d = 1 → H_d_plus_1 - diff_H_d_plus_1 - diff_H_d = H_d_minus_1 → H_d_plus_1 ≤ diff_H_d_plus_1 ^ 2 → H_d_minus_1 ≤ diff_H_d ^ 2 := by …
- lemma
H_seq_identityReconstruct H(d−1) from H(d+1) and two first differences line 905 sourceL4DEL explanation
H(d − 1) = H(d+1)−∆H(d+1)−∆H(d),
For positive
d, the earlier value equals the later value minus the first differences atd+1andd.- Each first difference is unfolded as a subtraction of adjacent
H_seqvalues. - The middle values cancel by integer linear arithmetic.
- This supplies the sequence identity required by
diff2_eq_one_reduction.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Eq,Int,HSub.hSub, H_seq,HAdd.hAdd, diffProof uses:
id,Ne,Eq.mpr,ite,congrArg,if_neg,Decidable.byContradiction,Not,Eq.refl,Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt,Not.intro,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,Neg.neg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,Int.rawCast,Int.negOfNat,HMul.hMuland 40 more82 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
lemma H_seq_identity {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) : H_seq (m1:=m1) (m2:=m2) x (d + 1) - diff (H_seq (m1:=m1) (m2:=m2) x) (d + 1) - diff (H_seq (m1:=m1) (m2:=m2) x) d = H_seq (m1:=m1) (m2:=m2) x (d - 1) := by … - Each first difference is unfolded as a subtraction of adjacent
- lemma
H_seq_diff2_reductionShift a critical second-difference-one bound back one degree line 919 sourceL4DEL explanation
If ∆2 H(d + 1) = 1 and H(d + 1) ≤ (∆H(d + 1))2 , then H(d − 1) ≤ (∆H(d))2 .
When the second difference at
d+1equals1, an upper bound atd+1by the square of its first difference implies the required bound atd-1. This is the formal version of the companion's shift reduction (13).H_seq_identityrewrites the earlier value using the later value and the two neighbouring first differences.- The second-difference-one equation says those first differences differ by exactly one, so the later square completes to the earlier square.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Eq,Int, diff2, H_seq,HAdd.hAdd,LE.le,HPow.hPow, diff,HSub.hSubProof uses: diff2_eq_one_reduction, H_seq_identity
22 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma H_seq_diff2_reduction {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) : diff2 (H_seq (m1:=m1) (m2:=m2) x) (d + 1) = 1 → … - lemma
H_seq_diff_eqThe first difference of H is the sum of the two component differences line 929 sourceL4DEL explanation
so that H = f + g.
This theorem packages the decomposition
H=f+gat the level of first differences, so later case proofs can reason about the principal and residual slopes separately.- Rewrite
H_seqas the pointwise sum ofh_seq m1and the shifted reduced sequence. - Apply linearity of the first-difference operator.
- This is a transport lemma for the manuscript's notation, not an extra mathematical assumption.
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: Monomial,
OfNat.ofNat,Nat,Fin,Eq,Int, diff, H_seq,HAdd.hAdd, h_seq, shifted_h_seq, reduced_monomialProof uses:
funext, H_seq_eq_add,Eq.mpr,id,congrArg, diff_add,Eq.refl20 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma H_seq_diff_eq {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) : diff (H_seq (m1:=m1) (m2:=m2) x) d = diff (fun k => (h_seq m1 k : ℤ)) d + diff (shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1)) d := by …Mentions: Monomial, diff, H_seq, h_seq, shifted_h_seq, reduced_monomial
- Rewrite
- lemma
shifted_h_seq_zero_of_ltline 935 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,LT.lt,Eq,Int, shifted_h_seqProof uses:
id,Eq.mpr,ite,GE.ge, h_seq,HSub.hSub,congrArg,if_neg,Eq.refl13 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
diff_shifted_h_seq_zero_of_ltline 940 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,GT.gt,LT.lt,Eq,Int, diff, shifted_h_seqProof uses:
id,Ne,Eq.mpr,ite,HSub.hSub,congrArg,if_neg, shifted_h_seq_zero_of_lt,Decidable.byContradiction,Not,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.cast_zero,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.sub_pf,Mathlib.Tactic.Ring.neg_zero,Mathlib.Tactic.Ring.add_pf_zero_add24 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
diff2_H_seq_eq_one_implies_inl_lowCurvature-one case A closes immediately in the principal lower region line 950 sourceL4DEL explanation
Case A, lower region for f
When the principal summand has curvature one in its lower region, the shift has not activated yet, so the desired square bound reduces to the exact lower quadratic formula.
- The lower-region inequalities force
d+1<m1(x)+1, making the shifted residual and its first difference zero. - Evaluate the remaining principal value and slope by the lower formulas.
- The resulting polynomial inequality is discharged arithmetically.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int, diff2, h_seq,HAdd.hAdd, shifted_h_seq, reduced_monomial,And, H_seq,HSub.hSub,HPow.hPow, diffProof uses:
LT.lt,Fin.isLt,Or,Decidable.byContradiction,Not,congrArg,Fin.ext,Eq.mpr,id, H_seq_eval_add, shifted_h_seq_zero_of_lt,Mathlib.Tactic.Ring.of_eq,HMul.hMul,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.cast_zero,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refland 70 more129 instances, coercions and auxiliary constants left out.
Tactic trace: 64 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_seq_eq_one_implies_inl_low {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (h1 : diff2 (fun k => (h_seq m1 k : ℤ)) (d + 1) = 1) (h2 : diff2 (shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1)) (d + 1) = 0) (h1_low : d + 1 ≤ m1 0 ∧ d + 1 ≤ m1 1 ∧ d + 1 ≤ m1 2) : H_seq (m1:=m1) (m2:=m2) x (d - 1) ≤ (diff (H_seq (m1:=m1) (m2:=m2) x) d)^2 := by …Mentions: Monomial, totalDeg, diff2, h_seq, shifted_h_seq, reduced_monomial, H_seq, diff
- The lower-region inequalities force
- lemma
h_seq_zero_of_gtline 999 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,GT.gt,HAdd.hAdd,Fin,Eq, h_seqProof uses:
Nat.rec,Nat.zero,h_seq_zero_of_gt.match_1,Nat.succ,Eq.trans,Finset.card,Finset.filter, totalDeg, divisorsFinset,Eq.mpr,id,congrArg,h_seq.eq_1,Eq.refl,LE.le,Not,Finsupp.sum,Finset.Iic,Finset,EmptyCollection.emptyCollectionand 31 more67 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
h_seq_upper_bound_int_allline 1004 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,LE.le,Int,HMul.hMul, h_seq,HAdd.hAdd,HSub.hSub,FinProof uses:
Or,GT.gt,Decidable.byContradiction,Not, h_seq_upper_bound_int,Eq,Eq.mp,congrArg, h_seq_zero_of_gt,cast,Eq.symm,Eq.trans,Nat.cast_zero,Eq.mpr,id,Neg.neg,Mathlib.Meta.NormNum.isNat_le_true,Mathlib.Meta.NormNum.isNat_mul,Eq.refl,Mathlib.Meta.NormNum.isNat_ofNatand 60 more134 instances, coercions and auxiliary constants left out.
Tactic trace: 33 steps
Open to load the checked before-and-after goal states.
- lemma
h_seq_pure_upper_evalline 1029 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,GT.gt,And,GE.ge,HAdd.hAdd,Fin,LE.le,Eq,Int,HMul.hMul, h_seq,HSub.hSub, diff,Neg.negProof uses:
And.intro,Decidable.byContradiction,Not, h_seq_pure_upper,Eq.mp,congrArg, h_seq_pure_upper_diff50 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
- lemma
m_deg_eq_2line 1050 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Eq, totalDeg,HAdd.hAdd,FinProof uses:
of_eq_true,Finsupp,Eq.trans,True,congrArg,id,Eq.mp,Finsupp.sum,congr,Finset.sum,Top.top,Finset,Zero,AddCommMonoid,Top,HasSubset.Subset,Finsupp.support,Membership.mem,Finsupp.sum_of_support_subset,Finset.univand 5 more35 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
M_red_eqline 1055 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,HAdd.hAdd, reduced_monomial,HSub.hSubProof uses: m_deg_eq_2,
Or,LT.lt,Fin.isLt,Decidable.byContradiction,Not,Fin.ext,Eq.mpr,id,congrArg,of_eq_true,ite,Eq.trans,True,ite_congr,eq_self,eq_true,True.intro,Eq.refl,Falseand 15 more66 instances, coercions and auxiliary constants left out.
Tactic trace: 57 steps
Open to load the checked before-and-after goal states.
- lemma
inl_high_algebraline 1091 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Int,GE.ge,Neg.neg,OfNat.ofNat,LE.le,HMul.hMul,HAdd.hAdd,Eq,HSub.hSub,HPow.hPow,NatProof uses:
Decidable.byContradiction,Not,Eq.mpr,id,congrArg,le_of_not_gt,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.neg_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refland 56 more109 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
algebra_helper_1line 1102 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,GT.gt,OfNat.ofNat,Int,Eq,HSub.hSub,HAdd.hAdd,LE.le,And,GE.ge,Neg.negProof uses:
Decidable.byContradiction,Not32 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
algebra_helper_2line 1112 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,GT.gt,OfNat.ofNat,Eq,HSub.hSub,HAdd.hAdd,GE.ge,And,IntProof uses:
Decidable.byContradiction,Not27 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
algebra_helper_3line 1116 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,GT.gt,OfNat.ofNat,Eq,HSub.hSub,HAdd.hAdd,GE.ge,And,IntProof uses:
Decidable.byContradiction,Not27 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
ineq_helperline 1120 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,GE.ge,HAdd.hAdd,OfNat.ofNat,LE.le,And,HSub.hSubProof uses:
Decidable.byContradiction,Not15 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
diff_shifted_h_seq_eq_geline 1124 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,GT.gt,GE.ge,Eq,Int, diff, shifted_h_seq, h_seq,HSub.hSubProof uses:
Or,Decidable.byContradiction,Not,id,Ne,Eq.mpr,ite,congrArg,if_neg,if_pos,Eq.refl,Mathlib.Tactic.Ring.of_eq,HAdd.hAdd,HMul.hMul,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.cast_zeroand 6 more52 instances, coercions and auxiliary constants left out.
Tactic trace: 51 steps
Open to load the checked before-and-after goal states.
- lemma
L_seq_eq_minline 1159 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,L_seq,HSub.hSub,Min.min,HAdd.hAdd,OfNat.ofNat,ite,GE.geProof uses:
id,Finset.card,Finset.filter,And,LT.lt,LE.le,Finset.range,Or.elim,Not,em,Eq.rec,Eq.trans,Finset.Ico,Function.comp,Iff,Membership.mem,Finset,congr_arg,Finset.ext,Iff.transand 23 more30 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
L_seq_eq_min_zline 1164 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Int,L_seq,HSub.hSub,Min.min,HAdd.hAdd,OfNat.ofNat,ite,GE.geProof uses:
Eq.mpr,id,congrArg, L_seq_eq_min,dite,congr,if_pos,Decidable.byContradiction,Not,if_neg29 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
diff_h_seq_eq_L_seqline 1170 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,GT.gt,Eq,Int, diff, h_seq,HSub.hSub,L_seq,HAdd.hAdd,Fin,ite,GE.geProof uses:
rfl,id,Ne,Eq.mpr,congrArg,if_neg, H_calc,cast,Eq.symm, H_eq_H_calc, delta_H_calc44 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
- lemma
h_seq_diff_le_zero_of_past_midline 1182 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,GE.ge,HMul.hMul,HAdd.hAdd,Fin,LE.le,Int, diff, h_seqProof uses:
GT.gt,Decidable.byContradiction,Not,Eq.mpr,HSub.hSub,L_seq,ite,id,Eq,congrArg, diff_h_seq_eq_L_seq,Min.min, L_seq_eq_min_z,dite,if_pos,if_neg48 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
- lemma
inl_high_shift_diffline 1195 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,And,GE.ge,HAdd.hAdd,Int, diff, shifted_h_seq, reduced_monomialProof uses:
Or,LT.lt,Decidable.byContradiction,Not, diff_shifted_h_seq_zero_of_lt,Eq.mpr,id,congrArg,le_refl, h_seq,HSub.hSub, diff_shifted_h_seq_eq_ge, h_seq_diff_le_zero_of_past_mid, M_red_eq, ineq_helper,And.left,And.right, m_deg_eq_2,Fin.isLt,Fin.extand 72 more121 instances, coercions and auxiliary constants left out.
Tactic trace: 68 steps
Open to load the checked before-and-after goal states.
- lemma
reduced_monomial_eval_0line 1239 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,Eq,And, reduced_monomial,HSub.hSubProof uses:
of_eq_true,Equiv,Finsupp,Equiv.symm,Finsupp.equivFunOnFinite,ite,Eq.trans,True,congr,congrArg,HAdd.hAdd,funext,ite_congr,tsub_tsub,Not,Eq.refl,ite_cond_eq_true,eq_self,ite_cond_eq_false,eq_false_of_decideand 3 more40 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
reduced_monomial_eval_1line 1244 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,Eq,And, reduced_monomial,HSub.hSubProof uses:
Finsupp,Finset,Iff,Membership.mem,Ne,Finsupp.mk,of_eq_true,Equiv,Equiv.symm,Finsupp.equivFunOnFinite,ite,Eq.trans,True,congr,congrArg,HAdd.hAdd,funext,ite_congr,tsub_tsub,Notand 9 more44 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
reduced_monomial_eval_2line 1249 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,Eq,And, reduced_monomial,HSub.hSubProof uses:
of_eq_true,Equiv,Finsupp,Equiv.symm,Finsupp.equivFunOnFinite,ite,Eq.trans,True,congr,congrArg,funext,ite_congr,Not,Eq.refl,ite_cond_eq_false,eq_false_of_decide,Bool,Bool.false,eq_self,ite_cond_eq_trueand 1 more22 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
m1_x_le_M1line 1259 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Eq, totalDeg,LE.le,HAdd.hAddProof uses: m_deg_eq_2,
Or,LT.lt,Fin.isLt,Decidable.byContradiction,Not,Fin.ext,Eq.symm32 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
- lemma
inl_high_H_eval_bounds_shift_dline 1268 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int,HSub.hSub,HAdd.hAdd,HMul.hMul, shifted_h_seq, reduced_monomialProof uses: m1_x_le_M1, M_red_eq,
Or,LT.lt,GE.ge,Decidable.byContradiction,Not, shifted_h_seq_zero_of_lt,Eq.mpr,id,congrArg,rfl,mul_nonneg, h_seq,ite,if_pos,Eq.refl, h_seq_upper_bound_int_all,And, algebra_helper_3 and 3 more69 instances, coercions and auxiliary constants left out.
Tactic trace: 31 steps
Open to load the checked before-and-after goal states.
- lemma
inl_high_H_eval_bounds_shift_d_minus_1line 1297 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int,HSub.hSub,HAdd.hAdd,HMul.hMul, shifted_h_seq, reduced_monomialProof uses: m1_x_le_M1, M_red_eq,
Or,LT.lt,GE.ge,lt_or_ge, shifted_h_seq_zero_of_lt,Eq.mpr,id,congrArg,rfl,Decidable.byContradiction,Not,mul_nonneg, h_seq,ite,if_pos,Eq.refl, h_seq_upper_bound_int_all,Andand 4 more68 instances, coercions and auxiliary constants left out.
Tactic trace: 31 steps
Open to load the checked before-and-after goal states.
- lemma
inl_high_H_eval_boundsCurvature-one case A satisfies the square bound in the principal upper region line 1326 sourceL4DEL explanation
Case A, upper region for f
The principal upper-tail value is exact, while the residual value has a matching quadratic envelope and nonpositive slope; together they fit under the square of the combined slope.
- Express the principal term using the upper-region formulas with offset
U1. - Bound the shifted term at the two neighboring degrees and show its first difference is nonpositive.
inl_high_algebracombines those estimates into the required inequality forH.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,And,GE.ge,HAdd.hAdd,Int, H_seq,HSub.hSub,HPow.hPow, diffProof uses: ineq_helper,
And.left,And.right,HMul.hMul, h_seq, h_seq_pure_upper,Neg.neg, h_seq_pure_upper_diff, shifted_h_seq, reduced_monomial, inl_high_shift_diff,Eq.mpr,id,congrArg, H_seq_eval_add,Eq.refl, diff_H_seq_eval_add, algebra_helper_1,rfl, inl_high_H_eval_bounds_shift_d_minus_1 and 67 more106 instances, coercions and auxiliary constants left out.
Tactic trace: 41 steps
Open to load the checked before-and-after goal states.
lemma inl_high_H_eval_bounds {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (h1_high : d + 1 ≥ m1 0 + m1 1 + 2 ∧ d + 1 ≥ m1 1 + m1 2 + 2 ∧ d + 1 ≥ m1 0 + m1 2 + 2 ∧ d + 1 ≤ m1 0 + m1 1 + m1 2 + 2) : H_seq (m1:=m1) (m2:=m2) x (d - 1) ≤ (diff (H_seq (m1:=m1) (m2:=m2) x) d)^2 := by … - Express the principal term using the upper-region formulas with offset
- lemma
diff2_H_seq_eq_one_implies_inl_highCase A upper region is discharged by the assembled evaluation bound line 1373 sourceL4DEL explanation
Case A, upper region for f
This wrapper identifies the upper-region branch of the principal-curvature case with the already proved
inl_high_H_eval_boundsestimate.- Preserve the degree, monomial-order, and equal-total-degree hypotheses.
- Forward the upper-region inequalities unchanged.
- No new inequality is introduced here; the lemma records proof structure.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int, diff2, h_seq,HAdd.hAdd, shifted_h_seq, reduced_monomial,And,GE.ge, H_seq,HSub.hSub,HPow.hPowand 1 moreProof uses: inl_high_H_eval_bounds
34 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_seq_eq_one_implies_inl_high {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (h1 : diff2 (fun k => (h_seq m1 k : ℤ)) (d + 1) = 1) (h2 : diff2 (shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1)) (d + 1) = 0) (h1_high : d + 1 ≥ m1 0 + m1 1 + 2 ∧ d + 1 ≥ m1 1 + m1 2 + 2 ∧ d + 1 ≥ m1 0 + m1 2 + 2 ∧ d + 1 ≤ m1 0 + m1 1 + m1 2 + 2) : H_seq (m1:=m1) (m2:=m2) x (d - 1) ≤ (diff (H_seq (m1:=m1) (m2:=m2) x) d)^2 := by …Mentions: Monomial, totalDeg, diff2, h_seq, shifted_h_seq, reduced_monomial, H_seq, diff
- lemma
diff2_H_seq_eq_one_implies_inlCase A is complete after splitting the principal sequence into lower and upper regions line 1381 sourceL4DEL explanation
if ∆2 H(d + 1) = 1, then either
If the principal component contributes curvature one and the residual contributes zero, the monomial curvature classifier leaves exactly the lower and upper cases already proved.
- Classify the principal sequence with
diff2_h_seq_eq_one_implies. - Send the lower branch to
diff2_H_seq_eq_one_implies_inl_low. - Send the upper branch to
diff2_H_seq_eq_one_implies_inl_high.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int, diff2, h_seq,HAdd.hAdd, shifted_h_seq, reduced_monomial, H_seq,HSub.hSub,HPow.hPow, diffProof uses:
Or,And,GE.ge, diff2_h_seq_eq_one_implies, diff2_H_seq_eq_one_implies_inl_low, diff2_H_seq_eq_one_implies_inl_high39 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_seq_eq_one_implies_inl {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (h1 : diff2 (fun k => (h_seq m1 k : ℤ)) (d + 1) = 1) (h2 : diff2 (shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1)) (d + 1) = 0) : H_seq (m1:=m1) (m2:=m2) x (d - 1) ≤ (diff (H_seq (m1:=m1) (m2:=m2) x) d)^2 := by …Mentions: Monomial, totalDeg, diff2, h_seq, shifted_h_seq, reduced_monomial, H_seq, diff
- Classify the principal sequence with
- lemma
shifted_h_seq_eval_lowerExact value of the shifted residual in its lower region line 1393 sourceL4DEL explanation
X = D − c + 1 ≥ 1.
Once the shift is active and the translated degree lies below every exponent ceiling, twice the residual value is the usual lower-region quadratic at
d-c.- The threshold hypothesis selects the active branch of
shifted_h_seq. - Apply the exact lower formula to the reduced monomial at translated degree
d-c. - Cast the natural-number identity into the integer arithmetic of the main 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: Monomial,
OfNat.ofNat,Nat,GE.ge,And,LE.le,HSub.hSub,Fin,Eq,Int,HMul.hMul, shifted_h_seq,HAdd.hAddProof uses:
id,Eq.mpr,ite, h_seq,congrArg,if_pos,cast,Eq.trans,Eq.symm,Nat.cast_one,congr, h_seq_pure_lower63 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma shifted_h_seq_eval_lower (m : Monomial 3) (c d : ℕ) (hc : d ≥ c) (h_low : d - c ≤ m 0 ∧ d - c ≤ m 1 ∧ d - c ≤ m 2) : shifted_h_seq m c d * 2 = (d - c + 1 : ℤ) * (d - c + 2 : ℤ) := by …
Mentions: Monomial, shifted_h_seq
- The threshold hypothesis selects the active branch of
- lemma
diff_shifted_h_seq_eval_lowerExact first difference of the shifted residual in its lower region line 1399 sourceL4DEL explanation
2g(D) = X(X + 1), ∆g(D) = X.
In the active lower region, the residual slope is
d-c+1, including the activation boundary where the preceding shifted value is still zero.- Separate the boundary case
d=cfrom the strictly active cased>c. - At the boundary, evaluate
h_seq m 0=1directly. - Above the boundary, translate the first difference and apply the lower-region slope formula.
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: Monomial,
OfNat.ofNat,Nat,GT.gt,GE.ge,And,LE.le,HSub.hSub,Fin,Eq,Int, diff, shifted_h_seq,HAdd.hAddProof uses:
Or,Decidable.byContradiction,Not,id,ite,Ne,Eq.mpr, h_seq,congrArg,if_neg,if_pos, H_calc, H_eq_H_calc,LT.lt,L_seq, H_calc_zero, L_seq_zero,cast,Eq.trans,Eq.symmand 55 more122 instances, coercions and auxiliary constants left out.
Tactic trace: 64 steps
Open to load the checked before-and-after goal states.
lemma diff_shifted_h_seq_eval_lower (m : Monomial 3) (c d : ℕ) (hd : d > 0) (hc : d ≥ c) (h_low : d - c ≤ m 0 ∧ d - c ≤ m 1 ∧ d - c ≤ m 2) : diff (shifted_h_seq m c) d = (d - c + 1 : ℤ) := by …
Mentions: Monomial, diff, shifted_h_seq
- Separate the boundary case
- lemma
L_seq_le_Aline 1447 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,L_seqProof uses:
id,HasSubset.Subset,Finset,Finset.filter,And,LT.lt,HSub.hSub,Finset.range,Finset.filter_subset,Eq,Finset.card,Finset.card_range,Finset.card_le_card,Decidable.byContradiction,Not10 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
L_seq_le_Bline 1460 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,L_seqProof uses:
id,HasSubset.Subset,Finset,Finset.filter,And,LT.lt,HSub.hSub,Finset.range,Finset.Icc,HAdd.hAdd,OfNat.ofNat,Membership.mem,Eq.mpr,Eq,congrArg,propext,Finset.mem_Icc,Eq.mp,Finset.mem_range,Finset.mem_filterand 6 more19 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
diff_h_seq_le_var_1line 1474 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,GT.gt,LE.le,Int, diff, h_seq,HAdd.hAdd,FinProof uses:
Eq,rfl,HSub.hSub,id,Ne,Eq.mpr,ite,congrArg,if_neg, H_calc,cast,Eq.symm, H_eq_H_calc,L_seq,GE.ge, delta_H_calc, L_seq_le_B,dite,if_pos,Decidable.byContradictionand 1 more45 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
- lemma
diff_h_seq_le_var_0line 1491 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,GT.gt,LE.le,Int, diff, h_seq,HAdd.hAdd,FinProof uses:
Eq,rfl,HSub.hSub,id,Ne,Eq.mpr,ite,congrArg,if_neg, H_calc,cast,Eq.symm, H_eq_H_calc,L_seq,GE.ge, delta_H_calc, L_seq_le_A,dite,if_pos,Decidable.byContradictionand 1 more45 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
- lemma
L_seq_sub_leline 1508 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,GE.ge,LE.le,Int,HSub.hSub,L_seqProof uses:
Nat.recAux,OfNat.ofNat,Eq,Decidable.byContradiction,Not,Eq.mpr,id,congrArg,HAdd.hAdd,ite,LT.lt, delta_L,GT.gt,Nat.succ,dite,if_pos,if_neg,le_of_not_gt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mpand 45 more97 instances, coercions and auxiliary constants left out.
Tactic trace: 21 steps
Open to load the checked before-and-after goal states.
- lemma
diff_h_seq_le_varline 1527 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,LE.le,Int, diff, h_seq,HAdd.hAddProof uses:
Or,Eq,GT.gt,Decidable.byContradiction,Not,id,Eq.mpr,ite,HSub.hSub,congrArg,if_pos,rfl, H_calc, H_eq_H_calc,LT.lt,L_seq, H_calc_zero,And, L_seq_zero,castand 18 more55 instances, coercions and auxiliary constants left out.
Tactic trace: 61 steps
Open to load the checked before-and-after goal states.
- lemma
h_le_diff_mul_of_diff2_nonnegline 1576 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Int,LT.lt,OfNat.ofNat,LE.le,GE.ge, diff2,HMul.hMul, diff,HAdd.hAddProof uses:
Nat.recAux,Eq,id,Eq.mpr,ite,HSub.hSub,congrArg,if_pos,rfl,Eq.refl,Eq.symm,Decidable.byContradiction,Not, diff_eq,GT.gt,Ne,if_neg,le_of_not_gt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mpand 57 more118 instances, coercions and auxiliary constants left out.
Tactic trace: 38 steps
Open to load the checked before-and-after goal states.
- lemma
h_seq_le_diff_mul_of_lowline 1607 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,And,LT.lt,HAdd.hAdd,Fin,Eq,Int, Z_calc,LE.le, h_seq,HMul.hMul, diffProof uses: h_le_diff_mul_of_diff2_nonneg, diff2, diff2_h_seq_eq_Z_calc,
Eq.mpr,GE.ge,id,congrArg,Decidable.byContradiction,HSub.hSub,ite,Not38 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
h_seq_diff_ge_minline 1617 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,GE.ge,HAdd.hAdd,And,LT.lt,Eq,Int, Z_calc, diff, h_seqProof uses:
Or,Fin.isLt,Decidable.byContradiction,Not,GT.gt,Eq.mpr,HSub.hSub,L_seq,ite,id,congrArg, diff_h_seq_eq_L_seq,Fin.ext,Min.min, L_seq_eq_min_z,dite,if_pos,if_neg,Eq.symm,congr60 instances, coercions and auxiliary constants left out.
Tactic trace: 53 steps
Open to load the checked before-and-after goal states.
- lemma
inr_low_hd_boundline 1655 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int, Z_calc,HAdd.hAdd,GE.ge,And,HSub.hSub, reduced_monomial,LT.ltProof uses:
Eq.mpr,id,congr,congrArg,Eq.trans,add_right_comm,Not,Eq.mp,ite,ite_congr,Eq.refl,Nat.Simproc.add_sub_add_le,of_decide_eq_true,Bool,Bool.true72 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
inr_low_H_eval_boundsCase B lower region supplies the four value-and-slope bounds line 1663 sourceL4DEL explanation
Case B, lower region for g.
For a lower-region residual curvature-one event, this lemma assembles the principal growth bound, a lower bound on its slope, and exact residual value and slope formulas.
- Convert zero principal curvature into the strict pairwise inequalities used by the manuscript.
- Bound the principal value by its slope times the degree factor.
- Evaluate the shifted residual exactly at translated lower-region 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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int, Z_calc,HAdd.hAdd,GE.ge,And,HSub.hSub, reduced_monomial, h_seq,HMul.hMul, diff, shifted_h_seqProof uses:
LT.lt, inr_low_hd_bound, h_seq_le_diff_mul_of_low,Decidable.byContradiction,Not,Eq.mp,congrArg, shifted_h_seq_eval_lower, diff_shifted_h_seq_eval_lower, h_seq_diff_ge_min,And.intro46 instances, coercions and auxiliary constants left out.
Tactic trace: 16 steps
Open to load the checked before-and-after goal states.
lemma inr_low_H_eval_bounds {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (hz : Z_calc (m1 0 + 1) (m1 1 + 1) (m1 2 + 1) (d + 1) = 0) (hd_c : d + 1 ≥ m1 x + 1) (h2_low : d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 0 ∧ d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 1 ∧ d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 2) : (h_seq m1 (d + 1) : ℤ) ≤ (diff (fun k => (h_seq m1 k : ℤ)) (d + 1)) * (d + 2 : ℤ) ∧ diff (fun k => (h_seq m1 k : ℤ)) (d + 1) ≥ m1 x + 1 ∧ shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1) (d + 1) * 2 = (d + 1 - (m1 x + 1) + 1 : ℤ) * (d + 1 - (m1 x + 1) + 2 : ℤ) ∧ diff (shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1)) (d + 1) = (d + 1 - (m1 x + 1) + 1 : ℤ) := by …Mentions: Monomial, totalDeg, Z_calc, reduced_monomial, h_seq, diff, shifted_h_seq
- lemma
inr_low_master_ineqline 1686 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Int,GE.ge,OfNat.ofNat,Eq,HAdd.hAdd,LE.le,HMul.hMul,HPow.hPow,NatProof uses:
Eq.mpr,id,congrArg,le_of_not_gt,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,Neg.neg,HSub.hSub,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,Nat.rawCast,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refland 57 more102 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
inr_low_reduction_goal_helperCase B lower region proves the later-degree square bound line 1692 sourceL4DEL explanation
H(D) ≤ (∆H(D))2 , and (13) proves (9).
The principal estimate and exact lower residual formula combine into
H(d+1)≤(ΔH(d+1))², which is the premise needed by the one-step reduction.- Assemble the bounds from
inr_low_H_eval_bounds. - Introduce the manuscript variables for the principal slope, translated residual degree, shift, and current degree.
- Apply the packaged polynomial inequality and reconstruct
HandΔH.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int, diff2, h_seq,HAdd.hAdd, shifted_h_seq, reduced_monomial,And,HSub.hSub, H_seq,HPow.hPow, diffProof uses:
GE.ge, diff2_shifted_h_seq_eq_one_implies, Z_calc, diff2_h_seq_eq_Z_calc,Decidable.byContradiction,Not,HMul.hMul, inr_low_H_eval_bounds,Eq.symm,Eq.mp,congrArg,Eq.mpr,id, H_seq_eval_add, diff_H_seq_eval_add,Eq.refl, inr_low_master_ineq,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNatand 75 more118 instances, coercions and auxiliary constants left out.
Tactic trace: 48 steps
Open to load the checked before-and-after goal states.
lemma inr_low_reduction_goal_helper {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (h1 : diff2 (fun k => (h_seq m1 k : ℤ)) (d + 1) = 0) (h2 : diff2 (shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1)) (d + 1) = 1) (h2_low : d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 0 ∧ d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 1 ∧ d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 2) : H_seq (m1:=m1) (m2:=m2) x (d + 1) ≤ (diff (H_seq (m1:=m1) (m2:=m2) x) (d + 1))^2 := by …Mentions: Monomial, totalDeg, diff2, h_seq, shifted_h_seq, reduced_monomial, H_seq, diff
- Assemble the bounds from
- lemma
diff2_H_seq_eq_one_implies_inr_lowCase B lower region transfers its later-degree bound back to d−1 line 1739 sourceL4DEL explanation
Case B, lower region for g.
After proving the square bound at
d+1, the curvature-one reduction gives the exact earlier-degree inequality required for log-concavity.- Reconstruct total curvature one from component curvatures zero and one.
- Use
inr_low_reduction_goal_helperfor the later-degree premise. - Apply
H_seq_diff2_reductionto shift the result back.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int, diff2, h_seq,HAdd.hAdd, shifted_h_seq, reduced_monomial,And,HSub.hSub, H_seq,HPow.hPow, diffProof uses: H_seq_diff2_reduction,
Eq.mpr,id,congrArg, diff2_H_seq_eq_add,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.cast_zero,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.cast_pos,Mathlib.Tactic.Ring.add_pf_zero_add, inr_low_reduction_goal_helper50 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_seq_eq_one_implies_inr_low {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (h1 : diff2 (fun k => (h_seq m1 k : ℤ)) (d + 1) = 0) (h2 : diff2 (shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1)) (d + 1) = 1) (h2_low : d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 0 ∧ d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 1 ∧ d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 2) : H_seq (m1:=m1) (m2:=m2) x (d - 1) ≤ (diff (H_seq (m1:=m1) (m2:=m2) x) d)^2 := by …Mentions: Monomial, totalDeg, diff2, h_seq, shifted_h_seq, reduced_monomial, H_seq, diff
- lemma
h_seq_pure_upper_extline 1749 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,And,GE.ge,HAdd.hAdd,Fin,LE.le,Eq,Int,HMul.hMul, h_seq,HSub.hSubProof uses:
Or,Decidable.byContradiction,Not, h_seq_pure_upper,Eq.mpr,id,congrArg, h_seq_zero_of_gt,GT.gt,cast,Eq.symm,Eq.trans,Nat.cast_zero,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.mul_congr,Nat.rawCast,Mathlib.Tactic.Ring.cast_zero,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.cast_posand 30 more78 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
- lemma
h_seq_pure_upper_diff_extline 1763 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,And,GE.ge,HAdd.hAdd,Fin,LE.le,Eq,Int, diff, h_seq,Neg.neg,HSub.hSubProof uses:
Or,Decidable.byContradiction,Not, h_seq_pure_upper_diff,Eq.mpr,id,congrArg,Ne,ite,if_neg, h_seq_zero_of_gt,GT.gt,cast,Eq.symm,Eq.trans,Nat.cast_zero,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.cast_zero,Mathlib.Meta.NormNum.isNat_ofNatand 30 more81 instances, coercions and auxiliary constants left out.
Tactic trace: 30 steps
Open to load the checked before-and-after goal states.
- lemma
inr_high_H_eval_boundsCase B upper region supplies the residual upper-tail formulas line 1783 sourceL4DEL explanation
Case B, upper region for g.
When the residual component has curvature one in its upper region, both its value and slope are controlled by the complementary offset while the principal slope is nonpositive.
- Translate the residual degree back through the shift.
- Apply the exact upper value and first-difference formulas to the reduced monomial.
- Record the principal quadratic bound and the endpoint constraint needed by the master inequality.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int, Z_calc,HAdd.hAdd,GE.ge,And,HSub.hSub, reduced_monomial,HMul.hMul, h_seq, diff, shifted_h_seqProof uses: m1_x_le_M1, M_red_eq,
congrArg,Decidable.byContradiction,Not,Eq.mp,Eq.trans,Nat.cast_add, h_seq_upper_bound_int_all,Eq.mpr,id,Mathlib.Tactic.Ring.of_eq,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.add_congrand 60 more119 instances, coercions and auxiliary constants left out.
Tactic trace: 50 steps
Open to load the checked before-and-after goal states.
lemma inr_high_H_eval_bounds {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (hz : Z_calc (m1 0 + 1) (m1 1 + 1) (m1 2 + 1) (d + 1) = 0) (hd_c : d + 1 ≥ m1 x + 1) (h2_high : d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 1 + 2 ∧ d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 1 + (reduced_monomial m1 m2 x) 2 + 2 ∧ d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 2 + 2 ∧ d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 1 + (reduced_monomial m1 m2 x) 2 + 2) : (h_seq m1 (d + 1) : ℤ) * 2 ≤ (m1 0 + m1 1 + m1 2 + 1 - (d + 1 : ℤ)) * (m1 0 + m1 1 + m1 2 + 2 - (d + 1 : ℤ)) ∧ diff (fun k => (h_seq m1 k : ℤ)) (d + 1) ≤ 0 ∧ shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1) (d + 1) * 2 = (m1 0 + m1 1 + m1 2 + 1 - (d + 1 : ℤ)) * (m1 0 + m1 1 + m1 2 + 2 - (d + 1 : ℤ)) ∧ diff (shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1)) (d + 1) = (d + 1 : ℤ) - (m1 0 + m1 1 + m1 2 + 2) ∧ (d + 1 : ℤ) ≤ m1 0 + m1 1 + m1 2 + 2 := by …Mentions: Monomial, totalDeg, Z_calc, reduced_monomial, h_seq, diff, shifted_h_seq
- lemma
inr_high_master_ineqline 1832 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Int,GE.ge,OfNat.ofNat,Neg.neg,LE.le,HMul.hMul,HAdd.hAdd,HPow.hPow,NatProof uses:
Or,Eq,Decidable.byContradiction,Not,le_of_not_gt,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,HSub.hSub,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,Int.rawCast,Int.negOfNat,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Tactic.Ring.neg_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refland 63 more111 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
inr_high_reduction_goal_helperCase B upper region proves the later-degree square bound line 1840 sourceL4DEL explanation
H(D) ≤ (∆H(D))2 , and (13) proves (9).
The two upper-tail envelopes fit beneath the square of the combined negative slope, establishing the later-degree hypothesis for the curvature-one reduction.
- Gather the upper-region bounds for the principal and shifted residual components.
- Normalize both components with a common complementary offset
U. - Apply the upper master inequality and reconstruct the value and first difference of
H.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int, diff2, h_seq,HAdd.hAdd, shifted_h_seq, reduced_monomial,And,GE.ge,HSub.hSub, H_seq,HPow.hPowand 1 moreProof uses: diff2_shifted_h_seq_eq_one_implies, Z_calc, diff2_h_seq_eq_Z_calc,
Decidable.byContradiction,Not,HMul.hMul, inr_high_H_eval_bounds,Eq.symm,Eq.mp,congrArg,Eq.mpr,id, H_seq_eval_add, diff_H_seq_eval_add,Neg.neg,Eq.refl, inr_high_master_ineq,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNatand 74 more119 instances, coercions and auxiliary constants left out.
Tactic trace: 57 steps
Open to load the checked before-and-after goal states.
lemma inr_high_reduction_goal_helper {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (h1 : diff2 (fun k => (h_seq m1 k : ℤ)) (d + 1) = 0) (h2 : diff2 (shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1)) (d + 1) = 1) (h2_high : d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 1 + 2 ∧ d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 1 + (reduced_monomial m1 m2 x) 2 + 2 ∧ d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 2 + 2 ∧ d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 1 + (reduced_monomial m1 m2 x) 2 + 2) : H_seq (m1:=m1) (m2:=m2) x (d + 1) ≤ (diff (H_seq (m1:=m1) (m2:=m2) x) (d + 1))^2 := by …Mentions: Monomial, totalDeg, diff2, h_seq, shifted_h_seq, reduced_monomial, H_seq, diff
- lemma
diff2_H_seq_eq_one_implies_inr_highCase B upper region transfers its later-degree bound back to d−1 line 1895 sourceL4DEL explanation
Case B, upper region for g.
This is the upper-region analogue of the lower residual case: prove the later square bound, then apply the same exact curvature-one reduction.
- Combine component curvatures zero and one into total curvature one.
- Use
inr_high_reduction_goal_helperat the later degree. - Shift the bound back with
H_seq_diff2_reduction.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int, diff2, h_seq,HAdd.hAdd, shifted_h_seq, reduced_monomial,And,GE.ge,HSub.hSub, H_seq,HPow.hPowand 1 moreProof uses: H_seq_diff2_reduction,
Eq.mpr,id,congrArg, diff2_H_seq_eq_add,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.cast_zero,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.cast_pos,Mathlib.Tactic.Ring.add_pf_zero_add, inr_high_reduction_goal_helper50 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_seq_eq_one_implies_inr_high {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (h1 : diff2 (fun k => (h_seq m1 k : ℤ)) (d + 1) = 0) (h2 : diff2 (shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1)) (d + 1) = 1) (h2_high : d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 1 + 2 ∧ d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 1 + (reduced_monomial m1 m2 x) 2 + 2 ∧ d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 2 + 2 ∧ d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 1 + (reduced_monomial m1 m2 x) 2 + 2) : H_seq (m1:=m1) (m2:=m2) x (d - 1) ≤ (diff (H_seq (m1:=m1) (m2:=m2) x) d)^2 := by …Mentions: Monomial, totalDeg, diff2, h_seq, shifted_h_seq, reduced_monomial, H_seq, diff
- lemma
diff2_H_seq_eq_one_implies_inrCase B is complete after classifying the translated residual sequence line 1905 sourceL4DEL explanation
∆2 f (d + 1) = 0, ∆2 g(d + 1) = 1.
Residual curvature one first proves that the shift is active, then the unshifted reduced monomial lies in either its lower or upper critical region.
- Transfer curvature one from the shifted sequence to
h_seqat degreed+1-c. - Classify that translated degree into lower or upper region.
- Dispatch to the corresponding residual-region theorem.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int, diff2, h_seq,HAdd.hAdd, shifted_h_seq, reduced_monomial, H_seq,HSub.hSub,HPow.hPow, diffProof uses:
GE.ge, diff2_shifted_h_seq_eq_one_implies, diff2_shifted_h_seq_eq_one_implies_eq,Or,And, diff2_h_seq_eq_one_implies, diff2_H_seq_eq_one_implies_inr_low, diff2_H_seq_eq_one_implies_inr_high39 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_seq_eq_one_implies_inr {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (h1 : diff2 (fun k => (h_seq m1 k : ℤ)) (d + 1) = 0) (h2 : diff2 (shifted_h_seq (reduced_monomial m1 m2 x) (m1 x + 1)) (d + 1) = 1) : H_seq (m1:=m1) (m2:=m2) x (d - 1) ≤ (diff (H_seq (m1:=m1) (m2:=m2) x) d)^2 := by …Mentions: Monomial, totalDeg, diff2, h_seq, shifted_h_seq, reduced_monomial, H_seq, diff
- Transfer curvature one from the shifted sequence to
- lemma
diff2_H_seq_eq_one_impliesThe full curvature-one implication is the union of cases A and B line 1917 sourceL4DEL explanation
If ∆2 H(d + 1) = 1 and H(d + 1) ≤ (∆H(d + 1))2 , then
Whenever
Hhas second difference one, exactly one component contributes curvature one; both component choices have now been proved in both critical regions.- Split total curvature one into the principal-one/residual-zero and principal-zero/residual-one alternatives.
- Case A is handled by
diff2_H_seq_eq_one_implies_inl. - Case B is handled by
diff2_H_seq_eq_one_implies_inr.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int, diff2, H_seq,HAdd.hAdd,HSub.hSub,HPow.hPow, diffProof uses:
Or,And, h_seq, shifted_h_seq, reduced_monomial, diff2_H_seq_eq_one_implies_cases, diff2_H_seq_eq_one_implies_inl, diff2_H_seq_eq_one_implies_inr36 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_seq_eq_one_implies {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) : diff2 (H_seq (m1:=m1) (m2:=m2) x) (d + 1) = 1 → … - lemma
m_deg_eqline 1927 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Eq, totalDeg,HAdd.hAdd,FinProof uses:
id,Eq.trans,Finset.sum,Finsupp.support,Finsupp,Finset.univ,Finset.sum_subset,Finset.subset_univ,of_eq_true,Membership.mem,Finset,Not,True,forall_congr,implies_congr_ctx,Ne,congrArg,eq_self,implies_true,Fin.sum_univ_threeand 4 more32 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
h1_high_h2_low_contradictionIn the curvature-two case, principal-upper and residual-lower regions are incompatible line 1941 sourceL4DEL explanation
whereas the upper-region inequalities for f give
Equal total degrees and the distinguished-coordinate shift make the residual lower inequalities contradict one of the principal upper inequalities.
- Expand the reduced monomial coordinate by coordinate.
- Use the coordinatewise comparison away from
xand equality of total degrees. - Derive the strict pairwise-sum contradiction described in the manuscript.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,And,GE.ge,HAdd.hAdd,HSub.hSub, reduced_monomial,FalseProof uses: m_deg_eq,
Or,LT.lt,Fin.isLt,Decidable.byContradiction,Not,Fin.ext,of_eq_true,ite,Eq.trans,True,congrArg,ite_congr,eq_self,eq_true,True.intro,Eq.refl,eq_false,not_false,ite_cond_eq_falseand 8 more53 instances, coercions and auxiliary constants left out.
Tactic trace: 56 steps
Open to load the checked before-and-after goal states.
lemma h1_high_h2_low_contradiction {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (h1_high : d + 1 ≥ m1 0 + m1 1 + 2 ∧ d + 1 ≥ m1 1 + m1 2 + 2 ∧ d + 1 ≥ m1 0 + m1 2 + 2 ∧ d + 1 ≤ m1 0 + m1 1 + m1 2 + 2) (h2_low : d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 0 ∧ d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 1 ∧ d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 2) : False := by …Mentions: Monomial, totalDeg, reduced_monomial
- lemma
h1_low_h2_high_contradictionIn the curvature-two case, a principal lower region is impossible after shift activation line 1979 sourceL4DEL explanation
Therefore the lower region for f is impossible
Residual curvature one forces
d+1≥c=m1(x)+1, while a principal lower region requiresd+1≤m1(x).- Inspect the distinguished coordinate
x. - Compare the activation threshold with the principal lower bound at that coordinate.
- The two natural-number inequalities are contradictory.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,And,HAdd.hAdd,GE.ge,HSub.hSub, reduced_monomial,FalseProof uses:
h1_low_h2_high_contradiction.match_129 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma h1_low_h2_high_contradiction {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (h1_low : d + 1 ≤ m1 0 ∧ d + 1 ≤ m1 1 ∧ d + 1 ≤ m1 2) (h2_high : d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 1 + 2 ∧ d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 1 + (reduced_monomial m1 m2 x) 2 + 2 ∧ d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 2 + 2 ∧ d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 1 + (reduced_monomial m1 m2 x) 2 + 2) : False := by match x with|0|2|1=>omegaMentions: Monomial, totalDeg, reduced_monomial
- Inspect the distinguished coordinate
- lemma
diff2_H_seq_eq_two_implies_inr_inrThe curvature-two upper-upper case satisfies the doubled square bound line 1988 sourceL4DEL explanation
Thus g is also in its upper region.
Once both components are in their upper regions, their exact complementary quadratics are bounded by the square of the sum of their negative first differences.
- Evaluate both component values at
d-1by the upper formulas. - Evaluate both first differences at
dwith offsetsU1andU2. - Apply
log_concave_algebra_upper_evaland reassembleH.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,And,GE.ge,HAdd.hAdd,HSub.hSub, reduced_monomial,Int,HMul.hMul, H_seq,HPow.hPow, diffProof uses:
Decidable.byContradiction,Not, h_seq, h_seq_pure_upper,Neg.neg, h_seq_pure_upper_diff, shifted_h_seq,id,Eq.mpr,ite,congrArg,if_pos,Eq.refl,if_neg, H_seq_eval_add, diff_H_seq_eval_add, log_concave_algebra_upper_eval,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNatand 63 more125 instances, coercions and auxiliary constants left out.
Tactic trace: 80 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_seq_eq_two_implies_inr_inr {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) (h1_high : d + 1 ≥ m1 0 + m1 1 + 2 ∧ d + 1 ≥ m1 1 + m1 2 + 2 ∧ d + 1 ≥ m1 0 + m1 2 + 2 ∧ d + 1 ≤ m1 0 + m1 1 + m1 2 + 2) (h2_high : d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 1 + 2 ∧ d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 1 + (reduced_monomial m1 m2 x) 2 + 2 ∧ d + 1 - (m1 x + 1) ≥ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 2 + 2 ∧ d + 1 - (m1 x + 1) ≤ (reduced_monomial m1 m2 x) 0 + (reduced_monomial m1 m2 x) 1 + (reduced_monomial m1 m2 x) 2 + 2) : 2 * H_seq (m1:=m1) (m2:=m2) x (d - 1) ≤ (diff (H_seq (m1:=m1) (m2:=m2) x) d)^2 := by …Mentions: Monomial, totalDeg, reduced_monomial, H_seq, diff
- Evaluate both component values at
- lemma
h1_low_contradictionShift activation alone rules out the principal lower region line 2051 sourceL4DEL explanation
Therefore the lower region for f is impossible
If
d+1reaches the shift thresholdm1(x)+1, it cannot simultaneously remain at mostm1(x)as a lower-region hypothesis demands.- Split the finite coordinate
xinto 0, 1, or 2. - Rewrite the lower-region hypothesis at the selected coordinate.
- Linear arithmetic yields the contradiction in each branch.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion
standard axioms: Quot.sound, propext what this means
Statement uses: Monomial,
OfNat.ofNat,Nat,Fin,And,LE.le,HAdd.hAdd,GE.ge,FalseProof uses:
Or,Eq,LT.lt,Fin.isLt,Decidable.byContradiction,Not,congrArg,Fin.ext,Eq.mp29 instances, coercions and auxiliary constants left out.
Tactic trace: 22 steps
Open to load the checked before-and-after goal states.
lemma h1_low_contradiction {m1 : Monomial 3} (x : Fin 3) (d : ℕ) (h1_low : d + 1 ≤ m1 0 ∧ d + 1 ≤ m1 1 ∧ d + 1 ≤ m1 2) (h_ge : d + 1 ≥ m1 x + 1) : False := by …Mentions: Monomial
- Split the finite coordinate
- lemma
diff2_H_seq_eq_two_impliesThe full curvature-two implication leaves only the upper-upper case line 2074 sourceL4DEL explanation
The case ∆2 H(d + 1) = 2. Then ∆2 f (d + 1) = ∆2 g(d + 1) = 1.
Total curvature two forces both summands to have curvature one; activation rules out a lower principal region, and the remaining mixed region is contradictory.
- Prove that both component curvatures equal one and classify both monomial sequences.
- Eliminate principal-lower and principal-upper/residual-lower combinations.
- Apply the proved upper-upper inequality to the only surviving case.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg,Int, diff2, H_seq,HAdd.hAdd,HMul.hMul,HSub.hSub,HPow.hPow, diffProof uses:
And, h_seq, shifted_h_seq, reduced_monomial, diff2_H_seq_eq_two_implies_both_one,Or,GE.ge, diff2_h_seq_eq_one_implies,And.left, diff2_shifted_h_seq_eq_one_implies,And.right, diff2_shifted_h_seq_eq_one_implies_eq,False.elim, h1_low_contradiction, h1_high_h2_low_contradiction, diff2_H_seq_eq_two_implies_inr_inr41 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
lemma diff2_H_seq_eq_two_implies {m1 m2 : Monomial 3} (x : Fin 3) (d : ℕ) (hd : d > 0) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) : diff2 (H_seq (m1:=m1) (m2:=m2) x) (d + 1) = 2 → … - lemma
sum_log_concave_helperThe principal-plus-shifted-residual sequence is log-concave line 2090 sourceL4DEL explanation
Combining the cases proves (9) and (10), hence by (8) the sequence H is log-concave at degree d.
Under the exceptional-coordinate orientation and equal-degree hypotheses, the complete finite-difference case analysis proves log-concavity of the decomposed sequence through the common degree of
m₁andm₂.- The second-difference bound disposes of nonpositive curvature and reduces positive curvature to values
1and2. - Lower- and upper-region estimates for the principal and shifted sequences establish the two critical inequalities, which
log_concave_coreturns into the desired neighbour-product bound.
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: Monomial,
OfNat.ofNat,Nat,Fin,GT.gt,Ne,LE.le,Eq, totalDeg, IsLogConcaveUpTo,HAdd.hAdd, h_seq,ite,GE.ge, reduced_monomial,HSub.hSubProof uses:
Membership.mem,Finset,Finset.Ioo,And.left,LT.lt,Iff.mp,And,Finset.mem_Ioo,Int, H_seq, diff2, diff2_H_seq_le_two,HPow.hPow, diff, diff2_H_seq_eq_one_implies,HMul.hMul, diff2_H_seq_eq_two_implies,Nat.cast_nonneg, log_concave_core, diff_eq and 81 more105 instances, coercions and auxiliary constants left out.
Tactic trace: 23 steps
Open to load the checked before-and-after goal states.
lemma sum_log_concave_helper {m1 m2 : Monomial 3} (x : Fin 3) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) (h_deg : totalDeg m1 = totalDeg m2) : IsLogConcaveUpTo (totalDeg m1) (fun d => h_seq m1 d + if d ≥ m1 x + 1 then h_seq (reduced_monomial m1 m2 x) (d - (m1 x + 1)) else 0) := by …Mentions: Monomial, totalDeg, IsLogConcaveUpTo, h_seq, reduced_monomial
- The second-difference bound disposes of nonpositive curvature and reduces positive curvature to values
- lemma
pureOSeq_eq_sumIdentify the original pure O-sequence with the decomposed sequence line 2120 sourceL4DEL explanation
H(d) := hΓ (d) = hm1 (d) + 1d≥c hMred (d − c).
If the two named monomials are exactly the maximal elements and satisfy the chosen coordinate orientation, the pure O-sequence of the order ideal equals the principal-plus-shifted-residual formula at every degree.
ideal_carrier_eq_unionreplaces the carrier with the union of the two divisor sets.pureOSeq_decompositionthen supplies the degreewise equality, and function extensionality upgrades it to equality of the whole sequences.
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: PureOrderIdeal,
OfNat.ofNat,Nat, Monomial,Fin,Eq,Finset, maximalMonomials,PureOrderIdeal.ideal,Insert.insert,Singleton.singleton,GT.gt,Ne,LE.le, pureOSequence,HAdd.hAdd, h_seq,ite,GE.ge, reduced_monomial and 1 moreProof uses:
funext,id,Finset.card,Finset.filter, totalDeg,OrderIdeal.carrier,Union.union, divisorsFinset, ideal_carrier_eq_union,Eq.mpr,congrArg, pureOSeq_decomposition35 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
lemma pureOSeq_eq_sum {P : PureOrderIdeal 3} {m1 m2 : Monomial 3} (x : Fin 3) (h_max_eq : maximalMonomials P.ideal = {m1, m2}) (h_gt : m2 x > m1 x) (h_le : ∀ y, y ≠ x → m2 y ≤ m1 y) : pureOSequence P.ideal = fun d => h_seq m1 d + if d ≥ m1 x + 1 then h_seq (reduced_monomial m1 m2 x) (d - (m1 x + 1)) else 0 := by …Mentions: PureOrderIdeal, Monomial, maximalMonomials, pureOSequence, h_seq, reduced_monomial
- theorem
P5Pure O-sequences of codimension 3 and type 2 are log-concave line 2132 sourceL4DEL explanation
Every pure O-sequence of codimension 3 and type 2 is log-concave.
is said to be an O-sequence if there exists an order ideal M of monomials
A pure order ideal in three variables with exactly two maximal monomials has a degree-counting sequence
hsatisfyingh(i-1)·h(i+1) ≤ h(i)²at every internal degree. This closes the codimension-3, type-2 pure O-sequence case identified as open in the cited literature.- Purity and type two express the order ideal as the union of the divisor sets of two distinct maximal monomials of equal total degree.
- After choosing a coordinate on which the two generators differ, the proof decomposes the degree counts into one principal divisor sequence plus a shifted reduced sequence.
- Explicit first- and second-difference formulas reduce log-concavity to inequalities for those two sequences, handled across their lower and upper degree regions.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written Hilbert-functions proof companion, Richard P. Stanley, Hilbert functions of graded algebras (1978), Boij, Migliore, Miró-Roig, Nagel, and Zanello, On the Shape of a Pure O-Sequence, Fabrizio Zanello, Log-concavity of level Hilbert functions and pure O-sequences
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: ProblemP5
Proof uses: PureOrderIdeal,
OfNat.ofNat,Nat,Eq, typePO,Exists, Monomial,And,Ne,Finset, maximalMonomials,PureOrderIdeal.ideal,Insert.insert,Fin,Singleton.singleton, type_two_implies_two_maximals, IsLogConcaveUpTo, socleDegree, pureOSequence, totalDeg and 27 more21 instances, coercions and auxiliary constants left out.
Distinct definitions of this name: APNOutputs/OEIS/oeis_51293_conjecture_0.lean:131 (different declaration text). Qualify references as P5@path.
Tactic trace: 45 steps
Open to load the checked before-and-after goal states.
theorem P5 : ProblemP5 := by …
Mentions: ProblemP5