Windows of selectors tested earlier on a route end before every later edge window begins
ProvedOAI.Problem310.WindowLocalHit.ancestor_selector_gapWindow data. Let . Words over the alphabet are the vertices of the complete -ary tree; is the length of a word , is followed by the letter , and means that is a prefix of . A word is a valid edge if and (it names the edge entering the vertex ). A window datum with parameters consists of a function and maps from words to such that, writing and letting range over valid edges:
- , and ;
- , so the edge carries the window of dyadic scales ;
- (prefix gap) if and , then ;
- (sibling gap) for every word , letters and word such that and are valid edges, ;
- (descendant bounds) if , then ;
- (padding) .
Routing. Let be any set and let be any child-choice map assigning a letter to every word and every . For the route from the root is and , where is the child chosen at stage .
Theorem. Let be a window datum with parameters , let , let , and let with . Then
Under first-success routing, the selectors examined at the stage- node are those of the children : the rejected ones and the chosen one. The theorem says that the window of every such edge ends more than scales before the window of any edge leaving a later node of the same route begins. It is a purely deterministic consequence of the prefix-gap and sibling-gap axioms, and it is used to separate the ranges of scales involved at different stages of a route.
Formalization Note The window datum is W : WindowData q d g r₀ (all axioms listed above are part of the structure, though only the two gap axioms are used here); the choice map is choose : List (Fin q) → X → Fin q, the route is routeFrom choose n [] x, and letters are compared in Fin q.
import Mathlib
import Definitions.Def_DyadicAvoidance
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_PeriodicBasic
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_GridSeparation
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_FiniteTableModel
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_OrderedRouting
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_RoutingPath
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_CenterRouteExposure
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_ExceptionalCenters
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_CenterFailureBound
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_FirstDefault
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_ConcreteLabelMeasures
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_CenterFirstDefault
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_RandomSetDensity
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_RoutedSetDensity
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_RoutedExposure
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_FirstDefaultSelection
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_FiniteLocalPredicate
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_WindowData
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_WindowTableModel
import Definitions.Def_OAI_MeasureTheory_DyadicAvoidance_StableRoutingBridge
open OAI OAI.Problem310
universe u_X
open RoutingPath StableRouting GridSeparation
variable {q d g r₀ : ℕ} {X : Type u_X}theorem OAI.Problem310.WindowLocalHit.ancestor_selector_gap (W : WindowData q d g r₀)
(choose : List (Fin q) → X → Fin q) (x : X)
{k l : ℕ} (hkl : k < l) (hld : l < d) (i j : Fin q)
(hj : j ≤ choose (routeFrom choose k [] x) x) :
W.b (routeFrom choose k [] x ++ [j]) + g <
W.a (routeFrom choose l [] x ++ [i]) := by sorry