OAI/Computability/MaxCut/Games/Product.lean
68 declarations, 0 contain sorry, 0 declared as axioms
The independent graph product in the last step of the v2 reduction.
Edges are tuples of actual base edges. The endpoint maps remain injective, the edge law is exactly uniform, and the associated game agrees with ordinary parallel repetition for every pair of local strategies, including strategies depending on their whole question tuples. Only the completeness lower bound uses coordinatewise strategies; no repetition soundness bound is assumed here.
- def
OAI.MaxCutGames.Explicit.BipartiteGame.productline 28Source documentation
Independent tuples of edges and labels. The two endpoint types keep the two parts separate, even when the base sets happen to have the same type.
def product (G : BipartiteGame L R E A) (t : ℕ) : BipartiteGame (Fin t → L) (Fin t → R) (Fin t → E) (Fin t → A) where …Mentions: OAI.MaxCutGames.Explicit.BipartiteGame
- theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_leftline 44 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_rightline 47 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_permutationline 50 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_isTranslationline 54 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_edge_cardline 62 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_left_cardline 65 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_right_cardline 68 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_edges_nonemptyline 71 - def
OAI.MaxCutGames.Explicit.BipartiteGame.toGameline 80Source documentation
Each actual edge has equal weight. Simplicity makes the acceptance predicate at its endpoint pair exactly its permutation constraint.
def toGame (G : BipartiteGame L R E A) : Game L R A A := by …
Mentions: OAI.MaxCutGames.Explicit.BipartiteGame
- theorem
OAI.MaxCutGames.Explicit.BipartiteGame.toGame_accepts_on_edgeline 88 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.toGame_isProjectionline 103Source documentation
At most one accepting right answer exists for each local question pair and left answer, including question pairs with zero edge weight.
theorem toGame_isProjection (G : BipartiteGame L R E A) : MaxCutGames.Repetition.IsProjection G.toGame := by …Mentions: OAI.MaxCutGames.Explicit.BipartiteGame, OAI.MaxCutGames.Repetition.IsProjection
- def
OAI.MaxCutGames.Explicit.BipartiteGame.occurrenceSuccessline 115Source documentation
Acceptance probability directly on the uniform occurrence set.
def occurrenceSuccess (G : BipartiteGame L R E A) (strategy : Strategy L R A A) : ℝ := by …Mentions: OAI.MaxCutGames.Explicit.BipartiteGame
- theorem
OAI.MaxCutGames.Explicit.BipartiteGame.toGame_successline 121 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.toGame_success_eq_satisfiedCountline 142Source documentation
The probabilistic game evaluates the same unweighted edge fraction as the explicit graph's integer occurrence counter.
theorem toGame_success_eq_satisfiedCount [DecidableEq A] (G : BipartiteGame L R E A) (strategy : Strategy L R A A) : G.toGame.success strategy = (G.satisfiedCount strategy.1 strategy.2 : ℝ) / Fintype.card E := by …Mentions: OAI.MaxCutGames.Explicit.BipartiteGame
- theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_uniform_edge_lawline 157Source documentation
Independent uniform draws of base edges are exactly the uniform product edge law, without reweighting or collapsing occurrences.
theorem product_uniform_edge_law (t : ℕ) : (FiniteDistribution.uniform E).iid t = FiniteDistribution.uniform (Fin t → E) := … - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_success_eq_repetitionline 164Source documentation
The graph construction agrees with the ordinary independent repeated game for arbitrary local tuple strategies. This is the soundness interface.
theorem product_success_eq_repetition (G : BipartiteGame L R E A) (t : ℕ) (strategy : Strategy (Fin t → L) (Fin t → R) (Fin t → A) (Fin t → A)) : (G.product t).toGame.success strategy = (G.toGame.repetition t).success strategy := by …Mentions: OAI.MaxCutGames.Explicit.BipartiteGame
- theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_coordinate_successline 195 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.one_sub_mul_one_sub_le_powline 202Source documentation
Scalar union bound, proved for the actual base success probability.
theorem one_sub_mul_one_sub_le_pow {p : ℝ} (hp0 : 0 ≤ p) (_hp1 : p ≤ 1) (t : ℕ) : 1 - (t : ℝ) * (1 - p) ≤ p ^ t := by … - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_coordinate_completenessline 215Source documentation
The coordinatewise honest labeling loses at most
ttimes the base error. This does not restrict the strategies covered by the soundness bridge.theorem product_coordinate_completeness (G : BipartiteGame L R E A) (t : ℕ) (strategy : Strategy L R A A) {error : ℝ} (hcomplete : 1 - error ≤ G.toGame.success strategy) : 1 - (t : ℝ) * error ≤ (G.product t).toGame.success (Game.repeatStrategy strategy t) := by …Mentions: OAI.MaxCutGames.Explicit.BipartiteGame
- theorem
OAI.MaxCutGames.Explicit.BipartiteGame.toGame_valueline 230Source documentation
The finite maximum over arbitrary local strategies is exactly the explicit graph value used by the subdivision identity.
theorem toGame_value [DecidableEq A] (G : BipartiteGame L R E A) : G.toGame.value = G.value := by …Mentions: OAI.MaxCutGames.Explicit.BipartiteGame
- theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_value_eq_repetitionline 244 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.product_completenessline 256 - def
OAI.MaxCutGames.Explicit.BipartiteGame.relabelline 266Source documentation
A change of alphabet coordinates keeps endpoints and edge identities.
def relabel {B : Type*} (G : BipartiteGame L R E A) (e : A ≃ B) : BipartiteGame L R E B where …Mentions: OAI.MaxCutGames.Explicit.BipartiteGame
- theorem
OAI.MaxCutGames.Explicit.BipartiteGame.relabel_isTranslationline 273 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.relabel_successline 288Source documentation
Alphabet coordinates are changed locally at each endpoint.
theorem relabel_success (G : BipartiteGame L R E A) (e : A ≃ B) (strategy : Strategy L R B B) : (G.relabel e).toGame.success strategy = G.toGame.success (fun x => e.symm (strategy.1 x), fun y => e.symm (strategy.2 y)) := by …Mentions: OAI.MaxCutGames.Explicit.BipartiteGame
- theorem
OAI.MaxCutGames.Explicit.BipartiteGame.relabel_success_forwardline 309 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.relabel_valueline 318 - def
OAI.MaxCutGames.Explicit.BipartiteGame.binaryProductEquivline 335Source documentation
The explicit binary vector coordinates of the final alphabet. The coordinate order is
(base bit, repetition coordinate).def binaryProductEquiv (ell t : ℕ) : (Fin t → Fin ell → ZMod 2) ≃+ (Fin (ell * t) → ZMod 2) where … - def
OAI.MaxCutGames.Explicit.BipartiteGame.binaryProductline 347 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.binaryProduct_isTranslationline 351 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.binaryProduct_dimension_positiveline 356 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.binaryProduct_alphabet_cardline 359 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.binaryProduct_value_eq_repetitionline 366 - theorem
OAI.MaxCutGames.Explicit.BipartiteGame.binaryProduct_completenessline 371 - def
OAI.MaxCutGames.Explicit.ProductPaddedOutput.Embedded.rowline 403 - def
OAI.MaxCutGames.Explicit.ProductPaddedOutput.Embedded.renderline 409 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.Embedded.render_lengthline 419 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.Embedded.render_getline 423 - def
OAI.MaxCutGames.Explicit.ProductPaddedOutput.Embedded.simpleBipartiteline 431 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.Embedded.countline 460 - def
OAI.MaxCutGames.Explicit.ProductPaddedOutput.Embedded.extendLabelingsline 474 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.Embedded.extendLabelings_leftline 480 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.Embedded.extendLabelings_rightline 486 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.Embedded.maxSatisfiedline 491 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.Embedded.valueline 508 - abbrev
OAI.MaxCutGames.Explicit.ProductPaddedOutput.Leftline 522 - abbrev
OAI.MaxCutGames.Explicit.ProductPaddedOutput.Rightline 523 - def
OAI.MaxCutGames.Explicit.ProductPaddedOutput.graphline 525 - def
OAI.MaxCutGames.Explicit.ProductPaddedOutput.verticesline 532Source documentation
The two genuine product vertex sets embed into the common global radix space. Opposite sides cannot collide because the repetition count is positive.
def vertices (t : ℕ) (ht : 0 < t) : ((Fin t → Left H presentation) ⊕ (Fin t → Right H presentation)) ↪ Fin (H.vertices ^ t) where …Mentions: OAI.MaxCutGames.Explicit.ProductPaddedOutput.Left, OAI.MaxCutGames.Explicit.ProductPaddedOutput.Right
- def
OAI.MaxCutGames.Explicit.ProductPaddedOutput.sideline 564 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.side_leftline 567 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.side_rightline 575 - def
OAI.MaxCutGames.Explicit.ProductPaddedOutput.outputRowline 583 - def
OAI.MaxCutGames.Explicit.ProductPaddedOutput.outputline 588 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.output_verticesline 592 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.output_constraintsline 595 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.output_lengthline 598 - def
OAI.MaxCutGames.Explicit.ProductPaddedOutput.simpleBipartiteline 601 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.outputRow_sourceline 605 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.outputRow_targetline 611 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.outputRow_imagesline 617 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.output_gameWordsline 626 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.output_value_eq_repetitionline 634 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.output_completenessline 644 - def
OAI.MaxCutGames.Explicit.ProductPaddedOutput.finalCoordinatesline 655 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.finalCoordinates_applyline 661 - theorem
OAI.MaxCutGames.Explicit.ProductPaddedOutput.output_translationsline 666