Interchange law of the skein category #
The interchange law holds at the fragment level: tensoring two
composites is equivalent to composing the two tensors. This file
constructs the Fragment.Equiv witnessing
(F₁ . G₁) ⊗ (F₂ . G₂) ≃ (F₁ ⊗ F₂) . (G₁ ⊗ G₂)
by normalizing both sides to iterated gluing over the common
ambient (F₁ ⊔ G₁) ⊔ (F₂ ⊔ G₂) and meeting the label chains.
Four-summand exchange: (W₁ ⊔ W₂) ⊔ (W₃ ⊔ W₄) reshuffles
to (W₁ ⊔ W₃) ⊔ (W₂ ⊔ W₄) up to the sumSumSumComm
relabelling.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Interface pair splitting and ground computation #
Ground computation: transporting the composition interface pairs through the interchange shuffle yields the right-block interface pairs followed by the left-block interface pairs.
The combined interface pairs of the interchange are
well-formed: the inlPairs block is all Sum.inl and the
inrPairs block is all Sum.inr, so they are disjoint.
LHS normalization #
LHS chain: (F₁ . G₁) ⊗ (F₂ . G₂) normalizes to
(GL₁ ⊔ GL₂).relabel L_lhs where GL_i is the glueing of
the i-th factor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Helper: liftPairs of inlPairs/inrPairs #
RHS normalization #
RHS chain: (F₁ ⊗ F₂) . (G₁ ⊗ G₂) normalizes to
(GL₁ ⊔ GL₂).relabel L_rhs.
The chain goes through composeNormal, ambient peel (exchange + relabel_disjUnion), relabel peel (glueListRelabel + mapPairs_symm_cancel), ground computation (interchange_ground), pair permutation (glueListPerm), append split (glueListAppend), and two-sided localization (glueListDisjUnionLeft + glueListDisjUnionRight).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Final assembly #
Interchange law: tensoring two composites is equivalent to composing the two tensors.
Equations
- F₁.tensorComposeInterchange G₁ F₂ G₂ = (F₁.interchangeNormalLeft G₁ F₂ G₂).trans (F₁.interchangeNormalRight G₁ F₂ G₂).symm