Documentation

Linglib.Core.Algebra.RootedTree.GrossmanLarson.Pairing

The symmetry-weighted GL/CK pairing #

[foissy-typed-decorated-rooted-trees-2018] [grossman-larson-1989]

The pairing ⟨·, ·⟩ : H →ₗ H →ₗ R on H = ConnesKreimer R (Nonplanar α) (Foissy 2018 §4.2), symmetry-weighted on the forest basis:

⟨of' F, of' G⟩ = if F = G then |Aut(F)| else 0

with the automorphism count Nonplanar.forestAutCard (Core/Combinatorics/RootedTree/Aut.lean) as the weight. This is the pairing under which the GL product and the pruning coproduct Δ^ρ are adjoint (Coproduct/PruningDuality.lean).

Main results #

[UPSTREAM] candidate. Sorry-free.

The bilinear pairing #

noncomputable def GrossmanLarson.pairing {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] :

The symmetry-weighted pairing ⟨·, ·⟩ : H × H → R. On basis elements, ⟨of' F, of' G⟩ = if F = G then forestAutCard F else 0 (in R, via Nat.cast). Bilinearly extended, transported from the forest-basis pairingAux through ConnesKreimer.toFinsuppAlgEquiv.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem GrossmanLarson.pairing_of'_of' {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] (F G : RoseTree.Nonplanar.Forest (RoseTree.Nonplanar α)) :
    theorem GrossmanLarson.pairing_symm {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] (x y : ConnesKreimer R (RoseTree.Nonplanar α)) :
    (pairing x) y = (pairing y) x

    The pairing is symmetric. Reduces by bilinearity to the basis case, where pairing_of'_of' shows both sides are if F = G then forestAutCard F else 0 — same value (the F = G case forces it).

    @[simp]
    theorem GrossmanLarson.pairing_zero_left {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] (y : ConnesKreimer R (RoseTree.Nonplanar α)) :
    (pairing 0) y = 0

    The pairing vanishes on 0. Free from linearity.

    @[simp]
    theorem GrossmanLarson.pairing_zero_right {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] (x : ConnesKreimer R (RoseTree.Nonplanar α)) :
    (pairing x) 0 = 0

    The pairing vanishes on 0 (right).

    theorem GrossmanLarson.pairing_one_right {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] (w : ConnesKreimer R (RoseTree.Nonplanar α)) :

    Pairing against the unit extracts the counit (the coefficient of the empty forest): ⟨w, 1⟩ = ε w.

    theorem GrossmanLarson.pairing_apply_of' {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] (x : ConnesKreimer R (RoseTree.Nonplanar α)) (G : RoseTree.Nonplanar.Forest (RoseTree.Nonplanar α)) :

    Each pairing against a basis element of' G extracts the coefficient of G in x, weighted by forestAutCard G. Proof: reduce to basis via Finsupp.induction_linear on x, then pairing_of'_of'.

    theorem GrossmanLarson.pairing_nondegenerate {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] [CharZero R] [NoZeroDivisors R] (x : ConnesKreimer R (RoseTree.Nonplanar α)) (h : ∀ (y : ConnesKreimer R (RoseTree.Nonplanar α)), (pairing x) y = 0) :
    x = 0

    Non-degeneracy of the pairing over CharZero R with no zero divisors. If pairing x y = 0 for all y, then x = 0. Uses pairing_apply_of' (coefficient extraction) + forestAutCard_pos (positivity) + Nat.cast_ne_zero (CharZero R has no Nat-cast torsion)

    • mul_eq_zero (NoZeroDivisors R).

    Holds for any commutative ring with characteristic 0 and no zero divisors (e.g. , , , , any field of char 0).

    theorem GrossmanLarson.ext_pairing_right {α : Type u_2} [DecidableEq α] {R : Type u_3} [CommRing R] [CharZero R] [NoZeroDivisors R] {x y : ConnesKreimer R (RoseTree.Nonplanar α)} (h : ∀ (z : ConnesKreimer R (RoseTree.Nonplanar α)), (pairing x) z = (pairing y) z) :
    x = y

    Separation form of pairing_nondegenerate: elements pairing equally against everything are equal.

    Product rule #

    Pairing against a CK product decomposes over the two-sided sub-multiset splits of the first argument (Multiset.antidiagonal) — the symmetry-weighted pairing turns CK multiplication into the split coproduct. The combinatorial heart is the multinomial identity Nonplanar.forestAutCard_add (Aut.lean). Computationally validated (scratch/validate_duality.lean, V2 battery).

    theorem GrossmanLarson.pairing_of'_mul_of' {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] (W C₁ C₂ : RoseTree.Nonplanar.Forest (RoseTree.Nonplanar α)) :
    (pairing (ConnesKreimer.of' W)) (ConnesKreimer.of' C₁ * ConnesKreimer.of' C₂) = (Multiset.map (fun (p : Multiset (RoseTree.Nonplanar α) × Multiset (RoseTree.Nonplanar α)) => (pairing (ConnesKreimer.of' p.1)) (ConnesKreimer.of' C₁) * (pairing (ConnesKreimer.of' p.2)) (ConnesKreimer.of' C₂)) (Multiset.antidiagonal W)).sum

    Pairing product rule (basis form): ⟨W, C₁ · C₂⟩ = Σ_{W = W₁ + W₂} ⟨W₁, C₁⟩ · ⟨W₂, C₂⟩.

    Only the split (C₁, C₂) survives the diagonal pairing, with multiplicity count (C₁,C₂) (antidiagonal W); the autCard weights recombine via Nonplanar.forestAutCard_add.

    theorem GrossmanLarson.pairing_of'_mul {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] (W : RoseTree.Nonplanar.Forest (RoseTree.Nonplanar α)) (z₁ z₂ : ConnesKreimer R (RoseTree.Nonplanar α)) :
    (pairing (ConnesKreimer.of' W)) (z₁ * z₂) = (Multiset.map (fun (p : Multiset (RoseTree.Nonplanar α) × Multiset (RoseTree.Nonplanar α)) => (pairing (ConnesKreimer.of' p.1)) z₁ * (pairing (ConnesKreimer.of' p.2)) z₂) (Multiset.antidiagonal W)).sum

    Pairing product rule (bilinear form): pairing a basis vector against a product decomposes over the antidiagonal splits of the basis forest. Bilinear extension of pairing_of'_mul_of'.

    Tensor-extended pairings #

    The pairing ⟨·, ·⟩ above extends to the tensor square (pairing₂) and cube (pairing₃). These power the GL/CK duality for the deletion coproduct Δ^ρ (Coproduct/PruningDuality.lean: ⟨x ⋆ y, z⟩ = pairing₂ (y ⊗ x) (Δ^ρ z)). For the trace variant Δ^c no such duality holds — the trunk of a proper cut contains trace-marker leaves that GL grafting can never produce — so Δ^c coassociativity (comulCN_coassoc, Coproduct/Trace.lean) is a separate combinatorial statement.

    noncomputable def GrossmanLarson.pairing₂ {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] :
    TensorProduct R (ConnesKreimer R (RoseTree.Nonplanar α)) (ConnesKreimer R (RoseTree.Nonplanar α)) →ₗ[R] TensorProduct R (ConnesKreimer R (RoseTree.Nonplanar α)) (ConnesKreimer R (RoseTree.Nonplanar α)) →ₗ[R] R

    The tensor-extended pairing H ⊗ H →ₗ H ⊗ H →ₗ R, defined by pairing₂ (x ⊗ y) (w ⊗ z) = pairing x w * pairing y z and extended bilinearly.

    Implementation: reshuffle (x⊗y)⊗(w⊗z) to (x⊗w)⊗(y⊗z) via tensorTensorTensorComm; apply TP.map pair pair where pair = TP.lift pairing : H ⊗ H →ₗ R; contract via mul' R R; curry the result.

    Decoration-free: works on ConnesKreimer R (Nonplanar α) for any α. Consumed by the Δ^ρ duality (Coproduct/PruningDuality.lean).

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem GrossmanLarson.pairing₂_tmul_tmul {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] (x y w z : ConnesKreimer R (RoseTree.Nonplanar α)) :
      (pairing₂ (x ⊗ₜ[R] y)) (w ⊗ₜ[R] z) = (pairing x) w * (pairing y) z

      Evaluation of pairing₂ on pure tensors: pairing₂ (x ⊗ y) (w ⊗ z) = pairing x w * pairing y z.

      noncomputable def GrossmanLarson.pairing₃ {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] :
      TensorProduct R (ConnesKreimer R (RoseTree.Nonplanar α)) (TensorProduct R (ConnesKreimer R (RoseTree.Nonplanar α)) (ConnesKreimer R (RoseTree.Nonplanar α))) →ₗ[R] TensorProduct R (ConnesKreimer R (RoseTree.Nonplanar α)) (TensorProduct R (ConnesKreimer R (RoseTree.Nonplanar α)) (ConnesKreimer R (RoseTree.Nonplanar α))) →ₗ[R] R

      The triple-tensor pairing H ⊗ (H ⊗ H) →ₗ H ⊗ (H ⊗ H) →ₗ R, defined on pure tensors by pairing₃ (a ⊗ (b ⊗ c)) (x ⊗ (y ⊗ z)) = pairing a x · pairing b y · pairing c z.

      Consumed by the Δ^ρ duality chain (Coproduct/PruningDuality.lean): coassociativity is transported through pairing₃_unique by pairing against arbitrary x ⊗ (y ⊗ z) triple tensors.

      Implementation: pairing on the first factor times pairing₂ on the second factor; both extended bilinearly.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem GrossmanLarson.pairing₃_tmul_tmul_tmul {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] (a b c x y z : ConnesKreimer R (RoseTree.Nonplanar α)) :
        (pairing₃ (a ⊗ₜ[R] (b ⊗ₜ[R] c))) (x ⊗ₜ[R] (y ⊗ₜ[R] z)) = (pairing a) x * ((pairing b) y * (pairing c) z)

        Evaluation of pairing₃ on pure tensors.

        Reduction helpers: pairing₃ on shifted-tensor forms #

        Two reduction lemmas that express pairing₃ (x ⊗ (y ⊗ z')) evaluated on shifted tensor forms in terms of pairing₂ and binary pairing, consumed by the Δ^ρ duality chain in Coproduct/PruningDuality.lean. Both are proved by TensorProduct.induction_on, reducing to the pure-tensor case where pairing₃_tmul_tmul_tmul and pairing₂_tmul_tmul agree.

        theorem GrossmanLarson.pairing₃_assoc_tmul {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] (x y z' : ConnesKreimer R (RoseTree.Nonplanar α)) (U : TensorProduct R (ConnesKreimer R (RoseTree.Nonplanar α)) (ConnesKreimer R (RoseTree.Nonplanar α))) (c : ConnesKreimer R (RoseTree.Nonplanar α)) :
        (pairing₃ (x ⊗ₜ[R] (y ⊗ₜ[R] z'))) ((TensorProduct.assoc R (ConnesKreimer R (RoseTree.Nonplanar α)) (ConnesKreimer R (RoseTree.Nonplanar α)) (ConnesKreimer R (RoseTree.Nonplanar α))) (U ⊗ₜ[R] c)) = (pairing₂ (x ⊗ₜ[R] y)) U * (pairing z') c

        pairing₃ (x ⊗ (y ⊗ z')) ∘ assoc on a (U ⊗ c)-shape tensor: factors as pairing₂ (x ⊗ y) U * pairing z' c. Generic in α (the trace decoration is irrelevant).

        theorem GrossmanLarson.pairing₃_tmul_apply {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] (x y z' a : ConnesKreimer R (RoseTree.Nonplanar α)) (S : TensorProduct R (ConnesKreimer R (RoseTree.Nonplanar α)) (ConnesKreimer R (RoseTree.Nonplanar α))) :
        (pairing₃ (x ⊗ₜ[R] (y ⊗ₜ[R] z'))) (a ⊗ₜ[R] S) = (pairing x) a * (pairing₂ (y ⊗ₜ[R] z')) S

        pairing₃ (x ⊗ (y ⊗ z')) on a (a ⊗ S)-shape tensor: factors as pairing x a * pairing₂ (y ⊗ z') S. Generic in α.

        Nondegeneracy of pairing₂ and pairing₃ (lifted from binary) #

        pairing₂ and pairing₃ are nondegenerate over [CharZero R] [NoZeroDivisors R], lifted from binary pairing_nondegenerate via the natural basis of CK = (Forest T) →₀ R.

        theorem GrossmanLarson.pairing₃_nondegenerate {R : Type u_1} [CommSemiring R] {α : Type u_2} [DecidableEq α] [CharZero R] [NoZeroDivisors R] (U : TensorProduct R (ConnesKreimer R (RoseTree.Nonplanar α)) (TensorProduct R (ConnesKreimer R (RoseTree.Nonplanar α)) (ConnesKreimer R (RoseTree.Nonplanar α)))) (h : ∀ (t : TensorProduct R (ConnesKreimer R (RoseTree.Nonplanar α)) (TensorProduct R (ConnesKreimer R (RoseTree.Nonplanar α)) (ConnesKreimer R (RoseTree.Nonplanar α)))), (pairing₃ t) U = 0) :
        U = 0

        Nondegeneracy of pairing₃, lifted from pairing₂_nondegenerate along the basis of the outer tensor factor.