Triangular recurrence arrays at negative indices
Triangular recurrences
StructureTriangular recurrence#✓fully proved
A triangular recurrence is a tuple \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\) of six integers, the parameters of the linear recurrence
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
γ' : ℤ
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Equation (1).
Used by 17
Triangular Recurrence
DefinitionTriangular array of a linear recurrence#✓fully proved
Given integer parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\), the array \(a_{n,k} \in \mathbb{Q}\), \(n, k \ge 0\), is defined by \(a_{0,k} = \delta_{k,0}\) and, for \(n \ge 1\), by the recurrence (1) \(a_{n,k} = (\alpha n + \beta k + \gamma)\, a_{n-1,k} + (\alpha' n + \beta' k + \gamma')\, a_{n-1,k-1}\), where \(a_{n-1,-1} = 0\).
public def array (P : TriangularRecurrence) : ℕ → ℕ → ℚ
| 0, k => if k = 0 then 1 else 0
| n + 1, 0 => (P.α * (n + 1) + P.γ) * array P n 0
| n + 1, k + 1 => (P.α * (n + 1) + P.β * (k + 1) + P.γ) * array P n (k + 1) +
(P.α' * (n + 1) + P.β' * (k + 1) + P.γ') * array P n k
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Equation (1).
Uses 1 · Used by 3
TheoremThe binomial array at \((4, 2)\)#✓fully proved
For the parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma') = (0, 0, 1; 0, 0, 1)\) of the binomial coefficients (Table 1), the triangular array \(a\) satisfies \(a_{4,2} = 6\).
public theorem array_binomial_four_two : array ⟨0, 0, 1, 0, 0, 1⟩ 4 2 = 6
public def array (P : TriangularRecurrence) : ℕ → ℕ → ℚ
| 0, k => if k = 0 then 1 else 0
| n + 1, 0 => (P.α * (n + 1) + P.γ) * array P n 0
| n + 1, k + 1 => (P.α * (n + 1) + P.β * (k + 1) + P.γ) * array P n (k + 1) +
(P.α' * (n + 1) + P.β' * (k + 1) + P.γ') * array P n k
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:64
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Table 1.
Uses 2
DefinitionFirst weight of a triangular recurrence#✓fully proved
For a triangular recurrence with parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\) and integers \(n, k\), the first weight is the rational number \(\alpha(n + 1) + \beta k + \gamma\).
It is the divisor in the recurrence defining the negative-positive number \(a^{NP}_{n,k}\).
public def weight (P : TriangularRecurrence) (n k : ℤ) : ℚ :=
P.α * (n + 1) + P.β * k + P.γ
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 1.
Uses 1 · Used by 7
DefinitionSecond weight of a triangular recurrence#✓fully proved
For a triangular recurrence with parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\) and integers \(n, k\), the second weight is the rational number \(\alpha'(n + 1) + \beta' k + \gamma'\).
It is the divisor in the recurrence defining the negative-negative number \(a^{NN}_{n,k-1}\).
public def weight' (P : TriangularRecurrence) (n k : ℤ) : ℚ :=
P.α' * (n + 1) + P.β' * k + P.γ'
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 2.
Uses 1 · Used by 7
DefinitionNegative-positive numbers at negative rows (auxiliary)#✓fully proved
For integer parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\) and \(p, k \ge 0\), put \(n = -(p + 1)\). The rational numbers \(c_{p,k}\) are defined by recursion on \(p\) and then on \(k\) through \(c_{p,k} = (r - (\alpha'(n+1) + \beta' k + \gamma')\, s) / (\alpha(n+1) + \beta k + \gamma)\), where \(r = c_{p-1,k}\) if \(p \ge 1\), \(r = 1\) if \(p = k = 0\), and \(r = 0\) if \(p = 0 < k\); and \(s = c_{p,k-1}\) if \(k \ge 1\), \(s = 0\) if \(k = 0\). Division by \(0\) gives \(0\).
public def negPosAux (P : TriangularRecurrence) : ℕ → ℕ → ℚ
| 0, 0 => 1 / P.weight (-1) 0
| 0, k + 1 => (0 - P.weight' (-1) (k + 1) * negPosAux P 0 k) / P.weight (-1) (k + 1)
| p + 1, 0 => negPosAux P p 0 / P.weight (-(p + 2)) 0
| p + 1, k + 1 => (negPosAux P p (k + 1) -
P.weight' (-(p + 2)) (k + 1) * negPosAux P (p + 1) k) / P.weight (-(p + 2)) (k + 1)
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 1.
Uses 3 · Used by 3
DefinitionNegative-positive numbers#✓fully proved
Let \(a_{n,k}\) (\(n, k \ge 0\)) be the triangular array of a triangular recurrence with parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\). Its negative-positive numbers \(a^{NP}_{n,k} \in \mathbb{Q}\), for \(n, k \in \mathbb{Z}\), are defined by \(a^{NP}_{n,k} = a_{n,k}\) for \(n, k \ge 0\), \(a^{NP}_{n,k} = 0\) for \(k < 0\), and, for \(n < 0 \le k\), recursively by
where division by \(0\) gives \(0\).
public def negPos (P : TriangularRecurrence) : ℤ → ℤ → ℚ
| .ofNat n, .ofNat k => P.array n k
| .negSucc p, .ofNat k => P.negPosAux p k
| _, .negSucc _ => 0
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 1.
Uses 3 · Used by 4
TheoremThe negative-positive number at \((-1, 0)\)#✓fully proved
For every triangular recurrence with parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\), its negative-positive number at row \(-1\) and column \(0\) is \(a^{NP}_{-1,0} = 1/\gamma\), computed in \(\mathbb{Q}\) with \(1/0 = 0\).
public theorem negPos_neg_one_zero (P : TriangularRecurrence) :
P.negPos (-1) 0 = 1 / P.γ
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 1.
TheoremRecurrence for the negative-positive numbers#✓fully proved
For every triangular recurrence with parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\) and all integers \(n \le -2\) and \(k \ge 1\), the negative-positive numbers satisfy
where the division is in \(\mathbb{Q}\) and division by \(0\) gives \(0\).
public theorem negPos_rec (P : TriangularRecurrence) (p k : ℕ) :
P.negPos (Int.negSucc (p + 1)) (k + 1) =
(P.negPos (Int.negSucc p) (k + 1) -
P.weight' (Int.negSucc (p + 1)) (k + 1) * P.negPos (Int.negSucc (p + 1)) k) /
P.weight (Int.negSucc (p + 1)) (k + 1)
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 1.
DefinitionNegative-negative numbers on and below the diagonal (auxiliary)#✓fully proved
For integer parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\) and \(p, q \ge 0\), put \(n = -(p + 1)\) and \(k = n - q\). The rational numbers \(b_{p,q}\) are defined by recursion on \(p\) and then on \(q\) through \(b_{p,q} = (c - (\alpha(n+1) + \beta(k+1) + \gamma)\, e) / (\alpha'(n+1) + \beta'(k+1) + \gamma')\), where \(c = b_{p-1,q}\) if \(p \ge 1\), \(c = 1\) if \(p = q = 0\), and \(c = 0\) if \(p = 0 < q\); and \(e = b_{p,q-1}\) if \(q \ge 1\), \(e = 0\) if \(q = 0\). Division by \(0\) gives \(0\).
public def negNegAux (P : TriangularRecurrence) : ℕ → ℕ → ℚ
| 0, 0 => 1 / P.weight' (-1) 0
| 0, q + 1 => (0 - P.weight (-1) (-(q + 1)) * negNegAux P 0 q) / P.weight' (-1) (-(q + 1))
| p + 1, 0 => negNegAux P p 0 / P.weight' (-(p + 2)) (-(p + 1))
| p + 1, q + 1 => (negNegAux P p (q + 1) -
P.weight (-(p + 2)) (-(p + 2) - q) * negNegAux P (p + 1) q) /
P.weight' (-(p + 2)) (-(p + 2) - q)
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 2.
DefinitionNegative-negative numbers#✓fully proved
For parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\) with triangular array \(a_{n,k}\) (\(n, k \ge 0\)), the negative-negative numbers \(a^{NN}_{n,k} \in \mathbb{Q}\), \(n, k \in \mathbb{Z}\), are defined as follows (Definition 2): \(a^{NN}_{0,k} = \delta_{k,0}\) for all \(k\); \(a^{NN}_{n,k} = a_{n,k}\) for \(n > 0\) and \(k \ge 0\); \(a^{NN}_{n,k} = 0\) for \(n > 0 > k\) and for \(n < 0\), \(k > n\); and, for \(k \le n < 0\), \(a^{NN}_{n,k} = (a^{NN}_{n+1,k+1} - (\alpha(n+1) + \beta(k+1) + \gamma)\, a^{NN}_{n,k+1}) / (\alpha'(n+1) + \beta'(k+1) + \gamma')\), where division by \(0\) gives \(0\).
public def negNeg (P : TriangularRecurrence) : ℤ → ℤ → ℚ
| .ofNat 0, k => if k = 0 then 1 else 0
| .ofNat (n + 1), .ofNat k => P.array (n + 1) k
| .ofNat (_ + 1), .negSucc _ => 0
| .negSucc p, k => if k ≤ .negSucc p then P.negNegAux p (Int.negSucc p - k).toNat else 0
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 2.
Uses 3 · Used by 4
TheoremNegative-negative numbers at \((-1, -1)\) and \((-1, 0)\)#✓fully proved
For all parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\), the negative-negative numbers \(a^{NN}\) satisfy \(a^{NN}_{-1,-1} = 1/\gamma'\) (read as \(0\) when \(\gamma' = 0\)) and \(a^{NN}_{-1,0} = 0\).
public theorem negNeg_neg_one (P : TriangularRecurrence) :
P.negNeg (-1) (-1) = 1 / P.γ' ∧ P.negNeg (-1) 0 = 0
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 2.
TheoremRecurrence for the negative-negative numbers#✓fully proved
For all parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\) and all integers \(k < n \le -2\), the negative-negative numbers \(a^{NN}\) satisfy \(a^{NN}_{n,k} = (a^{NN}_{n+1,k+1} - (\alpha(n+1) + \beta(k+1) + \gamma)\, a^{NN}_{n,k+1}) / (\alpha'(n+1) + \beta'(k+1) + \gamma')\), where division by \(0\) gives \(0\).
public theorem negNeg_rec (P : TriangularRecurrence) (p q : ℕ) :
P.negNeg (Int.negSucc (p + 1)) (Int.negSucc (p + 1) - (q + 1)) =
(P.negNeg (Int.negSucc p) (Int.negSucc (p + 1) - q) -
P.weight (Int.negSucc (p + 1)) (Int.negSucc (p + 1) - q) *
P.negNeg (Int.negSucc (p + 1)) (Int.negSucc (p + 1) - q)) /
P.weight' (Int.negSucc (p + 1)) (Int.negSucc (p + 1) - q)
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 2.
DefinitionReflected triangular recurrence#✓fully proved
The reflection of a triangular recurrence with parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\) is the triangular recurrence with parameters \((\alpha' + \beta', -\beta', \gamma'; \alpha + \beta, -\beta, \gamma)\).
If \(a_{n,k}\) is the triangular array of the original recurrence, these are the parameters of the reflected array \(\tilde a_{n,k} = a_{n,n-k}\).
public def reflect (P : TriangularRecurrence) : TriangularRecurrence :=
⟨P.α' + P.β', -P.β', P.γ', P.α + P.β, -P.β, P.γ⟩
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Proposition 3.
Uses 1 · Used by 2
TheoremReflection of triangular recurrences is an involution#✓fully proved
Reflecting a triangular recurrence with parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\) twice gives back the recurrence with parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\).
public theorem reflect_reflect (P : TriangularRecurrence) : P.reflect.reflect = P
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, proof of Proposition 3.
Uses 2
Linear Diophantine equations and Knuth-type duality
TheoremLinear Diophantine equations#●ready to prove
Let \(a, b, c, u, v \in \mathbb{Z}\) with \(a \ne 0\) or \(b \ne 0\), let \(d = \gcd(a, b)\), and suppose \(a u + b v = d\) (Bézout). If \(d \mid c\), then the integers \(x, y\) with \(a x + b y + c = 0\) are exactly those of the form \(x = -(c/d) u + m (b/d)\), \(y = -(c/d) v - m (a/d)\) with \(m \in \mathbb{Z}\). If \(d \nmid c\), then \(a x + b y + c = 0\) has no solution in integers \(x, y\).
public theorem_wanted linear_diophantine_solutions (a b c u v : ℤ) (hab : a ≠ 0 ∨ b ≠ 0)
(huv : a * u + b * v = Int.gcd a b) :
((Int.gcd a b : ℤ) ∣ c → ∀ x y : ℤ, a * x + b * y + c = 0 ↔
∃ m : ℤ, x = -(c / Int.gcd a b) * u + m * (b / Int.gcd a b) ∧
y = -(c / Int.gcd a b) * v - m * (a / Int.gcd a b)) ∧
(¬ (Int.gcd a b : ℤ) ∣ c → ∀ x y : ℤ, a * x + b * y + c ≠ 0)
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Proposition 1.
TheoremKnuth-type duality#●ready to prove
For integers \(\alpha, \beta, \gamma\), let \(a\) and \(b\) be the arrays with parameters \((\alpha, \beta, \gamma; 0, 0, 1)\) and \((\beta, \alpha, -\gamma; 0, 0, 1)\). Then their negative-negative numbers satisfy \(a^{NN}_{-n,-k} = b^{NN}_{k-1,n-1}\) for all \(n, k \in \mathbb{Z}\).
This generalizes the identity \([-n, -k] = \{k, n\}\) between the Stirling numbers \([n, k]\) of the first kind and \(\{n, k\}\) of the second kind.
public theorem_wanted TriangularRecurrence.negNeg_duality (α β γ : ℤ) (n k : ℤ) :
TriangularRecurrence.negNeg ⟨α, β, γ, 0, 0, 1⟩ (-n) (-k) =
TriangularRecurrence.negNeg ⟨β, α, -γ, 0, 0, 1⟩ (k - 1) (n - 1)
public def negNeg (P : TriangularRecurrence) : ℤ → ℤ → ℚ
| .ofNat 0, k => if k = 0 then 1 else 0
| .ofNat (n + 1), .ofNat k => P.array (n + 1) k
| .ofNat (_ + 1), .negSucc _ => 0
| .negSucc p, k => if k ≤ .negSucc p then P.negNegAux p (Int.negSucc p - k).toNat else 0
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:160
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Proposition 2.
Uses 2
TheoremNP/NN duality#●ready to prove
Let \(a\) be the array of a triangular recurrence with parameters \((\alpha, \beta, \gamma; \alpha', \beta', \gamma')\), with weights \(w(n, k) = \alpha(n + 1) + \beta k + \gamma\) and \(w'(n, k) = \alpha'(n + 1) + \beta' k + \gamma'\), and let \(\tilde a\) be the array of the reflected recurrence, with parameters \((\alpha' + \beta', -\beta', \gamma'; \alpha + \beta, -\beta, \gamma)\) and weights \(\tilde w\), \(\tilde w'\). Then for all integers \(n, k\) the negative-positive and negative-negative numbers satisfy \(\tilde a^{NP}_{n,k} = a^{NN}_{n,n-k}\) and \(\tilde a^{NN}_{n,n-k} = a^{NP}_{n,k}\). Moreover, \(\tilde w(n, k) \ne 0\) for all integers \(n < 0 \le k\) if and only if \(w'(n, k + 1) \ne 0\) for all integers \(k \le n < 0\); and \(\tilde w'(n, k + 1) \ne 0\) for all integers \(k \le n < 0\) if and only if \(w(n, k) \ne 0\) for all integers \(n < 0 \le k\).
Thus the divisor condition of Definition 1 for \(\tilde a\) is equivalent to that of Definition 2 for \(a\), and conversely, so the left-hand sides exist exactly when the right-hand sides do. With junk value \(0\) for a zero divisor, the two identities need no existence hypothesis.
public theorem_wanted TriangularRecurrence.reflect_negPos_eq_negNeg
(P : TriangularRecurrence) :
(∀ n k : ℤ, P.reflect.negPos n k = P.negNeg n (n - k)) ∧
(∀ n k : ℤ, P.reflect.negNeg n (n - k) = P.negPos n k) ∧
((∀ n k : ℤ, n < 0 → 0 ≤ k → P.reflect.weight n k ≠ 0) ↔
∀ n k : ℤ, k ≤ n → n < 0 → P.weight' n (k + 1) ≠ 0) ∧
((∀ n k : ℤ, k ≤ n → n < 0 → P.reflect.weight' n (k + 1) ≠ 0) ↔
∀ n k : ℤ, n < 0 → 0 ≤ k → P.weight n k ≠ 0)
public structure TriangularRecurrence where
/-- The coefficient `α` of `n` in the first weight. -/
α : ℤ
/-- The coefficient `β` of `k` in the first weight. -/
β : ℤ
/-- The constant `γ` of the first weight. -/
γ : ℤ
/-- The coefficient `α'` of `n` in the second weight. -/
α' : ℤ
/-- The coefficient `β'` of `k` in the second weight. -/
β' : ℤ
/-- The constant `γ'` of the second weight. -/
⋯
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:43
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Proposition 3.
TheoremGenerating function of the negative-positive numbers for \(\beta = \beta' = 0\)#●ready to prove
Let \(\alpha, \gamma, \alpha', \gamma'\) be integers and let \(a^{NP}\) be the negative-positive numbers for the parameters \((\alpha, 0, \gamma; \alpha', 0, \gamma')\). For every \(n \ge 0\), in the ring \(\mathbb{Q}[[u]]\) of formal power series,
where the inverse of a power series with constant term \(0\) is taken to be \(0\).
Coefficientwise in \(x^n/n!\) this is Theorem 1, which says that the exponential generating function \(\bar F(u, x) = \sum_{n,k \ge 0} a^{NP}_{-n,k} u^k x^n/n!\) equals the hypergeometric series \({}_0F_1(-; b; -x/(\alpha + \alpha' u))\) with \(b = -(\gamma + \gamma' u)/(\alpha + \alpha' u)\), and \(e^{x/(\gamma + \gamma' u)}\) when \(\alpha = \alpha' = 0\): the rising factorial \(b^{\overline{n}} = b(b+1)\cdots(b+n-1)\) satisfies \(b^{\overline{n}} (-(\alpha + \alpha' u))^n = \prod_{j\lt n} (\gamma + \gamma' u - j(\alpha + \alpha' u))\). The paper's existence hypothesis (\(\gamma - j\alpha \ne 0\) for all \(j\)) is not needed: a zero divisor makes both sides \(0\) from that row on.
public theorem_wanted TriangularRecurrence.negPos_egf_beta_zero (α γ α' γ' : ℤ) (n : ℕ) :
(PowerSeries.mk fun k : ℕ => TriangularRecurrence.negPos ⟨α, 0, γ, α', 0, γ'⟩ (-n) k) =
(∏ j ∈ Finset.range n,
(PowerSeries.C ((γ : ℚ) - j * α) + PowerSeries.C ((γ' : ℚ) - j * α') * PowerSeries.X))⁻¹
public def negPos (P : TriangularRecurrence) : ℤ → ℤ → ℚ
| .ofNat n, .ofNat k => P.array n k
| .negSucc p, .ofNat k => P.negPosAux p k
| _, .negSucc _ => 0
WantedExt/Combinatorics/Enumerative/PalapiesTriangularArraysWanted.lean:110
Sources
- Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Theorem 1.
Uses 2
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.