Superquadratic sensitivity separation: recursive blocks #
This file lifts sensitive blocks of the all-false child input to the next level. A block B of
child coordinates is copied into every column of a row i, giving rowLift i B. If the child
predicates reject the all-false input but accept it after flipping B, then every next-level
predicate accepts the all-false input after flipping rowLift i B. Lifting preserves pairwise
disjointness, which yields the block sensitivity lower bound.
Main definitions #
rowLift: the copies of a child blockBin allrcolumns of rowi.
Main results #
mem_rowLift:p ∈ rowLift i Biffplies in rowiandp.2 ∈ B.rowLift_card:rowLift i Bhasr * B.cardelements.rowLift_family_disjoint: pairwise disjoint child blocks lift to pairwise disjoint blocks indexed byFin k × K.recursiveFamily_rowLift: flipping a lifted block in the all-false input makes every next-level predicate accept.
References #
theorem Cslib.QueryComplexity.SensitivitySeparation.Internal.rowLift_family_disjoint {k r : ℕ} {I K : Type} (blocks : K → Finset I) (hB : Pairwise fun (a b : K) => Disjoint (blocks a) (blocks b)) :
If the blocks blocks a are pairwise disjoint, then the lifts rowLift a.1 (blocks a.2)
indexed by a : Fin k × K are pairwise disjoint.
theorem Cslib.QueryComplexity.SensitivitySeparation.Internal.recursiveFamily_rowLift {k r h : ℕ} {I : Type} (T : Tournament k) (label : Fin k → Fin k → Fin r) (F : Fin (h + 1) → (I → Bool) → Bool) (hzero : ∀ (q : Fin (h + 1)), (F q fun (x : I) => false) = false) (B : Finset I) (hB : ∀ (q : Fin (h + 1)), F q (flip (fun (x : I) => false) B) = true) (i : Fin k) (q : Fin h) :
If every member of F rejects the all-false input and accepts the all-false input with B
flipped, then every next-level predicate accepts the all-false input with rowLift i B flipped.