def
Hex.GraphIso.Nauty.Sparse.SpecLeaf.max
{n : Nat}
(G : SparseGraph n)
(a b : SpecLeaf n)
:
SpecLeaf n
Retain an attaining label while comparing the full sparse keys.
Equations
Instances For
theorem
Hex.GraphIso.Nauty.Sparse.SpecLeaf.max_mem
{n : Nat}
(G : SparseGraph n)
(a b : SpecLeaf n)
:
def
Hex.GraphIso.Nauty.Sparse.SpecLeaf.best
{n : Nat}
(G : SparseGraph n)
(first : SpecLeaf n)
(rest : List (SpecLeaf n))
:
SpecLeaf n
The first greatest leaf in enumeration order.
Equations
- Hex.GraphIso.Nauty.Sparse.SpecLeaf.best G first rest = List.foldl (Hex.GraphIso.Nauty.Sparse.SpecLeaf.max G) first rest
Instances For
theorem
Hex.GraphIso.Nauty.Sparse.SpecLeaf.best_mem
{n : Nat}
(G : SparseGraph n)
(first : SpecLeaf n)
(rest : List (SpecLeaf n))
:
A reachable maximum of the complete finite sparse tree. Nonemptiness supplies the initial candidate without an arbitrary fallback.
Equations
Instances For
The sparse declarative maximum, in sparse nauty's own key order.
Equations
Instances For
A labelling attaining the sparse declarative maximum.
Instances For
theorem
Hex.GraphIso.Nauty.Sparse.canonSpecKey_bound
{n k : Nat}
(G : Sparse.Colored n k)
{leaf : SpecLeaf n}
(h : leaf ∈ rootLeaves G)
:
(SpecLeaf.key G.graph leaf).Le (canonSpecKey G)
theorem
Hex.GraphIso.Nauty.Sparse.canonSpecKey_eq
{n k : Nat}
(G : Sparse.Colored n k)
{leaf : SpecLeaf n}
(hm : leaf ∈ rootLeaves G)
(hb : ∀ (other : SpecLeaf n), other ∈ rootLeaves G → (SpecLeaf.key G.graph other).Le (SpecLeaf.key G.graph leaf))
:
A reachable upper bound is exactly the declarative maximum.