Documentation

HexPermGroup.Action.Kernel

theorem Hex.PermGroup.Action.Domain.restrict {n : Nat} {G : Group n} {α : Type u} {a : Action G α} {objects : Array α} (hd : a.Domain objects) (H : Group n) (hi : H.IsSubgroup G) :
(a.restrict H hi).Domain objects
structure Hex.PermGroup.Action.Kernel {n : Nat} {G : Group n} {α : Type u} (a : Action G α) (objects : Array α) :

A checked subgroup consisting exactly of elements fixing every supplied object. Its elements retain the original action degree.

Instances For
    theorem Hex.PermGroup.Action.Kernel.subgroup {n : Nat} {G : Group n} {α : Type u} {a : Action G α} {objects : Array α} (kernel : a.Kernel objects) :
    kernel.group.IsSubgroup G
    def Hex.PermGroup.Action.Kernel.prepend {n : Nat} {G : Group n} {α : Type u} {a : Action G α} (H : Group n) (hi : H.IsSubgroup G) (x : α) (points : List α) (hs : ∀ (p : Perm n), Generated H.generators p ↔ ∃ (hp : Generated G.generators p), a.act ⟨p, hp⟩ x = x) (child : (a.restrict H hi).Kernel points.toArray) :
    a.Kernel (x :: points).toArray

    Add the first fixed-object condition to a kernel in its stabilizer.

    Equations
    Instances For
      def Hex.PermGroup.Action.Kernel.fromDomain {n : Nat} {α : Type u} [DecidableEq α] {G : Group n} (a : Action G α) (domain : Array α) (hd : a.Domain domain) (points : List α) (hp : ∀ (y : α), y ∈ points → y ∈ domain) :
      a.Kernel points.toArray

      Successive full Schreier stabilizers compute the common fixed subgroup. The domain remains invariant after each restriction and bounds every orbit.

      Equations
      Instances For
        def Hex.PermGroup.Action.actionKernel {n : Nat} {G : Group n} {α : Type u} [DecidableEq α] (a : Action G α) (cap : Nat) (objects : Array α) :

        Validate the explicit domain budget and invariance, then intersect complete object stabilizers. On an empty domain this returns the original group.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem Hex.PermGroup.Action.actionKernel_ok {n : Nat} {G : Group n} {α : Type u} [DecidableEq α] (a : Action G α) (cap : Nat) (objects : Array α) :
          (∃ (kernel : a.Kernel objects), a.actionKernel cap objects = Except.ok kernel) ↔ objects.size ≤ cap ∧ a.Domain objects
          @[simp]