def
Hex.PermGroup.Blocks.Closed
{n : Nat}
(S : Array (Perm n))
(p : Partition n)
(todo : List (Fin n × Fin n))
:
Closure obligations are retained in the pending queue. Any equivalence relation containing both the current blocks and the queue must contain the generator images of the current blocks.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Hex.PermGroup.Blocks.State.initial
{n : Nat}
(S : Array (Perm n))
(seeds : List (Fin n × Fin n))
:
State S seeds (Partition.discrete n) seeds
Start with singleton blocks and the supplied seed queue.
Equations
Instances For
def
Hex.PermGroup.Blocks.State.skip
{n : Nat}
{S : Array (Perm n)}
{seeds : List (Fin n × Fin n)}
{p : Partition n}
{x y : Fin n}
{todo : List (Fin n × Fin n)}
(st : State S seeds p ((x, y) :: todo))
(h : p.Same x y)
:
State S seeds p todo
Drop a request whose two points are already joined.
Instances For
def
Hex.PermGroup.Blocks.State.merge
{n : Nat}
{S : Array (Perm n)}
{seeds : List (Fin n × Fin n)}
{p : Partition n}
{x y : Fin n}
{todo : List (Fin n × Fin n)}
(st : State S seeds p ((x, y) :: todo))
(h : ¬p.Same x y)
:
Join the requested blocks and enqueue one image pair per generator. Previously queued requests remain justified after this coarsening.