OAI/Computability/UniqueGames/Games/FactorizationLemmas.lean
65 declarations, 0 contain sorry, 0 declared as axioms
The finite product algebra of dependency breaking.
Revealing one endpoint of each independently sampled question pair turns the remaining question weight into a product of two separate functions, one for each player. Further separate restrictions on the players' answers preserve this product. The final theorem normalizes the displayed weights, rather than assuming conditional independence as an abstract hypothesis.
- def
OAI.UniqueGamesTheorem.Foundations.Repetition.revealedProductWeightline 41Source documentation
mask i = falsereveals the first question, andtruethe second.def revealedProductWeight (weight : ι → α → β → ℝ) (mask : ι → Bool) (fixedLeft : ι → α) (fixedRight : ι → β) (x : ι → α) (y : ι → β) : ℝ := … - def
OAI.UniqueGamesTheorem.Foundations.Repetition.revealedLeftWeightline 47 - def
OAI.UniqueGamesTheorem.Foundations.Repetition.revealedRightWeightline 52 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealedProductWeight_factorizesline 60Source documentation
Exact factorization after fixing the selected endpoint at every position. No assumption on coordinate alphabets or probabilities is needed for this identity, so it applies separately at every fixed outside question tuple.
theorem revealedProductWeight_factorizes (weight : ι → α → β → ℝ) (mask : ι → Bool) (fixedLeft : ι → α) (fixedRight : ι → β) (x : ι → α) (y : ι → β) : revealedProductWeight weight mask fixedLeft fixedRight x y = revealedLeftWeight weight mask fixedLeft fixedRight x * revealedRightWeight weight mask fixedLeft fixedRight y := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.revealedProductWeight, OAI.UniqueGamesTheorem.Foundations.Repetition.revealedLeftWeight, OAI.UniqueGamesTheorem.Foundations.Repetition.revealedRightWeight
- theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealedProductWeight_local_restrictionsline 75Source documentation
Local answer tests are separate functions of the complete local question vectors. Multiplying by both tests leaves a product of two local weights.
theorem revealedProductWeight_local_restrictions (weight : ι → α → β → ℝ) (mask : ι → Bool) (fixedLeft : ι → α) (fixedRight : ι → β) (leftTest : (ι → α) → ℝ) (rightTest : (ι → β) → ℝ) (x : ι → α) (y : ι → β) : revealedProductWeight weight mask fixedLeft fixedRight x y * leftTest x * rightTest y = (revealedLeftWeight weight mask fixedLeft fixedRight x * leftTest x) * (revealedRightWeight weight mask fixedLeft fixedRight y * rightTest y) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.revealedProductWeight, OAI.UniqueGamesTheorem.Foundations.Repetition.revealedLeftWeight, OAI.UniqueGamesTheorem.Foundations.Repetition.revealedRightWeight
- theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.productWeight_massline 88 - def
OAI.UniqueGamesTheorem.Foundations.Repetition.normalizedWeightline 94 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.normalizedWeight_isProbabilityline 97 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.normalized_productWeightline 107Source documentation
Normalizing an actual product weight gives the product of its separately normalized marginals. This is the finite conditional-independence identity.
theorem normalized_productWeight (left : X → ℝ) (right : Y → ℝ) (hleft : 0 < ∑ x, left x) (hright : 0 < ∑ y, right y) (xy : X × Y) : normalizedWeight (fun z : X × Y => left z.1 * right z.2) xy = normalizedWeight left xy.1 * normalizedWeight right xy.2 := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.normalizedWeight
- theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.normalized_rectangle_restrictionline 117Source documentation
Conditioning a product law on separate local events keeps the two factors independent, with each conditioned on its own event.
theorem normalized_rectangle_restriction (left : X → ℝ) (right : Y → ℝ) (leftTest : X → ℝ) (rightTest : Y → ℝ) (hleft : 0 < ∑ x, left x * leftTest x) (hright : 0 < ∑ y, right y * rightTest y) (xy : X × Y) : normalizedWeight (fun z : X × Y => left z.1 * right z.2 * leftTest z.1 * rightTest z.2) xy = normalizedWeight (fun x => left x * leftTest x) xy.1 * normalizedWeight (fun y => right y * rightTest y) xy.2 := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.normalizedWeight
- def
OAI.UniqueGamesTheorem.Foundations.Repetition.normalizeOrline 152 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.sum_mul_normalizeOrline 160 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.local_completion_recombinationline 177Source documentation
Exact reconstruction from two separately normalized local completion laws, valid even when either unnormalized row has mass zero.
theorem local_completion_recombination (left : X → ℝ) (right : Y → ℝ) (hl : ∀ x, 0 ≤ left x) (hr : ∀ y, 0 ≤ right y) (defaultLeft : FiniteDistribution X) (defaultRight : FiniteDistribution Y) (c : ℝ) (x : X) (y : Y) : (c * (∑ z, left z) * (∑ z, right z)) * ((normalizeOr left hl defaultLeft).weight x * (normalizeOr right hr defaultRight).weight y) = c * left x * right y := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.normalizeOr
- theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.factorized_completion_rowline 192Source documentation
The row mass appearing in reconstruction is the actual sum of product weights, not an assumed marginal identity.
theorem factorized_completion_row (left : X → ℝ) (right : Y → ℝ) (hl : ∀ x, 0 ≤ left x) (hr : ∀ y, 0 ≤ right y) (defaultLeft : FiniteDistribution X) (defaultRight : FiniteDistribution Y) (c : ℝ) (xy : X × Y) : (∑ z : X × Y, c * left z.1 * right z.2) * ((normalizeOr left hl defaultLeft).product (normalizeOr right hr defaultRight)).weight xy = c * left xy.1 * right xy.2 := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.normalizeOr
- def
OAI.UniqueGamesTheorem.Foundations.Games.Game.localEmbeddingLawline 231 - theorem
OAI.UniqueGamesTheorem.Foundations.Games.Game.success_le_value_add_embedding_distanceline 241Source documentation
Any finite shared-randomness local embedding yields a valid base-game strategy after the seed is fixed. Total variation pays exactly for changing the resulting question distribution to the desired one.
theorem success_le_value_add_embedding_distance (G : Game Q₁ Q₂ A₁ A₂) (H : Game R₁ R₂ B₁ B₂) (seedLaw : FiniteDistribution Seed) (left : Seed → Q₁ → R₁) (right : Seed → Q₂ → R₂) (answerLeft : Seed → Q₁ → B₁ → A₁) (answerRight : Seed → Q₂ → B₂ → A₂) (acceptance : ∀ seed x y a b, H.accepts (left seed x) (right seed y) a b = true → G.accepts x y (answerLeft seed x a) (answerRight seed y b) = true) (strategy : Strategy R₁ R₂ B₁ B₂) : H.success strategy ≤ G.value + H.questions.totalVariation (G.localEmbeddingLaw seedLaw left right) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Games.Game, OAI.UniqueGamesTheorem.Foundations.Games.FiniteDistribution, OAI.UniqueGamesTheorem.Foundations.Games.Strategy
- def
OAI.UniqueGamesTheorem.Foundations.Games.Game.coordinateGameline 271Source documentation
A single tested coordinate under an arbitrary full-tuple question law.
def coordinateGame (G : Game Q₁ Q₂ A₁ A₂) {n : Nat} (coordinate : Fin n) (law : FiniteDistribution ((Fin n → Q₁) × (Fin n → Q₂))) : Game (Fin n → Q₁) (Fin n → Q₂) (Fin n → A₁) (Fin n → A₂) where …Mentions: OAI.UniqueGamesTheorem.Foundations.Games.Game, OAI.UniqueGamesTheorem.Foundations.Games.FiniteDistribution
- theorem
OAI.UniqueGamesTheorem.Foundations.Games.Game.coordinate_probability_le_value_add_embedding_distanceline 280Source documentation
The strategy-extraction step used for a surviving coordinate after conditioning on successes at other coordinates. It preserves full local question dependence and uses no independence assumption on the target law.
theorem coordinate_probability_le_value_add_embedding_distance (G : Game Q₁ Q₂ A₁ A₂) {n : Nat} (coordinate : Fin n) (law : FiniteDistribution ((Fin n → Q₁) × (Fin n → Q₂))) (seedLaw : FiniteDistribution Seed) (left : Seed → Q₁ → Fin n → Q₁) (right : Seed → Q₂ → Fin n → Q₂) (left_preserves : ∀ seed x, left seed x coordinate = x) (right_preserves : ∀ seed y, right seed y coordinate = y) (strategy : Strategy (Fin n → Q₁) (Fin n → Q₂) (Fin n → A₁) (Fin n → A₂)) : law.probability (G.coordinateWin strategy coordinate) ≤ G.value + law.totalVariation (G.localEmbeddingLaw seedLaw left right) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Games.Game, OAI.UniqueGamesTheorem.Foundations.Games.FiniteDistribution, OAI.UniqueGamesTheorem.Foundations.Games.Strategy
- theorem
OAI.UniqueGamesTheorem.Foundations.Games.Game.coordinate_probability_le_value_of_approximate_embeddingsline 298Source documentation
Finite samplers may have an arbitrarily small exhaustion error. Passing to the limit in the numerical bound does not require an infinite seed or a claim that any finite sampler terminates with probability one.
theorem coordinate_probability_le_value_of_approximate_embeddings {SeedFamily : Nat → Type*} [∀ t, Fintype (SeedFamily t)] (G : Game Q₁ Q₂ A₁ A₂) {n : Nat} (coordinate : Fin n) (law : FiniteDistribution ((Fin n → Q₁) × (Fin n → Q₂))) (seedLaw : (t : Nat) → FiniteDistribution (SeedFamily t)) (left : (t : Nat) → SeedFamily t → Q₁ → Fin n → Q₁) (right : (t : Nat) → SeedFamily t → Q₂ → Fin n → Q₂) (left_preserves : ∀ t seed x, left t seed x coordinate = x) (right_preserves : ∀ t seed y, right t seed y coordinate = y) (strategy : Strategy (Fin n → Q₁) (Fin n → Q₂) (Fin n → A₁) (Fin n → A₂)) (distance : ℝ) (close : ∀ η : ℝ, 0 < η → ∃ t, …Mentions: OAI.UniqueGamesTheorem.Foundations.Games.Game, OAI.UniqueGamesTheorem.Foundations.Games.FiniteDistribution, OAI.UniqueGamesTheorem.Foundations.Games.Strategy
- def
OAI.UniqueGamesTheorem.Foundations.Repetition.ProfileCorrection.seedQuestionMarginalline 337 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.ProfileCorrection.seedQuestionMarginal_isProbabilityline 340 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.ProfileCorrection.seedQuestionMarginal_firstline 351 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.ProfileCorrection.totalVariation_triangleline 356 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.ProfileCorrection.left_profile_correctionline 365 - def
OAI.UniqueGamesTheorem.Foundations.Repetition.revealEndpointline 426 - def
OAI.UniqueGamesTheorem.Foundations.Repetition.revealLawline 430Source documentation
Independently reveal either endpoint with probability one half.
def revealLaw (μ : FiniteDistribution (X × Y)) : FiniteDistribution ((X × Y) × (X ⊕ Y)) := … - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealLaw_weightline 435 - def
OAI.UniqueGamesTheorem.Foundations.Repetition.revealFirstLawline 445 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealFirstLaw_weightline 450 - def
OAI.UniqueGamesTheorem.Foundations.Repetition.revealFallbackline 456Source documentation
The default row still preserves the displayed endpoint if that endpoint has zero probability in the base question law.
def revealFallback (μ : FiniteDistribution (X × Y)) (r : X ⊕ Y) : FiniteDistribution (X × Y) := … - def
OAI.UniqueGamesTheorem.Foundations.Repetition.revealProfileline 462 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealProfile_inl_supportline 466 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealProfile_inr_supportline 478 - def
OAI.UniqueGamesTheorem.Foundations.Repetition.revealInputLawline 490 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealInputLaw_weightline 493 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.reveal_profile_recombinationline 501Source documentation
The conditional product representation is proved from the sampled law, including reveal values with zero probability.
theorem reveal_profile_recombination (μ : FiniteDistribution (X × Y)) (r : X ⊕ Y) (q : X × Y) : (revealInputLaw μ).weight r * (revealProfile μ r).weight q = (revealLaw μ).weight (q,r) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.revealInputLaw, OAI.UniqueGamesTheorem.Foundations.Repetition.revealProfile, OAI.UniqueGamesTheorem.Foundations.Repetition.revealLaw
- theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.reveal_profile_inl_recombinationline 508 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.reveal_profile_inr_recombinationline 515 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealInputLaw_inlline 522 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealInputLaw_inrline 530 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealProfile_inl_diagonalline 537 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealProfile_inr_diagonalline 559 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealLaw_sum_leftline 585 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealLaw_sum_rightline 590 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.revealLaw_forgetline 595 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.reveal_product_factorizationline 607Source documentation
A conditional product of independently revealed coordinates has its exact point weight. This is the product identity used by the information bound, derived from the single-coordinate sampled distribution.
theorem reveal_product_factorization {ι : Type*} [Fintype ι] (μ : FiniteDistribution (X × Y)) (r : ι → X ⊕ Y) (q : ι → X × Y) : (∏ i, (revealInputLaw μ).weight (r i)) * (∏ i, (revealProfile μ (r i)).weight (q i)) = ∏ i, (revealLaw μ).weight (q i,r i) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.revealInputLaw, OAI.UniqueGamesTheorem.Foundations.Repetition.revealProfile, OAI.UniqueGamesTheorem.Foundations.Repetition.revealLaw
- theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.reveal_product_forgetline 617 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.reveal_product_expectationline 636Source documentation
Marginalizing the reveal variables restores the original independent question law for every observable, including the selected-win likelihood.
theorem reveal_product_expectation {ι : Type*} [Fintype ι] [DecidableEq ι] (μ : FiniteDistribution (X × Y)) (f : (ι → X × Y) → ℝ) : (∑ r : ι → X ⊕ Y, (∏ i, (revealInputLaw μ).weight (r i)) * ∑ q : ι → X × Y, (∏ i, (revealProfile μ (r i)).weight (q i)) * f q) = ∑ q : ι → X × Y, (∏ i, μ.weight (q i)) * f q := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.revealInputLaw, OAI.UniqueGamesTheorem.Foundations.Repetition.revealProfile
- def
OAI.UniqueGamesTheorem.Foundations.Repetition.logTwoline 659 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.logTwo_oneline 661 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.logTwo_inv_le_of_half_pow_leline 663 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.contraction_stepline 676Source documentation
A nonzero step below the cutoff contracts by
(1+v)/2.theorem contraction_step {v ell : ℝ} {n m : ℕ} {p next : ℝ} (hv0 : 0 ≤ v) (hv1 : v < 1) (hell : 1 ≤ ell) (hm : 1 ≤ m) (hmn : m < n) (hp : 0 ≤ p) (hmono : next ≤ p) (hprev : p ≤ ((1 + v) / 2) ^ m) (hcut : 2700 * (m : ℝ) * ell ≤ (1 - v) ^ 2 * ((n : ℝ) - m)) (hstep : next ≤ p * (v + 15 * Real.sqrt (((m : ℝ) * ell + logTwo (1 / p)) / ((n : ℝ) - m)))) : next ≤ ((1 + v) / 2) ^ (m + 1) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.logTwo
- theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.initial_stepline 716Source documentation
The
m=0case does not use the estimatem+1 ≤ 2*m*ell.theorem initial_step {v ell next : ℝ} {n : ℕ} (hstep : next ≤ 1 * (v + 15 * Real.sqrt (((0 : ℝ) * ell + logTwo (1 / 1)) / ((n : ℝ) - 0)))) : next ≤ v := by simpa using hstepMentions: OAI.UniqueGamesTheorem.Foundations.Repetition.logTwo
- theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.cutoff_stepline 722Source documentation
A real cutoff gives a valid step at every integer strictly below it.
theorem cutoff_step {v ell : ℝ} {n m : ℕ} (hv0 : 0 ≤ v) (hv1 : v < 1) (hell : 1 ≤ ell) (hm : (m : ℝ) < (n : ℝ) * (1 - v) ^ 2 / (2925 * ell)) : 2700 * (m : ℝ) * ell ≤ (1 - v) ^ 2 * ((n : ℝ) - m) := by … - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.cutoff_le_lengthline 734 - def
OAI.UniqueGamesTheorem.Foundations.Repetition.ScalarRecurrenceline 743Source documentation
The explicit recurrence obtained from a
15*sqrtembedding error.def ScalarRecurrence (p : ℕ → ℝ) (n : ℕ) (v ell : ℝ) : Prop := …
- theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.decay_to_cutoffline 749Source documentation
Induction to the ceiling of the real cutoff repairs the integer-rounding omission in the printed scalar proof.
theorem decay_to_cutoff (p : ℕ → ℝ) (n : ℕ) {v ell : ℝ} (hv0 : 0 ≤ v) (hv1 : v < 1) (hell : 1 ≤ ell) (hp0 : p 0 = 1) (hpnonneg : ∀ m, 0 ≤ p m) (hpmono : Antitone p) (hrec : ScalarRecurrence p n v ell) : p n ≤ ((1 + v) / 2) ^ ((n : ℝ) * (1 - v) ^ 2 / (2925 * ell)) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.ScalarRecurrence
- theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.block_contractionline 787Source documentation
The loss in one real-power block is cubic in the initial gap.
theorem block_contraction {v : ℝ} (hv0 : 0 ≤ v) (hv1 : v < 1) : ((1 + v) / 2) ^ ((1 - v) ^ 2 / 2925 : ℝ) ≤ 1 - (1 - v) ^ 3 / 5850 := by … - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.scalar_bound_6000line 802Source documentation
Numerical endpoint of Holenstein's recurrence, with the published constant 6000. This theorem assumes only a concrete scalar recurrence, not any game value bound. The derivation of that recurrence for games is separate.
theorem scalar_bound_6000 (p : ℕ → ℝ) (n : ℕ) {v ell : ℝ} (hv0 : 0 ≤ v) (hv1 : v < 1) (hell : 1 ≤ ell) (hp0 : p 0 = 1) (hpnonneg : ∀ m, 0 ≤ p m) (hpmono : Antitone p) (hrec : ScalarRecurrence p n v ell) : p n ≤ (1 - (1 - v) ^ 3 / 6000) ^ ((n : ℝ) / ell) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.ScalarRecurrence
- def
OAI.UniqueGamesTheorem.Foundations.Repetition.incidenceRateline 825 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.incidenceRate_posline 827 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.incidenceRate_lt_oneline 829 - theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.incidenceRate_fourthline 832Source documentation
Exact rational arithmetic verifies the fourth-power comparison.
theorem incidenceRate_fourth : 1 - (1 / 192 : ℝ) ^ 3 / 6000 ≤ incidenceRate ^ 4 := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.incidenceRate
- theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.incidence_rate_comparisonline 838Source documentation
Converting the real exponent
n/4to an integral power loses only the explicit slack already built intoincidenceRate.theorem incidence_rate_comparison (n : ℕ) : (1 - (1 / 192 : ℝ) ^ 3 / 6000) ^ ((n : ℝ) / 4) ≤ incidenceRate ^ n := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.incidenceRate
- theorem
OAI.UniqueGamesTheorem.Foundations.Repetition.scalar_incidence_boundline 851Source documentation
The incidence-game rate follows from its concrete scalar recurrence. The game-to-recurrence proof is deliberately not hidden in this statement.
theorem scalar_incidence_bound (p : ℕ → ℝ) (n : ℕ) {v : ℝ} (hv : v ≤ 1 - (1 / 192 : ℝ)) (hp0 : p 0 = 1) (hpnonneg : ∀ m, 0 ≤ p m) (hpmono : Antitone p) (hrec : ScalarRecurrence p n v 4) : p n ≤ incidenceRate ^ n := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Repetition.ScalarRecurrence, OAI.UniqueGamesTheorem.Foundations.Repetition.incidenceRate