Documentation

Linglib.Core.Algebra.RootedTree.FormSet

FormSet operators FS^(k) — MCB Def 1.16.1 #

[MCB25]

The FormSet operator family on workspaces, introduced in MCB §1.16 (book p. 141–146). FormSet is a structure-formation operation that groups subsets of workspace components into a single new structure via the grafting operator B, without unrolling its constituents to accessible terms (unlike Merge, which does both grafting and accessible-term extraction).

The MCB formula (Def 1.16.1, book p. 143) #

FS^(k) = ⊔ ∘ (B ⊗ id) ∘ Π_(k) ∘ Δ_P

where:

What FS^(k) does #

For F = T₁ ⊔ … ⊔ T_n:

  1. Δ_P(F) decomposes into 2^n tensor terms (each T_i is primitive, so each Δ_P(T_i) = T_i ⊗ 1 + 1 ⊗ T_i has 2 summands).
  2. Π_(k) selects only the terms whose left channel has exactly k components.
  3. B ⊗ id grafts those k components into a new tree with a fresh root (labeled a in our typed setting).
  4. multiplies with the right-channel remainder.

The result is a workspace where some subset of k components has been "glued together" by the new root.

FS^(k) is NOT k-ary Merge (MCB §1.16.2) #

Status #

[UPSTREAM] candidate (the comulPrim primitive coproduct + bPlusLin grafting are general Hopf-algebra-of-rooted-trees constructions, not linguistics-specific).

Lemma 1.16.5 (Δ^ω extends to extended workspaces F̃^R) deferred — needs a new "extended forest" type.

§1: The grafting operator B (MCB Def 1.3.2) #

In our typed Nonplanar α substrate, B needs a root label parameter. This is exactly the existing bPlusLin a (Hochschild 1-cocycle for Δ^ρ; reused here as the FormSet grafting operator).

noncomputable def RootedTree.ConnesKreimer.graft {α : Type u_2} (a : α) (F : Forest (Nonplanar α)) :

The grafting operator B (MCB Def 1.3.2): create a new tree with a fresh root labeled a and the forest F as children.

Identical to bPlus a F = Nonplanar.node a F; this name highlights the FormSet usage.

Equations
Instances For
    noncomputable def RootedTree.ConnesKreimer.graftLin {R : Type u_1} [CommSemiring R] {α : Type u_2} (a : α) :

    The grafting operator linearly extended: re-export bPlusLin from PruningNonplanar.lean under the FormSet-flavored name.

    Equations
    Instances For
      @[simp]
      theorem RootedTree.ConnesKreimer.graftLin_of' {R : Type u_1} [CommSemiring R] {α : Type u_2} (a : α) (F : Forest (Nonplanar α)) :
      (graftLin a) (of' F) = ofTree (graft a F)

      §2: The primitive coproduct Δ_P (MCB Remark 1.16.2) #

      Δ_P treats every basis tree as primitive: Δ_P(T) = T ⊗ 1 + 1 ⊗ T. Extended multiplicatively to forests by Δ_P(F + G) = Δ_P(F) · Δ_P(G), so for F = ⊔_a T_a, Δ_P(F) = ∏_a (T_a ⊗ 1 + 1 ⊗ T_a).

      Distinct from Δ^c / Δ^d / Δ^ρ (which extract subforests). Coassoc + algebra-hom by construction — no Foissy axiom needed.

      noncomputable def RootedTree.ConnesKreimer.primTensor {R : Type u_1} [CommSemiring R] {α : Type u_2} (T : Nonplanar α) :
      TensorProduct R (ConnesKreimer R (Nonplanar α)) (ConnesKreimer R (Nonplanar α))

      Per-tree primitive coproduct: T ↦ ofTree T ⊗ 1 + 1 ⊗ ofTree T.

      Equations
      Instances For
        noncomputable def RootedTree.ConnesKreimer.comulPrimForest {R : Type u_1} [CommSemiring R] {α : Type u_2} (F : Forest (Nonplanar α)) :
        TensorProduct R (ConnesKreimer R (Nonplanar α)) (ConnesKreimer R (Nonplanar α))

        Forest-level primitive coproduct: F ↦ ∏_{T ∈ F} primTensor T.

        Equations
        Instances For
          @[simp]
          theorem RootedTree.ConnesKreimer.comulPrimForest_zero {R : Type u_1} [CommSemiring R] {α : Type u_2} :
          @[simp]
          theorem RootedTree.ConnesKreimer.comulPrimForest_add {R : Type u_1} [CommSemiring R] {α : Type u_2} (F G : Forest (Nonplanar α)) :
          noncomputable def RootedTree.ConnesKreimer.comulPrimMonoidHom {R : Type u_1} [CommSemiring R] {α : Type u_2} :
          Multiplicative (Forest (Nonplanar α)) →* TensorProduct R (ConnesKreimer R (Nonplanar α)) (ConnesKreimer R (Nonplanar α))

          comulPrimForest as a Multiplicative (Forest (Nonplanar α)) →* ….

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            noncomputable def RootedTree.ConnesKreimer.comulPrim {R : Type u_1} [CommSemiring R] {α : Type u_2} :
            ConnesKreimer R (Nonplanar α) →ₐ[R] TensorProduct R (ConnesKreimer R (Nonplanar α)) (ConnesKreimer R (Nonplanar α))

            The primitive coproduct Δ_P as an algebra hom.

            Equations
            Instances For
              @[simp]
              theorem RootedTree.ConnesKreimer.comulPrim_apply_of' {R : Type u_1} [CommSemiring R] {α : Type u_2} (F : Forest (Nonplanar α)) :
              @[simp]
              theorem RootedTree.ConnesKreimer.comulPrim_apply_ofTree {R : Type u_1} [CommSemiring R] {α : Type u_2} (T : Nonplanar α) :
              comulPrim (ofTree T) = ofTree T ⊗ₜ[R] 1 + 1 ⊗ₜ[R] ofTree T

              §3: The k-component projection Π_(k) (MCB book p. 142) #

              γ_(k)(F) = F if F has exactly k components, else 0. Linearly extended to ConnesKreimer R (Nonplanar α). Then Π_(k) = γ_(k) ⊗ id on the left channel of the coproduct output.

              noncomputable def RootedTree.ConnesKreimer.projectKComponent {R : Type u_1} [CommSemiring R] {α : Type u_2} (k : ) :

              The k-component projection γ_(k) on ConnesKreimer R (Nonplanar α): on basis of' F, returns of' F if F.card = k, else 0.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem RootedTree.ConnesKreimer.projectKComponent_of'_eq {R : Type u_1} [CommSemiring R] {α : Type u_2} (k : ) (F : Forest (Nonplanar α)) (h : Multiset.card F = k) :
                @[simp]
                theorem RootedTree.ConnesKreimer.projectKComponent_of'_ne {R : Type u_1} [CommSemiring R] {α : Type u_2} (k : ) (F : Forest (Nonplanar α)) (h : Multiset.card F k) :

                §4: The FormSet operator FS^(k) (MCB Def 1.16.1) #

                FS^(k) = ⊔ ∘ (B ⊗ id) ∘ Π_(k) ∘ Δ_P where is CK multiplication (lifted to a LinearMap from the tensor product).

                noncomputable def RootedTree.ConnesKreimer.mulLin {R : Type u_1} [CommSemiring R] {α : Type u_2} :
                TensorProduct R (ConnesKreimer R (Nonplanar α)) (ConnesKreimer R (Nonplanar α)) →ₗ[R] ConnesKreimer R (Nonplanar α)

                The CK multiplication as a LinearMap from H ⊗ H → H.

                Equations
                Instances For
                  noncomputable def RootedTree.ConnesKreimer.formSet {R : Type u_1} [CommSemiring R] {α : Type u_2} (a : α) (k : ) :

                  MCB Def 1.16.1: the FormSet operator FS^(k) of arity k, parameterized by a root label a : α for the grafting operator B.

                  FS^(k)(F) = ⊔ ∘ (B ⊗ id) ∘ (Π_(k) ⊗ id) ∘ Δ_P (F)

                  The book uses k ≥ 3 (the binary/unary cases reduce to Merge); we don't enforce this here, since the formula is well-defined for any k ≥ 0.

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

                    §5: Basic API + sanity tests #

                    @[simp]
                    theorem RootedTree.ConnesKreimer.formSet_apply {R : Type u_1} [CommSemiring R] {α : Type u_2} (a : α) (k : ) (x : ConnesKreimer R (Nonplanar α)) :
                    (formSet a k) x = mulLin ((LinearMap.rTensor (ConnesKreimer R (Nonplanar α)) (graftLin a)) ((LinearMap.rTensor (ConnesKreimer R (Nonplanar α)) (projectKComponent k)) (comulPrim x)))