Coordinated numerical refinement #
This module contains the untrusted scheduling policy shared by tactic-side candidate search. A stage coordinates three independent sources of enclosure error: Dyadic rounding, Taylor approximation, and spatial subdivision.
The schedule never proves a theorem. A selected stage must still close the ordinary Boolean checker and apply its existing Golden Theorem.
def
LeanCert.Tactic.instDecidableEqNumericalRefinementStage.decEq
(x✝ x✝¹ : NumericalRefinementStage)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
def
LeanCert.Tactic.instDecidableEqNumericalRefinementPolicy.decEq
(x✝ x✝¹ : NumericalRefinementPolicy)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
def
LeanCert.Tactic.NumericalRefinementPolicy.subdivisionDepthAt
(policy : NumericalRefinementPolicy)
(index : Nat)
:
Spatial depth at a stage, linearly ramped from zero to the configured maximum. A singleton schedule receives the full configured depth.
Equations
- policy.subdivisionDepthAt index = if policy.stageCount ≤ 1 then policy.maxSubdivisionDepth else policy.maxSubdivisionDepth * index / (policy.stageCount - 1)
Instances For
def
LeanCert.Tactic.NumericalRefinementPolicy.stageAt
(policy : NumericalRefinementPolicy)
(index : Nat)
:
Materialize one stage of the policy.
Equations
- One or more equations did not get rendered due to their size.
Instances For
All configured stages in increasing refinement order.
Equations
- policy.stages = List.map policy.stageAt (List.range policy.stageCount)
Instances For
def
LeanCert.Tactic.NumericalRefinementPolicy.adaptive
(initialTaylorDepth maxSubdivisionDepth : Nat)
:
Default three-stage policy used by the semantic tactic router.
Equations
- LeanCert.Tactic.NumericalRefinementPolicy.adaptive initialTaylorDepth maxSubdivisionDepth = { initialTaylorDepth := initialTaylorDepth, maxSubdivisionDepth := maxSubdivisionDepth }
Instances For
Refine Dyadic rounding and spatial depth while holding a user-specified Taylor depth fixed.
Equations
- LeanCert.Tactic.NumericalRefinementPolicy.fixedTaylor taylorDepth maxSubdivisionDepth = { initialTaylorDepth := taylorDepth, taylorDepthStep := 0, maxSubdivisionDepth := maxSubdivisionDepth }