Documentation

Atlas.BooleanFunctions.code.Boltzmann

def BooleanFourier.restrict {n : } (f : (Fin (n + 1)Bool)Bool) (b : Bool) :
(Fin nBool)Bool
Instances For
    theorem BooleanFourier.card_filter_cons {n : } (f : (Fin (n + 1)Bool)Bool) (b : Bool) :
    {x : Fin (n + 1)Bool | x 0 = b f x = true}.card = {y : Fin nBool | f (Fin.cons b y) = true}.card
    theorem BooleanFourier.filter_card_decomp {n : } (f : (Fin (n + 1)Bool)Bool) :
    {x : Fin (n + 1)Bool | f x = true}.card = {y : Fin nBool | f (Fin.cons false y) = true}.card + {y : Fin nBool | f (Fin.cons true y) = true}.card
    theorem BooleanFourier.vol_restrict_decomp {n : } (f : (Fin (n + 1)Bool)Bool) :
    theorem BooleanFourier.filter_card_split_by_first_coord {n : } (P : (Fin (n + 1)Bool)Prop) [DecidablePred P] :
    (Finset.filter P Finset.univ).card = {y : Fin nBool | P (Fin.cons false y)}.card + {y : Fin nBool | P (Fin.cons true y)}.card
    theorem BooleanFourier.flipCoord_cons_zero {n : } (b : Bool) (y : Fin nBool) :
    theorem BooleanFourier.flipCoord_cons_succ {n : } (b : Bool) (y : Fin nBool) (i : Fin n) :
    theorem BooleanFourier.influence_succ_eq {n : } (f : (Fin (n + 1)Bool)Bool) (i : Fin n) :
    theorem BooleanFourier.card_disagree_ge_abs_diff {α : Type u_1} [Fintype α] [DecidableEq α] (f₀ f₁ : αBool) :
    {y : α | f₀ y f₁ y}.card |{y : α | f₁ y = true}.card - {y : α | f₀ y = true}.card|
    theorem BooleanFourier.tensorization_half (α₀ α₁ : ) (hα₀_pos : 0 < α₀) (hα₁_pos : 0 < α₁) (hα₀_le : α₀ 1) (hα₁_le : α₁ 1) :
    (α₀ * (Real.log (1 / α₀) / Real.log 2) + α₁ * (Real.log (1 / α₁) / Real.log 2)) / 2 + |α₁ - α₀| (α₀ + α₁) / 2 * (Real.log (1 / ((α₀ + α₁) / 2)) / Real.log 2)
    theorem BooleanFourier.tensorization_half_boundary_left (α₁ : ) (hα₁_pos : 0 < α₁) (hα₁_le : α₁ 1) :
    (0 * (Real.log (1 / 0) / Real.log 2) + α₁ * (Real.log (1 / α₁) / Real.log 2)) / 2 + |α₁ - 0| (0 + α₁) / 2 * (Real.log (1 / ((0 + α₁) / 2)) / Real.log 2)
    theorem BooleanFourier.tensorization_half_boundary_right (α₀ : ) (hα₀_pos : 0 < α₀) (hα₀_le : α₀ 1) :
    (α₀ * (Real.log (1 / α₀) / Real.log 2) + 0 * (Real.log (1 / 0) / Real.log 2)) / 2 + |0 - α₀| (α₀ + 0) / 2 * (Real.log (1 / ((α₀ + 0) / 2)) / Real.log 2)