OAI/Probability/FKMaps/NodeMetric.lean
39 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.FKCRT.Inventory.CoreTree.Nodeline 13Source documentation
Actual ordered-tree nodes, with a distinct trivial leaf at every empty corner word. Coincident map poles are not identified as tree nodes.
def Node : CoreTree → Type | .leaf => PUnit | .branch c ts => PUnit ⊕ (Σ i : Fin c.val.length,Node (ts i))
Mentions: OAI.FKCRT.Inventory.CoreTree
- instance
OAI.FKCRT.Inventory.CoreTree.(instance at line 17)line 17 - instance
OAI.FKCRT.Inventory.CoreTree.(instance at line 24)line 24 - def
OAI.FKCRT.Inventory.CoreTree.rootline 26 - def
OAI.FKCRT.Inventory.CoreTree.rootDartline 30 - def
OAI.FKCRT.Inventory.CoreTree.poleline 34 - lemma
OAI.FKCRT.Inventory.CoreTree.pole_someline 40 - def
OAI.FKCRT.Inventory.CoreTree.routeLengthline 44 - lemma
OAI.FKCRT.Inventory.CoreTree.darts_headline 49 - lemma
OAI.FKCRT.Inventory.CoreTree.pole_none_of_leafline 60 - lemma
OAI.FKCRT.Inventory.CoreTree.route_zero_of_leafline 64 - lemma
OAI.FKCRT.Inventory.CoreTree.pole_some_of_ne_leafline 68 - theorem
OAI.FKCRT.Inventory.CoreTree.distance_root_poleline 76Source documentation
The route length sums the genuine isolated-core graph distances along the strict ancestor chain. It equals the original full-map graph distance from the root pole, rather than a postulated replacement metric.
theorem distance_root_pole (t : CoreTree) (v : t.Node) (a b : t.Dart) (ha : t.rootDart=some a) (hb : t.pole v=some b) : t.matching.distance a b=(t.routeLength v : ℕ∞) := by …Mentions: OAI.FKCRT.Inventory.CoreTree
- lemma
OAI.FKCRT.Inventory.CoreTree.child_intervalline 126 - theorem
OAI.FKCRT.Inventory.CoreTree.child_internal_distanceline 145Source documentation
Isometry of every nonempty inserted child, in its original all-edge metric. No root-distance-only surrogate is used.
theorem child_internal_distance (c : Core) (ts : Fin c.val.length → CoreTree) (i : Fin c.val.length) (a x y : (ts i).Dart) (L : List (ts i).Dart) (hhead : (ts i).darts=a::L) : (branch c ts).matching.distance (childDart ts i x) (childDart ts i y)= (ts i).matching.distance x y := by …Mentions: OAI.FKCRT.Inventory.Core, OAI.FKCRT.Inventory.CoreTree, OAI.FKCRT.Inventory.CoreTree.Dart, OAI.FKCRT.Inventory.CoreTree.darts, OAI.FKCRT.Inventory.CoreTree.childDart
- lemma
OAI.FKCRT.Inventory.CoreTree.child_gate_distanceline 174 - def
OAI.FKCRT.Inventory.CoreTree.childPoleline 222 - lemma
OAI.FKCRT.Inventory.CoreTree.root_and_headline 226 - lemma
OAI.FKCRT.Inventory.CoreTree.core_to_childPoleline 234 - lemma
OAI.FKCRT.Inventory.CoreTree.childPole_not_childline 248 - theorem
OAI.FKCRT.Inventory.CoreTree.between_childPolesline 260Source documentation
The exact three-piece route between distinct child components.
theorem between_childPoles (c : Core) (ts : Fin c.val.length → CoreTree) (i j : Fin c.val.length) (hij : i≠j) (v : (ts i).Node) (w : (ts j).Node) : (branch c ts).matching.distance (childPole c ts i v) (childPole c ts j w)= ((ts i).routeLength v:ℕ∞)+c.matching.distance (nextSlot c i) (nextSlot c j)+ ((ts j).routeLength w:ℕ∞) := by …Mentions: OAI.FKCRT.Inventory.Core, OAI.FKCRT.Inventory.CoreTree, OAI.FKCRT.Inventory.CoreTree.Node, OAI.FKCRT.Inventory.CoreTree.childPole, OAI.FKCRT.Inventory.CoreTree.routeLength, OAI.FKCRT.Inventory.CoreTree.nextSlot
- lemma
OAI.FKCRT.Inventory.CoreTree.within_childPolesline 277 - def
OAI.FKCRT.Inventory.CoreTree.realDistanceline 288Source documentation
Real graph distance, on the same literal original map.
def realDistance (t : CoreTree) (a b : t.Dart) : ℝ := …
Mentions: OAI.FKCRT.Inventory.CoreTree
- lemma
OAI.FKCRT.Inventory.CoreTree.distance_eq_natline 292 - lemma
OAI.FKCRT.Inventory.CoreTree.realDistance_nonnegline 300 - lemma
OAI.FKCRT.Inventory.CoreTree.realDistance_commline 302 - lemma
OAI.FKCRT.Inventory.CoreTree.realDistance_selfline 306 - lemma
OAI.FKCRT.Inventory.CoreTree.real_root_distanceline 309 - def
OAI.FKCRT.Inventory.Core.realDistanceline 329 - lemma
OAI.FKCRT.Inventory.Core.realDistance_nonnegline 332 - lemma
OAI.FKCRT.Inventory.Core.corner_distance_leline 334 - def
OAI.FKCRT.Inventory.CoreTree.commonRouteline 345 - def
OAI.FKCRT.Inventory.CoreTree.maxDegreeline 352 - lemma
OAI.FKCRT.Inventory.CoreTree.maxDegree_coreline 356 - lemma
OAI.FKCRT.Inventory.CoreTree.maxDegree_childline 359 - lemma
OAI.FKCRT.Inventory.CoreTree.real_between_childPolesline 363 - lemma
OAI.FKCRT.Inventory.CoreTree.real_within_childPolesline 373 - lemma
OAI.FKCRT.Inventory.CoreTree.commonRoute_leafline 383 - theorem
OAI.FKCRT.Inventory.CoreTree.pole_comparisonline 388Source documentation
Exact source two-pole comparison: the only error lies inside the last common ancestor's actual isolated core. All distances use all original edges.
theorem pole_comparison (t : CoreTree) (v w : t.Node) (a b : t.Dart) (ha : t.pole v=some a) (hb : t.pole w=some b) : |t.realDistance a b-((t.routeLength v:ℝ)+t.routeLength w-2*t.commonRoute v w)|≤2*t.maxDegree := by …Mentions: OAI.FKCRT.Inventory.CoreTree