Noncommutative series and polynomial residuals
Lax825748.Series · concepts/Lax825748/Series.lean · lax-825748
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
For an alphabet , a series is a function and a polynomial is a finite real linear combination of words. Polynomial multiplication is concatenation. The pairing is .
The two residuals are and . The empty word is the monoid identity. Agreement below degree means equality at every word of length less than .
Concept map
In the paper
- page 3 of this submission's paper
Lean source view on GitHub
| 1 | import Mathlib.Algebra.MonoidAlgebra.Basic |
| 2 | import Mathlib.Algebra.FreeMonoid.Basic |
| 3 | import Mathlib.Data.Real.Basic |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: Noncommutative series and polynomial residuals |
| 8 | type: definition |
| 9 | --- |
| 10 | For an alphabet , a series is a function and a polynomial |
| 11 | is a finite real linear combination of words. Polynomial multiplication is |
| 12 | concatenation. The pairing is . |
| 13 | |
| 14 | The two residuals are and |
| 15 | . The empty word is the monoid identity. |
| 16 | Agreement below degree means equality at every word of length less than . |
| 17 | -/ |
| 18 | |
| 19 | noncomputable section |
| 20 | |
| 21 | namespace Lax825748.Series |
| 22 | |
| 23 | abbrev Word (X : Type) := FreeMonoid X |
| 24 | abbrev NCSeries (X : Type) := Word X → ℝ |
| 25 | abbrev NCPolynomial (X : Type) := MonoidAlgebra ℝ (Word X) |
| 26 | |
| 27 | noncomputable def pairing {X : Type} (S : NCSeries X) (P : NCPolynomial X) : ℝ := |
| 28 | P.coeff.sum fun w a => a * S w |
| 29 | |
| 30 | noncomputable def wordPolynomial {X : Type} (w : Word X) : NCPolynomial X := |
| 31 | MonoidAlgebra.single w 1 |
| 32 | |
| 33 | noncomputable def letter {X : Type} (x : X) : NCPolynomial X := |
| 34 | wordPolynomial (FreeMonoid.of x) |
| 35 | |
| 36 | noncomputable def rightResidual {X : Type} (S : NCSeries X) |
| 37 | (P : NCPolynomial X) : NCSeries X := |
| 38 | fun w => pairing S (P * wordPolynomial w) |
| 39 | |
| 40 | noncomputable def leftResidual {X : Type} (P : NCPolynomial X) |
| 41 | (S : NCSeries X) : NCSeries X := |
| 42 | fun w => pairing S (wordPolynomial w * P) |
| 43 | |
| 44 | noncomputable def constantSeries {X : Type} (a : ℝ) : NCSeries X := by |
| 45 | classical |
| 46 | exact fun w => if w = 1 then a else 0 |
| 47 | |
| 48 | def AgreeBelow {X : Type} (N : ℕ) (S T : NCSeries X) : Prop := |
| 49 | ∀ w, w.toList.length < N → S w = T w |
| 50 | |
| 51 | def FormallyContinuous {X Y : Type} (F : NCSeries X → NCSeries Y) : Prop := |
| 52 | ∀ N, ∃ M, ∀ S T, AgreeBelow M S T → AgreeBelow N (F S) (F T) |
| 53 | |
| 54 | end Lax825748.Series |
| 55 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments