OAI/Combinatorics/PlanarL1/WeightedMetric.lean

GitHub source file

55 declarations, 0 contain sorry, 0 declared as axioms

Shortest-path spanning tree .

  1. lemma OAI.PlanarL1.WeightedGraph.length_nonneg line 11
  2. lemma OAI.PlanarL1.WeightedGraph.length_pos line 17
  3. lemma OAI.PlanarL1.WeightedGraph.length_append line 23
  4. lemma OAI.PlanarL1.WeightedGraph.length_darts line 29
  5. lemma OAI.PlanarL1.WeightedGraph.length_reverse line 35
  6. lemma OAI.PlanarL1.WeightedGraph.length_bypass_le line 43
  7. lemma OAI.PlanarL1.WeightedGraph.distance_nonneg line 51
  8. lemma OAI.PlanarL1.WeightedGraph.distance_le_length line 57
  9. lemma OAI.PlanarL1.WeightedGraph.distance_self line 63
  10. lemma OAI.PlanarL1.WeightedGraph.distance_attained line 68
  11. lemma OAI.PlanarL1.WeightedGraph.distance_symm line 82
  12. lemma OAI.PlanarL1.WeightedGraph.distance_triangle line 92
  13. lemma OAI.PlanarL1.WeightedGraph.distance_pos line 100
  14. def OAI.PlanarL1.WeightedGraph.metricSpace line 108
  15. lemma OAI.PlanarL1.WeightedGraph.edge_bound line 120
  16. lemma OAI.PlanarL1.WeightedGraph.predecessor line 126

    Source documentation

    The literal predecessor used in the realization proof can be chosen with strictly decreasing weighted root distance; no unit-edge shortcut is used.

    lemma predecessor [Finite V] (hG : G.Connected) (hs : ∀ u v, ℓ u v = ℓ v u)
        (hℓ : ∀ u v, G.Adj u v → 0 < ℓ u v) (o v : V) (hne : v ≠ o) :
        ∃ u, G.Adj u v ∧ graphDistance G ℓ o u+ℓ u v = graphDistance G ℓ o v ∧
          graphDistance G ℓ o u < graphDistance G ℓ o v := by
    …

    Mentions: OAI.PlanarL1.graphDistance

  17. def OAI.PlanarL1.WeightedGraph.parentGraph line 150
  18. lemma OAI.PlanarL1.WeightedGraph.parent_adj line 158
  19. lemma OAI.PlanarL1.WeightedGraph.parent_connected line 161
  20. lemma OAI.PlanarL1.WeightedGraph.parent_tree line 179
  21. lemma OAI.PlanarL1.WeightedGraph.parent_walk line 213
  22. lemma OAI.PlanarL1.WeightedGraph.shortest_path_tree line 241

    Source documentation

    The weighted shortest-path spanning tree claimed at . Its tree edges retain their arbitrary original positive lengths.

    lemma shortest_path_tree [Finite V] (hG : G.Connected)
        (hs : ∀ u v, ℓ u v = ℓ v u)
        (hℓ : ∀ u v, G.Adj u v → 0 < ℓ u v) (o : V) :
        ∃ T : SimpleGraph V, T ≤ G ∧ T.IsTree ∧
          (∀ v, ∃ p : T.Walk o v, walkLength ℓ p = graphDistance G ℓ o v) ∧
          (∀ u v, T.Adj u v → |graphDistance G ℓ o v-graphDistance G ℓ o u| = ℓ u v) := by
    …

    Mentions: OAI.PlanarL1.walkLength, OAI.PlanarL1.graphDistance

  23. lemma OAI.PlanarL1.Weighted.length_eq_sum_darts line 284
  24. lemma OAI.PlanarL1.Weighted.length_nonneg line 290
  25. lemma OAI.PlanarL1.Weighted.length_append line 296
  26. lemma OAI.PlanarL1.Weighted.length_reverse line 300
  27. lemma OAI.PlanarL1.Weighted.length_bypass line 307
  28. lemma OAI.PlanarL1.Weighted.length_eq_zero_iff line 315
  29. lemma OAI.PlanarL1.Weighted.exists_shortest line 328

    Source documentation

    Positivity permits deletion of repetitions, so the literal walk-infimum is achieved by one of finitely many simple paths. No integral edge lengths or approximation of the metric is used.

    lemma exists_shortest [Fintype V] (hl : ∀ u v, G.Adj u v → 0 ≤ l u v)
        {u v : V} (hc : G.Reachable u v) :
        ∃ p : G.Path u v, ∀ q : G.Walk u v, walkLength l p.val ≤ walkLength l q := by
    …

    Mentions: OAI.PlanarL1.walkLength

  30. lemma OAI.PlanarL1.Weighted.distance_eq_length line 338
  31. lemma OAI.PlanarL1.Weighted.distance_le_walk line 348
  32. lemma OAI.PlanarL1.Weighted.distance_nonneg line 352
  33. lemma OAI.PlanarL1.Weighted.distance_self line 357
  34. lemma OAI.PlanarL1.Weighted.distance_symm line 361
  35. lemma OAI.PlanarL1.Weighted.distance_triangle line 370
  36. lemma OAI.PlanarL1.Weighted.distance_eq_zero line 378
  37. def OAI.PlanarL1.Weighted.metricSpace line 389

    Source documentation

    The exact source graph metric, on the original vertex type.

    @[instance_reducible] noncomputable def metricSpace [Fintype V] (hc : G.Connected)
        (hs : ∀ u v, l u v=l v u) (hl : ∀ u v, G.Adj u v → 0 < l u v) : MetricSpace V where
    …
  38. lemma OAI.PlanarL1.Weighted.edge_bound line 398
  39. lemma OAI.PlanarL1.Weighted.height_edge line 402
  40. lemma OAI.PlanarL1.Weighted.exists_predecessor line 417

    Source documentation

    Each non-root vertex has a strictly lower predecessor on a genuine weighted shortest path. This is the input to the shortest-path spanning tree in ; positivity, not integral weights, supplies the descent.

    lemma exists_predecessor [Fintype V] (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 : V) (hv : v ≠ o) : ∃ u, G.Adj u v ∧
          graphDistance G l o v=graphDistance G l o u+l u v ∧
          graphDistance G l o u < graphDistance G l o v := by
    …

    Mentions: OAI.PlanarL1.graphDistance

  41. structure OAI.PlanarL1.Weighted.DescendingParents line 459

    Source documentation

    A predecessor system whose heights strictly decrease to its root. The well-foundedness here uses finiteness, not any discretization of real lengths.

    structure DescendingParents (V : Type*) where
    …
  42. lemma OAI.PlanarL1.Weighted.DescendingParents.parent_ne line 470
  43. def OAI.PlanarL1.Weighted.DescendingParents.graph line 476
  44. lemma OAI.PlanarL1.Weighted.DescendingParents.child_adj line 484
  45. lemma OAI.PlanarL1.Weighted.DescendingParents.wellFounded line 487
  46. lemma OAI.PlanarL1.Weighted.DescendingParents.reachable_root line 492
  47. lemma OAI.PlanarL1.Weighted.DescendingParents.connected line 499
  48. lemma OAI.PlanarL1.Weighted.DescendingParents.edge_injective line 504
  49. lemma OAI.PlanarL1.Weighted.DescendingParents.edgeFinset_eq line 516
  50. lemma OAI.PlanarL1.Weighted.DescendingParents.isTree line 532
  51. def OAI.PlanarL1.Weighted.shortestParents line 543
  52. lemma OAI.PlanarL1.Weighted.shortestParents.parent_step line 557
  53. lemma OAI.PlanarL1.Weighted.shortestParents.graph_le line 566
  54. lemma OAI.PlanarL1.Weighted.shortestParents.exists_root_walk line 572
  55. lemma OAI.PlanarL1.Weighted.shortestParents.root_distance line 588

    Source documentation

    The shortest-path spanning tree in : every root path has the original weighted distance. No planarity or unit edge lengths is used.

    lemma root_distance (v : V) :
        graphDistance (shortestParents hc hs hl o).graph l o v=graphDistance G l o v := by
    …

    Mentions: OAI.PlanarL1.graphDistance, OAI.PlanarL1.Weighted.shortestParents