Documentation

Atlas.BooleanFunctions.code.FourierExpansion

noncomputable def BooleanFourier.boolToReal (b : Bool) :
Instances For
    noncomputable def BooleanFourier.chi {n : } (S : Finset (Fin n)) (x : Fin nBool) :
    Instances For
      @[simp]
      theorem BooleanFourier.chi_empty {n : } (x : Fin nBool) :
      chi x = 1
      theorem BooleanFourier.chi_sq {n : } (S : Finset (Fin n)) (x : Fin nBool) :
      chi S x ^ 2 = 1
      theorem BooleanFourier.chi_mul_self {n : } (S : Finset (Fin n)) (x : Fin nBool) :
      chi S x * chi S x = 1
      theorem BooleanFourier.chi_ne_zero {n : } (S : Finset (Fin n)) (x : Fin nBool) :
      chi S x 0
      noncomputable def BooleanFourier.fourierCoeff {n : } (f : (Fin nBool)) (S : Finset (Fin n)) :
      Instances For
        def BooleanFourier.flipAt {n : } (j : Fin n) (x : Fin nBool) :
        Fin nBool
        Instances For
          theorem BooleanFourier.flipAt_flipAt {n : } (j : Fin n) (x : Fin nBool) :
          flipAt j (flipAt j x) = x
          theorem BooleanFourier.flipAt_ne_self {n : } (j : Fin n) (x : Fin nBool) :
          flipAt j x x
          theorem BooleanFourier.chi_flipAt {n : } (S : Finset (Fin n)) (j : Fin n) (hj : j S) (x : Fin nBool) :
          chi S (flipAt j x) = -chi S x
          theorem BooleanFourier.sum_chi {n : } (S : Finset (Fin n)) :
          x : Fin nBool, chi S x = if S = then 2 ^ n else 0
          theorem BooleanFourier.sum_chi_mul_chi {n : } (x y : Fin nBool) :
          S : Finset (Fin n), chi S x * chi S y = if x = y then 2 ^ n else 0
          theorem BooleanFourier.fourier_expansion {n : } (f : (Fin nBool)) (x : Fin nBool) :
          f x = S : Finset (Fin n), fourierCoeff f S * chi S x
          noncomputable def BooleanFourier.levelComponent {n : } (k : ) (f : (Fin nBool)) (x : Fin nBool) :
          Instances For
            noncomputable def BooleanFourier.degree {n : } (f : (Fin nBool)) :
            Instances For