x represents σ: its field i is σ i for every i < n.
Equations
- Hex.PermGroup.Kernel.Rep n x σ = ∀ (i : Fin n), Hex.PermGroup.Kernel.field (Hex.PermGroup.Kernel.width n) x ↑i = ↑(σ.get i)
Instances For
x is determined by its fields 0..n-1, as the output of packFn is.
Equations
- Hex.PermGroup.Kernel.Canon n x = (x = Hex.PermGroup.Kernel.packFn (Hex.PermGroup.Kernel.width n) (fun (i : Nat) => Hex.PermGroup.Kernel.field (Hex.PermGroup.Kernel.width n) x i) n)
Instances For
The subgroup generated by a level's generators.
Equations
Instances For
The subgroup of the first of a list of levels, trivial for no levels.
Equations
- Hex.PermGroup.Kernel.groupOf n [] = Hex.PermGroup.Kernel.Span fun (x : Hex.Perm n) => False
- Hex.PermGroup.Kernel.groupOf n (L :: tail) = Hex.PermGroup.Kernel.levelGroup n L
Instances For
The checks of one level of an accepted certificate, and representatives for its generators.
Instances For
The orbit as a set of points.
Equations
- x✝.Ω x = (Hex.PermGroup.Kernel.field (Hex.PermGroup.Kernel.width n) L.lookup ↑x ≠ 0)
Instances For
The orbit index of a point of the orbit.
Equations
- x✝.idx x = Hex.PermGroup.Kernel.field (Hex.PermGroup.Kernel.width n) L.lookup ↑x - 1
Instances For
The checks of one level together with the soundness of sifting through the levels after it.
Instances For
One generator step of Schreier's lemma.
Schreier's lemma for the certified transversal.
The certified transversal decomposes each generated permutation uniquely into its orbit index and a permutation in the point stabilizer.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Soundness of sifting and the mixed-radix enumeration, from the last level upward.