Check every generator's provenance in the preceding generator array.
Equations
Instances For
Replace provenance at the top level. Internal chain checking does not inspect these words; the caller checks them against the new preceding generator array.
Equations
- (Hex.PermGroup.Chain.leaf S words_2).reword words_3 = Hex.PermGroup.Chain.leaf S words_3
- (Hex.PermGroup.Chain.cons level tail).reword words_2 = Hex.PermGroup.Chain.cons { generators := level.generators, words := words_2, orbit := level.orbit } tail
Instances For
The normalized working-array invariants, checked independently of sorting.
Equations
- Hex.PermGroup.Chain.Working S = (List.Pairwise Hex.PermGroup.Chain.before S.toList ∧ S.toList.Nodup ∧ ∀ (i : Fin S.size), S[↑i] ≠ Hex.Perm.id n ∧ S[↑i].inv ∈ S)
Instances For
The initial working array is exactly the sorted, deduplicated nonidentity input generators and their inverses. Original indices are retained by the separate provenance programs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Complete suffix checking. Each level recomputes every Schreier generator; no producer-supplied list is used as evidence that all pairs were considered.
Equations
- One or more equations did not get rendered due to their size.
- (Hex.PermGroup.Chain.leaf S words).checkFrom x✝ = decide (x✝ = n ∧ Hex.PermGroup.Chain.Fixed x✝ S ∧ ∀ (i : Fin S.size), S[↑i] = Hex.Perm.id n)
Instances For
Accepted suffixes retain the fixed-point conditions, including at the terminal stage.
Successful and failed sifts are exact membership decisions after complete suffix verification. The induction uses only the already checked suffix when interpreting its Schreier-pair sifts as membership evidence.
A complete chain for precisely the original input generators.
Equations
- Hex.PermGroup.checkChain S c = decide (Hex.PermGroup.Chain.Normalized S c.generators ∧ Hex.PermGroup.checkWords S c.generators c.words = true ∧ c.checkFrom 0 = true)