Sensitivity separation: labeling events #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Combinatorics/Sensitivity/LabelingEvents.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.Tournament.labelingEvent
{k r n : ℕ}
(T : Tournament k)
(v : Fin n → Fin k)
(m : Fin n → Fin r)
:
Labelings whose edges between injected vertices have the prescribed target labels.
Equations
Instances For
theorem
Complexity.BooleanAnalysis.Sensitivity.Internal.Tournament.labelingEvent_eq
{k r n : ℕ}
(T : Tournament k)
[NeZero n]
(v : Fin n → Fin k)
(m : Fin n → Fin r)
(hv : Function.Injective v)
:
T.labelingEvent v m = {A : Fin k × Fin k → Fin r | ∀ p ∈ T.internalEdges (Finset.image v Finset.univ), A p = m (Function.invFun v p.2)}
theorem
Complexity.BooleanAnalysis.Sensitivity.Internal.Tournament.card_labelingEvent
{k r n : ℕ}
(T : Tournament k)
[NeZero n]
(v : Fin n → Fin k)
(m : Fin n → Fin r)
(hv : Function.Injective v)
:
noncomputable def
Complexity.BooleanAnalysis.Sensitivity.Internal.Tournament.badLabelings
{k : ℕ}
(T : Tournament k)
(n r : ℕ)
:
Union of labeling events over all vertex maps and target-label assignments.
Equations
- T.badLabelings n r = Finset.univ.biUnion fun (v : Fin n → Fin k) => Finset.univ.biUnion fun (m : Fin n → Fin r) => T.labelingEvent v m
Instances For
theorem
Complexity.BooleanAnalysis.Sensitivity.Internal.Tournament.labelingEvent_subset_bad
{k r n : ℕ}
(T : Tournament k)
{v : Fin n → Fin k}
{m : Fin n → Fin r}
:
T.labelingEvent v m ⊆ T.badLabelings n r