Iterating the glue #
RS21's ∗ glues every interface pair at once; glueInterface glues
them one at a time, top pair first, relabelling the survivors at each
stage. This file carries RS21's summand along that iteration: the
per-cut identities of EdgeTerm are the step, and the transports
below are the bookkeeping the staging needs — the relabel at each
stage and at the base, and the dispatch on whether the stage's cut
closes.
The base of the iteration #
At an empty interface the composition still relabels, between two label types that are both empty.
The order isomorphism the base stage relabels along.
Equations
- RS.EdgeSubset.baseIso = { toEquiv := (finCongr RS.EdgeSubset.baseIso._proof_2).sumCongr (finCongr RS.EdgeSubset.baseIso._proof_2), map_rel_iff' := @RS.EdgeSubset.baseIso._proof_4 }
Instances For
Transporting a family along an equality of fragments #
The stage's glue dispatches on whether the cut closes, and each branch is built over its own fragment; the finished family is carried back across that identification.
Transport a data family along an equality of fragments.
Equations
- RS.EdgeSubset.dataOfEq hV 𝒟 = Eq.ndrec (motive := fun {V₂ : RS.Fragment β} => RS.EdgeSubset.DataFamily V₂ → RS.EdgeSubset.DataFamily V₁) (fun (𝒟 : RS.EdgeSubset.DataFamily V₁) => 𝒟) hV 𝒟
Instances For
The summand reads the transported family on the transported subset.
One stage of the iteration #
The stage glues the top interface pair and relabels the survivors. Its data family therefore comes back in two moves: pull along the relabel, then unglue.
The lexicographic order on the stage's label type.
Equations
- RS.EdgeSubset.recOrder n = RS.sumLexLinearOrder (Fin (0 + n)) (Fin (n + 0))
Instances For
The same order one stage up.
Equations
- RS.EdgeSubset.recOrderSucc n = RS.sumLexLinearOrder (Fin (0 + n + 1)) (Fin (n + 1 + 0))
Instances For
The order the surviving labels of a stage carry.
Equations
Instances For
The stage's family, pulled back along the relabel.
Equations
Instances For
One stage of the composition, on the data. The family is chosen at the composition and pushed back: along the relabel, then across the glue.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The stage's state, read back through the relabel.
Equations
- RS.EdgeSubset.stageState n stβ a = stβ ((RS.EdgeSubset.stepIso n) a)
Instances For
One open stage, with nothing assumed of the subset.
The empty branch of a closing stage weighs k, with nothing
assumed of the subset.
The carried branch of a closing stage weighs −2ℓ, with
nothing assumed of the subset.
One closing stage, with nothing assumed of the subset.
The iteration #
The family is chosen at the composition and pushed back stage by
stage; the count the base is read at rises by one at each closing cut
whose edge the subset carries, which is the ledger's glueCount.
The lexicographic order on the stage's label type.
Equations
- RS.EdgeSubset.iterOrder n = RS.sumLexLinearOrder (Fin (0 + n)) (Fin (n + 0))
Instances For
The same order one stage up.
Equations
- RS.EdgeSubset.iterOrderSucc n = RS.sumLexLinearOrder (Fin (0 + n + 1)) (Fin (n + 1 + 0))
Instances For
The order the composition's own (empty) label type carries.
Equations
Instances For
The family, pushed back to the base. A choice at the composition determines one at every stage, by ungluing.
Equations
Instances For
The closing cuts a subset carries. This is the ledger's
glueCount, read on the colouring side: the count the base's summand
is taken at rises by one at each of them.
Equations
- One or more equations did not get rendered due to their size.
- RS.EdgeSubset.carried 0 x_3 x_4 = 0
Instances For
The carried count at an open stage is the next stage's.
The carried count at a closing stage rises by one exactly when the subset carries the closed edge.
The composition's own state: its label type is empty.
Equations
Instances For
The composition's subset a stage's subset maps to.
Equations
- One or more equations did not get rendered due to their size.
- RS.EdgeSubset.imageOf 0 x_3 x_4 = x_4
Instances For
The image, one stage down, at an open cut.
The image, one stage down, at a closing cut.
The stage's sum, with the interface colour split off.
The free circles a subset's own cuts contribute. At an open
cut, nothing; at a closing cut, k if the subset leaves the cut's
edge out and −2ℓ if it carries it — the free circle's two sectors,
read one subset at a time.
Equations
- One or more equations did not get rendered due to their size.
- RS.EdgeSubset.cutFactor k ℓ 0 x_3 x_4 = 1
Instances For
The factor at an open cut is the next stage's.
The factor at a closing cut: k on the empty branch and −2ℓ
on the carried one.
A subset's colour sum, one cut at a time.
An open stage, summed against a weight on the composition's subsets.
A closing stage, summed against a weight on the composition's subsets.
The composition's summand, stage by stage. RS21's ∗ glues
the whole interface at once; iterating the per-cut identity carries
the composition's summand back to the two fragments, with the free
circles' k − 2ℓ in front and the ledger's count on the base's
side. The weight rides along on the composition's own subsets.