CK 2021, Lemma 25 — a swap-symmetric minimizing anchor triple with resolution to the first anchor
ProvedKServer.tree_swap_first_twoLemma 25 of Coester and Koutsoupias, for three servers on trees. Let be the vertex set of a finite weighted tree with distances bounded by , and let be the Coester--Koutsoupias potential of a -server instance --- the minimum over anchor triples of the anchored sum , the work function evaluated in the antipodal extension. Then a minimising triple can be chosen with two additional properties:
The triple is symmetric in its first two anchors, and the doubled antipode of the second anchor resolves to the first anchor.
Role
This is the normalisation device of the tree analysis: in the case analysis of Theorem 23, whenever a resolution statement is available for one of the first two anchors, the swap-symmetry converts it to the other, and the resolution of to is the hypothesis of the anchor-exchange inequality. Both properties come from choosing the first anchor greedily rather than merely minimising.
Structure of the proof
Fix a minimising triple and re-choose the first anchor as (the anchor space is finite). Three facts then combine:
-
still minimises. The -dependent part of the anchored potential is the one-server potential of the restriction : by the coordinate-local envelope, . The one-server anchor lemma for trees --- any minimiser of realises the one-server potential, an instance of the four-point condition --- applied with reference point shows the greedy does at least as well as .
-
Resolution to . By the two-coordinate envelope, is plus the global minimum of the dual pair functional ; the greedy exchange for puts inside a global minimiser ; and two Lipschitz collapses (, then comparison with the direct move ) turn this into the resolution identity, which holds with equality.
-
Swap symmetry. The resolution identity is precisely the hypothesis of the anchor-swap inequality , and minimality of the triple gives the reverse.
Formalization note
ckPot/ckPotAt are the potential and its anchored form; anchors range over the base space, antipodes are Sum.inr in the extension antipodalExtension on , and is literal. The statement is for an arbitrary request sequence: no last-request structure is needed.
import Mathlib import Definitions.Def_KServer_workfunctionU import Definitions.Def_KServer_antipodal_extension import Definitions.Def_KServer_tree_metric import Definitions.Def_KServer_ck_potential
namespace KServer
theorem tree_swap_first_two (M : Type) [MetricSpace M] [Fintype M] [Nonempty M]
(hM : IsTreeVertexSpace M) (Δ : ℝ) (hΔ0 : 0 < Δ) (hΔ : ∀ u v : M, dist u v ≤ Δ)
(C₀ : Config 3 M) (σ : List M) :
∃ x₁ x₂ x₃ : M,
ckPot M Δ hΔ0 hΔ C₀ σ = ckPotAt M Δ hΔ0 hΔ C₀ σ x₁ x₂ x₃
∧ ckPotAt M Δ hΔ0 hΔ C₀ σ x₂ x₁ x₃ = ckPotAt M Δ hΔ0 hΔ C₀ σ x₁ x₂ x₃
∧ @workFnU 3 (M ⊕ M) (antipodalExtension M Δ hΔ0 hΔ)
(fun i => Sum.inl (C₀ i)) (σ.map Sum.inl) ![Sum.inr x₂, Sum.inr x₂, Sum.inl x₃]
= @workFnU 3 (M ⊕ M) (antipodalExtension M Δ hΔ0 hΔ)
(fun i => Sum.inl (C₀ i)) (σ.map Sum.inl) ![Sum.inr x₂, Sum.inl x₁, Sum.inl x₃]
+ (2 * Δ - dist x₁ x₂) := by sorry
end KServer