Documentation

HexPermGroup.Membership

theorem Hex.PermGroup.Chain.base_lt {n : Nat} {level : Level n} {tail : Chain n} {base : Nat} (h : (cons level tail).checkFrom base = true) :
base < n
theorem Hex.PermGroup.Chain.orbit_valid {n : Nat} {level : Level n} {tail : Chain n} {base : Nat} (h : (cons level tail).checkFrom base = true) :
Orbit.Valid level.generators ⟨base, ⋯⟩ level.orbit
theorem Hex.PermGroup.Chain.suffix_checked {n : Nat} {level : Level n} {tail : Chain n} {base : Nat} (h : (cons level tail).checkFrom base = true) :
tail.checkFrom (base + 1) = true
theorem Hex.PermGroup.Chain.suffix_words {n : Nat} {level : Level n} {tail : Chain n} {base : Nat} (h : (cons level tail).checkFrom base = true) :
def Hex.PermGroup.Chain.program {n : Nat} (c : Chain n) (base : Nat) :
c.checkFrom base = true → (digits : c.Choice) → { w : Program // checkWord c.generators (c.value digits) w = true }

Compile the representative product for a successful sift. Each transition substitutes the next level's generators by their checked provenance programs, sharing those replacements rather than expanding repeated references.

Equations
Instances For
    def Hex.PermGroup.Group.program {n : Nat} (G : Group n) (digits : G.chain.Choice) :

    Translate a chain representative product into the original input generators.

    Equations
    Instances For
      theorem Hex.PermGroup.Group.check_program {n : Nat} (G : Group n) (digits : G.chain.Choice) :
      checkWord G.generators (G.chain.value digits) (G.program digits) = true

      A checked program in the original generators exactly when the complete sift accepts. Negative queries do not allocate membership programs.

      Equations
      Instances For
        theorem Hex.PermGroup.Group.word?_isSome {n : Nat} (G : Group n) (p : Perm n) :
        theorem Hex.PermGroup.Group.word?_sound {n : Nat} (G : Group n) (p : Perm n) (w : Program) (h : G.word? p = some w) :

        Positive containment certificates, one checked membership program for each original generator of the smaller group.

        Equations
        Instances For

          Decide containment and, on success, retain the original generators' words.

          Equations
          Instances For