On an antipodal space the potential of the doubled extension is the intrinsic potential plus
ProvedKServer.ckPotAtK_antipodalLet be a finite metric space that already has antipodes at scale : a map with
The circle of circumference , and any of its finite subsets closed under the half-turn, are the standard examples.
Fix servers, an initial configuration and a request sequence in , and write for the unordered work function of that instance computed in itself. For an anchor tuple , the intrinsic Coester--Koutsoupias potential is
where means servers on the antipode of . The potential used in this mission, KServer.ckPotAtK, is the same expression evaluated in the doubled antipodal extension , whose added copy provides an antipode for every point of an arbitrary metric space.
Statement. For every anchor tuple ,
That is, on a space that is antipodal to begin with, doubling the space changes the potential by an additive constant that depends only on and — not on the anchor tuple, the request sequence, or the initial configuration. In particular the two potentials have exactly the same minimising anchor tuples, and the increments of the two potentials along a request sequence coincide. This is what allows the results and the counterexamples of Coester and Koutsoupias, which are stated for spaces carrying their own antipodes (the circle above all), to be read as statements about the doubled-extension potential, and conversely.
The proof is a term-by-term application of KServer.workFnU_antipodal_extension_antipode: the -th configuration in the potential uses antipodal servers, contributing , and .
Formalization note. The -th anchor configuration is written with a conditional, fun j => if j ≤ i then a (x i) else x j, matching the platform definition KServer.ckConfigK of the anchor configurations of the extension. Indices are -based, so the summand indexed by i : Fin k carries i + 1 antipodal servers.
import Mathlib import Definitions.Def_KServer_workfunctionU import Definitions.Def_KServer_antipodal_extension import Definitions.Def_KServer_ck_potential_k
namespace KServer
theorem ckPotAtK_antipodal (k : ℕ) (hk : 1 ≤ k) (M : Type) [MetricSpace M] [Fintype M]
(Δ : ℝ) (hΔ0 : 0 < Δ) (hΔ : ∀ x y : M, dist x y ≤ Δ) (a : M → M)
(ha : ∀ x y : M, dist x (a y) = Δ - dist x y)
(C₀ : Config k M) (σ : List M) (x : Fin k → M) :
ckPotAtK k M Δ hΔ0 hΔ C₀ σ x
= (workFnU C₀ σ x
+ ∑ i : Fin k, workFnU C₀ σ (fun j => if (j : ℕ) ≤ (i : ℕ) then a (x i) else x j))
+ Δ * ((k : ℝ) * ((k : ℝ) + 1) / 2) := by sorry
end KServer