The right identity law: stage equivalences #
Mirror of RS.Novel.Skein.IdentityLaw (the left identity law). Composing
with a strand bundle on the right is the identity up to fragment
equivalence. The proof runs by descending induction through
glueInterface with the invariant that the stage-t' fragment is
equivalent to F.disjUnion (strandBundle t') relabelled along a
stage equivalence relocating the not-yet-glued interface labels and
the strand labels into the two output blocks.
The transformation: where the left law places the strand bundle in
the left factor (its outgoing ends glued to F's leading interface
labels), the right law places F in the left factor and the strand
bundle in the right (interface pairs (Sum.inl (s + k), Sum.inr k)
hit F's trailing labels and the bundle's incoming labels; the
bundle's outgoing labels survive and become the output's trailing
labels).
The stage equivalence maps Fin (s + u) ⊕ Fin (t' + t') to
Fin (s + t') ⊕ Fin (t' + u). Block decomposition:
D = Fin s (F's leading/outer labels)
C = Fin t' (F's not-yet-glued trailing interface labels)
B = Fin (u - t') (F's already-glued trailing labels)
A = Fin t' (strand-bundle incoming ends)
A' = Fin t' (strand-bundle outgoing ends)
The shuffle: ((D ⊕ C) ⊕ B) ⊕ (A ⊕ A') ≃ (D ⊕ C) ⊕ ((A ⊕ A') ⊕ B).
The stage relabelling for the right identity law. On the left output, F's outer labels and the not-yet-glued interface labels; on the right output, the strand-bundle labels followed by F's already-glued trailing labels.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Label evaluations #
Evaluation of the right stage equivalence on a left label (F's
labels): a label below s + t' stays left; a label at or above
s + t' relocates to the right block.
The base case #
Evaluation of the stage-zero right equivalence on a left label: a leading label stays left; a trailing label relocates to the right block.
The base case of the right identity law: after zero interface gluings, the triply-relabelled F/(strand-0) union is equivalent to F.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The descent step #
The boundary flag at the left interface label in the relabelled
disjoint union: it is F's boundary flag at s + t'.
The glue in the descent step is always the open case.
The flag equivalence for the descent step: surviving flags of the
open glue at stage t' + 1 correspond to flags of the stage-t'
disjoint union F.disjUnion (strandBundle t').
Equations
- One or more equations did not get rendered due to their size.
Instances For
The stage step equivalence #
The relabelled fragment-strand union before the next right identity glue.
Equations
- RS.baseFragmentR s t' u ht F = (F.disjUnion (RS.strandBundle (t' + 1))).relabel (RS.stageEquivR s (t' + 1) u ht)
Instances For
The relabelled fragment-strand union at the target stage of right identity descent.
Equations
- RS.targetFragmentR s t' u ht' F = (F.disjUnion (RS.strandBundle t')).relabel (RS.stageEquivR s t' u ht')
Instances For
The source fragment obtained by one open glue in the right identity descent.
Equations
- RS.sourceFragmentR s t' u ht F = ((RS.baseFragmentR s t' u ht F).gluePairOpen (Sum.inl ⟨s + t', ⋯⟩) (Sum.inr ⟨t', ⋯⟩) ⋯ ⋯).relabel (RS.interfaceStepEquiv s t' u)
Instances For
The descent step: after one open glue (at the t'-th interface
pair), the resulting fragment is equivalent to the stage-t'
disjoint union relabelled by the stage-t' equivalence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Assembly: the right identity law #
The stage equivalence at t' = u acts as the identity: every
element is mapped to itself.
Descending induction: iterating glueInterface from stage t'
down to zero, with the stage-t' fragment, yields a result
equivalent to iterating from stage u on the original F/strand
union.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The right identity law for fragment composition: composing with the strand bundle on the right yields an equivalent fragment.
Equations
- RS.composeStrandBundleRight s u F = ((RS.glueInterfaceStrandBundleDescentRight s u F 0 ⋯).relabelCongr finSumFinEquiv).trans (RS.stageZeroEquivR s u F)