CK 2021, Lemma 26 — resolving the last two anchors to the request, on trees
ProvedKServer.tree_resolve_last_twoLet be the vertex set of a finite weighted tree, let be the last request of a -server instance, and let denote the work function of that instance evaluated in the antipodal extension (with the antipode of at distance ). Then for any vertices :
This is Lemma 26 of Coester and Koutsoupias (their treeResolveLastTwo) in the case : replacing the point by the request simultaneously in the last coordinate of the mixed configuration and in the all-antipodes configuration costs at most in potential terms.
Role
In the proof that the Work Function Algorithm is -competitive on trees, the potential is a minimum of anchored sums , and the whole argument turns on showing this minimum can be attained with the last anchor equal to the current request. The lemma is exactly the exchange step that makes the last anchor : the two left-hand summands are the final two terms of -type anchored sums, the two right-hand summands the corresponding terms with anchor , and the inequality says the swap to is paid for by — which the surrounding case analysis of their Theorem 23 has available.
Structure of the proof
The configuration resolves — some server moves to the request at exactly the cost of the move. If the -server resolves, the first summand converts directly and the second follows from -Lipschitzness, since antipodes preserve distances ().
Otherwise an -server resolves, and the all-antipodes value is expanded through the McShane envelope: for some original vertices and with present — the two facts, unstated in the paper, that the envelope theorems supply. The tree now enters through its four-point condition, applied to the quadruples and of original vertices. If (or the same with ), a chain of four -Lipschitz moves through the configurations and closes the inequality. If both fail, the four-point condition forces the exact exchanges and , after which two Lipschitz bounds — against and against — absorb the linear terms with equality.
Formalization note
The extension is antipodalExtension on , original vertices embedded by Sum.inl and antipodes written Sum.inr; the work function is workFnU of the embedded instance, so all cross-distances are literal: , . IsTreeVertexSpace M supplies the four-point condition for original vertices. The proof is independent of which resolving server and which envelope minimiser are returned.
import Mathlib import Definitions.Def_KServer_workfunctionU import Definitions.Def_KServer_antipodal_extension import Definitions.Def_KServer_tree_metric
namespace KServer
theorem tree_resolve_last_two (M : Type) [MetricSpace M] [Fintype M] (hM : IsTreeVertexSpace M)
(Δ : ℝ) (hΔ0 : 0 < Δ) (hΔ : ∀ u v : M, dist u v ≤ Δ)
(C₀ : Config 3 M) (σ : List M) (r x y : M) :
@workFnU 3 (M ⊕ M) (antipodalExtension M Δ hΔ0 hΔ)
(fun i => Sum.inl (C₀ i)) ((σ ++ [r]).map Sum.inl) ![Sum.inr x, Sum.inr x, Sum.inl r]
+ @workFnU 3 (M ⊕ M) (antipodalExtension M Δ hΔ0 hΔ)
(fun i => Sum.inl (C₀ i)) ((σ ++ [r]).map Sum.inl) ![Sum.inr r, Sum.inr r, Sum.inr r]
≤ @workFnU 3 (M ⊕ M) (antipodalExtension M Δ hΔ0 hΔ)
(fun i => Sum.inl (C₀ i)) ((σ ++ [r]).map Sum.inl) ![Sum.inr x, Sum.inr x, Sum.inl y]
+ @workFnU 3 (M ⊕ M) (antipodalExtension M Δ hΔ0 hΔ)
(fun i => Sum.inl (C₀ i)) ((σ ++ [r]).map Sum.inl) ![Sum.inr y, Sum.inr y, Sum.inr y]
+ 2 * dist r y := by sorry
end KServer