OAI/Computability/UniqueGames/Soundness/LinearMapDensityLemmas.lean
85 declarations, 0 contain sorry, 0 declared as axioms
The exact combined-map density formula of Lemma 6.3 for genuine finite-dimensional binary linear maps. Subspaces are supplied as kernels; their annihilator counts and all normalized first and second moments are proved, not assumed.
- def
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.uniformMeanline 32 - theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.uniformMean_eq_sum_div_cardline 35 - theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.uniformMean_commline 39 - theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.uniformMean_const_mulline 45 - theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.uniformMean_constline 49 - theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.restriction_surjectiveline 54 - theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.restriction_zero_iffline 61 - def
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.pullbackMapline 72Source documentation
Pulling back a map along a projection produces a map annihilating its kernel.
def pullbackMap {V : Type*} [AddCommGroup V] [Module (ZMod 2) V] (π : E →ₗ[ZMod 2] V) (B : V →ₗ[ZMod 2] R) : {M : E →ₗ[ZMod 2] R // π.ker ≤ M.ker} := … - theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.pullbackMap_bijectiveline 84Source documentation
The pullback map is a bijection onto the genuine kernel-annihilator event. This connects the density calculation to uniform maps on the partner space.
theorem pullbackMap_bijective {V : Type*} [AddCommGroup V] [Module (ZMod 2) V] (π : E →ₗ[ZMod 2] V) (hπ : Function.Surjective π) : Function.Bijective (pullbackMap (R := R) π) := by …Mentions: OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.pullbackMap
- theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.annihilator_countline 107 - def
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.kernelDensityline 122 - theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.kernelDensity_meanline 128 - theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.kernelDensity_productline 146Source documentation
Pointwise overlap formula, using the actual dimension formula for subspaces.
theorem kernelDensity_product (K L : Submodule (ZMod 2) E) (M : E →ₗ[ZMod 2] R) : kernelDensity K M * kernelDensity L M = (2 : ℝ) ^ (Module.finrank (ZMod 2) R * Module.finrank (ZMod 2) ↥(K ⊓ L : Submodule (ZMod 2) E)) * kernelDensity (K ⊔ L) M := by …Mentions: OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.kernelDensity
- theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.kernelDensity_pair_meanline 171Source documentation
The two-kernel second-moment identity for the uniform law on all genuine linear maps E→R. No annihilator probability is a hypothesis.
theorem kernelDensity_pair_mean [Fintype (E →ₗ[ZMod 2] R)] (K L : Submodule (ZMod 2) E) : uniformMean (fun M : E →ₗ[ZMod 2] R => kernelDensity K M * kernelDensity L M) = (2 : ℝ) ^ (Module.finrank (ZMod 2) R * Module.finrank (ZMod 2) ↥(K ⊓ L : Submodule (ZMod 2) E)) := by …Mentions: OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.uniformMean, OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.kernelDensity
- def
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.mixtureDensityline 178 - theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.mixtureDensity_meanline 182 - theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.mixtureDensity_second_momentline 193Source documentation
Lemma 6.3's exact second-moment identity for an arbitrary finite uniform list of genuine kernel subspaces. The two partner indices are independent because the right side is an iterated uniform expectation.
theorem mixtureDensity_second_moment {Partner : Type w} [Fintype Partner] [Fintype (E →ₗ[ZMod 2] R)] (kernels : Partner → Submodule (ZMod 2) E) : uniformMean (fun M : E →ₗ[ZMod 2] R => (mixtureDensity kernels M) ^ 2) = uniformMean (fun p => uniformMean (fun q => (2 : ℝ) ^ (Module.finrank (ZMod 2) R * Module.finrank (ZMod 2) ↥(kernels p ⊓ kernels q : Submodule (ZMod 2) E)))) := by …Mentions: OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.uniformMean, OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.mixtureDensity
- theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.kernelDensity_weighted_meanline 212 - theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.pullback_uniformMeanline 243 - theorem
OAI.UniqueGamesTheorem.Soundness.LinearMapDensity.mixture_pullback_uniformMeanline 254 - inductive
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.Slotline 279 - structure
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.Tripleline 283 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.zeroTripleline 289 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.parityline 291 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.addTripleline 293 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.parity_addline 296 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.and_xorline 302 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.retainedline 306 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.freeBitline 312 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.retained_addline 318 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.freeBit_addline 322 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.completeline 327Source documentation
Reconstruct a parity-constrained triple from its retained bit and one free bit.
def complete (s : Slot) (p r f : Bool) : Triple := …
Mentions: OAI.UniqueGamesTheorem.Soundness.PartnerProjection.Slot, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.Triple
- theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.parity_completeline 333 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.retained_completeline 337 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.freeBit_completeline 341 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.complete_coordinatesline 345 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.retained_zeroline 350 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.freeBit_zeroline 353 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.complete_zeroline 356 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.complete_kernel_addline 359 - structure
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.SourcePointline 366 - structure
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.PartnerPointline 371 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.source_extline 379 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.partner_extline 387 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.projectline 397 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.liftline 406Source documentation
The constructive preimage used in Lemma 6.1: choose the free bit to be zero.
def lift (y : PartnerPoint rhs active) : SourcePoint rhs where …
Mentions: OAI.UniqueGamesTheorem.Soundness.PartnerProjection.PartnerPoint, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.SourcePoint
- theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.project_liftline 417 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.project_surjectiveline 430 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.homogeneous_preservedline 435 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.zeroSourceline 438 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.zeroPartnerline 443 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.addSourceline 451 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.addPartnerline 458 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.project_addline 475Source documentation
The projection preserves F₂ addition, as well as zero.
theorem project_add (x y : SourcePoint rhs) : project rhs active slot (addSource rhs x y) = addPartner rhs active (project rhs active slot x) (project rhs active slot y) := by …Mentions: OAI.UniqueGamesTheorem.Soundness.PartnerProjection.SourcePoint, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.project, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.addSource, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.addPartner
- theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.project_zeroline 485 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.InKernelline 494 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.kernel_characterizationline 497 - structure
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.ActiveBitsline 524Source documentation
One coefficient bit at every active position; all other coefficients vanish.
structure ActiveBits where …
- theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.activeBits_extline 528 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.addActiveBitsline 535 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.kernelPointline 542 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.kernelPoint_addline 547 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.kernelPoint_memline 555 - def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.kernelCoefficientsline 564 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.kernelPoint_coefficientsline 572 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.coefficients_kernelPointline 588 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.kernelPoint_injectiveline 595 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.kernel_unique_coefficientsline 607Source documentation
Every kernel vector is uniquely determined by one bit per active position.
theorem kernel_unique_coefficients (x : SourcePoint rhs) (hx : InKernel rhs active slot x) : ∃ a : ActiveBits active, kernelPoint rhs active slot a = x ∧ ∀ b : ActiveBits active, kernelPoint rhs active slot b = x → b = a := by …Mentions: OAI.UniqueGamesTheorem.Soundness.PartnerProjection.SourcePoint, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.InKernel, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.ActiveBits, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.kernelPoint
- def
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.extendActiveline 617Source documentation
Extend an arbitrary function on the active positions by zero.
def extendActive (f : {j : Position // active j = true} → Bool) : ActiveBits active where …Mentions: OAI.UniqueGamesTheorem.Soundness.PartnerProjection.ActiveBits
- theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.kernel_realizes_activeline 621 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.kernel_determined_by_activeline 630 - theorem
OAI.UniqueGamesTheorem.Soundness.PartnerProjection.disjoint_kernels_intersection_zeroline 648Source documentation
The final assertion of Lemma 6.1, including arbitrary retained indices.
theorem disjoint_kernels_intersection_zero (active' : Position → Bool) (slot' : Position → Slot) (hdisjoint : ∀ j, active j = true → active' j = false) (x : SourcePoint rhs) (hx : InKernel rhs active slot x) (hx' : InKernel rhs active' slot' x) : x = zeroSource rhs := by …Mentions: OAI.UniqueGamesTheorem.Soundness.PartnerProjection.Slot, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.SourcePoint, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.InKernel, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.zeroSource
- def
OAI.UniqueGamesTheorem.Soundness.ConcreteExtraction.slotIndexline 678 - def
OAI.UniqueGamesTheorem.Soundness.ConcreteExtraction.tripleCoordinatesline 683 - theorem
OAI.UniqueGamesTheorem.Soundness.ConcreteExtraction.parity_coordinatesline 686 - theorem
OAI.UniqueGamesTheorem.Soundness.ConcreteExtraction.retained_coordinatesline 689 - def
OAI.UniqueGamesTheorem.Soundness.ConcreteExtraction.fullPointline 693 - def
OAI.UniqueGamesTheorem.Soundness.ConcreteExtraction.partnerPointline 697 - theorem
OAI.UniqueGamesTheorem.Soundness.ConcreteExtraction.actual_projection_acceptsline 703Source documentation
Concrete projection acceptance implies the coordinate-level acceptance relation used to extract a repeated incidence strategy.
theorem actual_projection_accepts {P O N : Type} (g : IncidenceExtraction.Incidence O N) (u : P → O) (active : P → Bool) (slot : P → PartnerProjection.Slot) (x : PartnerProjection.SourcePoint (fun j => g.rhs (u j))) (y : PartnerProjection.PartnerPoint (fun j => g.rhs (u j)) active) (hone : x.homogeneous = true) (hproject : PartnerProjection.project (fun j => g.rhs (u j)) active slot x = y) : IncidenceExtraction.AugmentedAccepts g u (fun j => active j = true) (fun j => slotIndex (slot j)) (fullPoint x) (partnerPoint y) := by …Mentions: OAI.UniqueGamesTheorem.Soundness.IncidenceExtraction.Incidence, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.Slot, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.SourcePoint, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.PartnerPoint, OAI.UniqueGamesTheorem.Soundness.PartnerProjection.project, OAI.UniqueGamesTheorem.Soundness.IncidenceExtraction.AugmentedAccepts, OAI.UniqueGamesTheorem.Soundness.ConcreteExtraction.slotIndex, OAI.UniqueGamesTheorem.Soundness.ConcreteExtraction.fullPoint, OAI.UniqueGamesTheorem.Soundness.ConcreteExtraction.partnerPoint
- theorem
OAI.UniqueGamesTheorem.Soundness.ConcreteExtraction.actual_projection_implies_named_repetitionline 726 - abbrev
OAI.UniqueGamesTheorem.Soundness.KernelCardinality.Kernelline 760 - def
OAI.UniqueGamesTheorem.Soundness.KernelCardinality.kernelEquivline 763Source documentation
Exactly one freely chosen bit per active position parametrizes the kernel.
def kernelEquiv : Kernel rhs active slot ≃ ({j : P // active j = true} → Bool) where …Mentions: OAI.UniqueGamesTheorem.Soundness.KernelCardinality.Kernel
- instance
OAI.UniqueGamesTheorem.Soundness.KernelCardinality.kernelFintypeline 778 - theorem
OAI.UniqueGamesTheorem.Soundness.KernelCardinality.kernel_cardline 783Source documentation
The actual kernel has
2^tpoints when there aretactive positions.theorem kernel_card [Fintype P] : Fintype.card (Kernel rhs active slot) = 2 ^ Fintype.card {j : P // active j = true} := by …Mentions: OAI.UniqueGamesTheorem.Soundness.KernelCardinality.Kernel
- theorem
OAI.UniqueGamesTheorem.Soundness.KernelCardinality.kernel_card_of_active_cardline 792