Documentation

HexPermGroup.Cycles.Canonical

def Hex.Perm.Cycle.Least {n : Nat} (c : Array (Fin n)) :

The first entry is the least point in the cycle.

Equations
Instances For
    def Hex.Perm.Cycle.Precedes {n : Nat} (c d : Array (Fin n)) :

    Cycles are ordered by their first entries.

    Equations
    Instances For
      theorem Hex.Perm.Cycle.scan_canonical {n : Nat} (p : Perm n) (xs : List (Fin n)) (seen : Vector Bool n) (cs : Array (Array (Fin n))) (h : Decomposition p seen cs) (outside : ∀ (x : Fin n), ¬x ∈ xs → seen[↑x] = true) (sorted : List.Pairwise (fun (x1 x2 : Fin n) => x1 < x2) xs) (least : ∀ (c : Array (Fin n)), c ∈ cs → Least c) (ordered : List.Pairwise Precedes cs.toList) (before : ∀ (c : Array (Fin n)), c ∈ cs → ∀ (x : Fin n), x ∈ xs → ∀ (hc : 0 < c.size), c[0] < x) :
      have result := (p.scanCycles xs seen cs).snd; (∀ (c : Array (Fin n)), c ∈ result → Least c) ∧ List.Pairwise Precedes result.toList
      theorem Hex.Perm.allCycles_least {n : Nat} (p : Perm n) (c : Array (Fin n)) (hc : c ∈ p.allCycles) :
      theorem Hex.Perm.cycles_least {n : Nat} (p : Perm n) (c : Array (Fin n)) (hc : c ∈ p.cycles) :