Sensitivity separation: recursive children #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Combinatorics/Sensitivity/RecursiveChildren.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.Internal.rowChildren
{k r : ℕ}
(T : Tournament k)
(label : Fin k → Fin k → Fin r)
(i : Fin k)
:
Child positions used by a row clause, including its targets and outgoing gates.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Complexity.BooleanAnalysis.Sensitivity.Internal.rowChildren_disjoint
{k r : ℕ}
(T : Tournament k)
(label : Fin k → Fin k → Fin r)
(i : Fin k)
:
Disjoint (Finset.image (fun (c : Fin r) => (i, c)) Finset.univ)
(Finset.image (fun (j : Fin k) => (j, label i j)) (Finset.filter (T.Adj i) Finset.univ))
theorem
Complexity.BooleanAnalysis.Sensitivity.Internal.rowChildren_card
{k r : ℕ}
(T : Tournament k)
(label : Fin k → Fin k → Fin r)
(i : Fin k)
: