Documentation

LeanPool.KahnKalai.Covering

Tran–Vu Theorem 2.3: the covering theorem.

theorem KahnKalai.frac_le_one ( : ) :
2 / 3 + 1 / 2 ^ ( + 2) 1
theorem KahnKalai.covering_of_empty_mem {α : Type u_1} [DecidableEq α] [Fintype α] {H : Finset (Finset α)} { : } {p : } (h : H) :
(2 / 3 + 1 / 2 ^ ( + 2)) * ((Fintype.card α).choose (coveringLevel p (Fintype.card α) )) {Sgenerate H | S.card = coveringLevel p (Fintype.card α) }.card
theorem KahnKalai.covering_of_level_ge_card {α : Type u_1} [DecidableEq α] [Fintype α] {H : Finset (Finset α)} { : } {p : } (hp0 : 0 p) (hf : 1 / 2 - 1 / 2 ^ ( + 2) coverCost p H) (hm : Fintype.card α coveringLevel p (Fintype.card α) ) :
(2 / 3 + 1 / 2 ^ ( + 2)) * ((Fintype.card α).choose (coveringLevel p (Fintype.card α) )) {Sgenerate H | S.card = coveringLevel p (Fintype.card α) }.card
theorem KahnKalai.ell1_lt { : } (hℓ : 1 ) :
9 / 10 * ⌋₊ <
theorem KahnKalai.coveringLevel_nonneg (p : ) (N : ) (hp0 : 0 p) :
0 coveringConstant * p * N * Real.logb 2 ( + 1)
theorem KahnKalai.floor_add_floor_le {a b : } (ha : 0 a) (hb : 0 b) :
theorem KahnKalai.log_ell1_add_le ( : ) (hℓ : 1 ) :
Real.logb 2 (9 / 10 * ⌋₊ + 1) + 1 / 10 Real.logb 2 ( + 1)
theorem KahnKalai.coveringLevel_lift {p : } {N w : } (hp0 : 0 p) (hℓ : 1 ) (hw : w = coveringWidth p N) :
coveringLevel p (N - w) 9 / 10 * ⌋₊ + w coveringLevel p N
theorem KahnKalai.card_subtype_not_mem {α : Type u_1} [DecidableEq α] [Fintype α] (W : Finset α) :
Fintype.card { x : α // xW } = Fintype.card α - W.card
def KahnKalai.toSub {α : Type u_1} [DecidableEq α] (W S : Finset α) :
Finset { x : α // xW }

Regard the part of S outside W as a finset in the complementary subtype.

Equations
Instances For
    def KahnKalai.ofSub {α : Type u_1} (W : Finset α) (T : Finset { x : α // xW }) :

    Map a finset in the complement of W back to the ambient type.

    Equations
    Instances For
      theorem KahnKalai.ofSub_card {α : Type u_1} (W : Finset α) (T : Finset { x : α // xW }) :
      (ofSub W T).card = T.card
      theorem KahnKalai.ofSub_toSub {α : Type u_1} [DecidableEq α] {W S : Finset α} (h : Disjoint S W) :
      ofSub W (toSub W S) = S
      theorem KahnKalai.toSub_subset {α : Type u_1} [DecidableEq α] {W S T : Finset α} (h : ST) :
      toSub W StoSub W T
      theorem KahnKalai.ofSub_subset {α : Type u_1} {W : Finset α} {T₁ T₂ : Finset { x : α // xW }} (h : T₁T₂) :
      ofSub W T₁ofSub W T₂
      theorem KahnKalai.smallMinimals_disjoint {α : Type u_1} [DecidableEq α] [Fintype α] {H : Finset (Finset α)} {W T : Finset α} { : } (h : T smallMinimals H W ) :
      theorem KahnKalai.toSub_card {α : Type u_1} [DecidableEq α] {W S : Finset α} (h : Disjoint S W) :
      (toSub W S).card = S.card
      theorem KahnKalai.coverCost_toSub {α : Type u_1} [DecidableEq α] [Fintype α] {p : } (hp0 : 0 p) (F : Finset (Finset α)) (W : Finset α) (hF : SF, Disjoint S W) :
      theorem KahnKalai.generate_union_mem {α : Type u_1} [DecidableEq α] [Fintype α] {H : Finset (Finset α)} {W : Finset α} { : } {T : Finset { x : α // xW }} (hT : T generate (Finset.image (toSub W) (smallMinimals H W ))) :
      theorem KahnKalai.ofSub_union_card {α : Type u_1} [DecidableEq α] {W : Finset α} (T : Finset { x : α // xW }) :
      (ofSub W T W).card = T.card + W.card
      theorem KahnKalai.coveringWidth_le_card {p : } {N : } (hp0 : 0 p) (hℓ : 1 ) (hlev : ¬N coveringLevel p N ) :
      theorem KahnKalai.floor_nine_tenths_le_card_sub_width {p : } {N : } (hp0 : 0 p) (hℓ : 1 ) (hℓN : N) (hN : 1 N) (hlev : ¬N coveringLevel p N ) :
      9 / 10 * ⌋₊ N - coveringWidth p N
      theorem KahnKalai.geometric_tail_bound ( : ) (hℓ : 1 ) :
      (∑ kFinset.Icc (kmin ) , (1 / 100) ^ k * (.choose k)) * 2 ^ ( + 2) 12 / 11 * (1 / 2 ^ ( + 2))
      theorem KahnKalai.restricted_level_card_le {α : Type u_1} [DecidableEq α] [Fintype α] {H : Finset (Finset α)} {W : Finset α} {k w : } (hWcard : W.card = w) :
      {Tgenerate (Finset.image (toSub W) (smallMinimals H W )) | T.card = k}.card {Sgenerate H | S.card = k + w WS}.card
      theorem KahnKalai.good_width_card_lower_bound {α : Type u_1} [DecidableEq α] [Fintype α] {H : Finset (Finset α)} {p : } {N w : } (hp0 : 0 p) (hb : IsBounded H ) (hNcard : Fintype.card α = N) (hw : w = coveringWidth p N) :
      have Good := {W{W : Finset α | W.card = w} | coverCost p (largeMinimals H W ) 1 / 2 ^ ( + 2)}; (N.choose w) * (1 - (∑ kFinset.Icc (kmin ) , (1 / 100) ^ k * (.choose k)) * 2 ^ ( + 2)) Good.card
      theorem KahnKalai.good_level_of_induction {α : Type u_1} [DecidableEq α] [Fintype α] {H : Finset (Finset α)} {W : Finset α} {p : } {N w ℓ₁ : } (hind : ∀ (H' : Finset (Finset { x : α // xW })) (p' : ), ℓ₁ Fintype.card { x : α // xW }0 p'p' 1IsBounded H' ℓ₁1 / 2 - 1 / 2 ^ (ℓ₁ + 2) coverCost p' H' → (2 / 3 + 1 / 2 ^ (ℓ₁ + 2)) * ((Fintype.card { x : α // xW }).choose (coveringLevel p' (Fintype.card { x : α // xW }) ℓ₁)) {Sgenerate H' | S.card = coveringLevel p' (Fintype.card { x : α // xW }) ℓ₁}.card) (hp0 : 0 p) (hp1 : p 1) (hℓ₁N : ℓ₁ N - w) (hℓ₁lt : ℓ₁ < ) (hℓ₁ : ℓ₁ = 9 / 10 * ⌋₊) (hf : 1 / 2 - 1 / 2 ^ ( + 2) coverCost p H) (hNcard : Fintype.card α = N) (hWcard : W.card = w) (hgood : coverCost p (largeMinimals H W ) 1 / 2 ^ ( + 2)) :
      (2 / 3 + 1 / 2 ^ (ℓ₁ + 2)) * ((N - w).choose (coveringLevel p (N - w) ℓ₁)) {Tgenerate (Finset.image (toSub W) (smallMinimals H W )) | T.card = coveringLevel p (N - w) ℓ₁}.card
      theorem KahnKalai.covering_aux ( : ) {α : Type u_2} [DecidableEq α] [Fintype α] (H : Finset (Finset α)) (p : ) :
      Fintype.card α0 pp 1IsBounded H 1 / 2 - 1 / 2 ^ ( + 2) coverCost p H → (2 / 3 + 1 / 2 ^ ( + 2)) * ((Fintype.card α).choose (coveringLevel p (Fintype.card α) )) {Sgenerate H | S.card = coveringLevel p (Fintype.card α) }.card

      Strong inductive form of Tran–Vu Theorem 2.3.