theorem
Hex.RCF.IsolationCert.roots_lt_of_check
{cert : IsolationCert}
(h : cert.checkGaps = true)
{i j : Fin cert.intervals.size}
(hij : i < j)
{ri rj : ℝ}
(hi : HexRealRootsMathlib.Literal.InInterval cert.intervals[i] ri)
(hj : HexRealRootsMathlib.Literal.InInterval cert.intervals[j] rj)
:
Strictly separated intervals contain roots in the corresponding strict order.
Semantic interpretation of an endpoint comparison.
Equations
- Hex.RCF.Separation.RootCmp.lt.Holds x✝¹ x✝ = (x✝¹ < x✝)
- Hex.RCF.Separation.RootCmp.eq.Holds x✝¹ x✝ = (x✝¹ = x✝)
- Hex.RCF.Separation.RootCmp.gt.Holds x✝¹ x✝ = (x✝ < x✝¹)
Instances For
theorem
Hex.RCF.Separation.classify_sound
{f : ZPoly}
{replay : SturmReplay}
{cert : IsolationCert}
(hreplay : SturmReplay.check f replay = true)
(hcert : IsolationCert.check replay cert = true)
(i : Fin cert.intervals.size)
(endpoint : Dyadic)
{cmp : RootCmp}
(hcmp : classify? f replay cert.intervals[i] endpoint = some cmp)
:
∃! root : ℝ, (HexRealRootsMathlib.toPolyℝ f).IsRoot root ∧ HexRealRootsMathlib.Literal.InInterval cert.intervals[i] root ∧ cmp.Holds root (HexRealRootsMathlib.Dyadic.toReal endpoint)
Every successful endpoint classification has the stated order against the unique root in the accepted isolation.
theorem
Hex.RCF.Separation.classify_exists
{f : ZPoly}
{replay : SturmReplay}
{cert : IsolationCert}
(hreplay : SturmReplay.check f replay = true)
(hcert : IsolationCert.check replay cert = true)
(i : Fin cert.intervals.size)
(endpoint : Dyadic)
:
Valid replay isolations classify every dyadic endpoint: the interior prefix count cannot exceed the count-one enclosing interval.
theorem
Hex.RCF.Separation.checkCmp_sound
{f : ZPoly}
{replay : SturmReplay}
{cert : IsolationCert}
(hreplay : SturmReplay.check f replay = true)
(hcert : IsolationCert.check replay cert = true)
(i : Fin cert.intervals.size)
(endpoint : Dyadic)
(claim : RootCmp)
(hclaim : checkCmp f replay cert.intervals[i] endpoint claim = true)
:
∃! root : ℝ, (HexRealRootsMathlib.toPolyℝ f).IsRoot root ∧ HexRealRootsMathlib.Literal.InInterval cert.intervals[i] root ∧ claim.Holds root (HexRealRootsMathlib.Dyadic.toReal endpoint)
A checked comparison claim inherits the classifier soundness theorem.