Documentation

LeanPool.Sensitivity.Multilinear

Multilinear Representation and Degree #

Every Boolean function f : (Fin n → Bool) → Bool has a unique multilinear polynomial representation over . This file defines the Möbius coefficients of that representation and the multilinear degree of f.

Main definitions #

def LeanPoolSensitivity.indicator {n : } (S : Finset (Fin n)) :
Fin nBool

The Boolean assignment that is true on coordinates in S and false elsewhere.

Equations
Instances For
    @[simp]
    theorem LeanPoolSensitivity.indicator_mem {n : } {S : Finset (Fin n)} {i : Fin n} :
    @[simp]
    theorem LeanPoolSensitivity.indicator_not_mem {n : } {S : Finset (Fin n)} {i : Fin n} :
    indicator S i = false iS

    Integer encoding of a Boolean value: true ↦ 1 and false ↦ 0.

    Equations
    Instances For

      The Möbius coefficient of f at S: the coefficient of the monomial ∏_{i ∈ S} x_i in the unique multilinear polynomial representing f, computed by inclusion–exclusion as c_S(f) = ∑_{T ⊆ S} (-1)^{|S|-|T|} f(1_T).

      Equations
      Instances For
        noncomputable def LeanPoolSensitivity.BoolFun.degree {n : } (f : BoolFun n) :

        The multilinear degree of f: the maximum cardinality of S for which the Möbius coefficient c_S(f) is nonzero.

        Equations
        Instances For

          The multilinear degree of f is at most n.

          theorem LeanPoolSensitivity.BoolFun.exists_degree_witness {n : } (f : BoolFun n) (hd : 0 < f.degree) :
          ∃ (S : Finset (Fin n)), S.card = f.degree f.moebius S 0

          If the multilinear degree is positive, there exists a "witness" set S of cardinality equal to the degree at which the Möbius coefficient is nonzero.