Subcube Restriction #
We define "restriction" of a Boolean function by fixing some coordinates, and prove that this preserves relevant properties.
def
Sensitivity.BoolFun.restrictTo
{n : ℕ}
(f : BoolFun n)
(free : Finset (Fin n))
(base : Fin n → Bool)
:
BoolFun n
Restriction of f: fix coordinates outside free to base.
Equations
- f.restrictTo free base x = f (Sensitivity.embed free base x)
Instances For
theorem
Sensitivity.BoolFun.restrictTo_not_sensitiveAt_nonfree
{n : ℕ}
(f : BoolFun n)
(free : Finset (Fin n))
(base x : Fin n → Bool)
(i : Fin n)
(hi : i ∉ free)
:
¬(f.restrictTo free base).sensitiveAt x i
The restriction is not sensitive outside free.
theorem
Sensitivity.BoolFun.exists_fullDegree_restriction
{n : ℕ}
(f : BoolFun n)
(hd : 0 < f.degree)
:
Key lemma: if f has degree d ≥ 1, there exists S with |S| = d, f.moebius S ≠ 0, and the restriction preserves the coefficient.