Documentation

Complexity.Computability.QueryComplexity.SensitivitySeparation.Internal.RecursiveOne

Superquadratic sensitivity separation: recursive one #

This file proves the recurrences for the profiles of the next-level family at output true. At an accepted input some row clause holds, and only flips inside its r target children or its o labeled gate children (one per out-neighbour) can make the next-level predicate reject. Counting the sensitive coordinates of these children bounds the side profile by o * sideSensitivity F false + r * sideSensitivity F true, and the joint profile by the same expression with jointSensitivity F false in place of sideSensitivity F false.

Main results #

References #

theorem Cslib.QueryComplexity.SensitivitySeparation.Internal.recursive_sensitivity_one_at {k r h : ℕ} {I : Type} [Fintype I] (T : Tournament k) (label : Fin k → Fin k → Fin r) (F : Fin (h + 1) → (I → Bool) → Bool) (o : ℕ) (ho : ∀ (i : Fin k), (Finset.filter (T.Adj i) Finset.univ).card = o) (q : Fin h) (x : (Fin k × Fin r) × I → Bool) (hx : recursiveFamily T label F q x = true) :

If every vertex of T has outdegree o and the next-level predicate at index q accepts x, then its sensitivity at x is at most o * sideSensitivity F false + r * sideSensitivity F true.

theorem Cslib.QueryComplexity.SensitivitySeparation.Internal.recursive_side_one {k r h : ℕ} {I : Type} [Fintype I] (T : Tournament k) (label : Fin k → Fin k → Fin r) (F : Fin (h + 1) → (I → Bool) → Bool) (o : ℕ) (ho : ∀ (i : Fin k), (Finset.filter (T.Adj i) Finset.univ).card = o) :

If every vertex of T has outdegree o, then the side profile of the next-level family at true is at most o * sideSensitivity F false + r * sideSensitivity F true.

theorem Cslib.QueryComplexity.SensitivitySeparation.Internal.recursive_joint_one_at {k r h : ℕ} {I : Type} [Fintype I] (T : Tournament k) (label : Fin k → Fin k → Fin r) (F : Fin (h + 1) → (I → Bool) → Bool) (hF : NestedFamily F) (o : ℕ) (ho : ∀ (i : Fin k), (Finset.filter (T.Adj i) Finset.univ).card = o) (q q' : Fin h) (hqq : q < q') (x : (Fin k × Fin r) × I → Bool) (hx : recursiveFamily T label F q x = true) (hx' : recursiveFamily T label F q' x = true) :

Let F be nested and every vertex of T have outdegree o. If q < q' and the next-level predicates at q and q' both accept x, then their joint sensitivity at x is at most o * jointSensitivity F false + r * sideSensitivity F true.

theorem Cslib.QueryComplexity.SensitivitySeparation.Internal.recursive_joint_one {k r h : ℕ} {I : Type} [Fintype I] (T : Tournament k) (label : Fin k → Fin k → Fin r) (F : Fin (h + 1) → (I → Bool) → Bool) (hF : NestedFamily F) (o : ℕ) (ho : ∀ (i : Fin k), (Finset.filter (T.Adj i) Finset.univ).card = o) :

If F is nested and every vertex of T has outdegree o, then the joint profile of the next-level family at true is at most o * jointSensitivity F false + r * sideSensitivity F true.