Skip to content

Triangular recurrence arrays at negative indices

15 fully proved4 ready to prove

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

\[ a_{n,k} = (\alpha n + \beta k + \gamma)\, a_{n-1,k} + (\alpha' n + \beta' k + \gamma')\, a_{n-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. -/
  γ' : ℤ
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
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
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.γ
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.γ'
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)
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

\[ a^{NP}_{n,k} = \frac{a^{NP}_{n+1,k} - (\alpha'(n+1) + \beta' k + \gamma')\, a^{NP}_{n,k-1}} {\alpha(n+1) + \beta k + \gamma}, \]

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
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.γ
Sources
  • Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 1.
Uses 5

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

\[ a^{NP}_{n,k} = \frac{a^{NP}_{n+1,k} - (\alpha'(n+1) + \beta' k + \gamma')\, a^{NP}_{n,k-1}} {\alpha(n+1) + \beta k + \gamma}, \]

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)
Sources
  • Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 1.
Uses 5

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)
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 3

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
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
Sources
  • Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 2.
Uses 5

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)
Sources
  • Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Definition 2.
Uses 5

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.γ⟩
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
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)
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)
Sources
  • Lars Palapies, On Extensions of Triangular Arrays to Negative Row Indices and Their Generating Functions, INTEGERS 26 (2026), Article A83, Proposition 3.
Uses 6

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,

\[ \sum_{k \ge 0} a^{NP}_{-n,k} u^k = \Bigl(\prod_{j=0}^{n-1} \bigl((\gamma - j\alpha) + (\gamma' - j\alpha') u\bigr)\Bigr)^{-1}, \]

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))⁻¹
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

The dependency explorer needs JavaScript and its graph data.

Download the complete graph data.