Documentation

HexPermGroup.Coset.Build

def Hex.PermGroup.Group.index {n : Nat} (G H : Group n) (_h : H.IsSubgroup G) :

The exact index for a contained subgroup. Integrality follows from the transversal product decomposition, not from truncated division alone.

Equations
Instances For
    theorem Hex.PermGroup.LeftTransversal.count {n : Nat} {G H : Group n} (t : LeftTransversal G H) (h : H.IsSubgroup G) :
    t.reps.size = G.index H h
    theorem Hex.PermGroup.LeftTransversal.disjoint {n : Nat} {G H : Group n} (t : LeftTransversal G H) {i j : Fin t.reps.size} (hne : i ≠ j) (p : Perm n) :

    Distinct stored cosets share no permutation, even if H is not normal.

    theorem Hex.PermGroup.Group.index_mul_order {n : Nat} (G H : Group n) (h : H.IsSubgroup G) :
    G.index H h * H.order = G.order
    theorem Hex.PermGroup.Group.index_pos {n : Nat} (G H : Group n) (h : H.IsSubgroup G) :
    0 < G.index H h

    Traverse the coset orbit with precisely the known index as capacity. The public wrapper checks the caller's cap before invoking this helper.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Complete deterministic left transversal, or an exact size-limit result before allocation. The representatives need not be canonical across inputs.

      Equations
      Instances For
        theorem Hex.PermGroup.Group.leftCosetsCapped_ok {n : Nat} (cap : Nat) (G H : Group n) (h : H.IsSubgroup G) :
        theorem Hex.PermGroup.Group.leftCosetsCapped_error {n : Nat} (cap : Nat) (G H : Group n) (h : H.IsSubgroup G) :
        leftCosetsCapped cap G H h = Except.error { required := G.index H h, capacity := cap } ↔ cap < G.index H h
        theorem Hex.PermGroup.Group.leftCosetsCapped_spec {n : Nat} (cap : Nat) (G H : Group n) (h : H.IsSubgroup G) (t : LeftTransversal G H) (ht : leftCosetsCapped cap G H h = Except.ok t) :
        t.reps.size = G.index H h ∧ t.reps.size ≤ cap ∧ G.order = t.reps.size * H.order