Documentation

HexPermGroup.Blocks.Action

@[reducible, inline]

A block is identified by its least point.

Equations
Instances For
    def Hex.PermGroup.Partition.block {n : Nat} (p : Partition n) (x : Fin n) :

    The block containing a point.

    Equations
    Instances For
      theorem Hex.PermGroup.Partition.block_eq {n : Nat} (p : Partition n) (x y : Fin n) :
      p.block x = p.block y ↔ p.Same x y

      Canonical block order is increasing least-point order.

      Equations
      Instances For
        def Hex.PermGroup.Action.blocks {n : Nat} (G : Group n) (p : Partition n) (hp : p.IsInvariant G) :

        The action on least-point block representatives. Invariance is required; transitivity and equal block sizes are not.

        Equations
        Instances For
          theorem Hex.PermGroup.Action.blocks_image {n : Nat} (G : Group n) (p : Partition n) (hp : p.IsInvariant G) (g : Element G) (x : Fin n) :
          (blocks G p hp).act g (p.block x) = p.block (g.val.get x)
          theorem Hex.PermGroup.Action.blocks_domain {n : Nat} (G : Group n) (p : Partition n) (hp : p.IsInvariant G) :
          (blocks G p hp).Domain p.blocks
          theorem Hex.PermGroup.Action.blocks_fixed {n : Nat} (G : Group n) (p : Partition n) (hp : p.IsInvariant G) (g : Element G) :
          (∀ (b : p.Block), b ∈ p.blocks → (blocks G p hp).act g b = b) ↔ ∀ (x : Fin n), p.Same (g.val.get x) x

          Fixing each block permits arbitrary permutations within that block.

          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.

          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) :
            p.blocks[↑((a.image.map g).val.get i)] = p.block (g.val.get p.blocks[↑i].val)

            The image map uses the recorded canonical block numbering.

            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) :
              (∃ (a : BlockAction G p hp), G.blockAction p hp cap = Except.ok a) ↔ p.roots.length ≤ cap