Documentation

LeanPool.Feige.ChainCalibration

Calibrated measures on finite chains #

This file formalizes the telescoping chain-calibration step used in the proof of Theorem 2.1. We use the sentinel convention K (m + 1) = 0; consequently every chain mass, including the last one, is uniformly the adjacent difference

q j = K j - K (j + 1).

The key fact is that the mass of a terminal segment beginning at t is exactly K t, which gives exact chain calibration whenever the rejected states form that terminal segment.

def Feige.chainMass (K : ) (j : ) :

Adjacent-difference mass associated with a decreasing sequence.

Equations
Instances For
    structure Feige.CalibratedChain (m : ) :

    A decreasing chain of m + 1 statistic values, extended by a zero sentinel at index m + 1.

    • K :

      The statistic along the chain.

    • antitone : Antitone self.K
    • initial : self.K 0 = 1
    • sentinel : self.K (m + 1) = 0
    Instances For
      noncomputable def Feige.CalibratedChain.rejectedMass {m : } (C : CalibratedChain m) (α : ) :

      Total chain mass of states whose statistic does not exceed α.

      Equations
      Instances For
        theorem Feige.CalibratedChain.sum_chainMass_shift (K : ) (t r : ) :
        jFinset.range r, chainMass K (t + j) = K t - K (t + r)

        A shifted telescoping sum of adjacent differences.

        theorem Feige.CalibratedChain.sum_chainMass_Ico (K : ) {t u : } (htu : t u) :
        jFinset.Ico t u, chainMass K j = K t - K u

        Telescoping over a half-open interval of indices.

        theorem Feige.CalibratedChain.total_mass {m : } (C : CalibratedChain m) :
        jFinset.range (m + 1), chainMass C.K j = 1

        The adjacent-difference masses telescope to one.

        theorem Feige.CalibratedChain.terminal_mass {m : } (C : CalibratedChain m) {t : } (ht : t m + 1) :
        jFinset.range (m + 1 - t), chainMass C.K (t + j) = C.K t

        The mass from position t through the final genuine state m is exactly the statistic value at t.

        theorem Feige.CalibratedChain.terminal_mass_Ico {m : } (C : CalibratedChain m) {t : } (ht : t m + 1) :
        jFinset.Ico t (m + 1), chainMass C.K j = C.K t
        theorem Feige.CalibratedChain.calibration_terminal {m : } (C : CalibratedChain m) {t : } (ht : t m + 1) {α : } (hreject : C.K t α) :
        jFinset.range (m + 1 - t), chainMass C.K (t + j) α

        Terminal-segment form of exact chain calibration: if rejection begins at t, its chain probability is at most its threshold α.

        theorem Feige.CalibratedChain.exact_chain_calibration {m : } (C : CalibratedChain m) {t : } (ht : t m + 1) {α : } ( : 0 α) (hterminal : j < m + 1, C.K j α t j) (hreject : t mC.K t α) :

        Rejection-set formulation of exact chain calibration. Monotonicity makes the rejected states a terminal segment; hterminal names its first index. The case t = m + 1 represents an empty rejection set.

        theorem Feige.CalibratedChain.exact_chain_calibration' {m : } (C : CalibratedChain m) {α : } ( : 0 α) :

        Exact calibration along a chain, with the first rejected state chosen automatically. The zero sentinel guarantees that such an index exists; if it is the sentinel itself, the genuine rejection set is empty.