Sensitivity separation: or #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Combinatorics/Sensitivity/Or.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical proofs are retained.
def
Complexity.BooleanAnalysis.Sensitivity.Internal.orCopies
{I K : Type}
[Fintype K]
(f : (I → Bool) → Bool)
:
Disjunction of independent copies of a Boolean function.
Equations
Instances For
theorem
Complexity.BooleanAnalysis.Sensitivity.Internal.blockSensitivityAt_orCopies_zero
{I K : Type}
[Fintype K]
[Fintype I]
(f : (I → Bool) → Bool)
(hf : (f fun (x : I) => false) = false)
:
(Fintype.card K * blockSensitivityAt f fun (x : I) => false) ≤ blockSensitivityAt (orCopies f) fun (x : K × I) => false