Documentation

LeanPool.Feige.BooleanChain

Maximal chains in the Boolean lattice #

A permutation σ : Equiv.Perm (Fin m) records the order in which elements are inserted into a maximal chain. The state at level j consists of the first j elements in that order. The lemmas below expose both the ranked chain structure and the exact one-element insertion step needed by the mass transport argument.

def Feige.chainState {m : } (σ : Equiv.Perm (Fin m)) (j : Fin (m + 1)) :

The level-j state of the maximal Boolean-lattice chain encoded by σ. Here σ k is the element inserted at step k.

Equations
Instances For
    @[simp]
    theorem Feige.mem_chainState_iff {m : } (σ : Equiv.Perm (Fin m)) (j : Fin (m + 1)) (i : Fin m) :
    i chainState σ j ((Equiv.symm σ) i) < j
    @[simp]
    theorem Feige.chainState_zero {m : } (σ : Equiv.Perm (Fin m)) :
    @[simp]
    theorem Feige.card_chainState {m : } (σ : Equiv.Perm (Fin m)) (j : Fin (m + 1)) :
    (chainState σ j).card = j
    theorem Feige.chainState_mono {m : } (σ : Equiv.Perm (Fin m)) {j k : Fin (m + 1)} (hjk : j k) :
    chainState σ jchainState σ k

    States are monotone in their level.

    theorem Feige.perm_not_mem_chainState_castSucc {m : } (σ : Equiv.Perm (Fin m)) (j : Fin m) :
    σ jchainState σ j.castSucc

    The element inserted at step j was not present before that step.

    theorem Feige.chainState_succ {m : } (σ : Equiv.Perm (Fin m)) (j : Fin m) :

    Passing from level j to level j+1 inserts exactly σ j.

    theorem Feige.chainState_succ_sdiff {m : } (σ : Equiv.Perm (Fin m)) (j : Fin m) :

    Consecutive states differ by precisely the singleton containing the next permutation element.

    theorem Feige.chainState_ssubset {m : } (σ : Equiv.Perm (Fin m)) {j k : Fin (m + 1)} (hjk : j < k) :
    chainState σ jchainState σ k

    Distinct levels are strictly nested.