Sensitivity separation: recursive failures #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Combinatorics/Sensitivity/RecursiveFailures.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical proofs are retained.
The columns of a row whose target predicates reject.
Equations
- Complexity.BooleanAnalysis.Sensitivity.Internal.targetFailures F x i = {c : Fin r | F (Fin.last h) (Complexity.BooleanAnalysis.Sensitivity.Internal.recursiveChild x i c) = false}
Instances For
Outgoing neighbors whose gate predicates accept, violating their row conditions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Rows with exactly one failed target and no failed gate condition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Rows with no failed target and exactly one failed gate condition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Choose a failed target column, with column zero as fallback.
Equations
- Complexity.BooleanAnalysis.Sensitivity.Internal.targetWitness F x hr i = if hi : (Complexity.BooleanAnalysis.Sensitivity.Internal.targetFailures F x i).Nonempty then Exists.choose hi else ⟨0, hr⟩
Instances For
Choose a failed gate neighbor, with the row itself as fallback.
Equations
- One or more equations did not get rendered due to their size.