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.
The level-j state of the maximal Boolean-lattice chain encoded by
σ. Here σ k is the element inserted at step k.
Equations
- Feige.chainState σ j = Finset.map (Equiv.toEmbedding σ) {k : Fin m | ↑k < ↑j}
Instances For
@[simp]
@[simp]
@[simp]
theorem
Feige.chainState_mono
{m : ℕ}
(σ : Equiv.Perm (Fin m))
{j k : Fin (m + 1)}
(hjk : j ≤ k)
:
chainState σ j ⊆ chainState σ k
States are monotone in their level.
theorem
Feige.perm_not_mem_chainState_castSucc
{m : ℕ}
(σ : Equiv.Perm (Fin m))
(j : Fin m)
:
σ j ∉ chainState σ j.castSucc
The element inserted at step j was not present before that step.
Passing from level j to level j+1 inserts exactly σ j.
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 σ j ⊂ chainState σ k
Distinct levels are strictly nested.