English
Improve an estimate until it satisfies a predicate, otherwise return the best available estimate, if any improvement was made.
Русский
Улучшать оценку до тех пор, пока она удовлетворяет предикату; иначе вернуть наилучшую доступную оценку, если улучшение было сделано.
LaTeX
$$Estimator.improveUntil(a,p,e) = Estimator.improveUntilAux(a,p,e,false)$$
Lean4
/-- Improve an estimate until it satisfies a predicate,
or else return the best available estimate, if any improvement was made.
-/
def improveUntil (a : Thunk α) (p : α → Bool) [Estimator a ε] [WellFoundedGT (range (bound a : ε → α))] (e : ε) :
Except (Option ε) ε :=
Estimator.improveUntilAux a p e false