OAI/Computability/UniqueGames/Reduction/NoiseEnumerationLemmas.lean
19 declarations, 0 contain sorry, 0 declared as axioms
An explicit enumeration of noise indices, retaining repeated vector values.
This additional data leaves SplitGadget unchanged and supplies an executable
ordering for the edge list.
- structure
OAI.UniqueGamesTheorem.Reduction.ActualSource.NoiseEnumerationline 17 - def
OAI.UniqueGamesTheorem.Reduction.ActualSource.NoiseEnumeration.ofFintypeline 26 - theorem
OAI.UniqueGamesTheorem.Reduction.ActualSource.NoiseEnumeration.nonemptyline 31 - theorem
OAI.UniqueGamesTheorem.Reduction.ActualSource.NoiseEnumeration.perm_univline 37 - theorem
OAI.UniqueGamesTheorem.Reduction.ActualSource.NoiseEnumeration.length_eq_cardline 43 - theorem
OAI.UniqueGamesTheorem.Reduction.ActualSource.NoiseEnumeration.sum_eq_univline 47 - theorem
OAI.UniqueGamesTheorem.Reduction.ActualSource.NoiseEnumeration.average_eq_expectline 52Source documentation
A list average over index occurrences is precisely the uniform finite law.
theorem average_eq_expect (e : NoiseEnumeration g) (f : g.NoiseIndex → ℚ) : (e.indices.map f).sum / e.indices.length = Finset.univ.expect f := by …Mentions: OAI.UniqueGamesTheorem.Reduction.ActualSource.NoiseEnumeration
- def
OAI.UniqueGamesTheorem.Integration.NoiseTables.reindexline 73Source documentation
Reindexing changes the names of outcomes, retaining their uniform law.
def reindex (g : SplitGadget s d) {I : Type} [Fintype I] [Nonempty I] (e : I ≃ g.NoiseIndex) : SplitGadget s d where … - theorem
OAI.UniqueGamesTheorem.Integration.NoiseTables.reindex_stabilityErrorline 82 - theorem
OAI.UniqueGamesTheorem.Integration.NoiseTables.reindex_kernelProbabilityline 89 - structure
OAI.UniqueGamesTheorem.Integration.NoiseTables.Tableline 102Source documentation
Only a nonempty finite list of binary vectors is required as static noise data. The correcting function is a separate witness used in the proof.
structure Table (s d : Nat) where …
- def
OAI.UniqueGamesTheorem.Integration.NoiseTables.Table.gadgetline 108 - def
OAI.UniqueGamesTheorem.Integration.NoiseTables.Table.ofEnumerationline 117 - theorem
OAI.UniqueGamesTheorem.Integration.NoiseTables.Table.ofEnumeration_lengthline 121 - def
OAI.UniqueGamesTheorem.Integration.NoiseTables.Table.positionEquivline 127Source documentation
The inverse equivalence is used only to prove the probability identity; the forward noise lookup is ordinary finite-list indexing.
noncomputable def positionEquiv (g : SplitGadget s d) (en : NoiseEnumeration g) : Fin (ofEnumeration g en).vectors.length ≃ g.NoiseIndex := by …Mentions: OAI.UniqueGamesTheorem.Integration.NoiseTables.Table.ofEnumeration
- theorem
OAI.UniqueGamesTheorem.Integration.NoiseTables.Table.noise_positionEquivline 133 - theorem
OAI.UniqueGamesTheorem.Integration.NoiseTables.Table.stabilityError_ofEnumerationline 140 - theorem
OAI.UniqueGamesTheorem.Integration.NoiseTables.Table.kernelProbability_ofEnumerationline 150 - theorem
OAI.UniqueGamesTheorem.Integration.NoiseTables.Table.guarantees_ofEnumerationline 161Source documentation
Exact table conversion retains both mathematical gadget guarantees.
theorem guarantees_ofEnumeration (g : SplitGadget s d) (en : NoiseEnumeration g) {ζ ν : ℚ} {r : Nat} (hstable : g.stabilityError ≤ ζ) (hdisp : ∀ (P : Type) [AddCommGroup P] [Module F2 P] (S : Ambient s d →ₗ[F2] P), r ≤ Module.finrank F2 (S.comp (alphabetEmbedding s d)).range → SplitGadget.kernelProbability g S ≤ ν) : ((ofEnumeration g en).gadget g.f g.equivariant).stabilityError ≤ ζ ∧ ∀ (P : Type) [AddCommGroup P] [Module F2 P] (S : Ambient s d →ₗ[F2] P), r ≤ Module.finrank F2 (S.comp (alphabetEmbedding s d)).range → SplitGadget.kernelProbability …Mentions: OAI.UniqueGamesTheorem.Integration.SplitGadget.kernelProbability, OAI.UniqueGamesTheorem.Integration.NoiseTables.Table.ofEnumeration, OAI.UniqueGamesTheorem.Integration.NoiseTables.Table.gadget