Documentation

HexPermGroup.Enumerate

A requested complete output exceeds the caller's allocation bound.

Instances For
    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.
      Instances For
        def Hex.PermGroup.Element.le {n : Nat} (G : Group n) (p q : Element G) :

        Image-array comparison for deterministic public enumeration.

        Equations
        Instances For
          theorem Hex.PermGroup.Element.le_trans {n : Nat} (G : Group n) (p q r : Element G) (hpq : le G p q = true) (hqr : le G q r = true) :
          le G p r = true
          theorem Hex.PermGroup.Element.le_total {n : Nat} (G : Group n) (p q : Element G) :
          (le G p q || le G q p) = true
          theorem Hex.PermGroup.Element.before_of_le {n : Nat} (G : Group n) (p q : Element G) (hle : le G p q = true) (hne : p ≠ q) :

          Enumerate by the orbit-choice bijection, then sort by image arrays. This uncapped helper is used only after the public allocation check.

          Equations
          Instances For

            Test the exact group order before allocating any enumeration. A size-limit result reports the required output size and is distinct from an empty result.

            Equations
            Instances For
              theorem Hex.PermGroup.Group.elementsCapped_error {n : Nat} (cap : Nat) (G : Group n) :
              elementsCapped cap G = Except.error { required := G.order, capacity := cap } ↔ cap < G.order
              theorem Hex.PermGroup.Group.elementsCapped_spec {n : Nat} (cap : Nat) (G : Group n) (values : Array (Element G)) (h : elementsCapped cap G = Except.ok values) :
              values.size = G.order ∧ values.size ≤ cap ∧ (∀ (p : Element G), p ∈ values) ∧ values.toList.Nodup ∧ List.Pairwise (fun (p q : Element G) => Chain.before p.val q.val) values.toList