Sensitivity separation: model #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Combinatorics/Sensitivity/Model.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical proofs are retained.
noncomputable def
Complexity.BooleanAnalysis.Sensitivity.sensitivityAt
{I : Type}
[Fintype I]
(f : (I → Bool) → Bool)
(x : I → Bool)
:
The ordinary number of sensitive individual input coordinates.
Equations
- Complexity.BooleanAnalysis.Sensitivity.sensitivityAt f x = {i : I | f (Complexity.BooleanAnalysis.Sensitivity.flip x {i}) ≠ f x}.card
Instances For
noncomputable def
Complexity.BooleanAnalysis.Sensitivity.sensitivity
{I : Type}
[Fintype I]
(f : (I → Bool) → Bool)
:
Maximum ordinary sensitivity over all Boolean inputs.
Equations
Instances For
noncomputable def
Complexity.BooleanAnalysis.Sensitivity.blockSensitivityAt
{I : Type}
[Fintype I]
(f : (I → Bool) → Bool)
(x : I → Bool)
:
Maximum size of a family of disjoint nonempty sensitive blocks at an input. The empty family is allowed and contributes zero. Invalid families contribute zero.
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
Complexity.BooleanAnalysis.Sensitivity.blockSensitivity
{I : Type}
[Fintype I]
(f : (I → Bool) → Bool)
:
Maximum block sensitivity over all Boolean inputs.