OAI/Combinatorics/PlanarL1/HeightTree.lean
73 declarations, 0 contain sorry, 0 declared as axioms
- structure
OAI.PlanarL1.HeightTreeline 15Source documentation
A rooted incidence tree with a nondecreasing metric height. Unlike the shortest-path tree, added terminal branches are permitted to have zero length. Termination follows the incidence tree, not strict metric height.
structure HeightTree (V : Type*) where …
- abbrev
OAI.PlanarL1.HeightTree.Stepline 27 - abbrev
OAI.PlanarL1.HeightTree.Ancestorline 28 - lemma
OAI.PlanarL1.HeightTree.ancestor_heightline 30 - def
OAI.PlanarL1.HeightTree.profileline 37Source documentation
McShane cones over the finite ancestral chain. The recursive minimum is used instead of linear interpolation, so zero-length incidences need no division.
noncomputable def profile (q : V → ℝ) (v : V) : ℝ → ℝ := …
- lemma
OAI.PlanarL1.HeightTree.profile_eqline 41 - lemma
OAI.PlanarL1.HeightTree.profile_rootline 47 - lemma
OAI.PlanarL1.HeightTree.profile_childline 51 - lemma
OAI.PlanarL1.HeightTree.profile_le_coneline 55 - lemma
OAI.PlanarL1.HeightTree.profile_lipschitzline 61 - def
OAI.PlanarL1.HeightTree.Compatibleline 75Source documentation
Discrete one-Lipschitz data along the actual tree edges.
def Compatible (q : V → ℝ) : Prop := …
- lemma
OAI.PlanarL1.HeightTree.profile_aboveline 78 - lemma
OAI.PlanarL1.HeightTree.profile_atline 90 - lemma
OAI.PlanarL1.HeightTree.profile_below_parentline 94 - lemma
OAI.PlanarL1.HeightTree.profile_ancestorline 106Source documentation
Common root prefixes receive literally the same potential on every copy.
lemma profile_ancestor {q : V → ℝ} (hq : T.Compatible q) {u v : V} (h : T.Ancestor u v) {H : ℝ} (hH : H ≤ T.height u) : T.profile q v H = T.profile q u H := by … - lemma
OAI.PlanarL1.HeightTree.root_ancestorline 116 - def
OAI.PlanarL1.HeightTree.depthline 123 - lemma
OAI.PlanarL1.HeightTree.depth_eqline 127 - lemma
OAI.PlanarL1.HeightTree.step_depthline 132 - lemma
OAI.PlanarL1.HeightTree.ancestor_depthline 136 - lemma
OAI.PlanarL1.HeightTree.ancestor_antisymmline 141 - def
OAI.PlanarL1.HeightTree.IsLeafline 150 - lemma
OAI.PlanarL1.HeightTree.exists_leafline 152 - def
OAI.PlanarL1.HeightTree.leafAboveline 161 - lemma
OAI.PlanarL1.HeightTree.ancestor_leafAboveline 164 - def
OAI.PlanarL1.Weighted.ExtraDartline 177Source documentation
Each orientation is one distinct new branch incidence. Paired incidences are not identified until the column switch is installed.
def ExtraDart (hc : G.Connected) (hs : ∀ u v, l u v=l v u) (hl : ∀ u v, G.Adj u v → 0<l u v) (o : V) := … - def
OAI.PlanarL1.Weighted.ExtraDart.reverseline 185 - lemma
OAI.PlanarL1.Weighted.ExtraDart.reverse_reverseline 188 - def
OAI.PlanarL1.Weighted.ExtraDart.tipHeightline 193 - lemma
OAI.PlanarL1.Weighted.ExtraDart.tipHeight_reverseline 196 - lemma
OAI.PlanarL1.Weighted.ExtraDart.height_le_tipline 203 - abbrev
OAI.PlanarL1.Weighted.EnlargedTree.Nodeline 215 - def
OAI.PlanarL1.Weighted.EnlargedTree.parentline 217 - def
OAI.PlanarL1.Weighted.EnlargedTree.heightline 221 - lemma
OAI.PlanarL1.Weighted.EnlargedTree.parent_wfline 225 - def
OAI.PlanarL1.Weighted.EnlargedTree.treeline 246Source documentation
An abstract height tree, including zero-length branches.
noncomputable def tree : HeightTree (Node hc hs hl o) where …
Mentions: OAI.PlanarL1.HeightTree, OAI.PlanarL1.Weighted.EnlargedTree.Node
- lemma
OAI.PlanarL1.Weighted.EnlargedTree.extra_leafline 264 - def
OAI.PlanarL1.Weighted.EnlargedTree.potentialline 271Source documentation
Graph-distance potentials extended to the two endpoints of each split edge by their shortest distance through either of that edge's endpoints.
noncomputable def potential (z : V) : Node hc hs hl o → ℝ | .inl v => graphDistance G l z v | .inr d => min (graphDistance G l z d.val.fst + ExtraDart.tipHeight hc hs hl o d - graphDistance G l o d.val.fst) (graphDistance G l z d.val.snd + ExtraDart.tipHeight hc hs hl o d - graphDistance G l o d.val.snd)Mentions: OAI.PlanarL1.Weighted.EnlargedTree.Node, OAI.PlanarL1.graphDistance, OAI.PlanarL1.Weighted.ExtraDart.tipHeight
- lemma
OAI.PlanarL1.Weighted.EnlargedTree.potential_reverseline 277 - lemma
OAI.PlanarL1.Weighted.EnlargedTree.min_split_compatibleline 286 - lemma
OAI.PlanarL1.Weighted.EnlargedTree.potential_compatibleline 297 - def
OAI.PlanarL1.HeightTree.prefixGraphline 335Source documentation
Adjacent copies in the cyclic contour of an ancestral subtree.
def prefixGraph (leaf : Fin n → V) (a : V) : SimpleGraph (Fin n) where …
- structure
OAI.PlanarL1.HeightTree.Layoutline 349Source documentation
The combinatorial output of a planar tree contour construction. No metric realization or metric estimates are part of this data.
structure Layout (n : ℕ) where …
- def
OAI.PlanarL1.HeightTree.Layout.heightsline 364 - lemma
OAI.PlanarL1.HeightTree.Layout.mem_heightsline 370 - lemma
OAI.PlanarL1.HeightTree.Layout.heights_symmline 377 - lemma
OAI.PlanarL1.HeightTree.Layout.heights_compactline 388 - lemma
OAI.PlanarL1.HeightTree.Layout.switch_le_tipline 396 - def
OAI.PlanarL1.HeightTree.Layout.modelline 402 - def
OAI.PlanarL1.HeightTree.Layout.prefixPathline 442Source documentation
Constant-height switches connect all copies on a common root prefix.
noncomputable def prefixPath {a : V} {i j : Fin n} (p : (T.prefixGraph L.leaf a).Walk i j) {H : ℝ} (hlo : T.height T.root ≤ H) (hhi : H ≤ T.height a) : L.model.Path univ i j := … - lemma
OAI.PlanarL1.HeightTree.Layout.prefixPath_lengthline 451 - lemma
OAI.PlanarL1.HeightTree.Layout.exists_prefixPathline 459 - def
OAI.PlanarL1.HeightTree.Layout.columnline 466 - lemma
OAI.PlanarL1.HeightTree.Layout.ancestor_columnline 469 - def
OAI.PlanarL1.HeightTree.Layout.pointline 473 - lemma
OAI.PlanarL1.Columns.Model.Path.potential_leline 491Source documentation
A scalar potential compatible with every actual switch bounds the length of every switching path, irrespective of excursions into the separate tails.
lemma Path.potential_le {J : Set ℝ} {i j : Fin n} (p : M.Path J i j) (q : Fin n → ℝ → ℝ) (hLip : ∀ i, LipschitzWith 1 (q i)) (hSwitch : ∀ i j H, H ∈ M.heights i j → q i H=q j H) (a b : ℝ) : |q i a-q j b| ≤ p.length a b := by … - lemma
OAI.PlanarL1.Columns.Model.Point.potential_leline 504 - lemma
OAI.PlanarL1.HeightTree.IsLeaf.ancestor_eqline 518 - lemma
OAI.PlanarL1.HeightTree.Layout.leaf_columnline 526 - lemma
OAI.PlanarL1.HeightTree.Layout.column_leafline 529 - lemma
OAI.PlanarL1.HeightTree.Layout.profile_switchline 532 - lemma
OAI.PlanarL1.HeightTree.Layout.potential_leline 540 - lemma
OAI.PlanarL1.HeightTree.Layout.parent_distance_leline 551 - lemma
OAI.PlanarL1.HeightTree.Layout.pair_distance_zeroline 565 - instance
OAI.PlanarL1.Weighted.ExtraDart.fintypeline 587 - def
OAI.PlanarL1.Weighted.EnlargedTree.ExactPairsline 595Source documentation
The leaf pairs are precisely the two incidences of each original non-tree edge, not extra shortcuts.
def ExactPairs : Prop := ∀ i j, L.pair.Adj i j ↔ ∃ d : ExtraDart hc hs hl o, …
Mentions: OAI.PlanarL1.Weighted.ExtraDart
- lemma
OAI.PlanarL1.Weighted.EnlargedTree.original_distance_lowerline 598 - lemma
OAI.PlanarL1.Weighted.EnlargedTree.tip_pairline 608 - lemma
OAI.PlanarL1.Weighted.EnlargedTree.tip_distance_zeroline 614 - lemma
OAI.PlanarL1.Weighted.EnlargedTree.original_parent_distanceline 620 - lemma
OAI.PlanarL1.Weighted.EnlargedTree.original_edge_distanceline 630 - lemma
OAI.PlanarL1.Weighted.EnlargedTree.original_walk_distanceline 657 - lemma
OAI.PlanarL1.Weighted.EnlargedTree.original_distanceline 668Source documentation
The original weighted graph embeds isometrically into the actual column path metric. In particular all tails and zero-length branch incidences are accounted for; the lower bound is certified by graph-distance potentials.
lemma original_distance (hpair : ExactPairs L) (u v : V) : (L.point (.inl u)).distance (L.point (.inl v))=graphDistance G l u v := by …Mentions: OAI.PlanarL1.Weighted.EnlargedTree.ExactPairs, OAI.PlanarL1.graphDistance