The Coester--Koutsoupias potential is minimised at an anchor tuple ending in the request, for
ProvedKServer.ckPotK_anchor_at_request_le_twoLet be a finite metric space, let bound all of its distances, and let be the antipodal extension of at scale . Fix servers, an initial configuration in and a request sequence , and write for the unordered work function of that instance evaluated in . For an anchor tuple the anchored Coester--Koutsoupias potential and the potential itself are
Statement. For , every request sequence and every request , the minimum defining is attained at an anchor tuple whose last coordinate is the request: there is with and .
This is the anchor condition of Corollary 9 of Coester--Koutsoupias, in the two cases where it is unconditionally true. For one server the potential after the request does not depend on the anchor at all. For two servers the argument uses only two structural properties of the work function after a request: that it is -Lipschitz for the matching distance, and that it resolves the request, in the sense that
where is the request seen in the base copy. The whole potential is thus expressible through the single -Lipschitz function , and the conclusion follows from a four-case comparison, each case using exactly one Lipschitz estimate.
For these two properties no longer suffice, and the statement itself is in fact false in general: Section 7.2 of the same paper exhibits a request sequence on the circle with for which the potential fails the corresponding step inequality. The present statement therefore delimits the range in which the anchor condition holds unconditionally.
Formalization note. The last coordinate is written x ⟨k - 1, _⟩ with -based indexing. The hypothesis hΔ asks only that be an upper bound for the distances of , not that it be the diameter.
import Mathlib import Definitions.Def_KServer_workfunctionU import Definitions.Def_KServer_antipodal_extension import Definitions.Def_KServer_ck_potential_k
namespace KServer
theorem ckPotK_anchor_at_request_le_two (k : ℕ) (hk : 1 ≤ k) (hk2 : k ≤ 2) (M : Type)
[MetricSpace M] [Fintype M] (Δ : ℝ) (hΔ0 : 0 < Δ) (hΔ : ∀ x y : M, dist x y ≤ Δ)
(C₀ : Config k M) (l : List M) (r : M) :
∃ x : Fin k → M, x ⟨k - 1, by omega⟩ = r ∧
ckPotAtK k M Δ hΔ0 hΔ C₀ (l ++ [r]) x = ckPotK k M Δ hΔ0 hΔ C₀ (l ++ [r]) := by sorry
end KServer