Documentation

Complexity.Computability.QueryComplexity.SensitivitySeparation.Internal.Or

Superquadratic sensitivity separation: or #

The OR orBits of finitely many bits and the disjunction orCopies f of Fintype.card K disjoint copies of a Boolean function f. Passing to orCopies f multiplies the sensitivity bound on rejected inputs and the block sensitivity at the all-false input by Fintype.card K, while the bound on accepted inputs is unchanged; this balances the zero and one sensitivities of the terminal predicate.

Main definitions #

Main results #

References #

Disjunction of a finite family of Boolean values.

Instances For
    @[simp]

    orBits x is true iff some coordinate of x is true.

    @[simp]

    orBits x is false iff every coordinate of x is false.

    @[simp]

    The OR of the all-false vector is false.

    Disjunction of independent copies of a Boolean function.

    Instances For
      theorem Cslib.QueryComplexity.SensitivitySeparation.Internal.orCopies_zero {I K : Type} [Fintype K] (f : (I → Bool) → Bool) (hf : (f fun (x : I) => false) = false) :
      (orCopies f fun (x : K × I) => false) = false

      If f rejects the all-false input, then so does orCopies f.

      theorem Cslib.QueryComplexity.SensitivitySeparation.Internal.sensitivity_orCopies_le {I K : Type} [Fintype K] [Fintype I] (f : (I → Bool) → Bool) (S₀ S₁ : ℕ) (h₀ : ∀ (x : I → Bool), f x = false → sensitivityAt f x ≤ S₀) (h₁ : ∀ (x : I → Bool), f x = true → sensitivityAt f x ≤ S₁) :

      If f has sensitivity at most S₀ at every rejected input and at most S₁ at every accepted input, then sensitivity (orCopies f) ≤ max (Fintype.card K * S₀) S₁.

      If f rejects the all-false input, then Fintype.card K times the block sensitivity of f at the all-false input is at most the block sensitivity of orCopies f there.