Documentation

RoughPaths.Signature.Basic

Word Signatures #

This file defines the word-indexed algebraic signature data used in rough path theory. It covers the shuffle identity for group-like signatures and finite degree truncations.

Main definitions #

References #

def RoughPaths.Word.coeff {α : Type u} {R : Type w} (a : List αR) (w : List α) :
R

The coefficient of a word in a formal signature series.

Equations
Instances For
    @[simp]
    theorem RoughPaths.Word.coeff_apply {α : Type u} {R : Type w} (a : List αR) (w : List α) :
    coeff a w = a w
    theorem RoughPaths.Word.ext {α : Type u} {R : Type w} {a b : List αR} (h : ∀ (w : List α), coeff a w = coeff b w) :
    a = b
    theorem RoughPaths.Word.ext_iff {α : Type u} {R : Type w} {a b : List αR} :
    a = b ∀ (w : List α), coeff a w = coeff b w
    def RoughPaths.Word.emptyCoeff {α : Type u} {R : Type w} (a : List αR) :
    R

    The coefficient of the empty word.

    Equations
    Instances For
      @[simp]
      theorem RoughPaths.Word.coeff_nil {α : Type u} {R : Type w} (a : List αR) :
      def RoughPaths.Word.HasUnitEmpty {α : Type u} {R : Type w} [One R] (a : List αR) :

      Unit empty-word coefficient condition.

      Equations
      Instances For
        theorem RoughPaths.Word.HasUnitEmpty.coeff_nil {α : Type u} {R : Type w} [One R] {a : List αR} (h : HasUnitEmpty a) :
        coeff a [] = 1
        def RoughPaths.Word.comapMapLetters {R : Type w} {γ : Type u} {δ : Type v} (f : γδ) (a : List δR) :
        List γR

        Relabel a word-indexed series.

        Equations
        Instances For
          @[simp]
          theorem RoughPaths.Word.coeff_comapMapLetters {R : Type w} {γ : Type u} {δ : Type v} (f : γδ) (a : List δR) (w : List γ) :
          theorem RoughPaths.Word.HasUnitEmpty.comapMapLetters {R : Type w} {γ : Type u} {δ : Type v} [One R] {a : List δR} (h : HasUnitEmpty a) (f : γδ) :
          @[simp]
          theorem RoughPaths.Word.comapMapLetters_id {α : Type u} {R : Type w} (a : List αR) :
          theorem RoughPaths.Word.comapMapLetters_comp {R : Type w} {γ : Type u} {δ : Type v} {ε : Type z} (f : γδ) (g : δε) (a : List εR) :
          def RoughPaths.Word.unit (α : Type u) (R : Type v) [Zero R] [One R] :
          List αR

          The unit signature series.

          Equations
          Instances For
            @[simp]
            theorem RoughPaths.Word.coeff_unit_nil {α : Type u} {R : Type w} [Zero R] [One R] :
            coeff (unit α R) [] = 1
            @[simp]
            theorem RoughPaths.Word.coeff_unit_cons {α : Type u} {R : Type w} [Zero R] [One R] (x : α) (w : List α) :
            coeff (unit α R) (x :: w) = 0
            theorem RoughPaths.Word.unit_hasUnitEmpty {α : Type u} {R : Type w} [Zero R] [One R] :
            @[simp]
            theorem RoughPaths.Word.comapMapLetters_unit {R : Type w} {γ : Type u} {δ : Type v} [Zero R] [One R] (f : γδ) :
            comapMapLetters f (unit δ R) = unit γ R
            def RoughPaths.Word.shuffleCoeff {α : Type u} {R : Type w} [AddMonoid R] (a : List αR) (u v : List α) :
            R

            Sum of coefficients over all shuffles of two words.

            Equations
            Instances For
              @[simp]
              theorem RoughPaths.Word.shuffleCoeff_nil_left {α : Type u} {R : Type w} [AddMonoid R] (a : List αR) (v : List α) :
              @[simp]
              theorem RoughPaths.Word.shuffleCoeff_nil_right {α : Type u} {R : Type w} [AddMonoid R] (a : List αR) (u : List α) :
              theorem RoughPaths.Word.shuffleCoeff_comapMapLetters {R : Type w} {γ : Type u} {δ : Type v} [AddMonoid R] (f : γδ) (a : List δR) (u v : List γ) :
              theorem RoughPaths.Word.shuffleCoeff_unit {α : Type u} {R : Type w} [Semiring R] (u v : List α) :
              shuffleCoeff (unit α R) u v = unit α R u * unit α R v
              def RoughPaths.Word.IsGroupLike {α : Type u} {R : Type w} [Semiring R] (a : List αR) :

              A signature series satisfying the shuffle identity.

              Equations
              Instances For
                theorem RoughPaths.Word.IsGroupLike.coeff_nil {α : Type u} {R : Type w} [Semiring R] {a : List αR} (h : IsGroupLike a) :
                coeff a [] = 1
                theorem RoughPaths.Word.IsGroupLike.shuffle {α : Type u} {R : Type w} [Semiring R] {a : List αR} (h : IsGroupLike a) (u v : List α) :
                coeff a u * coeff a v = shuffleCoeff a u v
                theorem RoughPaths.Word.IsGroupLike.comapMapLetters {R : Type w} {γ : Type u} {δ : Type v} [Semiring R] {a : List δR} (h : IsGroupLike a) (f : γδ) :
                def RoughPaths.Word.tensorProduct {α : Type u} {R : Type w} [AddMonoid R] [Mul R] (a b : List αR) :
                List αR

                Concatenation, or tensor, product of two word-indexed series.

                Equations
                Instances For
                  @[simp]
                  theorem RoughPaths.Word.tensorProduct_nil {α : Type u} {R : Type w} [AddMonoid R] [Mul R] (a b : List αR) :
                  theorem RoughPaths.Word.tensorProduct_cons {α : Type u} {R : Type w} [AddMonoid R] [Mul R] (a b : List αR) (x : α) (w : List α) :
                  coeff (tensorProduct a b) (x :: w) = coeff a [] * coeff b (x :: w) + (List.map (fun (p : List α × List α) => coeff a (x :: p.1) * coeff b p.2) (HopfAlgebras.Word.splits w)).sum
                  theorem RoughPaths.Word.tensorProduct_comapMapLetters {R : Type w} {γ : Type u} {δ : Type v} [AddMonoid R] [Mul R] (f : γδ) (a b : List δR) :
                  @[simp]
                  theorem RoughPaths.Word.tensorProduct_unit_left {α : Type u} {R : Type w} [Semiring R] (a : List αR) :
                  tensorProduct (unit α R) a = a
                  @[simp]
                  theorem RoughPaths.Word.tensorProduct_unit_right {α : Type u} {R : Type w} [Semiring R] (a : List αR) :
                  tensorProduct a (unit α R) = a
                  theorem RoughPaths.Word.tensorProduct_hasUnitEmpty {α : Type u} {R : Type w} [Semiring R] {a b : List αR} (ha : HasUnitEmpty a) (hb : HasUnitEmpty b) :
                  @[reducible, inline]
                  abbrev RoughPaths.Word.Truncation (α : Type u) (R : Type v) (n : ) :
                  Type (max u v)

                  Truncation of a signature series to words of length at most n.

                  Equations
                  Instances For
                    def RoughPaths.Word.truncate {α : Type u} {R : Type w} (a : List αR) (n : ) :
                    Truncation α R n

                    Restrict a signature series to words of length at most n.

                    Equations
                    Instances For
                      @[simp]
                      theorem RoughPaths.Word.truncate_apply {α : Type u} {R : Type w} (a : List αR) (n : ) (w : { w : List α // w.length n }) :
                      truncate a n w = coeff a w
                      theorem RoughPaths.Word.truncate_ext {α : Type u} {R : Type w} {a b : List αR} {n : } (h : ∀ (w : List α), w.length ncoeff a w = coeff b w) :
                      theorem RoughPaths.Word.truncate_eq_iff_agreeUpToDegree {α : Type u} {R : Type w} (a b : List αR) (n : ) :
                      truncate a n = truncate b n ∀ (w : List α), w.length ncoeff a w = coeff b w
                      theorem RoughPaths.Word.truncate_comapMapLetters {R : Type w} {γ : Type u} {δ : Type v} (f : γδ) (a : List δR) (n : ) :
                      truncate (comapMapLetters f a) n = fun (w : { w : List γ // w.length n }) => coeff a (List.map f w)
                      def RoughPaths.Word.AgreeUpToDegree {α : Type u} {R : Type w} (a b : List αR) (n : ) :

                      Agreement of two signature series through word degree n.

                      Equations
                      Instances For
                        theorem RoughPaths.Word.agreeUpToDegree_refl {α : Type u} {R : Type w} (a : List αR) (n : ) :
                        theorem RoughPaths.Word.AgreeUpToDegree.symm {α : Type u} {R : Type w} {a b : List αR} {n : } (h : AgreeUpToDegree a b n) :
                        theorem RoughPaths.Word.AgreeUpToDegree.trans {α : Type u} {R : Type w} {a b c : List αR} {n : } (hab : AgreeUpToDegree a b n) (hbc : AgreeUpToDegree b c n) :
                        theorem RoughPaths.Word.AgreeUpToDegree.mono {α : Type u} {R : Type w} {a b : List αR} {m n : } (h : AgreeUpToDegree a b n) (hmn : m n) :
                        theorem RoughPaths.Word.AgreeUpToDegree.comapMapLetters {R : Type w} {γ : Type u} {δ : Type v} {a b : List δR} {n : } (h : AgreeUpToDegree a b n) (f : γδ) :
                        theorem RoughPaths.Word.agreeUpToDegree_succ_iff {α : Type u} {R : Type w} {a b : List αR} {n : } :
                        AgreeUpToDegree a b (n + 1) AgreeUpToDegree a b n ∀ (w : List α), w.length = n + 1coeff a w = coeff b w
                        theorem RoughPaths.Word.agreeUpToDegree_of_eq {α : Type u} {R : Type w} {a b : List αR} (h : a = b) (n : ) :
                        theorem RoughPaths.Word.eq_of_agreeUpToDegree_all {α : Type u} {R : Type w} {a b : List αR} (h : ∀ (n : ), AgreeUpToDegree a b n) :
                        a = b
                        theorem RoughPaths.Word.agreeUpToDegree_all_iff_eq {α : Type u} {R : Type w} {a b : List αR} :
                        (∀ (n : ), AgreeUpToDegree a b n) a = b
                        theorem RoughPaths.Word.truncate_eq_iff {α : Type u} {R : Type w} (a b : List αR) (n : ) :
                        theorem RoughPaths.Word.agreeUpToDegree_tensorProduct {α : Type u} {R : Type w} [AddMonoid R] [Mul R] {a a' b b' : List αR} {n : } (ha : AgreeUpToDegree a a' n) (hb : AgreeUpToDegree b b' n) :
                        theorem RoughPaths.Word.agreeUpToDegree_tensorProduct_left {α : Type u} {R : Type w} [AddMonoid R] [Mul R] {a a' b : List αR} {n : } (ha : AgreeUpToDegree a a' n) :
                        theorem RoughPaths.Word.agreeUpToDegree_tensorProduct_right {α : Type u} {R : Type w} [AddMonoid R] [Mul R] {a b b' : List αR} {n : } (hb : AgreeUpToDegree b b' n) :
                        theorem RoughPaths.Word.tensorProduct_eq_of_agreeUpToDegree_all {α : Type u} {R : Type w} [AddMonoid R] [Mul R] {a a' b b' : List αR} (ha : ∀ (n : ), AgreeUpToDegree a a' n) (hb : ∀ (n : ), AgreeUpToDegree b b' n) :
                        theorem RoughPaths.Word.tensorProduct_left_eq_of_agreeUpToDegree_all {α : Type u} {R : Type w} [AddMonoid R] [Mul R] {a a' b : List αR} (ha : ∀ (n : ), AgreeUpToDegree a a' n) :
                        theorem RoughPaths.Word.tensorProduct_right_eq_of_agreeUpToDegree_all {α : Type u} {R : Type w} [AddMonoid R] [Mul R] {a b b' : List αR} (hb : ∀ (n : ), AgreeUpToDegree b b' n) :
                        def RoughPaths.Word.SatisfiesShuffleUpToDegree {α : Type u} {R : Type w} [Semiring R] (a : List αR) (n : ) :

                        The shuffle identity restricted to pairs with total degree at most n.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          Group-like signature series are exactly the characters of the word shuffle Hopf algebra — definitionally.

                          The tensor (Chen) product of series is the convolution product dual to deconcatenation — definitionally.

                          @[reducible, inline]
                          abbrev RoughPaths.Signature (α : Type u) (R : Type v) [CommSemiring R] :
                          Type (max u v)

                          A signature: a character of the word shuffle Hopf algebra — this is the character type (wordHopf α).Character R, i.e. the subtype of group-like (shuffle-multiplicative, normalized) signature series. The monoid structure (tensor/Chen product) and, over a commutative ring, the group structure (shuffle antipode inverse) come from the abstract character theory of HopfAlgebras.Combinatorial.Basic.

                          Equations
                          Instances For
                            theorem RoughPaths.Signature.one_val {α : Type u} {R : Type v} [CommSemiring R] :
                            1 = Word.unit α R

                            The underlying series of the convolution unit is the unit series.

                            theorem RoughPaths.Signature.mul_val {α : Type u} {R : Type v} [CommSemiring R] (σ τ : Signature α R) :
                            ↑(σ * τ) = Word.tensorProduct σ τ

                            The underlying series of a product is the tensor product.

                            def RoughPaths.Signature.coeff {α : Type u} {R : Type v} [CommSemiring R] (σ : Signature α R) (w : List α) :
                            R

                            The coefficient of a word in a bundled signature.

                            Equations
                            Instances For
                              @[simp]
                              theorem RoughPaths.Signature.coeff_apply {α : Type u} {R : Type v} [CommSemiring R] (σ : Signature α R) (w : List α) :
                              σ.coeff w = σ w
                              @[simp]
                              theorem RoughPaths.Signature.coeff_nil {α : Type u} {R : Type v} [CommSemiring R] (σ : Signature α R) :
                              σ.coeff [] = 1
                              theorem RoughPaths.Signature.ext {α : Type u} {R : Type v} [CommSemiring R] {σ τ : Signature α R} (h : ∀ (w : List α), σ.coeff w = τ.coeff w) :
                              σ = τ
                              theorem RoughPaths.Signature.ext_iff {α : Type u} {R : Type v} [CommSemiring R] {σ τ : Signature α R} :
                              σ = τ ∀ (w : List α), σ.coeff w = τ.coeff w

                              The identity signature.

                              Equations
                              Instances For
                                theorem RoughPaths.Signature.unit_eq_one {α : Type u} {R : Type v} [CommSemiring R] :
                                unit α R = 1

                                The identity signature is the convolution unit of the character monoid.

                                @[simp]
                                theorem RoughPaths.Signature.unit_coeff_nil {α : Type u} {R : Type v} [CommSemiring R] :
                                (unit α R).coeff [] = 1
                                @[simp]
                                theorem RoughPaths.Signature.unit_coeff_cons {α : Type u} {R : Type v} [CommSemiring R] (x : α) (w : List α) :
                                (unit α R).coeff (x :: w) = 0
                                theorem RoughPaths.Signature.shuffle {α : Type u} {R : Type v} [CommSemiring R] (σ : Signature α R) (u v : List α) :
                                σ.coeff u * σ.coeff v = Word.shuffleCoeff (↑σ) u v
                                def RoughPaths.Signature.comapMapLetters {R : Type v} [CommSemiring R] {γ : Type u} {δ : Type z} (f : γδ) (σ : Signature δ R) :

                                Relabel a bundled signature by mapping letters.

                                Equations
                                Instances For
                                  @[simp]
                                  theorem RoughPaths.Signature.coeff_comapMapLetters {R : Type v} [CommSemiring R] {γ : Type u} {δ : Type z} (f : γδ) (σ : Signature δ R) (w : List γ) :
                                  @[simp]
                                  theorem RoughPaths.Signature.comapMapLetters_comp {R : Type v} [CommSemiring R] {γ : Type u} {δ : Type z} {ε : Type w} (f : γδ) (g : δε) (σ : Signature ε R) :
                                  @[simp]
                                  theorem RoughPaths.Signature.comapMapLetters_unit {R : Type v} [CommSemiring R] {γ : Type u} {δ : Type z} (f : γδ) :
                                  comapMapLetters f (unit δ R) = unit γ R