The executable enumeration comparator is lexicographic comparison of its key.
Any two canonical numbers are comparable for enumeration.
The lower member precedes its upper conjugate.
theorem
Hex.ZPoly.algebraicRoots_sorted
(p : ZPoly)
:
List.Pairwise (fun (a b : AlgebraicNumber) => a.rootLe b = true) p.algebraicRoots.toList
Integer root enumeration is sorted by its canonical centre key.
theorem
Hex.ZPoly.conj_mem_algebraicRoots
{p : ZPoly}
(hp : p ≠ 0)
{a : AlgebraicNumber}
(ha : a ∈ p.algebraicRoots)
:
The conjugate of every listed root is listed too.