Documentation

TauCeti.Algebra.Homology.AInfinity.Module.Right.Components

Right A-infinity modules: arity components and component equations #

This file splits the Taylor map of a right A∞ module MM over AA into its arity components, and spells out the module Stasheff law component by component.

As for the operations m n of an A∞ algebra, the components are indexed by their total arity n, counting the module input, so b n and m n take n - 1 algebra inputs. There is no arity-zero operation, and b 0 and m 0 are the junk value 0.

The bar differential is the coderivation gradedCoderiv generated by its Taylor map (barDifferential_eq). Conversely, ofTaylor builds a module from any degree-one Taylor map whose generated coderivation squares to zero, checked on the Taylor component. Composing with the Taylor map turns the square-zero law into the suspended module Stasheff equations of every arity (stasheff_tmul_of_tprod), with the algebra bar differential written out in stasheff_tmul_of_tprod_splice. On homogeneous inputs, these become the unsuspended module Stasheff equations in the operations m of the module and of the algebra (stasheff). Conversely, ofStasheff builds a module from unsuspended operations of the right degrees satisfying these equations.

The generic module-first unsuspension and the sign calculations shared with module morphisms live in TauCeti.Algebra.Homology.AInfinity.Module.Right.Suspension.

Main definitions #

Main results #

References #

noncomputable def TauCeti.AInfinityRightModule.b {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (n : ℕ) :
TensorProduct R M (TensorPower R (n - 1) A) →ₗ[R] M

The suspended arity-n component b_n^M of a right A∞ module: the Taylor map restricted to the summand sM ⊗ (sA)^⊗(n-1) of the cofree bar comodule. There is no arity-zero operation, and b 0 is the junk value 0.

Equations
Instances For
    @[simp]
    theorem TauCeti.AInfinityRightModule.b_zero {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) :
    MM.b 0 = 0

    The arity-zero component is the junk value 0.

    theorem TauCeti.AInfinityRightModule.b_def {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (n : ℕ) :

    The arity component b (n + 1) is the Taylor map composed with the inclusion of words of length n.

    theorem TauCeti.AInfinityRightModule.taylor_tmul_of {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (n : ℕ) (x : M) (w : TensorPower R n A) :
    MM.taylor (x ⊗ₜ[R] (TensorWords.of R A n) w) = (MM.b (n + 1)) (x ⊗ₜ[R] w)

    On a word of length n, the Taylor map is the arity component b (n + 1).

    theorem TauCeti.AInfinityRightModule.isHomogeneous_b_tmul_tprod {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (n : ℕ) {x : M} {p : ℤ} (hx : x ∈ (MM.grading.shift 1).piece p) (a : Fin n → A) (d : Fin n → ℤ) (ha : ∀ (i : Fin n), a i ∈ (AA.grading.shift 1).piece (d i)) :
    (MM.b (n + 1)) (x ⊗ₜ[R] (PiTensorProduct.tprod R) a) ∈ (MM.grading.shift 1).piece (p + ∑ i : Fin n, d i + 1)

    The arity component b (n + 1) has degree one: it sends a homogeneous suspended module element and n homogeneous suspended letters to the suspended module degree one higher than the total.

    theorem TauCeti.AInfinityRightModule.taylor_eq_taylor_iff {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} {MM NN : AInfinityRightModule AA M} :
    MM.taylor = NN.taylor ↔ ∀ (n : ℕ), MM.b n = NN.b n

    The Taylor maps of two right A∞ modules agree exactly when all their arity components agree.

    theorem TauCeti.AInfinityRightModule.ext_b {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} {MM NN : AInfinityRightModule AA M} (hG : MM.grading = NN.grading) (hb : ∀ (n : ℕ), MM.b n = NN.b n) :
    MM = NN

    Right A∞ modules on a fixed carrier are determined by their grading and their suspended arity components.

    noncomputable def TauCeti.AInfinityRightModule.m {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (n : ℕ) :
    M →ₗ[R] MultilinearMap R (fun (x : Fin (n - 1)) => A) M

    The unsuspended arity-n operation m_n^M of a right A∞ module, with the module input first: for n = k + 1, the module-first unsuspension of b n. On homogeneous inputs its Koszul twists multiply to the Koszul sign of the suspension of n inputs. There is no arity-zero operation, and m 0 is the junk value 0.

    Equations
    Instances For
      @[simp]
      theorem TauCeti.AInfinityRightModule.m_zero {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) :
      MM.m 0 = 0

      The arity-zero operation is the junk value 0.

      theorem TauCeti.AInfinityRightModule.m_apply {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (n : ℕ) (x : M) (a : Fin n → A) :
      ((MM.m (n + 1)) x) a = (MM.b (n + 1)) ((MM.grading.koszulTwist ↑n) x ⊗ₜ[R] (PiTensorProduct.tprod R) fun (i : Fin (n + 1 - 1)) => (AA.grading.koszulTwist (↑n - 1 - ↑↑i)) (a i))

      The unsuspended operation evaluates the suspended component on Koszul-twisted inputs.

      theorem TauCeti.AInfinityRightModule.b_tmul_tprod {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (n : ℕ) (x : M) (a : Fin n → A) :
      (MM.b (n + 1)) (x ⊗ₜ[R] (PiTensorProduct.tprod R) a) = ((MM.m (n + 1)) ((MM.grading.koszulTwist ↑n) x)) fun (i : Fin n) => (AA.grading.koszulTwist (↑n - 1 - ↑↑i)) (a i)

      The suspended component evaluates the unsuspended operation on Koszul-twisted inputs: the twists defining m are involutions.

      theorem TauCeti.AInfinityRightModule.taylor_tmul_of_tprod {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (n : ℕ) (x : M) (a : Fin n → A) :
      MM.taylor (x ⊗ₜ[R] (TensorWords.of R A n) ((PiTensorProduct.tprod R) a)) = ((MM.m (n + 1)) ((MM.grading.koszulTwist ↑n) x)) fun (i : Fin n) => (AA.grading.koszulTwist (↑n - 1 - ↑↑i)) (a i)

      On a pure word, the Taylor map evaluates the unsuspended operation on Koszul-twisted inputs.

      theorem TauCeti.AInfinityRightModule.b_tmul_tprod_of_mem {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (k : ℕ) {x : M} {e : ℤ} (hx : x ∈ MM.grading.piece e) (d : ℕ → ℤ) (a : ℕ → A) (ha : ∀ i < k, a i ∈ AA.grading.piece (d i)) :
      (MM.b (k + 1)) (x ⊗ₜ[R] (PiTensorProduct.tprod R) fun (i : Fin k) => a ↑i) = negOnePowCast R (↑k * e + MultilinearMap.suspExp k d) • ((MM.m (k + 1)) x).evalNat a

      On homogeneous inputs, the suspended component is the unsuspended operation multiplied by the Koszul sign of suspending the module input of degree e and the k algebra inputs of degrees d 0, …, d (k - 1).

      theorem TauCeti.AInfinityRightModule.b_eq_b_of_m_eq_m {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} {MM NN : AInfinityRightModule AA M} (hG : MM.grading = NN.grading) (n : ℕ) (hm : MM.m n = NN.m n) :
      MM.b n = NN.b n

      The suspended arity components are determined by the grading and the unsuspended operations.

      theorem TauCeti.AInfinityRightModule.ext_m {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} {MM NN : AInfinityRightModule AA M} (hG : MM.grading = NN.grading) (hm : ∀ (n : ℕ), MM.m n = NN.m n) :
      MM = NN

      Right A∞ modules on a fixed carrier are determined by their grading and their unsuspended operations.

      theorem TauCeti.AInfinityRightModule.m_mem_piece {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (n : ℕ) {x : M} {p : ℤ} (hx : x ∈ MM.grading.piece p) (a : Fin n → A) (d : Fin n → ℤ) (ha : ∀ (i : Fin n), a i ∈ AA.grading.piece (d i)) :
      ((MM.m (n + 1)) x) a ∈ MM.grading.piece (p + ∑ i : Fin n, d i + (1 - ↑n))

      The unsuspended operation m_{n+1}^M of arity n + 1 has cohomological degree 1 - n.

      noncomputable def TauCeti.AInfinityRightModule.gradedCoderiv {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] (AA : AInfinityAlgebra R A) (G : InternalGrading R M) (F : TensorProduct R M (TensorWords R A) →ₗ[R] M) :

      The coderivation over the bar differential of AA generated by a map F : sM ⊗ Tᶜ(sA) → sM: the cofree comodule lift of F, which on x ⊗ w applies F to each prefix of the deconcatenation of w, plus the algebra bar differential applied to w, with the Koszul sign of moving it past the suspended module input.

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

        The coderivation generated by F applies F after deconcatenation, and adds the Koszul-twisted algebra bar differential.

        theorem TauCeti.AInfinityRightModule.gradedCoderiv_tmul_of_tprod {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] (AA : AInfinityAlgebra R A) (G : InternalGrading R M) (F : TensorProduct R M (TensorWords R A) →ₗ[R] M) (n : ℕ) (x : M) (a : Fin n → A) :

        The coderivation generated by F on the word x ⊗ a₀ ⊗ ⋯ ⊗ aₙ₋₁: the sum over the cuts of the word of F applied to the prefix, tensored with the suffix, plus the Koszul-twisted module input tensored with the algebra bar differential of the word.

        The coderivation generated by a degree-one map has degree one.

        The coderivation generated by any map is a coderivation over the algebra bar differential: its first summand is the comodule morphism lifting F along the cofree coaction, and its second summand satisfies the co-Leibniz law because the algebra bar differential does.

        Applying the coalgebra counit after the coderivation generated by F recovers F: the algebra bar differential has no counit component.

        noncomputable def TauCeti.AInfinityRightModule.ofTaylor {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (G : InternalGrading R M) (F : TensorProduct R M (TensorWords R A) →ₗ[R] M) (hF : LinearMap.IsHomogeneous F (barGrading AA G).piece (G.shift 1).piece 1) (hsq : F ∘ₗ gradedCoderiv AA G F = 0) :

        Construct a right A∞ module from a degree-one Taylor map whose generated coderivation squares to zero. By cofreeness, the square-zero law is checked on the Taylor component.

        Equations
        Instances For
          @[simp]
          theorem TauCeti.AInfinityRightModule.ofTaylor_grading {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (G : InternalGrading R M) (F : TensorProduct R M (TensorWords R A) →ₗ[R] M) (hF : LinearMap.IsHomogeneous F (barGrading AA G).piece (G.shift 1).piece 1) (hsq : F ∘ₗ gradedCoderiv AA G F = 0) :
          (ofTaylor G F hF hsq).grading = G

          The grading of the module built from a Taylor map is the given grading.

          @[simp]
          theorem TauCeti.AInfinityRightModule.ofTaylor_barDifferential {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (G : InternalGrading R M) (F : TensorProduct R M (TensorWords R A) →ₗ[R] M) (hF : LinearMap.IsHomogeneous F (barGrading AA G).piece (G.shift 1).piece 1) (hsq : F ∘ₗ gradedCoderiv AA G F = 0) :

          The bar differential of the module built from a Taylor map is the coderivation it generates.

          @[simp]
          theorem TauCeti.AInfinityRightModule.ofTaylor_taylor {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (G : InternalGrading R M) (F : TensorProduct R M (TensorWords R A) →ₗ[R] M) (hF : LinearMap.IsHomogeneous F (barGrading AA G).piece (G.shift 1).piece 1) (hsq : F ∘ₗ gradedCoderiv AA G F = 0) :
          (ofTaylor G F hF hsq).taylor = F

          The Taylor map of the module built from a Taylor map is that map.

          The bar differential is the coderivation generated by the Taylor map: on x ⊗ w it applies the Taylor map to each prefix of the deconcatenation of w, and adds the algebra bar differential applied to w, with the Koszul sign of moving it past the suspended module input.

          The Taylor map vanishes after the coderivation it generates.

          @[simp]
          theorem TauCeti.AInfinityRightModule.ofTaylor_self {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) :
          ofTaylor MM.grading MM.taylor ⋯ ⋯ = MM

          Every right A∞ module is built from its own Taylor map.

          The module Stasheff law in operator form: the Taylor map applied after the Taylor map on each prefix, plus the Taylor map applied after the algebra bar differential, vanishes.

          theorem TauCeti.AInfinityRightModule.stasheff_tmul_of_tprod {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (n : ℕ) (x : M) (a : Fin n → A) :

          The suspended module Stasheff equation of arity n + 1, on the word x ⊗ a₀ ⊗ ⋯ ⊗ aₙ₋₁: the sum over the cuts of the word of the Taylor map applied after the Taylor map on the prefix, plus the Taylor map applied after the algebra bar differential of the word, vanishes.

          theorem TauCeti.AInfinityRightModule.stasheff_tmul_of_tprod_splice {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (n : ℕ) (x : M) (a : Fin n → A) :
          ∑ k ∈ Finset.range (n + 1), MM.taylor (MM.taylor (x ⊗ₜ[R] TensorWords.subword R a 0 k) ⊗ₜ[R] TensorWords.subword R a k (n - k)) + ∑ p ∈ Finset.range n, ∑ s ∈ Finset.Icc 1 (n - p), MM.taylor (((MM.grading.shift 1).koszulTwist 1) x ⊗ₜ[R] (TensorWords.reducedInclusion R A) (ReducedTensorWords.splice R ((AA.grading.shift 1).twistedTuple 1 a 0 p) 0 n p s (AA.taylor (ReducedTensorWords.subword R a p s)))) = 0

          The suspended module Stasheff equation of arity n + 1, with the algebra bar differential expanded: its terms collapse each nonempty block of letters by the algebra Taylor map, twisting the letters before the block.

          theorem TauCeti.AInfinityRightModule.stasheff {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (n : ℕ) {x : M} {e : ℤ} (hx : x ∈ MM.grading.piece e) (d : ℕ → ℤ) (a : ℕ → A) (ha : ∀ i < n, a i ∈ AA.grading.piece (d i)) :
          (∑ k ∈ Finset.range (n + 1), negOnePowCast R ((↑k + 1) * (↑n - ↑k)) • ((MM.m (n - k + 1)) (((MM.m (k + 1)) x).evalNat a)).evalNat fun (j : ℕ) => a (k + j)) + ∑ p ∈ Finset.range n, ∑ s ∈ Finset.Icc 1 (n - p), negOnePowCast R (↑p + 1 + ↑s * (↑n - ↑p - ↑s) + (2 - ↑s) * (e + ∑ i ∈ Finset.range p, d i)) • ((MM.m (p + 1 + (n - p - s) + 1)) x).evalNat (replaceBlock a p s ((AA.m s).evalNat fun (j : ℕ) => a (p + j))) = 0

          The unsuspended module Stasheff equation of arity n + 1, on a homogeneous module input x of degree e and homogeneous algebra inputs a 0, …, a (n - 1) of degrees d. Indexing the inputs x, a 0, …, a (n - 1) by 0, …, n, the term in which an operation of arity s collapses the block starting at position r carries the sign (-1) ^ (r + s * t), with t inputs after the block, times the Koszul sign of the degree-2 - s inner operation crossing the r inputs before it. The first sum collects the terms with r = 0, whose inner operation is m (k + 1) of MM, and the second those with r = p + 1, whose inner operation is m s of AA.

          theorem TauCeti.AInfinityRightModule.stasheff_arity_one {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (x : M) (a c : Fin 0 → A) :
          ((MM.m 1) (((MM.m 1) x) a)) c = 0

          The unsuspended module Stasheff equation of arity one: the unary module operation squares to zero.

          theorem TauCeti.AInfinityRightModule.taylor_tmul_one {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (x : M) (a : Fin 0 → A) :
          MM.taylor (x ⊗ₜ[R] 1) = ((MM.m 1) x) a

          On the empty algebra word, the Taylor map is the unsuspended unary operation.

          theorem TauCeti.AInfinityRightModule.barDifferential_tmul_one {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (MM : AInfinityRightModule AA M) (x : M) :

          On the empty algebra word, the bar differential is the unary module operation tensored with the empty word.

          noncomputable def TauCeti.AInfinityRightModule.ofStasheff {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (G : InternalGrading R M) (m : (n : ℕ) → M →ₗ[R] MultilinearMap R (fun (x : Fin (n - 1)) => A) M) (hm : ∀ (n : ℕ) {x : M} {p : ℤ}, x ∈ G.piece p → ∀ (a : Fin n → A) (d : Fin n → ℤ), (∀ (i : Fin n), a i ∈ AA.grading.piece (d i)) → ((m (n + 1)) x) a ∈ G.piece (p + ∑ i : Fin n, d i + (1 - ↑n))) (F : TensorProduct R M (TensorWords R A) →ₗ[R] M) (hFm : ∀ (n : ℕ) (x : M) (a : Fin n → A), F (x ⊗ₜ[R] (TensorWords.of R A n) ((PiTensorProduct.tprod R) a)) = ((m (n + 1)) ((G.koszulTwist ↑n) x)) fun (i : Fin n) => (AA.grading.koszulTwist (↑n - 1 - ↑↑i)) (a i)) (hSI : ∀ (n : ℕ) {x : M} {e : ℤ}, x ∈ G.piece e → ∀ (d : ℕ → ℤ) (a : ℕ → A), (∀ i < n, a i ∈ AA.grading.piece (d i)) → (∑ k ∈ Finset.range (n + 1), negOnePowCast R ((↑k + 1) * (↑n - ↑k)) • ((m (n - k + 1)) (((m (k + 1)) x).evalNat a)).evalNat fun (j : ℕ) => a (k + j)) + ∑ p ∈ Finset.range n, ∑ s ∈ Finset.Icc 1 (n - p), negOnePowCast R (↑p + 1 + ↑s * (↑n - ↑p - ↑s) + (2 - ↑s) * (e + ∑ i ∈ Finset.range p, d i)) • ((m (p + 1 + (n - p - s) + 1)) x).evalNat (replaceBlock a p s ((AA.m s).evalNat fun (j : ℕ) => a (p + j))) = 0) :

          Construct a right A∞ module from unsuspended operations m of degree 1 - n in arity n + 1 satisfying the unsuspended module Stasheff equations on homogeneous inputs, together with a Taylor map F evaluating m on Koszul-twisted inputs.

          Equations
          Instances For
            @[simp]
            theorem TauCeti.AInfinityRightModule.ofStasheff_grading {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (G : InternalGrading R M) (m : (n : ℕ) → M →ₗ[R] MultilinearMap R (fun (x : Fin (n - 1)) => A) M) (hm : ∀ (n : ℕ) {x : M} {p : ℤ}, x ∈ G.piece p → ∀ (a : Fin n → A) (d : Fin n → ℤ), (∀ (i : Fin n), a i ∈ AA.grading.piece (d i)) → ((m (n + 1)) x) a ∈ G.piece (p + ∑ i : Fin n, d i + (1 - ↑n))) (F : TensorProduct R M (TensorWords R A) →ₗ[R] M) (hFm : ∀ (n : ℕ) (x : M) (a : Fin n → A), F (x ⊗ₜ[R] (TensorWords.of R A n) ((PiTensorProduct.tprod R) a)) = ((m (n + 1)) ((G.koszulTwist ↑n) x)) fun (i : Fin n) => (AA.grading.koszulTwist (↑n - 1 - ↑↑i)) (a i)) (hSI : ∀ (n : ℕ) {x : M} {e : ℤ}, x ∈ G.piece e → ∀ (d : ℕ → ℤ) (a : ℕ → A), (∀ i < n, a i ∈ AA.grading.piece (d i)) → (∑ k ∈ Finset.range (n + 1), negOnePowCast R ((↑k + 1) * (↑n - ↑k)) • ((m (n - k + 1)) (((m (k + 1)) x).evalNat a)).evalNat fun (j : ℕ) => a (k + j)) + ∑ p ∈ Finset.range n, ∑ s ∈ Finset.Icc 1 (n - p), negOnePowCast R (↑p + 1 + ↑s * (↑n - ↑p - ↑s) + (2 - ↑s) * (e + ∑ i ∈ Finset.range p, d i)) • ((m (p + 1 + (n - p - s) + 1)) x).evalNat (replaceBlock a p s ((AA.m s).evalNat fun (j : ℕ) => a (p + j))) = 0) :
            (ofStasheff G m hm F hFm hSI).grading = G

            The grading of the module built from unsuspended operations is the given grading.

            @[simp]
            theorem TauCeti.AInfinityRightModule.ofStasheff_taylor {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (G : InternalGrading R M) (m : (n : ℕ) → M →ₗ[R] MultilinearMap R (fun (x : Fin (n - 1)) => A) M) (hm : ∀ (n : ℕ) {x : M} {p : ℤ}, x ∈ G.piece p → ∀ (a : Fin n → A) (d : Fin n → ℤ), (∀ (i : Fin n), a i ∈ AA.grading.piece (d i)) → ((m (n + 1)) x) a ∈ G.piece (p + ∑ i : Fin n, d i + (1 - ↑n))) (F : TensorProduct R M (TensorWords R A) →ₗ[R] M) (hFm : ∀ (n : ℕ) (x : M) (a : Fin n → A), F (x ⊗ₜ[R] (TensorWords.of R A n) ((PiTensorProduct.tprod R) a)) = ((m (n + 1)) ((G.koszulTwist ↑n) x)) fun (i : Fin n) => (AA.grading.koszulTwist (↑n - 1 - ↑↑i)) (a i)) (hSI : ∀ (n : ℕ) {x : M} {e : ℤ}, x ∈ G.piece e → ∀ (d : ℕ → ℤ) (a : ℕ → A), (∀ i < n, a i ∈ AA.grading.piece (d i)) → (∑ k ∈ Finset.range (n + 1), negOnePowCast R ((↑k + 1) * (↑n - ↑k)) • ((m (n - k + 1)) (((m (k + 1)) x).evalNat a)).evalNat fun (j : ℕ) => a (k + j)) + ∑ p ∈ Finset.range n, ∑ s ∈ Finset.Icc 1 (n - p), negOnePowCast R (↑p + 1 + ↑s * (↑n - ↑p - ↑s) + (2 - ↑s) * (e + ∑ i ∈ Finset.range p, d i)) • ((m (p + 1 + (n - p - s) + 1)) x).evalNat (replaceBlock a p s ((AA.m s).evalNat fun (j : ℕ) => a (p + j))) = 0) :
            (ofStasheff G m hm F hFm hSI).taylor = F

            The Taylor map of the module built from unsuspended operations is the given Taylor map.

            @[simp]
            theorem TauCeti.AInfinityRightModule.ofStasheff_m {R : Type uR} {A : Type uA} {M : Type uM} [CommRing R] [AddCommGroup A] [Module R A] [AddCommGroup M] [Module R M] {AA : AInfinityAlgebra R A} (G : InternalGrading R M) (m : (n : ℕ) → M →ₗ[R] MultilinearMap R (fun (x : Fin (n - 1)) => A) M) (hm : ∀ (n : ℕ) {x : M} {p : ℤ}, x ∈ G.piece p → ∀ (a : Fin n → A) (d : Fin n → ℤ), (∀ (i : Fin n), a i ∈ AA.grading.piece (d i)) → ((m (n + 1)) x) a ∈ G.piece (p + ∑ i : Fin n, d i + (1 - ↑n))) (F : TensorProduct R M (TensorWords R A) →ₗ[R] M) (hFm : ∀ (n : ℕ) (x : M) (a : Fin n → A), F (x ⊗ₜ[R] (TensorWords.of R A n) ((PiTensorProduct.tprod R) a)) = ((m (n + 1)) ((G.koszulTwist ↑n) x)) fun (i : Fin n) => (AA.grading.koszulTwist (↑n - 1 - ↑↑i)) (a i)) (hSI : ∀ (n : ℕ) {x : M} {e : ℤ}, x ∈ G.piece e → ∀ (d : ℕ → ℤ) (a : ℕ → A), (∀ i < n, a i ∈ AA.grading.piece (d i)) → (∑ k ∈ Finset.range (n + 1), negOnePowCast R ((↑k + 1) * (↑n - ↑k)) • ((m (n - k + 1)) (((m (k + 1)) x).evalNat a)).evalNat fun (j : ℕ) => a (k + j)) + ∑ p ∈ Finset.range n, ∑ s ∈ Finset.Icc 1 (n - p), negOnePowCast R (↑p + 1 + ↑s * (↑n - ↑p - ↑s) + (2 - ↑s) * (e + ∑ i ∈ Finset.range p, d i)) • ((m (p + 1 + (n - p - s) + 1)) x).evalNat (replaceBlock a p s ((AA.m s).evalNat fun (j : ℕ) => a (p + j))) = 0) (hm0 : m 0 = 0) :
            (ofStasheff G m hm F hFm hSI).m = m

            The unsuspended operations of the module built from unsuspended operations m are m, as soon as the junk value m 0 vanishes.