A non-geodesic cycle splits into two strictly shorter cycles whose binary edge vectors add to it
ProvedOPG500Counterexample.nongeodesic_cycle_splitsLet be a finite simple graph with strictly positive real edge lengths , and let be a simple cycle of that is not vertex-geodesic: some pair of vertices of has no globally shortest path using only edges of . Then there are two simple cycles and of with
whose edge-indicator vectors over satisfy .
This is the inductive step in the proof of Theorem 3.1 of Georgakopoulos and Sprüssel: choosing a bad pair of vertices of together with a shortest – path of minimal length among all bad pairs forces the interior of to avoid and to be strictly shorter than both arcs of between and ; gluing to each arc yields and . The statement is precisely the split hypothesis of the mission's descent principle geodesic_cycle_outside_span, so that principle can be applied directly to any positively weighted finite graph. No uniqueness of shortest paths is assumed and ties are allowed.
import Definitions.Def_opg500_weighted_cycle_models
namespace OPG500Counterexample
universe u
/-- The splitting step of Georgakopoulos--Sprüssel, Theorem 3.1: a cycle that is not
vertex-geodesic is the binary sum of two strictly shorter cycles. This is exactly the
`split` hypothesis of `geodesic_cycle_outside_span`. -/
theorem nongeodesic_cycle_splits
{V : Type u} [Fintype V] [DecidableEq V]
(G : SimpleGraph V) (ℓ : EdgeWeight G) (hpositive : IsPositive ℓ)
(C : Cycle G) (hC : ¬ C.IsGeodesic ℓ) :
∃ A B : Cycle G,
Walk.weightedLength ℓ A.walk < Walk.weightedLength ℓ C.walk ∧
Walk.weightedLength ℓ B.walk < Walk.weightedLength ℓ C.walk ∧
C.edgeVector = A.edgeVector + B.edgeVector := by sorry
end OPG500Counterexample