OAI/Computability/MaxCut/Games/Basic.lean
62 declarations, 0 contain sorry, 0 declared as axioms
Finite two-player games with actual joint question distributions.
An answer function receives only its own player's question. In a repeated game, that question is the entire tuple, so a repeated strategy need not act separately on coordinates. The predicate may reject invalid answers depending on questions. All probabilities below are actual finite sums of real weights.
- structure
OAI.MaxCutGames.Foundations.Games.FiniteDistributionline 21 - def
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.expectationline 30 - def
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.probabilityline 33 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.probability_nonnegativeline 36 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.probability_le_oneline 44 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.probability_trueline 53 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.probability_falseline 57 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.probability_monoline 61 - def
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.pushforwardline 74Source documentation
Pushforward counts all preimages, including collisions.
def pushforward (μ : FiniteDistribution Ω) (f : Ω → Γ) : FiniteDistribution Γ := by …
Mentions: OAI.MaxCutGames.Foundations.Games.FiniteDistribution
- theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.probability_pushforwardline 86 - def
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.transportline 98 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.probability_transportline 103 - def
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.iidline 110Source documentation
Independent repeated sampling, including the single empty tuple at n=0.
def iid (μ : FiniteDistribution Ω) (n : Nat) : FiniteDistribution (Fin n → Ω) where …
Mentions: OAI.MaxCutGames.Foundations.Games.FiniteDistribution
- theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.probability_iid_allline 115 - abbrev
OAI.MaxCutGames.Foundations.Games.Strategyline 134 - structure
OAI.MaxCutGames.Foundations.Games.Gameline 136 - def
OAI.MaxCutGames.Foundations.Games.Game.winsline 148 - def
OAI.MaxCutGames.Foundations.Games.Game.successline 152 - theorem
OAI.MaxCutGames.Foundations.Games.Game.success_nonnegativeline 155 - theorem
OAI.MaxCutGames.Foundations.Games.Game.success_le_oneline 159 - def
OAI.MaxCutGames.Foundations.Games.Game.simulatedStrategyline 166Source documentation
Local question reconstruction and answer decoding never expose the other player's question to a strategy. Any fixed advice is an ordinary fixed parameter of these functions.
def simulatedStrategy {R₁ R₂ B₁ B₂ : Type*} (questionMap₁ : Q₁ → R₁) (questionMap₂ : Q₂ → R₂) (answerMap₁ : Q₁ → B₁ → A₁) (answerMap₂ : Q₂ → B₂ → A₂) (strategy : Strategy R₁ R₂ B₁ B₂) : Strategy Q₁ Q₂ A₁ A₂ := … - theorem
OAI.MaxCutGames.Foundations.Games.Game.success_le_of_localSimulationline 175Source documentation
An acceptance implication under an exact question-law pushforward gives an actual success-probability comparison for every pair of local strategies.
theorem success_le_of_localSimulation {R₁ R₂ B₁ B₂ : Type*} [Fintype R₁] [Fintype R₂] [Fintype B₁] [Fintype B₂] (G : Game Q₁ Q₂ A₁ A₂) (H : Game R₁ R₂ B₁ B₂) (questionMap₁ : Q₁ → R₁) (questionMap₂ : Q₂ → R₂) (answerMap₁ : Q₁ → B₁ → A₁) (answerMap₂ : Q₂ → B₂ → A₂) (questionLaw : H.questions = G.questions.pushforward (fun q => (questionMap₁ q.1, questionMap₂ q.2))) (acceptance : ∀ x y a b, H.accepts (questionMap₁ x) (questionMap₂ y) a b = true → G.accepts x y (answerMap₁ x a) (answerMap₂ y b) = true) (strategy : Strategy R₁ R₂ B₁ B₂) : H.success strategy ≤ …Mentions: OAI.MaxCutGames.Foundations.Games.Game, OAI.MaxCutGames.Foundations.Games.Strategy
- def
OAI.MaxCutGames.Foundations.Games.Game.tupleQuestionEquivline 194 - def
OAI.MaxCutGames.Foundations.Games.Game.repetitionline 202Source documentation
Parallel repetition retains arbitrary dependence on each full local tuple.
def repetition (G : Game Q₁ Q₂ A₁ A₂) (n : Nat) : Game (Fin n → Q₁) (Fin n → Q₂) (Fin n → A₁) (Fin n → A₂) := by …Mentions: OAI.MaxCutGames.Foundations.Games.Game
- def
OAI.MaxCutGames.Foundations.Games.Game.repeatStrategyline 211Source documentation
Playing a fixed base strategy separately in each coordinate is one permitted repeated strategy, though repeated strategies are more general.
def repeatStrategy (strategy : Strategy Q₁ Q₂ A₁ A₂) (n : Nat) : Strategy (Fin n → Q₁) (Fin n → Q₂) (Fin n → A₁) (Fin n → A₂) := … - theorem
OAI.MaxCutGames.Foundations.Games.Game.success_repeatStrategyline 215 - theorem
OAI.MaxCutGames.Foundations.Games.Game.repetition_question_weightline 223 - theorem
OAI.MaxCutGames.Foundations.Games.Game.repetition_accepts_iffline 228 - def
OAI.MaxCutGames.Foundations.Games.Game.coordinateWinline 236Source documentation
One coordinate's success may depend on the entire local question tuples.
def coordinateWin (G : Game Q₁ Q₂ A₁ A₂) {n : Nat} (strategy : Strategy (Fin n → Q₁) (Fin n → Q₂) (Fin n → A₁) (Fin n → A₂)) (coordinate : Fin n) (questions : (Fin n → Q₁) × (Fin n → Q₂)) : Bool := …Mentions: OAI.MaxCutGames.Foundations.Games.Game, OAI.MaxCutGames.Foundations.Games.Strategy
- def
OAI.MaxCutGames.Foundations.Games.Game.selectedWinsline 242 - theorem
OAI.MaxCutGames.Foundations.Games.Game.selectedWins_monoline 248 - theorem
OAI.MaxCutGames.Foundations.Games.Game.selectedWins_emptyline 259 - theorem
OAI.MaxCutGames.Foundations.Games.Game.selectedWins_univline 265 - def
OAI.MaxCutGames.Foundations.Games.Game.valueline 279Source documentation
A maximum of the finitely many actual deterministic success probabilities.
def value (G : Game Q₁ Q₂ A₁ A₂) : ℝ := by …
Mentions: OAI.MaxCutGames.Foundations.Games.Game
- theorem
OAI.MaxCutGames.Foundations.Games.Game.success_le_valueline 283 - theorem
OAI.MaxCutGames.Foundations.Games.Game.value_le_iffline 288 - theorem
OAI.MaxCutGames.Foundations.Games.Game.exists_optimal_strategyline 293 - theorem
OAI.MaxCutGames.Foundations.Games.Game.value_nonnegativeline 300 - theorem
OAI.MaxCutGames.Foundations.Games.Game.value_le_oneline 305 - theorem
OAI.MaxCutGames.Foundations.Games.Game.randomized_success_le_valueline 310Source documentation
Any fixed finite random seed merely chooses a deterministic strategy pair. Separate private seeds are covered by taking their pair as
Seed.theorem randomized_success_le_value (G : Game Q₁ Q₂ A₁ A₂) {Seed : Type*} [Fintype Seed] (seedLaw : FiniteDistribution Seed) (strategies : Seed → Strategy Q₁ Q₂ A₁ A₂) : seedLaw.expectation (fun seed => G.success (strategies seed)) ≤ G.value := by …Mentions: OAI.MaxCutGames.Foundations.Games.Game, OAI.MaxCutGames.Foundations.Games.FiniteDistribution, OAI.MaxCutGames.Foundations.Games.Strategy
- theorem
OAI.MaxCutGames.Foundations.Games.Game.success_repetition_zeroline 323 - theorem
OAI.MaxCutGames.Foundations.Games.Game.value_repetition_zeroline 332 - theorem
OAI.MaxCutGames.Foundations.Games.Game.pow_value_le_repetition_valueline 340Source documentation
The product strategy supplies a lower bound, not an upper bound, for parallel repetition. A genuine decay upper bound needs a separate theorem.
theorem pow_value_le_repetition_value (G : Game Q₁ Q₂ A₁ A₂) (n : Nat) : G.value ^ n ≤ (G.repetition n).value := by …Mentions: OAI.MaxCutGames.Foundations.Games.Game, OAI.MaxCutGames.Foundations.Games.Game.value
- theorem
OAI.MaxCutGames.Foundations.Games.Game.value_le_of_localSimulationline 346 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.eq_of_weight_eqline 375 - def
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.tableline 386Source documentation
Independently sample one response for each possible private question.
def table [DecidableEq Q] (responses : Q → FiniteDistribution A) : FiniteDistribution (Q → A) := by …Mentions: OAI.MaxCutGames.Foundations.Games.FiniteDistribution
- theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.expectation_table_evalline 397 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.table_eval_pushforwardline 425 - def
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.productline 439 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.expectation_productline 448 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.expectation_commline 454 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.expectation_congrline 467 - def
OAI.MaxCutGames.Foundations.Games.Game.responseTableLawline 480 - def
OAI.MaxCutGames.Foundations.Games.Game.stochasticSuccessline 486 - theorem
OAI.MaxCutGames.Foundations.Games.Game.success_eq_question_expectationline 495 - theorem
OAI.MaxCutGames.Foundations.Games.Game.table_success_eq_stochasticline 502 - theorem
OAI.MaxCutGames.Foundations.Games.Game.stochasticSuccess_le_valueline 540 - theorem
OAI.MaxCutGames.Foundations.Games.Game.exists_deterministic_ge_stochasticline 548 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.iid_pushforwardline 569 - def
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.uniformline 589 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.iid_uniformline 598 - theorem
OAI.MaxCutGames.Foundations.Games.FiniteDistribution.expectation_uniformline 605