Partial closure as a composition #
The partial closure is a composition in disguise: reshuffle the
test fragment's boundary so that the z-blocks form the incoming
interface and the x-blocks the outgoing free side
(pcReshuffle), and gluing z into G is composing z
(as a (0, u+v)-fragment) with the reshuffled G. This lets
the entire compose-calculus (identity laws, free-side relabels,
permutation absorption) act on partial closures.
The reshuffle of the test boundary: z-blocks first (the
interface), x-blocks last (the free side).
Equations
- RS.pcReshuffle s t u v = (RS.interleaveEquiv s t u v).symm.trans ((Equiv.sumComm (Fin (s + t)) (Fin (u + v))).trans finSumFinEquiv)
Instances For
The reshuffle on the low z-block.
The reshuffle on the high z-block.
The reshuffle on the low x-block.
The reshuffle on the high x-block.
The inverse reshuffle on the low interface.
The inverse reshuffle on the high interface.
The peeled ground pairs are the z-gluing pairs #
The full-interface split of the composition pairs at
(0, u + v, s + t).
The peeled composition pairs of the reshuffled test fragment
are the z-gluing pairs.
The label meet #
The peeled composition pairs.
Equations
- RS.pcComposeQs s t u v = RS.Fragment.mapPairs ((finCongr ⋯).sumCongr (RS.pcReshuffle s t u v)).symm (RS.interfacePairs 0 (u + v) (s + t))
Instances For
The composed label of the compose-side normalization is the partial-closure survivor identification.
Partial closure as a composition: gluing z into G is
composing z with the reshuffled G.
Equations
- One or more equations did not get rendered due to their size.