Multivariate constructible differentially algebraic power series
Lax619925.CDA · concepts/Lax619925/CDA.lean · lax-619925
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
An exponential multivariate power series in variables is a series (paper §6.4), identified with its coefficient sequence . It carries a binomial-convolution product and commuting partial derivatives (the shift in the -th coordinate). A CDA system is a -tuple of such series satisfying , the right-hand side a polynomial in the binomial-convolution algebra. The solvability problem asks whether, given the equations and an initial condition , a solution exists. This is decidable (paper §6.4): the CDA system is isomorphic to a shuffle system over the -letter alphabet, so a solution exists exactly when the companion shuffle series are commutative, which is decidable.
Concept map
Evidence
Each proof establishes this claim relative to its assumptions.
In the paper
- page 27 of this submission's paper
Lean source view on GitHub
| 1 | import Lax619925.Series |
| 2 | import Lax619925.Shuffle |
| 3 | import Mathlib.Data.Real.Basic |
| 4 | import Mathlib.Data.Fin.Basic |
| 5 | import Mathlib.Data.Fintype.Basic |
| 6 | import Mathlib.Data.Finset.Basic |
| 7 | import Mathlib.Data.Nat.Choose.Basic |
| 8 | import Mathlib.Algebra.MvPolynomial.Basic |
| 9 | |
| 10 | /-! |
| 11 | --- |
| 12 | title: Multivariate constructible differentially algebraic power series |
| 13 | type: theorem |
| 14 | --- |
| 15 | An *exponential multivariate power series* in `d` variables is a series |
| 16 | `f = Σ_n f_n x^n / n!` (paper §6.4), identified with its coefficient sequence |
| 17 | `f : ℕ^d → ℚ`. It carries a binomial-convolution product and commuting partial |
| 18 | derivatives `∂_{x_j} f = Σ_n f_{n+e_j} x^n / n!` (the shift in the `j`-th |
| 19 | coordinate). A *CDA system* is a `k`-tuple of such series satisfying |
| 20 | `∂_{x_j} f_i = p^{(j)}_i(f_1, …, f_k)`, the right-hand side a polynomial in the |
| 21 | binomial-convolution algebra. The *solvability problem* asks whether, given the |
| 22 | equations and an initial condition `f_i(0) = c_i`, a solution exists. This is |
| 23 | decidable (paper §6.4): the CDA system is isomorphic to a shuffle system over |
| 24 | the `d`-letter alphabet, so a solution exists exactly when the companion shuffle |
| 25 | series are commutative, which is decidable. |
| 26 | -/ |
| 27 | |
| 28 | namespace Lax619925.CDA |
| 29 | |
| 30 | open Lax619925.Series Lax619925.Shuffle |
| 31 | |
| 32 | /-- An exponential multivariate power series in `d` variables, identified with |
| 33 | its coefficient sequence (the series is `Σ_n f_n x^n / n!`). -/ |
| 34 | abbrev ExpPowerSeries (d : ℕ) := (Fin d → ℕ) → ℚ |
| 35 | |
| 36 | /-- The binomial-convolution product of two exponential power series: |
| 37 | `(expMul d f g) n = Σ_{m ≤ n} binom(n, m) f m · g (n - m)`, the product in the |
| 38 | exponential (binomial) algebra, where the sum is over the multi-indices |
| 39 | `m ≤ n` (coordinate-wise) and `binom(n, m) = ∏_i binom(n_i, m_i)` is the |
| 40 | multinomial coefficient. -/ |
| 41 | noncomputable def expMul (d : ℕ) (f g : ExpPowerSeries d) : ExpPowerSeries d := |
| 42 | fun n => |
| 43 | (Finset.univ.pi (fun i => Finset.range (n i + 1))).sum fun m => |
| 44 | let m' : Fin d → ℕ := fun i => m i (Finset.mem_univ i) |
| 45 | (Finset.univ : Finset (Fin d)).prod (fun i => Nat.choose (n i) (m' i)) * f m' * g (fun i => n i - m' i) |
| 46 | |
| 47 | /-- The partial derivative in the `j`-th coordinate: |
| 48 | `(expDeriv d j f) n = f (n + e_j)`. In the exponential normalisation this is |
| 49 | the shift in the `j`-th coordinate; the partial derivatives commute. -/ |
| 50 | def expDeriv (d : ℕ) (j : Fin d) (f : ExpPowerSeries d) : ExpPowerSeries d := |
| 51 | fun n => f (fun i => n i + if i = j then 1 else 0) |
| 52 | |
| 53 | /-- The `n`-fold binomial-convolution power of an exponential power series: |
| 54 | `expPow d f 0` is the constant-1 series and `expPow d f (n+1) = expMul d (expPow d f n) f`. -/ |
| 55 | noncomputable def expPow (d : ℕ) (f : ExpPowerSeries d) (n : ℕ) : ExpPowerSeries d := |
| 56 | match n with |
| 57 | | 0 => fun idx => if idx = 0 then 1 else 0 |
| 58 | | n + 1 => expMul d (expPow d f n) f |
| 59 | |
| 60 | /-- The evaluation of the polynomial `p` at the tuple of exponential power series |
| 61 | `fs`, in the binomial-convolution algebra: the variable `X_i` is mapped to |
| 62 | `fs i` and the multiplication is the binomial-convolution product. -/ |
| 63 | noncomputable def evalCDA (d k : ℕ) (fs : Fin k → ExpPowerSeries d) (p : MvPolynomial (Fin k) ℚ) : |
| 64 | ExpPowerSeries d := |
| 65 | p.support.sum fun m => |
| 66 | p.coeff m • (Finset.univ : Finset (Fin k)).toList.foldr |
| 67 | (fun i acc => expMul d acc (expPow d (fs i) (m i))) |
| 68 | (fun idx => if idx = 0 then 1 else 0) |
| 69 | |
| 70 | /-- A `k`-tuple of exponential power series `f` *solves* the CDA system `(p, c)` |
| 71 | if it satisfies the initial condition `f_i(0) = c_i` and the differential |
| 72 | equations `∂_{x_j} f_i = p^{(j)}_i(f_1, …, f_k)` for all `i, j`, the |
| 73 | right-hand side a polynomial in the binomial-convolution algebra. Here `0` |
| 74 | is the zero multi-index. -/ |
| 75 | def SolvesCDA (d k : ℕ) (f : Fin k → ExpPowerSeries d) |
| 76 | (p : Fin k → Fin d → MvPolynomial (Fin k) ℚ) (c : Fin k → ℚ) : Prop := |
| 77 | (∀ i, f i 0 = c i) ∧ ∀ i j, expDeriv d j (f i) = evalCDA d k f (p i j) |
| 78 | |
| 79 | /-- The CDA solvability problem is decidable (paper §6.4, theorem `decidability |
| 80 | of CDA solvability`): there is a procedure that, given the polynomial |
| 81 | equations `p` and the initial condition `c`, decides whether a power series |
| 82 | solution exists. The decision reduces to the commutativity of the companion |
| 83 | shuffle series, which is decidable. -/ |
| 84 | axiom CDASolvability (d k : ℕ) (hd : 0 < d) (hk : 0 < k) : |
| 85 | ∃ dec : (Fin k → Fin d → MvPolynomial (Fin k) ℚ) → (Fin k → ℚ) → Bool, |
| 86 | ∀ p c, dec p c = true ↔ ∃ f : Fin k → ExpPowerSeries d, SolvesCDA d k f p c |
| 87 | |
| 88 | end Lax619925.CDA |
| 89 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments