Sorting a multi-star into blocks #
An arbitrary vertex assignment of a multi-star is sorted into block form: the degree list records the fibre sizes in vertex order, and the sort equivalence regroups the slots fibre by fibre. Relabelling along the sort turns the multi-star into the block-assigned form, ready for the block factorization.
The sort map: a slot goes to its vertex block at its enumerated offset within the fibre.
Equations
Instances For
theorem
RS.sortFun_bijective
{n m : ℕ}
(assign : Fin n → Fin m)
:
Function.Bijective (sortFun assign)
So the sort is a bijection of slots.
The sort equivalence onto the block index space.
Equations
- RS.sortSigma assign = Equiv.ofBijective (RS.sortFun assign) ⋯
Instances For
noncomputable def
RS.multiStarCompRelabel
{V V' : Type}
[Fintype V]
[Fintype V']
{n N : ℕ}
(assign : Fin n → V)
(c : ℕ)
(σ : Fin n ≃ Fin N)
(b : Fin N → V')
(e : V ≃ V')
(hb : ∀ (i : Fin n), b (σ i) = e (assign i))
:
Sorting a multi-star: a slot equivalence intertwining the assignments (through a vertex identification) relabels one multi-star onto the other.
Equations
- RS.multiStarCompRelabel assign c σ b e hb = { flagEquiv := σ.sumCongr σ, vertexEquiv := e, attach_comm := ⋯, pairing_comm := ⋯, circles_eq := ⋯ }