OAI/Computability/MaxCut/PCP/ProductCollisionBounds.lean
46 declarations, 0 contain sorry, 0 declared as axioms
Comparison of the actual classical game value with the squared collision norm. Both directions are proved for the normalized conditional kernel, including partial projection constraints and zero-weight questions.
- theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.sq_expectation_le_expectation_sqline 22 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.apply_assignment_nonnegline 34 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.sum_apply_assignment_le_oneline 42Source documentation
The projected distribution has total mass at most one; missing mass is the possibility that a partial projection rejects the chosen left answer.
theorem sum_apply_assignment_le_one (K : ProjectionKernel Q₁ Q₂ A₁ A₂) (labels : Q₁ → A₁) (y : Q₂) : (∑ b, K.apply (assignment labels) y b) ≤ 1 := by …Mentions: OAI.MaxCutGames.Repetition.ProjectionKernel, OAI.MaxCutGames.Repetition.ProjectionKernel.assignment
- theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.success_eq_outer_applyline 66 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.success_sq_le_assignmentEnergyline 81 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.value_sq_le_collisionValueline 95 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.exists_best_responseline 103Source documentation
Choose the actual best right answer separately at each right question.
theorem exists_best_response [Nonempty A₂] (K : ProjectionKernel Q₁ Q₂ A₁ A₂) (labels : Q₁ → A₁) : ∃ answers : Q₂ → A₂, ∀ y b, K.apply (assignment labels) y b ≤ K.apply (assignment labels) y (answers y) := by …Mentions: OAI.MaxCutGames.Repetition.ProjectionKernel, OAI.MaxCutGames.Repetition.ProjectionKernel.assignment
- theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.assignmentEnergy_le_valueline 119 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.collisionValue_le_valueline 145 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.collisionValue_le_oneline 150 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.distribution_nonempty_inline_RoundingKernelline 158 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.vectorEnergy_le_gap_rateline 167Source documentation
Unit mass form of the Dinur--Steurer positive-vector approximation bound. The loss is independent of both alphabets and of the auxiliary dimension.
theorem vectorEnergy_le_gap_rate [Nonempty A₁] [Nonempty A₂] (K : ProjectionKernel Q₁ Q₂ A₁ A₂) (f : Ω → Q₁ → A₁ → ℝ) (hf : ∀ ω x a, 0 ≤ f ω x a) (hmass : ∀ x, vectorMass f x ≤ 1) {g : ℝ} (hg0 : 0 ≤ g) (hg1 : g ≤ 1) (hvalue : K.toGame.value ≤ 1 - g) : K.vectorEnergy f ≤ 1 - g ^ 2 / 8 := by …Mentions: OAI.MaxCutGames.Repetition.ProjectionKernel, OAI.MaxCutGames.Repetition.ProjectionKernel.vectorMass
- def
OAI.MaxCutGames.Repetition.kernelApplyline 230Source documentation
Apply a finite real kernel. Output indices need no finiteness assumption.
def kernelApply (K : Y → B → X → A → ℝ) (f : X → A → ℝ) (y : Y) (b : B) : ℝ := …
- def
OAI.MaxCutGames.Repetition.tensorKernelline 234Source documentation
Independent tensor of two kernels.
def tensorKernel (K : Y → B → X → A → ℝ) (L : Z → C → U → D → ℝ) (yz : Y × Z) (bc : B × C) (xu : X × U) (ad : A × D) : ℝ := … - theorem
OAI.MaxCutGames.Repetition.kernelApply_tensorline 240Source documentation
Applying the tensor first applies
Lseparately for every fixed input ofK, and then appliesK. This is valid for arbitrary coupled inputs.theorem kernelApply_tensor (K : Y → B → X → A → ℝ) (L : Z → C → U → D → ℝ) (f : (X × U) → (A × D) → ℝ) (y : Y) (z : Z) (b : B) (c : C) : kernelApply (tensorKernel K L) f (y,z) (b,c) = kernelApply K (fun x a => kernelApply L (fun u d => f (x,u) (a,d)) z c) y b := by …Mentions: OAI.MaxCutGames.Repetition.kernelApply, OAI.MaxCutGames.Repetition.tensorKernel
- theorem
OAI.MaxCutGames.Repetition.kernelApply_nonnegativeline 254 - theorem
OAI.MaxCutGames.Repetition.kernelApply_sumline 265Source documentation
Summing a family of input functions commutes with the finite operator.
theorem kernelApply_sum (K : Y → B → X → A → ℝ) (f : I → X → A → ℝ) (y : Y) (b : B) : kernelApply K (fun x a => ∑ i, f i x a) y b = ∑ i, kernelApply K (f i) y b := by …Mentions: OAI.MaxCutGames.Repetition.kernelApply
- theorem
OAI.MaxCutGames.Repetition.kernelApply_smulline 279 - theorem
OAI.MaxCutGames.Repetition.kernelApply_slice_massline 292Source documentation
Marginalizing the first answer of a joint input strategy after applying the second kernel is the same as applying the kernel to the answer marginal.
theorem kernelApply_slice_mass (L : Z → C → U → D → ℝ) (f : (X × U) → (A × D) → ℝ) (x : X) (z : Z) (c : C) : (∑ a, kernelApply L (fun u d => f (x,u) (a,d)) z c) = kernelApply L (fun u d => ∑ a, f (x,u) (a,d)) z c := by …Mentions: OAI.MaxCutGames.Repetition.kernelApply
- def
OAI.MaxCutGames.Repetition.ProjectionKernel.coefficientsline 312Source documentation
The coefficient form of the conditional projection operator.
def coefficients (K : ProjectionKernel Q₁ Q₂ A₁ A₂) (y : Q₂) (b : A₂) (x : Q₁) (a : A₁) : ℝ := … - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.apply_eq_kernelApplyline 316 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.apply_nonnegativeline 328 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.apply_sumline 340 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.apply_smulline 346 - def
OAI.MaxCutGames.Repetition.ProjectionKernel.productline 353Source documentation
Independent product of the outer and conditional laws.
def product (K : ProjectionKernel Q₁ Q₂ A₁ A₂) (H : ProjectionKernel R₁ R₂ B₁ B₂) : ProjectionKernel (Q₁ × R₁) (Q₂ × R₂) (A₁ × B₁) (A₂ × B₂) where … - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.coefficients_productline 365 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.apply_productline 374Source documentation
Arbitrary product inputs factor through the second game operator.
theorem apply_product (K : ProjectionKernel Q₁ Q₂ A₁ A₂) (H : ProjectionKernel R₁ R₂ B₁ B₂) (f : (Q₁ × R₁) → (A₁ × B₁) → ℝ) (y : Q₂) (z : R₂) (b : A₂) (c : B₂) : (K.product H).apply f (y,z) (b,c) = K.apply (fun x a => H.apply (fun u d => f (x,u) (a,d)) z c) y b := by …Mentions: OAI.MaxCutGames.Repetition.ProjectionKernel, OAI.MaxCutGames.Repetition.ProjectionKernel.apply
- theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.toGame_productline 385Source documentation
The kernel tensor realizes the ordinary independent conjunction game.
theorem toGame_product (K : ProjectionKernel Q₁ Q₂ A₁ A₂) (H : ProjectionKernel R₁ R₂ B₁ B₂) : (K.product H).toGame = MaxCutGames.Repetition.product K.toGame H.toGame := by …Mentions: OAI.MaxCutGames.Repetition.ProjectionKernel, OAI.MaxCutGames.Repetition.ProjectionKernel.toGame, OAI.MaxCutGames.Repetition.product
- def
OAI.MaxCutGames.Repetition.ProjectionKernel.tensorSliceline 413Source documentation
Apply the second game to a fixed first question and first answer. The square-root factor changes its weighted output space into counting measure.
def tensorSlice (H : ProjectionKernel R₁ R₂ B₁ B₂) (labels : (Q₁ × R₁) → (A₁ × B₁)) (ω : R₂ × B₂) (x : Q₁) (a : A₁) : ℝ := … - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.tensorSlice_nonnegativeline 420 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.sum_assignment_productline 434Source documentation
Marginalizing the first label of a deterministic product strategy leaves the deterministic second-label strategy.
theorem sum_assignment_product (labels : (Q₁ × R₁) → (A₁ × B₁)) (x : Q₁) (u : R₁) (d : B₁) : (∑ a, assignment labels (x,u) (a,d)) = assignment (fun r => (labels (x,r)).2) u d := by …Mentions: OAI.MaxCutGames.Repetition.ProjectionKernel.assignment
- theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.tensorSlice_label_massline 442 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.vectorMass_tensorSliceline 454Source documentation
The fiber mass is an actual collision energy of the second game, not a free normalization assumption.
theorem vectorMass_tensorSlice (H : ProjectionKernel R₁ R₂ B₁ B₂) (labels : (Q₁ × R₁) → (A₁ × B₁)) (x : Q₁) : vectorMass (H.tensorSlice labels) x = H.assignmentEnergy (fun r => (labels (x,r)).2) := by …Mentions: OAI.MaxCutGames.Repetition.ProjectionKernel, OAI.MaxCutGames.Repetition.ProjectionKernel.vectorMass
- theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.vectorMass_tensorSlice_leline 467 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.vectorEnergy_tensorSliceline 475Source documentation
Exact Hilbert-norm factorization, with every marginal weight retained.
theorem vectorEnergy_tensorSlice (K : ProjectionKernel Q₁ Q₂ A₁ A₂) (H : ProjectionKernel R₁ R₂ B₁ B₂) (labels : (Q₁ × R₁) → (A₁ × B₁)) : K.vectorEnergy (H.tensorSlice labels) = (K.product H).assignmentEnergy labels := by …Mentions: OAI.MaxCutGames.Repetition.ProjectionKernel, OAI.MaxCutGames.Repetition.ProjectionKernel.assignmentEnergy
- theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.vectorMass_smulline 530 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.energy_smulline 536 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.vectorEnergy_smulline 547 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.entry_eq_zero_of_vectorMass_nonpositiveline 555 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.vectorEnergy_eq_zero_of_mass_nonpositiveline 569 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.vectorEnergy_le_of_unit_boundline 582Source documentation
A unit-mass estimate extends to any nonnegative mass bound, including zero. The hypothesis is precisely the unit-mass analytic estimate being normalized; the normalization itself assumes no repetition bound.
theorem vectorEnergy_le_of_unit_bound (K : ProjectionKernel Q₁ Q₂ A₁ A₂) (ρ C : ℝ) (unit_bound : ∀ f : Ω → Q₁ → A₁ → ℝ, (∀ ω x a, 0 ≤ f ω x a) → (∀ x, vectorMass f x ≤ 1) → K.vectorEnergy f ≤ ρ) (hC : 0 ≤ C) (f : Ω → Q₁ → A₁ → ℝ) (hf : ∀ ω x a, 0 ≤ f ω x a) (hmass : ∀ x, vectorMass f x ≤ C) : K.vectorEnergy f ≤ ρ * C := by …Mentions: OAI.MaxCutGames.Repetition.ProjectionKernel, OAI.MaxCutGames.Repetition.ProjectionKernel.vectorMass
- def
OAI.MaxCutGames.Repetition.ProjectionKernel.reindexline 615Source documentation
Transport both normalized question laws and the projection predicate.
def reindex (K : ProjectionKernel Q₁ Q₂ A₁ A₂) (eQ₁ : Q₁ ≃ R₁) (eQ₂ : Q₂ ≃ R₂) (eA₁ : A₁ ≃ B₁) (eA₂ : A₂ ≃ B₂) : ProjectionKernel R₁ R₂ B₁ B₂ where … - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.apply_reindexline 626Source documentation
Reindexing the operator equals pulling back its assignment table.
theorem apply_reindex (K : ProjectionKernel Q₁ Q₂ A₁ A₂) (eQ₁ : Q₁ ≃ R₁) (eQ₂ : Q₂ ≃ R₂) (eA₁ : A₁ ≃ B₁) (eA₂ : A₂ ≃ B₂) (f : R₁ → B₁ → ℝ) (y : R₂) (b : B₂) : (K.reindex eQ₁ eQ₂ eA₁ eA₂).apply f y b = K.apply (fun x a => f (eQ₁ x) (eA₁ a)) (eQ₂.symm y) (eA₂.symm b) := by …Mentions: OAI.MaxCutGames.Repetition.ProjectionKernel, OAI.MaxCutGames.Repetition.ProjectionKernel.apply
- theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.energy_reindexline 645 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.assignmentEnergy_reindexline 660 - theorem
OAI.MaxCutGames.Repetition.ProjectionKernel.collisionValue_reindexline 683Source documentation
No strategy is lost under bijective question and answer encodings.
theorem collisionValue_reindex [Nonempty A₁] [Nonempty B₁] (K : ProjectionKernel Q₁ Q₂ A₁ A₂) (eQ₁ : Q₁ ≃ R₁) (eQ₂ : Q₂ ≃ R₂) (eA₁ : A₁ ≃ B₁) (eA₂ : A₂ ≃ B₂) : (K.reindex eQ₁ eQ₂ eA₁ eA₂).collisionValue = K.collisionValue := by …Mentions: OAI.MaxCutGames.Repetition.ProjectionKernel, OAI.MaxCutGames.Repetition.ProjectionKernel.collisionValue