The merge isomorphism for module powers #
The relative tensor product of two module powers is the module
power of the summed arity: the descended power multiplication
powMulDesc of PowChain.lean is an isomorphism
modTensor A (modPowMod A X a) (modPowMod A X b) ≅ modPow A X (a + 1 + b + 1),
with inverse powSplit descended from the inverse of the
concatenation of ambient tensor powers.
headMod: the head insertionX ⊗ X^⊗b ⟶ modPow A X (b + 1); throughmodPowMulwith the singleton power it is a module map for the action on the head factor (headMod_act) — the slide of the monoid from the head to the tail of a module power, packaged through the multiplication rather than proved slot by slot.powSplit: the inverse direction, descended through the wide coequalizer. Each slot relation of the big power either lands inside one half, where the corresponding half projection absorbs it (powSplit_cond_left/powSplit_cond_right), or at the boundary between the halves, where it becomes the coequalizer relation of the module tensor product itself (powSplit_cond_bound).powMergeIso: the packaged isomorphism, withpowMulDescas the forward direction andpowSplitas the inverse.
Structural shuffles of the boundary window #
Both boundary computations move a window map across the split of the ambient power into two halves. The shuffles are stated at general objects, so that no tensor-power arity enters the rewriting.
The left-window shuffle: a window map acting on the first two window factors passes to the left half of the split.
A whisker absorbed into the left factor of a tensor of morphisms.
Two whiskers absorbed into the left factor of a tensor of morphisms.
A left whisker absorbed into the right factor of a tensor of morphisms.
The right-window shuffle: a window map acting on the last two window factors passes to the head of the right half of the split.
The head insertion #
The split of the big power exposes the right half with its head
factor peeled: the map into the module power of the right half is
the peeling inverse followed by the projection. Through the
multiplication with the singleton power this insertion is a module
map for the action on the head factor — the slide of the monoid
from the head to the tail of a module power, obtained from
modPowMul_actLeft rather than slot by slot.
The left unitor inverse, retyped so that its target is stated through the singleton tensor power — this keeps every statement about it type-correct at low transparency.
Equations
Instances For
The peeling inverse is the concatenation with a singleton block, up to the unitor and an arity transport.
The peeling inverse is the concatenation with a singleton block, up to the unitor and an arity transport.
The head insertion of a factor into a module power: peel the head off the target power and project.
Equations
- RS.headMod A X b = CategoryTheory.CategoryStruct.comp (RS.powPeel X b).inv (RS.modPowπ A X (b + 1))
Instances For
The head insertion is the multiplication with the singleton power, up to the singleton isomorphism and an arity transport.
The head insertion is a module map: the monoid acting on
the head factor descends to the module-power action. At positive
arity this is modPowMul_actLeft with a singleton left block — the
slide of the monoid across the whole power, packaged through the
multiplication.
The tail of the left half #
The braided right action of the monoid on the left half of the split is, after the projection, the boundary window's action on the last factor of the left half.
In a symmetric category, carrying past a context inverts to carrying back past it.
Braiding the monoid over a context pair: the braided right action through the last factor of a pair is the braiding of the factor alone, then the action — the monoid never crosses the context.
The braided right action of the module power, typed at the plain power — this keeps every statement about it type-correct at low transparency.
Equations
- RS.powActRight A X a = RS.actRight A (RS.modPowMod A X a).X
Instances For
The boundary reassociation, retyped so that its target is stated through the grown tensor power.
Equations
- RS.boundAssoc A X a = (CategoryTheory.MonoidalCategoryStruct.associator (RS.tensorPow D X a) X A).inv
Instances For
The braided right action of the left half after the projection: on the ambient power it is the boundary window's right action on the last factor.
The boundary bridge of the concatenation #
Detach the top factor of the first block onto the second. The
associator, retyped so that its source is stated through the tensor
power — the inverse bridge to powAttach.
Equations
- RS.powDetach X p q = (CategoryTheory.MonoidalCategoryStruct.associator (RS.tensorPow D X p) X (RS.tensorPow D X q)).hom
Instances For
The boundary split of the concatenation: undoing the split concatenation after the glued one detaches the exposed window factor onto the right half and peels it back in.
The boundary slot #
The slot relation straddling the two halves of the split becomes,
after both projections, the coequalizer relation of the module
tensor product: the boundary bridge carries the relation object
onto (modPow ⊗ A) ⊗ modPow, the braided right action of the left
half absorbs the M-leg, and the head insertion of the right half
absorbs the N-leg.
The boundary bridge: reassociate the window across the split and project both halves, keeping the monoid between them.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The M-leg of the boundary slot factors through the boundary
bridge and the first module-tensor leg.
The N-leg of the boundary slot factors through the boundary
bridge and the second module-tensor leg.
The boundary slot condition: the slot relation straddling the two halves is absorbed by the split, through the coequalizer relation of the module tensor product.
The interior slots #
A slot relation lying inside one half of the split embeds across the concatenation into that half and is absorbed by the half's own projection.
The bridge of midConcatFst, as an isomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The bridge of midConcatSnd, as an isomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The in-left slot condition: a slot relation of the left half is absorbed by the left projection.
The in-right slot condition: a slot relation of the right half is absorbed by the right projection.
The split and the merge isomorphism #
The wide-coequalizer condition of the split: every slot relation of the big power is absorbed by the split — inside the left half, at the boundary, or inside the right half.
The split of a module power: the inverse of the concatenation descends through the wide coequalizer onto the module tensor product of the two halves.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Defining equation of the split.
Defining equation of the split.
The split is a section of the descended power multiplication.
The split is a section of the descended power multiplication.
The split is a retraction of the descended power multiplication.
The split is a retraction of the descended power multiplication.
The merge isomorphism: the relative tensor product of two module powers is the module power of the summed arity, with the descended power multiplication as the forward direction and the split as its inverse.
Equations
- RS.powMergeIso A X a b = { hom := RS.powMulDesc A X a b, inv := RS.powSplit A X a b, hom_inv_id := ⋯, inv_hom_id := ⋯ }