Read the destination of each block using its first point. Empty blocks carry no points, so the top permutation is then the identity.
Equations
- Hex.Perm.Wreath.topPoint r j = if hn : 0 < n then Hex.Perm.Wreath.block (r.get (Hex.Perm.Wreath.index ⟨0, hn⟩ j)) else j
Instances For
def
Hex.Perm.Wreath.basePoint
{n m : Nat}
(r : Perm (n * m))
(hr : ∃ (f : Fin m → Perm n), ∃ (h : Perm m), r = perm f h)
(j : Fin m)
(i : Fin n)
:
Fin n
A base factor is read from the block sent to its destination by the top permutation. This follows the destination-indexed multiplication convention.
Equations
- Hex.Perm.Wreath.basePoint r hr j i = Hex.Perm.Wreath.point (r.get (Hex.Perm.Wreath.index i ((Hex.Perm.Wreath.top r hr).inv.get j)))