Documentation

HexNumberFieldMathlib.Interval

theorem Hex.Interval.realOrder?_sound {p q : ZPoly} (a : RefinedIsolation p) (b : RefinedIsolation q) {o : Ordering} (h : realOrder? (↑a).square (↑b).square = some o) :

A disjoint real interval comparison agrees with comparison of the real values.

Separated imaginary intervals cannot have equal imaginary coordinates.

theorem Hex.Interval.notLt_sound {p q : ZPoly} (a : RefinedIsolation p) (b : RefinedIsolation q) (h : notLt (↑a).square (↑b).square = true) :

A strict-order rejection is sound.

theorem Hex.Interval.notLe_sound {p q : ZPoly} (a : RefinedIsolation p) (b : RefinedIsolation q) (h : notLe (↑a).square (↑b).square = true) :

A non-strict-order rejection is sound.

theorem Hex.Interval.search_sound {α : Type} (probe : DyadicSquare → DyadicSquare → Option α) (R : ℂ → ℂ → α → Prop) (sound : ∀ {p q : ZPoly} (a : RefinedIsolation p) (b : RefinedIsolation q) (v : α), probe (↑a).square (↑b).square = some v → R a.root b.root v) {p q : ZPoly} (targets : List (ℤ × ℤ)) (a : RefinedIsolation p) (b : RefinedIsolation q) {v : α} (h : search probe targets a b = some v) :
R a.root b.root v

Threaded refinement preserves any sound coordinate probe.