The anchor violation at the request is non-increasing:
DisprovedKServer.ckPotK_anchor_violation_antitoneLet be a finite metric space, a bound on its distances, the antipodal extension at scale , and fix servers with initial configuration in . For a request sequence write for the anchored Coester--Koutsoupias potential of the anchor tuple (KServer.ckPotAtK) and
for the Coester--Koutsoupias potential (KServer.ckPotK). For a point define the anchor violation at
the amount by which restricting the minimum to anchor tuples whose last coordinate is increases it. The anchor property, i.e. whenever is the last request of , holds for but is false for (KServer.ckPotK_anchor_at_request, disproved on a seven-point subset of a circle).
Statement. For every request sequence and every request ,
That is, serving the request does not increase the anchor violation at .
This is exactly what remains of the Coester--Koutsoupias step inequality once the shift identity for anchored tuples is taken into account: because every anchor tuple with has with the growth at the coalesced antipode, the restricted minimum grows by exactly , and therefore
So the displayed monotonicity is equivalent to the step inequality , and it makes the role of the anchor property precise: the step inequality can only fail at a state where the anchor violation strictly increases, which in particular requires .
Formalization note. The restricted minimum is written as an infimum over all tuples with the last coordinate overwritten by , Function.update x ⟨k-1, _⟩ r; the index type is finite, so the infimum is attained.
import Mathlib import Definitions.Def_KServer_ck_potential_k
namespace KServer
theorem ckPotK_anchor_violation_antitone (k : ℕ) (hk : 1 ≤ k) (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, ckPotAtK k M Δ hΔ0 hΔ C₀ (l ++ [r])
(Function.update x ⟨k - 1, by omega⟩ r))
- ckPotK k M Δ hΔ0 hΔ C₀ (l ++ [r])
≤ (⨅ x : Fin k → M, ckPotAtK k M Δ hΔ0 hΔ C₀ l
(Function.update x ⟨k - 1, by omega⟩ r))
- ckPotK k M Δ hΔ0 hΔ C₀ l := by sorry
end KServer