Total growth at all configurations on points, injective start
ProvedKServer.workFnU_growth_card_add_two_start_injFix an initial configuration that occupies distinct points, and write for the unordered work function after the first requests of a sequence of length . Here is a metric space with exactly points, two more than the number of servers.
Statement. There is a constant , depending on the metric space and on but not on the request sequence, such that for every there are numbers with
The bound is asked at every configuration , including degenerate ones that place two servers at the same point --- not only at the injective configurations for which the classical argument supplies it.
Role. This is the work-function content of the Koutsoupias--Papadimitriou theorem that the -server conjecture holds on every metric space of points, proved there through the dual -evader problem. By the Extended Cost Lemma the factor gives the ratio . The injective form of this statement is KServer.workFnU_growth_card_add_two_inj.
Why the injectivity hypothesis on appears. For an injective start the work function is the largest -Lipschitz extension of its restriction to injective configurations, so a growth bound proved at injective configurations transfers verbatim to all of them. This fails for a degenerate start: on the uniform three-point space with and , the one-step growth at can exceed the growth at every injective configuration. The excess is then bounded by twice the distance from to the nearest injective configuration, but bounding the total excess over a long sequence requires an amortized argument that is not contained in this statement.
import Mathlib import Definitions.Def_KServer_workfunctionU
namespace KServer
theorem workFnU_growth_card_add_two_start_inj (k : ℕ) (hk : 1 ≤ k) (M : Type) [MetricSpace M]
[Fintype M] (hM : Fintype.card M = k + 2) (C₀ : Config k M)
(hC₀ : Function.Injective C₀) :
∃ c : ℝ, ∀ σ : List M, ∃ u : ℕ → ℝ,
(∀ t : ℕ, t < σ.length → ∀ X : Config k M,
workFnU C₀ (σ.take (t + 1)) X ≤ workFnU C₀ (σ.take t) X + u t) ∧
(∑ t ∈ Finset.range σ.length, u t) ≤ ((k : ℝ) + 1) * offlineCost C₀ σ + c := by sorry
end KServer