Prove2Me
Navigate
MissionsFormalpediaBlogsUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

The mean-field limit of a restless bandit

Definition
markov_entanglement_meanfield

by tianyipeng · Aug 28, 2026 · Mathlib c5ea003 (Lean v4.30.0)

markov_entanglement_rmab characterises the mean-field map φ\varphiφ only through the configurations that an actual NNN-agent system can occupy — the points of the simplex whose coordinates are multiples of 1/N1/N1/N. That is enough to state the asymptotic theorems, but not to reason about φ\varphiφ as a map on the simplex: the stability analysis of Gast, Gaujal and Yan differentiates φ\varphiφ, iterates it and takes its spectral radius, all of which need φ\varphiφ defined everywhere.

This layer supplies the missing continuum objects.

The mean-field map on the whole simplex. Under an index policy with priority ν\nuν and activation fraction α\alphaα, the mass sitting in a local state xxx splits into an activated part and an idle part. The activated part is whatever is left of the budget after every strictly higher-priority state has been served, capped by the mass actually in xxx and floored at zero:

zx(m)  =  min⁡(mx, max⁡(0, α−∑νy>νxmy)),z_x(m) \;=\; \min\Big(m_x,\ \max\big(0,\ \alpha - \textstyle\sum_{\nu_y > \nu_x} m_y\big)\Big),zx​(m)=min(mx​, max(0, α−∑νy​>νx​​my​)),

and each part then moves by its own kernel:

φ(m)y  =  ∑x[(mx−zx(m)) P0(x,y)+zx(m) P1(x,y)].\varphi(m)_y \;=\; \sum_x \big[(m_x - z_x(m))\,P_0(x,y) + z_x(m)\,P_1(x,y)\big].φ(m)y​=x∑​[(mx​−zx​(m))P0​(x,y)+zx​(m)P1​(x,y)].

No NNN appears, which is exactly the point: it is the fixed activation fraction that makes the map independent of the system size. The companion theorem meanFieldMap_isMeanFieldMap checks that this formula agrees with the NNN-agent characterisation whenever α=M/N\alpha = M/Nα=M/N, so the two descriptions are the same map.

The priority regions. The configuration mmm lies in the priority region of the state xxx when xxx is the state the budget runs out in, ∑νy>νxmy≤α<∑νy>νxmy+mx\sum_{\nu_y > \nu_x} m_y \le \alpha < \sum_{\nu_y > \nu_x} m_y + m_x∑νy​>νx​​my​≤α<∑νy​>νx​​my​+mx​. These ∣S∣|S|∣S∣ regions cover the simplex, and φ\varphiφ is affine on each of them — the content of Lemma 7.

The limiting local policy. The activated mass in xxx as a fraction of the mass in xxx is the probability with which the mean-field limiting policy activates an agent in state xxx. This is the local policy that the index policy converges to, and the one the local chains in the value decomposition are built from.

The finite-horizon law of the process. One step of the NNN-agent joint state chain draws the joint action from the policy and then moves the agents independently through their own kernels; iterating gives the law after ttt steps. The concentration lemmas are statements about this law, expressed as finite sums rather than measure-theoretically.

Distributions, norms, non-degeneracy and stability. A plain distribution predicate (nonnegative, summing to one): the stationary occupancy of an index policy vanishes on every non-budgeted action profile, so the strictly positive predicate of the two-agent development is unsatisfiable here — every μ\muμ-weighted quantity downstream is stated with products rather than divisions, so nothing needs positivity. The ℓ1\ell^1ℓ1 norm on configurations, in which the one-step concentration bound is stated (the ℓ∞\ell^\inftyℓ∞ bounds reuse supNorm from the previous layer). The continuum form of non-degeneracy: the budget runs out strictly inside some state at m∗m^\astm∗, placing the fixed point in the interior of its priority region — the per-NNN form cannot hold at every NNN simultaneously (at N=1N=1N=1 the budget floors to zero). And stability on the tangent space: the affine piece KKK at the fixed point is determined by the dynamics only up to the rank-one gauge K↦K+1c⊤K \mapsto K + \mathbf{1}c^{\top}K↦K+1c⊤, which moves the spectrum but acts trivially on zero-sum vectors, so the well-posed notion is geometric contraction of KKK's powers on the differences m−m∗m - m^\astm−m∗.

Definition code
import Definitions.Def_markov_entanglement_rmab

open scoped BigOperators

namespace MarkovEntanglement

/-! ## The mean-field limit of a restless bandit

`Def_markov_entanglement_rmab` characterises the mean-field map `φ` only through the
configurations that an actual `N`-agent system can occupy — the points of the simplex whose
coordinates are multiples of `1/N`.  That is enough to *state* the asymptotic theorems, but
not to reason about `φ` as a map on the simplex: the stability analysis of Gast et al.
differentiates `φ`, iterates it and takes its spectral radius, all of which need `φ` defined
everywhere.

This layer supplies the missing continuum objects.  It gives an explicit formula for the
mean-field map on the whole simplex, and `meanFieldMap_isMeanFieldMap` checks that the
formula agrees with the characterisation of the previous layer on every configuration a real
system can occupy — so the two descriptions are the same map, and the asymptotic theorems may
be proved about the explicit one.

It also supplies the finite-horizon law of the configuration process, which the concentration
lemmas are statements about, and the two norms those lemmas use. -/

variable {S : Type*} [Fintype S] [DecidableEq S]

/-- The fraction of agents sitting in states of strictly higher priority than `x`.  This is
the continuum counterpart of `higherPriorityCount`. -/
noncomputable def higherPriorityMass (ν : S → ℝ) (m : S → ℝ) (x : S) : ℝ :=
  ∑ y ∈ Finset.univ.filter fun y => ν x < ν y, m y

/-- The fraction of the whole population that an index policy activates out of state `x`:
whatever is left of the budget `α` after every strictly higher-priority state has been served,
capped by the mass actually sitting in `x` and floored at zero.  This is the continuum
counterpart of `activateCount / N`. -/
noncomputable def activateFraction (ν : S → ℝ) (α : ℝ) (m : S → ℝ) (x : S) : ℝ :=
  min (m x) (max 0 (α - higherPriorityMass ν m x))

/-- The **mean-field transition map** on the whole simplex: the mass in each state splits into
the part that is activated and the part that is not, each moving by its own kernel.  Note that
`N` does not occur — it is the fixed activation *fraction* `α` that makes this possible. -/
noncomputable def meanFieldMap (P0 P1 : Matrix S S ℝ) (ν : S → ℝ) (α : ℝ)
    (m : S → ℝ) : S → ℝ := fun y =>
  ∑ x, ((m x - activateFraction ν α m x) * P0 x y + activateFraction ν α m x * P1 x y)

/-- The **priority region** of the state `x`: the configurations at which `x` is the marginal
state, the one the budget runs out in.  These `|S|` regions cover the simplex, and the
mean-field map is affine on each of them. -/
def IsPriorityRegion (ν : S → ℝ) (α : ℝ) (m : S → ℝ) (x : S) : Prop :=
  higherPriorityMass ν m x ≤ α ∧ α < higherPriorityMass ν m x + m x

/-- The probability that the **mean-field limiting policy** at the configuration `m` activates
an agent sitting in state `x`: the activated mass in `x` as a fraction of the mass in `x`.
This is the local policy that the index policy converges to, and the one the local chains in
the decomposition are built from. -/
noncomputable def meanFieldActivationProb (ν : S → ℝ) (α : ℝ) (m : S → ℝ) (x : S) : ℝ :=
  if m x = 0 then 0 else activateFraction ν α m x / m x

/-- The mean-field limiting policy as a local policy on `S × Bool`. -/
noncomputable def meanFieldLocalPolicy (ν : S → ℝ) (α : ℝ) (m : S → ℝ)
    (x : S) (a : Bool) : ℝ :=
  if a then meanFieldActivationProb ν α m x else 1 - meanFieldActivationProb ν α m x

/-- One step of the `N`-agent joint state chain under a policy: the agents draw their actions
jointly from `π` and then move independently through their own kernels. -/
noncomputable def rmabStep {N : ℕ} (P0 P1 : Matrix S S ℝ)
    (π : (Fin N → S) → (Fin N → Bool) → ℝ) (s s' : Fin N → S) : ℝ :=
  ∑ a : Fin N → Bool, π s a * ∏ j, rmabKernel P0 P1 (s j) (a j) (s' j)

/-- The law of the joint state after `t` steps from a fixed start. -/
noncomputable def rmabLaw {N : ℕ} (P0 P1 : Matrix S S ℝ)
    (π : (Fin N → S) → (Fin N → Bool) → ℝ) (s0 : Fin N → S) : ℕ → (Fin N → S) → ℝ
  | 0, s => if s = s0 then 1 else 0
  | (t + 1), s' => ∑ s, rmabLaw P0 P1 π s0 t s * rmabStep P0 P1 π s s'

/-- The `ℓ¹` norm on configurations, the one the one-step concentration bound is stated in.
The `ℓ∞` bounds reuse `supNorm` from the previous layer, so that they speak the same language
as the uniform global attractor property. -/
noncomputable def l1Norm (v : S → ℝ) : ℝ := ∑ x, |v x|

/-- A plain distribution: nonnegative weights summing to one.  The stationary occupancy of an
index policy vanishes on every non-budgeted action profile, so the strictly positive
`IsPositiveDist` of the two-agent development is unsatisfiable for the chains this theory is
about, and the asymptotic statements use this weaker form.  Every `μ`-weighted quantity
downstream (`muNorm`, `muAgentTVDistN`, `entanglementN`, `IsLocalTransitionN`) is already
stated with products rather than divisions, so nothing needs the weights to be positive. -/
def IsDist {ι : Type*} [Fintype ι] (μ : ι → ℝ) : Prop :=
  (∀ p, 0 ≤ μ p) ∧ ∑ p, μ p = 1

/-- A distribution over joint objects of `N` homogeneous agents is **exchangeable** when it
is invariant under permuting the agents.  The agents of a restless bandit are homogeneous and
the induced chain is symmetric, so its ergodic stationary distribution is exchangeable — and
exchangeability is the exact consequence the asymptotic arguments use: it is what lets a
per-agent quantity be replaced by its average over the agents, turning agent-indexed sums
into configuration-weighted ones.  A reducible chain also has non-exchangeable stationary
distributions concentrated on asymmetric closed classes, which is why the asymptotic
statements carry this as a hypothesis rather than deriving it. -/
def IsExchangeableDist {N : ℕ} {X : Type*} [Fintype X] (μ : (Fin N → X) → ℝ) : Prop :=
  ∀ σ : Equiv.Perm (Fin N), ∀ p : Fin N → X, μ (p ∘ σ) = μ p

/-- **Non-degeneracy in the mean-field limit** (the continuum form of Assumption 2): at
`m✦` some state is served only fractionally — the budget runs out strictly inside it, so the
limiting policy genuinely randomises there.  The strict inequalities place `m✦` in the
interior of its priority region, which is what makes the mean-field map genuinely affine in a
neighbourhood of the fixed point.  The per-`N` form `IsNonDegenerate` of the previous layer
cannot hold at every `N` simultaneously (at `N = 1` the budget floors to `0`), so the
asymptotic statements use this `N`-free form. -/
def IsNonDegenerateMeanField (ν : S → ℝ) (α : ℝ) (mstar : S → ℝ) : Prop :=
  ∃ x : S, 0 < mstar x ∧ 0 < α - higherPriorityMass ν mstar x ∧
    α - higherPriorityMass ν mstar x < mstar x

/-- A matrix is **stable on the tangent space** of the simplex when its powers contract
zero-sum row vectors geometrically.  The affine piece `K` of the mean-field map at the fixed
point is determined by the dynamics only up to the rank-one gauge `K ↦ K + 𝟙 cᵀ` (a constant
row shift, absorbed by the affine offset `b`), and that gauge moves the spectrum; what is
well defined — and what the stability analysis actually uses — is the action of `K` on the
differences `m − m✦`, which sum to zero.  Geometric decay of the powers on that subspace is
the finite-dimensional meaning of "the spectral radius of the linearised dynamics is `< 1`". -/
def IsStableOnTangent (K : Matrix S S ℝ) : Prop :=
  ∃ C ρ : ℝ, 0 ≤ C ∧ 0 ≤ ρ ∧ ρ < 1 ∧
    ∀ v : S → ℝ, (∑ x, v x) = 0 → ∀ t : ℕ,
      supNorm (Matrix.vecMul v (K ^ t)) ≤ C * ρ ^ t * supNorm v

end MarkovEntanglement
Source
Shuze Chen and Tianyi Peng, 'Multi-agent Markov Entanglement', arXiv:2506.02385v3, Appendix I, pp. 41-43
Read-back

What the Lean code literally says, in plain math · claude-opus-5

higherPriorityMass — For an arbitrary finite type SSS (no further structure assumed) this defines a real number from three inputs: a "priority" function ν:S→R\nu : S \to \mathbb{R}ν:S→R, a "mass" function m:S→Rm : S \to \mathbb{R}m:S→R, and a point x∈Sx \in Sx∈S. Its value is

HPMν(m,x)  =  ∑y∈Sν(x)<ν(y)m(y),\mathrm{HPM}_\nu(m,x) \;=\; \sum_{\substack{y \in S \\ \nu(x) < \nu(y)}} m(y),HPMν​(m,x)=y∈Sν(x)<ν(y)​∑​m(y),

i.e. the sum of mmm over exactly those yyy whose priority is strictly greater than the priority of xxx. Ties (ν(y)=ν(x)\nu(y) = \nu(x)ν(y)=ν(x)) are excluded, and in particular xxx itself never contributes. Nothing requires mmm to be nonnegative, to sum to 111, or to be a distribution of any kind, and nothing requires ν\nuν to be injective; mmm may take negative values and the sum may be negative. If no yyy has strictly larger priority the sum is over the empty set and the value is 000; if SSS is empty the function has no arguments xxx to be applied to.

activateFraction — For a finite type SSS, priorities ν:S→R\nu : S \to \mathbb{R}ν:S→R, a real scalar α\alphaα, a mass function m:S→Rm : S \to \mathbb{R}m:S→R and a point x∈Sx \in Sx∈S, this is the real number

actν,α(m,x)  =  min⁡(m(x),  max⁡(0,  α−HPMν(m,x))),\mathrm{act}_{\nu,\alpha}(m,x) \;=\; \min\Bigl(m(x),\; \max\bigl(0,\; \alpha - \mathrm{HPM}_\nu(m,x)\bigr)\Bigr),actν,α​(m,x)=min(m(x),max(0,α−HPMν​(m,x))),

where HPMν(m,x)=∑y: ν(x)<ν(y)m(y)\mathrm{HPM}_\nu(m,x) = \sum_{y:\ \nu(x)<\nu(y)} m(y)HPMν​(m,x)=∑y: ν(x)<ν(y)​m(y) is the total mass carried by states of strictly higher priority than xxx. So one takes the "budget left over after all strictly higher-priority states are served", α−HPMν(m,x)\alpha - \mathrm{HPM}_\nu(m,x)α−HPMν​(m,x), truncates it below at 000, and then caps it at m(x)m(x)m(x). There is no hypothesis that m≥0m \ge 0m≥0, that α≥0\alpha \ge 0α≥0, or that α≤∑xm(x)\alpha \le \sum_x m(x)α≤∑x​m(x): if m(x)<0m(x) < 0m(x)<0 the outer minimum returns m(x)m(x)m(x) itself, so the value is then negative rather than lying in [0,m(x)][0, m(x)][0,m(x)]; if α≤HPMν(m,x)\alpha \le \mathrm{HPM}_\nu(m,x)α≤HPMν​(m,x) the value is min⁡(m(x),0)\min(m(x), 0)min(m(x),0).

meanFieldMap — Given a finite type SSS, two arbitrary real square matrices P0,P1P_0, P_1P0​,P1​ indexed by S×SS \times SS×S (no stochasticity, nonnegativity, or row-sum hypothesis is imposed on either), priorities ν:S→R\nu : S \to \mathbb{R}ν:S→R, a real scalar α\alphaα, and a mass function m:S→Rm : S \to \mathbb{R}m:S→R, this produces a new function S→RS \to \mathbb{R}S→R whose value at y∈Sy \in Sy∈S is

(ΦP0,P1,ν,α(m))(y)  =  ∑x∈S[(m(x)−actν,α(m,x)) P0x,y  +  actν,α(m,x) P1x,y],\bigl(\Phi_{P_0,P_1,\nu,\alpha}(m)\bigr)(y) \;=\; \sum_{x \in S} \Bigl[\bigl(m(x) - \mathrm{act}_{\nu,\alpha}(m,x)\bigr)\,P_0^{x,y} \;+\; \mathrm{act}_{\nu,\alpha}(m,x)\,P_1^{x,y}\Bigr],(ΦP0​,P1​,ν,α​(m))(y)=x∈S∑​[(m(x)−actν,α​(m,x))P0x,y​+actν,α​(m,x)P1x,y​],

where actν,α(m,x)=min⁡(m(x),max⁡(0,α−∑y′: ν(x)<ν(y′)m(y′)))\mathrm{act}_{\nu,\alpha}(m,x) = \min\bigl(m(x), \max(0, \alpha - \sum_{y':\ \nu(x)<\nu(y')} m(y'))\bigr)actν,α​(m,x)=min(m(x),max(0,α−∑y′: ν(x)<ν(y′)​m(y′))) is the clamped leftover-budget quantity described above. That is, at each source state xxx the mass is split into an "active" part actν,α(m,x)\mathrm{act}_{\nu,\alpha}(m,x)actν,α​(m,x) pushed through P1P_1P1​ and a "passive" remainder m(x)−actν,α(m,x)m(x) - \mathrm{act}_{\nu,\alpha}(m,x)m(x)−actν,α​(m,x) pushed through P0P_0P0​, and the contributions are summed over all xxx. Nothing constrains mmm to be a probability vector, so the passive remainder and the output need not be nonnegative. If SSS is empty, the result is the empty function and every such sum is 000.

IsPriorityRegion — This is a proposition (not a number) about a finite type SSS, priorities ν:S→R\nu : S \to \mathbb{R}ν:S→R, a real scalar α\alphaα, a mass function m:S→Rm : S \to \mathbb{R}m:S→R, and a point x∈Sx \in Sx∈S. It asserts the conjunction of two inequalities:

HPMν(m,x)  ≤  αandα  <  HPMν(m,x)+m(x),\mathrm{HPM}_\nu(m,x) \;\le\; \alpha \qquad\text{and}\qquad \alpha \;<\; \mathrm{HPM}_\nu(m,x) + m(x),HPMν​(m,x)≤αandα<HPMν​(m,x)+m(x),

where HPMν(m,x)=∑y: ν(x)<ν(y)m(y)\mathrm{HPM}_\nu(m,x) = \sum_{y:\ \nu(x)<\nu(y)} m(y)HPMν​(m,x)=∑y: ν(x)<ν(y)​m(y) is the mass of strictly-higher-priority states. Equivalently, α\alphaα lies in the half-open interval [HPMν(m,x), HPMν(m,x)+m(x))[\mathrm{HPM}_\nu(m,x),\ \mathrm{HPM}_\nu(m,x) + m(x))[HPMν​(m,x), HPMν​(m,x)+m(x)) — closed on the left with a non-strict ≤\le≤, open on the right with a strict <<<. Note that the two conditions can only both hold if m(x)>0m(x) > 0m(x)>0; for m(x)≤0m(x) \le 0m(x)≤0 the interval is empty and the proposition is unsatisfiable for that xxx. No hypotheses are placed on ν\nuν, α\alphaα, or mmm.

meanFieldActivationProb — For a finite type SSS, priorities ν:S→R\nu : S \to \mathbb{R}ν:S→R, a real scalar α\alphaα, a mass function m:S→Rm : S \to \mathbb{R}m:S→R, and a point x∈Sx \in Sx∈S, this is the real number defined by cases: it equals 000 when m(x)=0m(x) = 0m(x)=0, and otherwise equals the ratio

actν,α(m,x)m(x),actν,α(m,x)=min⁡(m(x), max⁡(0, α−∑y: ν(x)<ν(y)m(y))).\frac{\mathrm{act}_{\nu,\alpha}(m,x)}{m(x)}, \qquad \mathrm{act}_{\nu,\alpha}(m,x) = \min\Bigl(m(x),\ \max\bigl(0,\ \alpha - \textstyle\sum_{y:\ \nu(x)<\nu(y)} m(y)\bigr)\Bigr).m(x)actν,α​(m,x)​,actν,α​(m,x)=min(m(x), max(0, α−∑y: ν(x)<ν(y)​m(y))).

The m(x)=0m(x) = 0m(x)=0 branch is a stipulated value, chosen to avoid division by zero rather than derived. Despite the name, nothing forces this quantity into [0,1][0,1][0,1]: it is a ratio of two unconstrained reals, and when m(x)<0m(x) < 0m(x)<0 the numerator equals m(x)m(x)m(x), making the value exactly 111. No hypothesis states that mmm is nonnegative or a distribution, or that α≥0\alpha \ge 0α≥0.

meanFieldLocalPolicy — For a finite type SSS, priorities ν:S→R\nu : S \to \mathbb{R}ν:S→R, a real α\alphaα, a mass function m:S→Rm : S \to \mathbb{R}m:S→R, a state x∈Sx \in Sx∈S and a Boolean aaa, this is the real number

πν,α,m(x,a)  =  {p(x)a=true,1−p(x)a=false,\pi_{\nu,\alpha,m}(x, a) \;=\; \begin{cases} p(x) & a = \text{true},\\[2pt] 1 - p(x) & a = \text{false},\end{cases}πν,α,m​(x,a)={p(x)1−p(x)​a=true,a=false,​

where p(x)p(x)p(x) is the quantity of the previous declaration: p(x)=0p(x) = 0p(x)=0 if m(x)=0m(x) = 0m(x)=0, and p(x)=actν,α(m,x)/m(x)p(x) = \mathrm{act}_{\nu,\alpha}(m,x)/m(x)p(x)=actν,α​(m,x)/m(x) otherwise, with actν,α(m,x)=min⁡(m(x),max⁡(0,α−∑y: ν(x)<ν(y)m(y)))\mathrm{act}_{\nu,\alpha}(m,x) = \min\bigl(m(x), \max(0, \alpha - \sum_{y:\ \nu(x)<\nu(y)} m(y))\bigr)actν,α​(m,x)=min(m(x),max(0,α−∑y: ν(x)<ν(y)​m(y))). By construction the two values sum to 111 for every xxx, but there is no hypothesis making either of them nonnegative or at most 111; the action set is the two-element Boolean type.

rmabStep — Fix a natural number NNN (which may be 000), a finite type SSS with decidable equality, and two arbitrary real S×SS \times SS×S matrices P0,P1P_0, P_1P0​,P1​ (no row-stochasticity or nonnegativity assumed). Given an arbitrary real-valued function π\piπ of a joint state s∈SNs \in S^{N}s∈SN (a function {0,…,N−1}→S\{0,\dots,N-1\} \to S{0,…,N−1}→S) and a joint action a∈{false,true}Na \in \{\text{false},\text{true}\}^{N}a∈{false,true}N — with no hypothesis that π\piπ is nonnegative, normalized, or budget-respecting — and given joint states s,s′∈SNs, s' \in S^Ns,s′∈SN, this defines

Step(s,s′)  =  ∑a∈{false,true}Nπ(s,a)∏j=0N−1K(sj, aj, sj′),K(x,b,y)={P1x,yb=true,P0x,yb=false.\mathrm{Step}(s, s') \;=\; \sum_{a \in \{\text{false},\text{true}\}^{N}} \pi(s,a) \prod_{j=0}^{N-1} K\bigl(s_j,\, a_j,\, s'_j\bigr), \qquad K(x,b,y) = \begin{cases} P_1^{x,y} & b = \text{true},\\ P_0^{x,y} & b = \text{false}.\end{cases}Step(s,s′)=a∈{false,true}N∑​π(s,a)j=0∏N−1​K(sj​,aj​,sj′​),K(x,b,y)={P1x,y​P0x,y​​b=true,b=false.​

The sum ranges over all 2N2^N2N Boolean tuples and the product over all NNN coordinates, so the per-arm transitions are taken to be conditionally independent given the action. In the degenerate case N=0N = 0N=0 there is exactly one (empty) action tuple and the empty product is 111, so the value reduces to π(s,aempty)\pi(s, a_{\text{empty}})π(s,aempty​) for the unique empty state tuples.

rmabLaw — Fix N:NN : \mathbb{N}N:N, a finite type SSS with decidable equality, arbitrary real S×SS \times SS×S matrices P0,P1P_0, P_1P0​,P1​, an arbitrary real-valued function π\piπ on (joint state, joint action) pairs with no assumption that it is a probability distribution, and an initial joint state s0∈SNs_0 \in S^Ns0​∈SN. This defines, by recursion on a time index t∈Nt \in \mathbb{N}t∈N, a real-valued function on joint states:

L0(s)={1s=s0,0otherwise,Lt+1(s′)  =  ∑s∈SNLt(s) Step(s,s′),L_0(s) = \begin{cases} 1 & s = s_0,\\ 0 & \text{otherwise},\end{cases} \qquad L_{t+1}(s') \;=\; \sum_{s \in S^N} L_t(s)\,\mathrm{Step}(s, s'),L0​(s)={10​s=s0​,otherwise,​Lt+1​(s′)=s∈SN∑​Lt​(s)Step(s,s′),

where Step(s,s′)=∑a∈{false,true}Nπ(s,a)∏jK(sj,aj,sj′)\mathrm{Step}(s,s') = \sum_{a \in \{\text{false},\text{true}\}^N} \pi(s,a) \prod_{j} K(s_j, a_j, s'_j)Step(s,s′)=∑a∈{false,true}N​π(s,a)∏j​K(sj​,aj​,sj′​) with K(x,true,y)=P1x,yK(x,\text{true},y) = P_1^{x,y}K(x,true,y)=P1x,y​ and K(x,false,y)=P0x,yK(x,\text{false},y) = P_0^{x,y}K(x,false,y)=P0x,y​. So L0L_0L0​ is the point mass (as an indicator function) at s0s_0s0​ and each subsequent time step is left-multiplication of the current row vector by the one-step matrix. Since no positivity or normalization hypotheses are present on π\piπ, P0P_0P0​, or P1P_1P1​, the values Lt(s)L_t(s)Lt​(s) are arbitrary reals and need not be nonnegative or sum to 111. The sums range over the full finite set SNS^NSN of joint states; when N=0N = 0N=0 this set is a single point.

l1Norm — For a finite type SSS and an arbitrary function v:S→Rv : S \to \mathbb{R}v:S→R, this is the real number ∑x∈S∣v(x)∣\sum_{x \in S} |v(x)|∑x∈S​∣v(x)∣, the sum of absolute values of the coordinates over all of SSS. If SSS is empty the value is 000. No normalization or sign hypothesis is placed on vvv.

IsDist — For an arbitrary finite type ι\iotaι and an arbitrary function μ:ι→R\mu : \iota \to \mathbb{R}μ:ι→R, this is the proposition asserting both of:

∀p∈ι,  0≤μ(p)and∑p∈ιμ(p)=1.\forall p \in \iota,\; 0 \le \mu(p) \qquad\text{and}\qquad \sum_{p \in \iota} \mu(p) = 1.∀p∈ι,0≤μ(p)andp∈ι∑​μ(p)=1.

That is, μ\muμ is pointwise nonnegative and its total mass over the whole index type is exactly 111. Note that when ι\iotaι is empty the sum is 0≠10 \ne 10=1, so the proposition is unsatisfiable in that case. The index type ι\iotaι here is a fresh type variable independent of the ambient SSS.

IsExchangeableDist — For a natural number NNN, an arbitrary finite type XXX, and an arbitrary function μ:XN→R\mu : X^N \to \mathbb{R}μ:XN→R defined on tuples p:{0,…,N−1}→Xp : \{0,\dots,N-1\} \to Xp:{0,…,N−1}→X, this is the proposition

∀ σ∈SN,  ∀ p:{0,…,N−1}→X,μ(p∘σ)=μ(p),\forall\, \sigma \in \mathfrak{S}_N,\; \forall\, p : \{0,\dots,N-1\} \to X,\qquad \mu(p \circ \sigma) = \mu(p),∀σ∈SN​,∀p:{0,…,N−1}→X,μ(p∘σ)=μ(p),

quantifying over all permutations σ\sigmaσ of the index set {0,…,N−1}\{0,\dots,N-1\}{0,…,N−1} and all tuples ppp; p∘σp \circ \sigmap∘σ is the tuple whose iii-th entry is p(σ(i))p(\sigma(i))p(σ(i)). This asserts only permutation-invariance of the function μ\muμ; despite the name, nothing here requires μ\muμ to be nonnegative or to sum to 111, so any constant function — including the zero function — satisfies it. When N=0N = 0N=0 there is a single tuple and a single permutation and the condition holds trivially.

IsNonDegenerateMeanField — For a finite type SSS, priorities ν:S→R\nu : S \to \mathbb{R}ν:S→R, a real scalar α\alphaα, and a function m⋆:S→Rm^\star : S \to \mathbb{R}m⋆:S→R, this is the proposition that there exists a state x∈Sx \in Sx∈S satisfying all three of:

0<m⋆(x),0<α−HPMν(m⋆,x),α−HPMν(m⋆,x)<m⋆(x),0 < m^\star(x), \qquad 0 < \alpha - \mathrm{HPM}_\nu(m^\star, x), \qquad \alpha - \mathrm{HPM}_\nu(m^\star, x) < m^\star(x),0<m⋆(x),0<α−HPMν​(m⋆,x),α−HPMν​(m⋆,x)<m⋆(x),

where HPMν(m⋆,x)=∑y: ν(x)<ν(y)m⋆(y)\mathrm{HPM}_\nu(m^\star,x) = \sum_{y:\ \nu(x)<\nu(y)} m^\star(y)HPMν​(m⋆,x)=∑y: ν(x)<ν(y)​m⋆(y) is the total m⋆m^\starm⋆-mass of the states with strictly higher priority than xxx. Equivalently: some state carries strictly positive mass and the residual budget α−HPMν(m⋆,x)\alpha - \mathrm{HPM}_\nu(m^\star,x)α−HPMν​(m⋆,x) at that state lies strictly between 000 and m⋆(x)m^\star(x)m⋆(x) — both endpoints excluded. Existence, not uniqueness, is asserted; no hypothesis says m⋆m^\starm⋆ is a distribution, is nonnegative, or is a fixed point of anything, and no hypothesis constrains α\alphaα. If SSS is empty the proposition is false.

IsStableOnTangent — For a finite type SSS and an arbitrary real square matrix KKK indexed by S×SS \times SS×S (with no stochasticity, nonnegativity, or symmetry hypothesis), this is the proposition that there exist real numbers CCC and ρ\rhoρ such that

0≤C,0≤ρ,ρ<1,0 \le C, \qquad 0 \le \rho, \qquad \rho < 1,0≤C,0≤ρ,ρ<1,

and such that for every vector v:S→Rv : S \to \mathbb{R}v:S→R whose coordinates sum to zero, ∑x∈Sv(x)=0\sum_{x \in S} v(x) = 0∑x∈S​v(x)=0, and for every natural number ttt (including t=0t = 0t=0),

∥v Kt∥∞  ≤  C ρt ∥v∥∞,\bigl\| v\,K^{t} \bigr\|_\infty \;\le\; C\,\rho^{t}\,\|v\|_\infty ,​vKt​∞​≤Cρt∥v∥∞​,

where vKtv K^tvKt denotes the row-vector-times-matrix product, i.e. the function y↦∑xv(x) (Kt)x,yy \mapsto \sum_{x} v(x)\,(K^t)^{x,y}y↦∑x​v(x)(Kt)x,y, with KtK^tKt the ttt-th matrix power (K0K^0K0 being the identity matrix), and where ∥w∥∞\|w\|_\infty∥w∥∞​ denotes the supremum sup⁡x∈S∣w(x)∣\sup_{x \in S} |w(x)|supx∈S​∣w(x)∣ over the finite index type (for empty SSS this supremum is 000 by the convention for the supremum of an empty set of reals). The bound is a non-strict ≤\le≤, the decay rate satisfies a strict ρ<1\rho < 1ρ<1 but is allowed to be 000, and ρ0\rho^0ρ0 is 111. Because the case t=0t = 0t=0 is included, the condition at t=0t=0t=0 reads ∥v∥∞≤C∥v∥∞\|v\|_\infty \le C\|v\|_\infty∥v∥∞​≤C∥v∥∞​ for all zero-sum vvv. The zero vector always satisfies the zero-sum hypothesis; if SSS is empty, or more generally if the only zero-sum vector considered is 000, the universally quantified condition is satisfiable trivially.

Human review
  • Endorsed by Shuze Chen · Aug 28, 2026

  • Endorsed by tianyipeng · Aug 30, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactJoin Slack© 2026 Prove2Me