Coefficients of qMZVs as polynomial functions on partitions to Takeyama–Bradley–Zhao qMZVs
TheoremCoefficients of qMZVs as polynomial functions on partitions#●ready to prove
Let \(r \ge 1\) and let \((k_1, Q_1), \dots, (k_r, Q_r)\) be pairs of a natural number \(k_j\) and a polynomial \(Q_j \in \mathbb{Q}[X]\) with \(\deg Q_j \le k_j\) for every \(j\) and \(Q_1(0) = 0\). For \(s, N \ge 0\) let \(\mathcal{P}_s(N)\) be the set of pairs \((\mathbf{m}, \mathbf{n})\) of tuples \(\mathbf{m} = (m_1, \dots, m_s)\) and \(\mathbf{n} = (n_1, \dots, n_s)\) of positive integers with \(m_1 > \cdots > m_s\) and \(m_1 n_1 + \cdots + m_s n_s = N\) (the partitions of \(N\) with \(s\) distinct parts \(m_i\), of multiplicities \(n_i\)). Then there are polynomials \(f_s \in \mathbb{Q}[X_1, \dots, X_s, Y_1, \dots, Y_s]\), one for each \(s \ge 0\), such that for every \(N \ge 0\) the coefficient of \(q^N\) in the general qMZV \(\zeta_q(k_1, \dots, k_r; Q_1, \dots, Q_r)\) equals
where \(f_s(\mathbf{m}, \mathbf{n})\) is the value of \(f_s\) at \(X_i = m_i\), \(Y_i = n_i\).
public theorem_wanted exists_mvPolynomial_coeff_qMZV_eq_sum_stanleyPartitions
(kQ : List (ℕ × Polynomial ℚ)) (hr : kQ ≠ [])
(hdeg : ∀ p ∈ kQ, p.2.natDegree ≤ p.1) (h0 : ∀ p ∈ kQ.head?, p.2.coeff 0 = 0) :
∃ f : (s : ℕ) → MvPolynomial (Fin s ⊕ Fin s) ℚ, ∀ N,
coeff N (qMZV kQ) = ∑ s ∈ Finset.Icc 1 kQ.length, ∑ p ∈ stanleyPartitions s N,
MvPolynomial.eval (Sum.elim (fun j => (p.1 j : ℚ)) fun j => (p.2 j : ℚ)) (f s)
public noncomputable def qMZV : List (ℕ × Polynomial ℚ) → ℚ⟦X⟧
| [] => 1
| (k, Q) :: kQ => PowerSeries.mk fun N => coeff N (∑ m ∈ Finset.Ioo 0 (N + 1),
Polynomial.aeval (X ^ m : ℚ⟦X⟧) Q * ((1 - X ^ m)⁻¹) ^ k * qMZVPartial kQ m)
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:258
public def stanleyPartitions (r N : ℕ) : Finset ((Fin r → ℕ) × (Fin r → ℕ)) :=
((Fintype.piFinset fun _ : Fin r => Finset.Icc 1 N) ×ˢ
(Fintype.piFinset fun _ : Fin r => Finset.Icc 1 N)).filter
fun p => (∀ i j : Fin r, i < j → p.1 j < p.1 i) ∧ ∑ j, p.1 j * p.2 j = N
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:400
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Theorem 18.
Uses 2
TheoremPolynomial functions on partitions characterize \(\mathcal{Z}_q\)#●ready to prove
Let \(\mathcal{Z}_q = \mathcal{Z}_{q,0}\) be the space of general qMZVs, and for natural numbers \(r\) and \(N\) let \(\mathcal{P}_r(N)\) be the set of partitions of \(N\) of length \(r\) in Stanley coordinates. A power series \(S = \sum_{N \ge 0} a_N q^N \in \mathbb{Q}[[q]]\) lies in \(\mathcal{Z}_q\) if and only if there are \(f_0 \in \mathbb{Q}\), polynomials \(f_r \in \mathbb{Q}[X_1, \dots, X_r, Y_1, \dots, Y_r]\) for \(r \ge 1\) and a natural number \(R\) with \(f_r = 0\) for every \(r > R\), such that \(a_0 = f_0\) and, for every \(N \ge 1\),
where \(f_r(\mathbf{m}, \mathbf{n})\) is the value of \(f_r\) at \(X_i = m_i\), \(Y_i = n_i\).
The sum over \(r\) stops at \(N\), which loses nothing because \(\mathcal{P}_r(N)\) is empty for \(r > N\).
public theorem_wanted mem_qMZVSpace_zero_iff_exists_mvPolynomial (S : ℚ⟦X⟧) :
S ∈ qMZVSpace 0 ↔ ∃ (f₀ : ℚ) (f : (r : ℕ) → MvPolynomial (Fin r ⊕ Fin r) ℚ) (R : ℕ),
(∀ r, R < r → f r = 0) ∧
∀ N, coeff N S = if N = 0 then f₀ else
∑ r ∈ Finset.Icc 1 N, ∑ p ∈ stanleyPartitions r N,
MvPolynomial.eval (Sum.elim (fun j => (p.1 j : ℚ)) fun j => (p.2 j : ℚ)) (f r)
public noncomputable def qMZVSpace (d : ℕ) : Submodule ℚ ℚ⟦X⟧ :=
Submodule.span ℚ {f | ∃ kQ : List (ℕ × Polynomial ℚ),
(∀ p ∈ kQ, p.2.natDegree + d ≤ p.1) ∧ (∀ p ∈ kQ.head?, p.2.coeff 0 = 0) ∧ f = qMZV kQ}
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:286
public def stanleyPartitions (r N : ℕ) : Finset ((Fin r → ℕ) × (Fin r → ℕ)) :=
((Fintype.piFinset fun _ : Fin r => Finset.Icc 1 N) ×ˢ
(Fintype.piFinset fun _ : Fin r => Finset.Icc 1 N)).filter
fun p => (∀ i j : Fin r, i < j → p.1 j < p.1 i) ∧ ∑ j, p.1 j * p.2 j = N
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:400
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Theorem 19.
Uses 2
DefinitionQuasi-shuffle product#✓fully proved
Fix an alphabet and a product of letters \(a \diamond b\), a formal sum of letters given as a finite list (possibly empty, possibly with repetitions). The quasi-shuffle product \(u \ast v\) of two words \(u\) and \(v\) is the formal sum of words, recorded as a list, defined recursively by \(\mathbf{1} \ast w = w \ast \mathbf{1} = w\) for the empty word \(\mathbf{1}\) and by \(a u \ast b v = a (u \ast b v) + b (a u \ast v) + (a \diamond b)(u \ast v)\) for letters \(a\), \(b\) and words \(u\), \(v\). Here a letter, or a formal sum of letters, written in front of a formal sum of words is prepended to each of its words, and the terms are listed in the order of the formula.
public def quasiShuffle {α : Type*} (d : α → α → List α) : List α → List α → List (List α)
| [], v => [v]
| a :: u, [] => [a :: u]
| a :: u, b :: v =>
(quasiShuffle d u (b :: v)).map (a :: ·) ++ (quasiShuffle d (a :: u) v).map (b :: ·) ++
(d a b).flatMap fun c => (quasiShuffle d u v).map (c :: ·)
termination_by u v => u.length + v.length
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, quasi-shuffle products of Section 2 (the induced quasi-shuffle products on
M,𝔎,𝔥¹).
Used by 7
TheoremThe empty word is a left unit for the quasi-shuffle product#✓fully proved
For every alphabet, every product of letters and every word \(w\), the quasi-shuffle product of the empty word \(\mathbf{1}\) with \(w\) is \(\mathbf{1} \ast w = w\), the formal sum consisting of the single word \(w\).
public theorem quasiShuffle_nil_left {α : Type*} (d : α → α → List α) (v : List α) :
quasiShuffle d [] v = [v]
public def quasiShuffle {α : Type*} (d : α → α → List α) : List α → List α → List (List α)
| [], v => [v]
| a :: u, [] => [a :: u]
| a :: u, b :: v =>
(quasiShuffle d u (b :: v)).map (a :: ·) ++ (quasiShuffle d (a :: u) v).map (b :: ·) ++
(d a b).flatMap fun c => (quasiShuffle d u v).map (c :: ·)
termination_by u v => u.length + v.length
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:492
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, quasi-shuffle products of Section 2.
Uses 1 · Used by 1
TheoremThe stuffle product of two letters#✓fully proved
For natural numbers \(a\) and \(b\), viewed as one-letter words, the quasi-shuffle product with letter product \(a \diamond b = a + b\) (the stuffle product) is \(a \ast b = ab + ba + (a + b)\): the two-letter words \(ab\) and \(ba\) and the one-letter word \((a + b)\), listed in this order.
public theorem quasiShuffle_singleton_singleton (a b : ℕ) :
quasiShuffle (fun a b => [a + b]) [a] [b] = [[a, b], [b, a], [a + b]]
public def quasiShuffle {α : Type*} (d : α → α → List α) : List α → List α → List (List α)
| [], v => [v]
| a :: u, [] => [a :: u]
| a :: u, b :: v =>
(quasiShuffle d u (b :: v)).map (a :: ·) ++ (quasiShuffle d (a :: u) v).map (b :: ·) ++
(d a b).flatMap fun c => (quasiShuffle d u v).map (c :: ·)
termination_by u v => u.length + v.length
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:492
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Definition of the SZ-stuffle product.
Uses 1
DefinitionSZ-qshuffle product#✓fully proved
The SZ-qshuffle product \(\text{ш}\) of two words in the letters \(p\) and \(y\) is the formal sum of words, counted with multiplicity, defined recursively by \(\mathbf{1} \mathbin{\text{ш}} w = w \mathbin{\text{ш}} \mathbf{1} = w\) for the empty word \(\mathbf{1}\), and, for words \(u, v\), \(y u \mathbin{\text{ш}} v = y (u \mathbin{\text{ш}} v)\), \(p u \mathbin{\text{ш}} y v = y (p u \mathbin{\text{ш}} v)\) and \(p u \mathbin{\text{ш}} p v = p (u \mathbin{\text{ш}} p v) + p (p u \mathbin{\text{ш}} v) + p (u \mathbin{\text{ш}} v)\), where a letter in front of a formal sum is prepended to each of its words.
public def szShuffle : List Bool → List Bool → List (List Bool)
| [], v => [v]
| false :: u, v => (szShuffle u v).map (false :: ·)
| true :: u, [] => [true :: u]
| true :: u, false :: v => (szShuffle (true :: u) v).map (false :: ·)
| true :: u, true :: v =>
(szShuffle u (true :: v)).map (true :: ·) ++ (szShuffle (true :: u) v).map (true :: ·) ++
(szShuffle u v).map (true :: ·)
termination_by u v => u.length + v.length
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Definition of the SZ-qshuffle product.
TheoremSZ-qshuffle of \(y\) with itself#✓fully proved
The SZ-qshuffle product of the one-letter word \(y\) with itself is the single word \(yy\): \(y \mathbin{\text{ш}} y = yy\).
public theorem szShuffle_y_y : szShuffle [false] [false] = [[false, false]]
public def szShuffle : List Bool → List Bool → List (List Bool)
| [], v => [v]
| false :: u, v => (szShuffle u v).map (false :: ·)
| true :: u, [] => [true :: u]
| true :: u, false :: v => (szShuffle (true :: u) v).map (false :: ·)
| true :: u, true :: v =>
(szShuffle u (true :: v)).map (true :: ·) ++ (szShuffle (true :: u) v).map (true :: ·) ++
(szShuffle u v).map (true :: ·)
termination_by u v => u.length + v.length
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:522
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Definition of the SZ-qshuffle product.
Uses 1
DefinitionWord of an index#✓fully proved
The word of an index \((k_1, \dots, k_r)\) of natural numbers is the word \(p^{k_1} y \cdots p^{k_r} y\) in the letters \(p\) and \(y\).
public def szWord (k : List ℕ) : List Bool :=
(k.map fun n => List.replicate n true ++ [false]).flatten
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, identification of SZ-admissible indices with words of
𝔎¹.
TheoremWord of the empty index#✓fully proved
The word of the empty index is the empty word.
public theorem szWord_nil : szWord [] = []
public def szWord (k : List ℕ) : List Bool :=
(k.map fun n => List.replicate n true ++ [false]).flatten
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:543
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, identification of SZ-admissible indices with words of
𝔎¹.
Uses 1
DefinitionReading an index off a word in \(p\) and \(y\)#✓fully proved
For \(c \in \mathbb{N}\) and a word \(w\) in the letters \(p\) and \(y\), the index \(R_c(w)\), a finite sequence of natural numbers, is defined recursively by \(R_c(\mathbf{1}) = ()\) for the empty word \(\mathbf{1}\), \(R_c(p w) = R_{c+1}(w)\), and \(R_c(y w) = (c, R_0(w))\), the index with first entry \(c\) followed by the entries of \(R_0(w)\). Thus \(R_c(p^{k_1} y\, p^{k_2} y \cdots p^{k_r} y\, p^j) = (c + k_1, k_2, \dots, k_r)\) for \(r \ge 1\) and \(R_c(p^j) = ()\): the entries are the lengths of the blocks of \(p\)s before each \(y\), with \(c\) added to the first, and trailing \(p\)s are dropped.
public def szIndexOfWordAux : ℕ → List Bool → List ℕ
| _, [] => []
| c, true :: w => szIndexOfWordAux (c + 1) w
| c, false :: w => c :: szIndexOfWordAux 0 w
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, identification of SZ-admissible indices with words of
𝔎¹.
TheoremReading off a leading block of \(p\)s#✓fully proved
Write \(R_c(w)\) for the index read off a word \(w\) in the letters \(p\) and \(y\) when \(c\) letters \(p\) have already been read. For all \(c, n \in \mathbb{N}\) and every word \(w\), \(R_c(p^n y w)\) is the index whose first entry is \(c + n\) and whose remaining entries are those of \(R_0(w)\).
public theorem szIndexOfWordAux_replicate_append (c n : ℕ) (w : List Bool) :
szIndexOfWordAux c (List.replicate n true ++ false :: w) = (c + n) :: szIndexOfWordAux 0 w
public def szIndexOfWordAux : ℕ → List Bool → List ℕ
| _, [] => []
| c, true :: w => szIndexOfWordAux (c + 1) w
| c, false :: w => c :: szIndexOfWordAux 0 w
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:557
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, identification of SZ-admissible indices with words of
𝔎¹.
Uses 1 · Used by 1
DefinitionSchlesinger–Zudilin qMZVs of words#✓fully proved
Write \(\zeta_q^{SZ}\) for the Schlesinger–Zudilin qMZV of an index of natural numbers. For a word \(w\) in the letters \(p\) and \(y\) with \(r\) letters \(y\), let \(k_j\) be the number of letters \(p\) between the \((j-1)\)-st and the \(j\)-th letter \(y\) of \(w\) (for \(j = 1\), before the first \(y\)); letters \(p\) after the last \(y\) are ignored. The value of \(\zeta_q^{SZ}\) on \(w\) is \(\zeta_q^{SZ}(k_1, \dots, k_r)\). In particular the word \(p^{k_1} y \cdots p^{k_r} y\) is sent to \(\zeta_q^{SZ}(k_1, \dots, k_r)\).
public noncomputable def szQMZVWord (w : List Bool) : ℚ⟦X⟧ :=
szQMZV (szIndexOfWordAux 0 w)
public noncomputable def szQMZV (k : List ℕ) : ℚ⟦X⟧ :=
PowerSeries.mk fun N => coeff N (szQMZVPartial k (N + 1))
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:71
public def szIndexOfWordAux : ℕ → List Bool → List ℕ
| _, [] => []
| c, true :: w => szIndexOfWordAux (c + 1) w
| c, false :: w => c :: szIndexOfWordAux 0 w
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:557
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Definition of the SZ-qshuffle product (ii).
Uses 2 · Used by 2
TheoremSZ-qMZV of the word of a one-entry index#✓fully proved
Write \(\zeta_q^{SZ}\) for the Schlesinger–Zudilin qMZV, extended to words in the letters \(p\) and \(y\) by sending a word to \(\zeta_q^{SZ}\) of the index read off it: the number of letters \(p\) before each letter \(y\) since the previous \(y\), with letters \(p\) after the last \(y\) dropped. For every natural number \(k\), the value of \(\zeta_q^{SZ}\) on the word \(p^k y\) of the one-entry index \((k)\) is \(\zeta_q^{SZ}(k)\).
public theorem szQMZVWord_szWord_singleton (k : ℕ) :
szQMZVWord (szWord [k]) = szQMZV [k]
public noncomputable def szQMZVWord (w : List Bool) : ℚ⟦X⟧ :=
szQMZV (szIndexOfWordAux 0 w)
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:579
public def szWord (k : List ℕ) : List Bool :=
(k.map fun n => List.replicate n true ++ [false]).flatten
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:543
public noncomputable def szQMZV (k : List ℕ) : ℚ⟦X⟧ :=
PowerSeries.mk fun N => coeff N (szQMZVPartial k (N + 1))
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:71
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Definition of the SZ-qshuffle product (ii).
Uses 5
TheoremQuasi-shuffle relations for general qMZVs#●ready to prove
Consider words in letters \((k, Q)\) with \(k \in \mathbb{N}\) and \(Q \in \mathbb{Q}[X]\), and let \(u\) and \(v\) be words in which every letter satisfies \(\deg Q \le k\) and the first letter, if any, satisfies \(Q(0) = 0\). Let \(u \ast v\) be the quasi-shuffle product of \(u\) and \(v\) with letter product \((k_1, Q_1) \diamond (k_2, Q_2) = (k_1 + k_2, Q_1 Q_2)\), a formal sum of words. Then \(\zeta_q(u)\,\zeta_q(v) = \zeta_q(u \ast v)\), where \(\zeta_q\) sends a word \((k_1, Q_1) \cdots (k_r, Q_r)\) to the general qMZV \(\zeta_q(k_1, \dots, k_r; Q_1, \dots, Q_r)\) and is extended linearly to formal sums of words.
public theorem_wanted qMZV_mul_eq_sum_quasiShuffle (u v : List (ℕ × Polynomial ℚ))
(hu : ∀ p ∈ u, p.2.natDegree ≤ p.1) (hu0 : ∀ p ∈ u.head?, p.2.coeff 0 = 0)
(hv : ∀ p ∈ v, p.2.natDegree ≤ p.1) (hv0 : ∀ p ∈ v.head?, p.2.coeff 0 = 0) :
qMZV u * qMZV v =
((quasiShuffle (fun a b => [(a.1 + b.1, a.2 * b.2)]) u v).map qMZV).sum
public noncomputable def qMZV : List (ℕ × Polynomial ℚ) → ℚ⟦X⟧
| [] => 1
| (k, Q) :: kQ => PowerSeries.mk fun N => coeff N (∑ m ∈ Finset.Ioo 0 (N + 1),
Polynomial.aeval (X ^ m : ℚ⟦X⟧) Q * ((1 - X ^ m)⁻¹) ^ k * qMZVPartial kQ m)
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:258
public def quasiShuffle {α : Type*} (d : α → α → List α) : List α → List α → List (List α)
| [], v => [v]
| a :: u, [] => [a :: u]
| a :: u, b :: v =>
(quasiShuffle d u (b :: v)).map (a :: ·) ++ (quasiShuffle d (a :: u) v).map (b :: ·) ++
(d a b).flatMap fun c => (quasiShuffle d u v).map (c :: ·)
termination_by u v => u.length + v.length
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:492
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Proposition 2.
Uses 2
TheoremStuffle product formula for Schlesinger–Zudilin qMZVs#●ready to prove
Write \(\zeta_q^{SZ}\) for the Schlesinger–Zudilin qMZV. Let \(v\) and \(w\) be finite lists of natural numbers that are SZ-admissible, that is, each is empty or has first entry at least \(1\). Then
where \(u\) runs, counted with multiplicity, over the terms of the stuffle product \(v \ast w\): the quasi-shuffle product of \(v\) and \(w\) as words in the alphabet \(\mathbb{N}\) with the product of letters \(a \diamond b = a + b\).
public theorem_wanted szQMZV_mul_eq_sum_stuffle (v w : List ℕ)
(hv : ∀ k₁ ∈ v.head?, 1 ≤ k₁) (hw : ∀ k₁ ∈ w.head?, 1 ≤ k₁) :
szQMZV v * szQMZV w = ((quasiShuffle (fun a b => [a + b]) v w).map szQMZV).sum
public noncomputable def szQMZV (k : List ℕ) : ℚ⟦X⟧ :=
PowerSeries.mk fun N => coeff N (szQMZVPartial k (N + 1))
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:71
public def quasiShuffle {α : Type*} (d : α → α → List α) : List α → List α → List (List α)
| [], v => [v]
| a :: u, [] => [a :: u]
| a :: u, b :: v =>
(quasiShuffle d u (b :: v)).map (a :: ·) ++ (quasiShuffle d (a :: u) v).map (b :: ·) ++
(d a b).flatMap fun c => (quasiShuffle d u v).map (c :: ·)
termination_by u v => u.length + v.length
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:492
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Theorem 2.
Uses 2
TheoremShuffle product formula for Schlesinger–Zudilin qMZVs (Singer)#●ready to prove
Write \(\zeta_q^{SZ}\) for the Schlesinger–Zudilin qMZV. Let \(u\) and \(v\) be finite lists of natural numbers that are SZ-admissible, that is, each is empty or has first entry at least \(1\), and let \(w_u\) and \(w_v\) be their words in the letters \(p\) and \(y\) (the index \((k_1, \dots, k_r)\) has word \(p^{k_1} y \cdots p^{k_r} y\)). Then
where \(w\) runs, counted with multiplicity, over the terms of the SZ-qshuffle product \(w_u \mathbin{\text{ш}} w_v\), and \(\zeta_q^{SZ}\) of a word is \(\zeta_q^{SZ}\) of the index read off it: the number of letters \(p\) before each letter \(y\) since the previous \(y\), with letters \(p\) after the last \(y\) dropped.
public theorem_wanted szQMZV_mul_eq_sum_szShuffle (u v : List ℕ)
(hu : ∀ k₁ ∈ u.head?, 1 ≤ k₁) (hv : ∀ k₁ ∈ v.head?, 1 ≤ k₁) :
szQMZV u * szQMZV v = ((szShuffle (szWord u) (szWord v)).map szQMZVWord).sum
public noncomputable def szQMZV (k : List ℕ) : ℚ⟦X⟧ :=
PowerSeries.mk fun N => coeff N (szQMZVPartial k (N + 1))
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:71
public def szShuffle : List Bool → List Bool → List (List Bool)
| [], v => [v]
| false :: u, v => (szShuffle u v).map (false :: ·)
| true :: u, [] => [true :: u]
| true :: u, false :: v => (szShuffle (true :: u) v).map (false :: ·)
| true :: u, true :: v =>
(szShuffle u (true :: v)).map (true :: ·) ++ (szShuffle (true :: u) v).map (true :: ·) ++
(szShuffle u v).map (true :: ·)
termination_by u v => u.length + v.length
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:522
public def szWord (k : List ℕ) : List Bool :=
(k.map fun n => List.replicate n true ++ [false]).flatten
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:543
public noncomputable def szQMZVWord (w : List Bool) : ℚ⟦X⟧ :=
szQMZV (szIndexOfWordAux 0 w)
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:579
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Theorem 3 (Singer).
Uses 4
TheoremQuasi-shuffle relations for Bradley–Zhao qMZVs#●ready to prove
Identify an index \((k_1, \dots, k_r)\) with the word \(z_{k_1} \cdots z_{k_r}\), and let \(u\) and \(v\) be admissible indices: finite, possibly empty, sequences of positive integers whose first entry, if any, is at least \(2\). Let \(u \ast_{BZ} v\) be the quasi-shuffle product of \(u\) and \(v\) with letter product \(z_a \diamond z_b = z_{a+b} + z_{a+b-1}\), a formal sum of indices. Then \(\zeta_q^{BZ}(u)\,\zeta_q^{BZ}(v) = \zeta_q^{BZ}(u \ast_{BZ} v)\), where the Bradley–Zhao qMZV \(\zeta_q^{BZ}\) is extended linearly to formal sums of indices.
public theorem_wanted bzQMZV_mul_eq_sum_quasiShuffle (u v : List ℕ)
(hu : ∀ k ∈ u, 1 ≤ k) (hu₁ : ∀ k₁ ∈ u.head?, 2 ≤ k₁)
(hv : ∀ k ∈ v, 1 ≤ k) (hv₁ : ∀ k₁ ∈ v.head?, 2 ≤ k₁) :
bzQMZV u * bzQMZV v =
((quasiShuffle (fun a b => [a + b, a + b - 1]) u v).map bzQMZV).sum
public noncomputable def bzQMZV (k : List ℕ) : ℚ⟦X⟧ :=
qMZV (k.map fun k => (k, Polynomial.X ^ (k - 1)))
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:303
public def quasiShuffle {α : Type*} (d : α → α → List α) : List α → List α → List (List α)
| [], v => [v]
| a :: u, [] => [a :: u]
| a :: u, b :: v =>
(quasiShuffle d u (b :: v)).map (a :: ·) ++ (quasiShuffle d (a :: u) v).map (b :: ·) ++
(d a b).flatMap fun c => (quasiShuffle d u v).map (c :: ·)
termination_by u v => u.length + v.length
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:492
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Proposition 5.
Uses 2
TheoremAnalytic properties of general qMZVs#●ready to prove
Let \((k_1, Q_1), \dots, (k_r, Q_r)\) be pairs of an integer \(k_j \ge 1\) and a polynomial \(Q_j \in \mathbb{Q}[X]\) with \(\deg Q_j \le k_j\) for every \(j\) and \(Q_1(0) = 0\), and write the general qMZV as \(\zeta_q(k_1, \dots, k_r; Q_1, \dots, Q_r) = \sum_{n \ge 0} c_n q^n\). Then (i) for every complex \(q\) with \(|q| < 1\) the series \(\sum_{n \ge 0} c_n q^n\) converges absolutely; (ii) the function \(\tau \mapsto \sum_{n \ge 0} c_n e^{2 \pi i n \tau}\) is holomorphic on the upper half-plane \(\{\tau \in \mathbb{C} : \operatorname{Im} \tau > 0\}\); (iii) if \(r \ge 1\) and \(k_1 \ge 2\), then \((1 - q)^{k_1 + \cdots + k_r} \sum_{n \ge 0} c_n q^n\) tends to \(\zeta(k_1, \dots, k_r) \prod_{j=1}^{r} Q_j(1)\) as the real number \(q\) tends to \(1\) from below, where \(\zeta(k_1, \dots, k_r) = \sum_{n_1 > \cdots > n_r > 0} n_1^{-k_1} \cdots n_r^{-k_r}\) is the multiple zeta value.
public theorem_wanted qMZV_summable_differentiableOn_tendsto (kQ : List (ℕ × Polynomial ℚ))
(hk : ∀ p ∈ kQ, 1 ≤ p.1) (hQ : ∀ p ∈ kQ, p.2.natDegree ≤ p.1)
(hQ₁ : ∀ p ∈ kQ.head?, p.2.eval 0 = 0) :
(∀ q : ℂ, ‖q‖ < 1 → Summable fun n : ℕ => ((coeff n (qMZV kQ) : ℚ) : ℂ) * q ^ n) ∧
DifferentiableOn ℂ
(fun τ : ℂ => ∑' n : ℕ, ((coeff n (qMZV kQ) : ℚ) : ℂ) *
Complex.exp (2 * Real.pi * Complex.I * τ) ^ n) {τ : ℂ | 0 < τ.im} ∧
(∀ p ∈ kQ.head?, 2 ≤ p.1 →
Filter.Tendsto (fun q : ℝ => (1 - q) ^ (kQ.map Prod.fst).sum *
∑' n : ℕ, ((coeff n (qMZV kQ) : ℚ) : ℝ) * q ^ n)
(nhdsWithin 1 (Set.Iio 1))
(nhds (multipleZetaValue (kQ.map Prod.fst) *
((kQ.map fun p => ((p.2.eval 1 : ℚ) : ℝ)).prod))))
public noncomputable def qMZV : List (ℕ × Polynomial ℚ) → ℚ⟦X⟧
| [] => 1
| (k, Q) :: kQ => PowerSeries.mk fun N => coeff N (∑ m ∈ Finset.Ioo 0 (N + 1),
Polynomial.aeval (X ^ m : ℚ⟦X⟧) Q * ((1 - X ^ m)⁻¹) ^ k * qMZVPartial kQ m)
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:258
noncomputable def multipleZetaValue (k : List ℕ) : ℝ :=
∑' n : Fin k.length → ℕ,
if (∀ a b : Fin k.length, a < b → n b < n a) ∧
(∀ a : Fin k.length, 0 < n a) then
∏ a : Fin k.length, ((n a : ℝ) ^ k.get a)⁻¹
else 0
MathlibExt/NumberTheory/MultipleZeta/CyclicSumFormula.lean:35
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Proposition 1.
Uses 1
DefinitionLetters of the Takeyama–Bradley–Zhao model as qMZV data#✓fully proved
The letters of the TBZ model are the symbol \(\bar 1\) and the natural numbers \(k \ge 1\). The letter \(\bar 1\), with summand \(f(\bar 1, m) = q^m / (1 - q^m)\), is sent to the pair \((1, X)\), and the letter \(k\), with summand \(f(k, m) = q^{(k-1)m} / (1 - q^m)^k\), is sent to the pair \((k, X^{k-1})\). Here a pair \((k, Q)\) of a natural number and a rational polynomial stands for the summand \(Q(q^m) / (1 - q^m)^k\) of a general qMZV. The number \(0\), which is not a letter of the model, is sent to \((0, 1)\).
public noncomputable def tbzLetter : Option ℕ → ℕ × Polynomial ℚ
| none => (1, Polynomial.X)
| some k => (k, Polynomial.X ^ (k - 1))
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Definition of the Takeyama–Bradley–Zhao model (
f(1̄, m),f(k, m)).
Used by 2
DefinitionTakeyama–Bradley–Zhao qMZVs#✓fully proved
For an index \((k_1, \dots, k_r)\) whose entries are the symbol \(\bar 1\) or natural numbers, the TBZ-qMZV is the general qMZV of the data obtained by replacing each entry by its pair in the Takeyama–Bradley–Zhao letter encoding. When every natural-number entry is at least \(1\) and \(k_1 \ne 1\), this is
with \(f(\bar 1, m) = q^m / (1 - q^m)\) and \(f(k, m) = q^{(k-1)m} / (1 - q^m)^k\); the empty index gives \(1\). For \(k_1 = 1\), or when some entry is \(0\), the value is a junk value.
public noncomputable def tbzQMZV (k : List (Option ℕ)) : ℚ⟦X⟧ :=
qMZV (k.map tbzLetter)
public noncomputable def qMZV : List (ℕ × Polynomial ℚ) → ℚ⟦X⟧
| [] => 1
| (k, Q) :: kQ => PowerSeries.mk fun N => coeff N (∑ m ∈ Finset.Ioo 0 (N + 1),
Polynomial.aeval (X ^ m : ℚ⟦X⟧) Q * ((1 - X ^ m)⁻¹) ^ k * qMZVPartial kQ m)
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:258
public noncomputable def tbzLetter : Option ℕ → ℕ × Polynomial ℚ
| none => (1, Polynomial.X)
| some k => (k, Polynomial.X ^ (k - 1))
WantedExt/NumberTheory/QMultipleZetaValuesWanted.lean:668
Sources
- Benjamin Brindle, A Unified Approach to qMZVs, INTEGERS 24 (2024), Article A6, Definition of the Takeyama–Bradley–Zhao model.
Uses 2 · Used by 6
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.