The action on least-point block representatives. Invariance is required; transitivity and equal block sizes are not.
Equations
- Hex.PermGroup.Action.blocks G p hp = { act := fun (g : Hex.PermGroup.Element G) (b : p.Block) => p.block (g.val.get b.val), id_act := ⋯, comp_act := ⋯ }
Instances For
theorem
Hex.PermGroup.Action.blocks_domain
{n : Nat}
(G : Group n)
(p : Partition n)
(hp : p.IsInvariant G)
:
structure
Hex.PermGroup.BlockAction
{n : Nat}
(G : Group n)
(p : Partition n)
(hp : p.IsInvariant G)
:
The induced permutation image on canonically numbered blocks, together with its exact kernel in the original action degree.
- image : (Action.blocks G p hp).Image p.blocks
- kernel : (Action.blocks G p hp).Kernel p.blocks
Instances For
theorem
Hex.PermGroup.BlockAction.mem_kernel
{n : Nat}
{G : Group n}
{p : Partition n}
{hp : p.IsInvariant G}
(a : BlockAction G p hp)
(g : Perm n)
:
theorem
Hex.PermGroup.BlockAction.map_block
{n : Nat}
{G : Group n}
{p : Partition n}
{hp : p.IsInvariant G}
(a : BlockAction G p hp)
(g : Element G)
(i : Fin p.blocks.size)
:
The image map uses the recorded canonical block numbering.
def
Hex.PermGroup.Group.blockAction
{n : Nat}
(G : Group n)
(p : Partition n)
(hp : p.IsInvariant G)
(cap : Nat)
:
Except Action.ImageError (BlockAction G p hp)
Construct the full image and kernel after checking the block-count budget. The domain consists of all blocks, including fixed blocks and unequal sizes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Hex.PermGroup.Group.blockAction_ok
{n : Nat}
(G : Group n)
(p : Partition n)
(hp : p.IsInvariant G)
(cap : Nat)
: