@[irreducible]
def
Hex.PermGroup.Blocks.run
{n : Nat}
(S : Array (Perm n))
(seeds : List (Fin n × Fin n))
(p : Partition n)
(todo : List (Fin n × Fin n))
(st : State S seeds p todo)
:
Solution S seeds
Process the FIFO queue until no closure obligations remain. Effective merges decrease the block count; redundant requests decrease the queue length.
Equations
Instances For
def
Hex.PermGroup.Blocks.solve
{n : Nat}
(S : Array (Perm n))
(seeds : List (Fin n × Fin n))
:
Solution S seeds
Least invariant equivalence relation containing arbitrary independent seed pairs. Only effective unions enqueue generator images.
Equations
- Hex.PermGroup.Blocks.solve S seeds = Hex.PermGroup.Blocks.run S seeds (Hex.PermGroup.Partition.discrete n) seeds (Hex.PermGroup.Blocks.State.initial S seeds)