Every strict derived subgroup is retained. A negative terminal certificate also retains the derived subgroup and its checked equality with its parent.
- trivial {n : Nat} : Certificate n
- perfect {n : Nat} (group : Group n) (derived : Derived.Certificate n) : Certificate n
- step {n : Nat} (group : Group n) (derived : Derived.Certificate n) (tail : Certificate n) : Certificate n
Instances For
Equations
- Hex.PermGroup.Series.Certificate.trivial.accepted = true
- (Hex.PermGroup.Series.Certificate.perfect group derived).accepted = false
- (Hex.PermGroup.Series.Certificate.step group derived tail).accepted = tail.accepted
Instances For
Include the repeated terminal term when the series stops at a fixed point.
Equations
- Hex.PermGroup.Series.Certificate.orders G Hex.PermGroup.Series.Certificate.trivial = [G.order]
- Hex.PermGroup.Series.Certificate.orders G (Hex.PermGroup.Series.Certificate.perfect group derived) = [G.order, group.order]
- Hex.PermGroup.Series.Certificate.orders G (Hex.PermGroup.Series.Certificate.step group derived tail) = G.order :: Hex.PermGroup.Series.Certificate.orders group tail
Instances For
Equations
- Hex.PermGroup.Series.Certificate.trivial.depth = 0
- (Hex.PermGroup.Series.Certificate.perfect group derived).depth = 0
- (Hex.PermGroup.Series.Certificate.step group derived tail).depth = tail.depth + 1
Instances For
Derived constructions include the terminal perfectness test.
Equations
- Hex.PermGroup.Series.Certificate.trivial.terms = 0
- (Hex.PermGroup.Series.Certificate.perfect group derived).terms = 1
- (Hex.PermGroup.Series.Certificate.step group derived tail).terms = tail.terms + 1
Instances For
Equations
- Hex.PermGroup.Series.Certificate.terminal G Hex.PermGroup.Series.Certificate.trivial = G
- Hex.PermGroup.Series.Certificate.terminal G (Hex.PermGroup.Series.Certificate.perfect group derived) = G
- Hex.PermGroup.Series.Certificate.terminal G (Hex.PermGroup.Series.Certificate.step group derived tail) = Hex.PermGroup.Series.Certificate.terminal group tail
Instances For
Complete series replay rejects missing derived steps, false fixed points and nontrivial groups claimed to be trivial.
Equations
- One or more equations did not get rendered due to their size.
- Hex.PermGroup.Series.check G Hex.PermGroup.Series.Certificate.trivial = G.isTrivial
- Hex.PermGroup.Series.check G (Hex.PermGroup.Series.Certificate.perfect group derived) = (!G.isTrivial && Hex.PermGroup.Derived.check G group derived && group.sameGroup G)
Instances For
Both positive and negative checked answers have the mathematical meaning of solvability; no exhaustion branch is interpreted as a negative answer.
Complete replay proves the logarithmic bound on strict series steps.
A complete certificate, whose terminal tag determines the answer.
- certificate : Certificate n
Instances For
Equations
- r.accepted = r.certificate.accepted
Instances For
Equations
- Hex.PermGroup.Series.Result.trivial G h = { certificate := Hex.PermGroup.Series.Certificate.trivial, checked := h }
Instances For
Equations
- Hex.PermGroup.Series.Result.perfect G d ht he = { certificate := Hex.PermGroup.Series.Certificate.perfect d.group d.certificate, checked := ⋯ }
Instances For
Equations
- Hex.PermGroup.Series.Result.prepend G d he tail = { certificate := Hex.PermGroup.Series.Certificate.step d.group d.certificate tail.certificate, checked := ⋯ }
Instances For
A strict decrease at least halves the order. The proved bound cannot expire before a trivial term or a certified nontrivial fixed point.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Compute the complete derived series through its certified terminal term.