Bitset check that l lists distinct values below n, none of them in seen.
Equations
- Hex.PermGroup.Kernel.imagesDistinct n [] x✝ = true
- Hex.PermGroup.Kernel.imagesDistinct n (x_2 :: xs) x✝ = (x_2.blt n && ((x✝.shiftRight x_2).land 1).beq 0 && Hex.PermGroup.Kernel.imagesDistinct n xs (x✝.lor (Nat.shiftLeft 1 x_2)))
Instances For
l is the image list of a permutation of Fin n, checked in time linear in n.
Equations
- Hex.PermGroup.Kernel.imagesOk n l = (l.length.beq n && Hex.PermGroup.Kernel.imagesDistinct n l 0)
Instances For
The packing of an image list.
Equations
- Hex.PermGroup.Kernel.packList n l = Hex.PermGroup.Kernel.packFn (Hex.PermGroup.Kernel.width n) (fun (i : Nat) => l.getD i 0) n