Documentation

HexPermGroup.Search.Sets

def Hex.PermGroup.Search.Sets.test {n : Nat} (A B : Vector Bool n) (p : Perm n) :

Forward images preserve the prescribed source and target membership colors.

Equations
Instances For
    theorem Hex.PermGroup.Search.Sets.test_action {n : Nat} (G : Group n) (A B : Vector Bool n) (p : Element G) :
    test A B p.val = true ↔ (Action.subsets G).act p A = B
    Equations
    Instances For
      theorem Hex.PermGroup.Search.Sets.orbit_count {n : Nat} {G : Group n} (A B : Vector Bool n) (t : Node G) (p : Perm n) (hp : t.Contains p) (h : test A B p = true) (x : Fin n) :
      List.countP A.get (t.orbit x).toList = List.countP (fun (y : Fin n) => B.get (t.rep.val.get y)) (t.orbit x).toList

      Counts are taken over a suffix orbit and its prefix image. A completion only permutes that orbit, so it cannot repair a mismatch between the counts.

      Instances For
        def Hex.PermGroup.Search.Sets.reject {n : Nat} {G : Group n} (A B : Vector Bool n) (t : Node G) :
        Reason n → Bool
        Equations
        Instances For
          theorem Hex.PermGroup.Search.Sets.reject_sound {n : Nat} {G : Group n} (A B : Vector Bool n) (t : Node G) (r : Reason n) (hr : reject A B t r = true) (p : Perm n) (hp : t.Contains p) :
          test A B p = false

          Assigned colors are tested before orbit counts, in source-point order, without allocating all candidate reasons before testing the first.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem Hex.PermGroup.Search.Sets.find_checked {n : Nat} {G : Group n} (A B : Vector Bool n) (t : Node G) (r : Reason n) (h : find A B t = some r) :
            reject A B t r = true
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Equations
              Instances For
                theorem Hex.PermGroup.Group.mem_setStabilizer {n : Nat} (G : Group n) (A : Vector Bool n) (p : Perm n) :
                Generated (G.setStabilizer A).generators p ↔ Generated G.generators p ∧ ∀ (x : Fin n), A.get x = A.get (p.get x)

                Both empty and full subsets are stabilized by the whole group.