Subcube Restriction #
We define the restriction of a Boolean function to a subcube by fixing some coordinates to a base assignment, and prove that this operation can only decrease sensitivity and preserves Möbius coefficients on subsets of the "free" coordinates.
Main definitions #
LeanPoolSensitivity.embed— embed a free-coordinate assignment into a full input by reading the remaining coordinates from a base assignment.LeanPoolSensitivity.BoolFun.restrictTo— restrictfby fixing the coordinates outsidefreetobase.
Main results #
LeanPoolSensitivity.BoolFun.restrictTo_sensitivity_le— restriction cannot increase sensitivity.LeanPoolSensitivity.BoolFun.exists_fullDegree_restriction— iffhas positive degreed, there is a subcube of dimensiondon which the restriction has full degreed.
Embed an assignment of the "free" coordinates into the full hypercube by
copying values from base on the non-free coordinates.
Instances For
def
LeanPoolSensitivity.BoolFun.restrictTo
{n : ℕ}
(f : BoolFun n)
(free : Finset (Fin n))
(base : Fin n → Bool)
:
BoolFun n
Restriction of f to the subcube parametrised by the free coordinates
free and the fixed assignment base on the remaining coordinates.
Equations
- f.restrictTo free base x = f (LeanPoolSensitivity.embed free base x)
Instances For
theorem
LeanPoolSensitivity.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 never sensitive in a coordinate outside free.