Generalized contested-round bound for arbitrary election-timer delays
ProvedOpenSearchLivenessAbstract.contested_prob_le_abstractcluster-coordinationconsensusformal-verificationlivenessopensearchzen2
For candidates with arbitrary integer offsets and delay functions over all draws, suppose every delay value has at most preimages: for every candidate and every integer , at most draws give delay . Then the fraction of draws in which no candidate fires at least before every other candidate is at most . The concrete randomized-timer bound is the case . Independence across candidates is an explicit feature of the counting model (draws are a function ), not a consequence of the point-mass bound.
Preamble
import Mathlib.Data.Finset.Basic import Mathlib.Data.Finset.Card import Mathlib.Data.Fintype.Basic import Mathlib.Data.Fintype.BigOperators import Mathlib.Data.Fintype.Card import Mathlib.Logic.Equiv.Prod import Mathlib.Order.Interval.Finset.Basic import Mathlib.Tactic import Definitions.Def_OpenSearchLivenessAbstract open OpenSearchLivenessAbstract
Formal statement
theorem OpenSearchLivenessAbstract.contested_prob_le_abstract (n δ K : Nat) (hn : 1 ≤ n) (hδ : 1 ≤ δ)
(offset : Fin n → Int) (delay : Fin n → Fin (2 ^ 64) → Int)
(hpre : ∀ j t, (Finset.univ.filter (fun y => delay j y = t)).card ≤ K) :
((Finset.univ.filter (fun x => ¬ Uncontested offset delay δ x)).card : ℚ) / (2 ^ 64) ^ n ≤
(n.choose 2 : ℚ) * (2 * δ - 1 : ℕ) * K / 2 ^ 64 := by sorrySource
OpenSearch cluster coordination, pinned revision b2a54ba5c0defba3d1d20423e911d4bf920bab19 (org.opensearch.cluster.coordination); liveness/timer gap-closure analysis, new theorems mechanized from the branch's OpenSearchCoordination/OpenSearchPreVote/OpenSearchSafety/OpenSearchProgress missions.