OAI/Computability/MaxCut/Games/Information.lean
108 declarations, 0 contain sorry, 0 declared as axioms
The observation fibre is a Cartesian product
- def
OAI.MaxCutGames.Soundness.ZeroInformation.Fibreline 17Source documentation
The complete draw, constrained only by the observations outside the hidden set.
def Fibre := {sample : P → X // … - def
OAI.MaxCutGames.Soundness.ZeroInformation.Insideline 21Source documentation
At hidden positions the draw is unconstrained.
def Inside := (j : P) → hidden j = true → X
- def
OAI.MaxCutGames.Soundness.ZeroInformation.Outsideline 24Source documentation
The remaining part of a draw, satisfying the outside observation.
def Outside := {sample : (j : P) → hidden j = false → X // … - def
OAI.MaxCutGames.Soundness.ZeroInformation.fibreInsideline 27 - def
OAI.MaxCutGames.Soundness.ZeroInformation.fibreOutsideline 30 - def
OAI.MaxCutGames.Soundness.ZeroInformation.assembleline 33 - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.inside_assembleline 43 - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.outside_assembleline 49 - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.assemble_splitline 56 - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.fibre_productline 67Source documentation
A fibre is in explicit bijection with the product of unrestricted inside draws and admissible outside draws. This assertion does not posit any independence axiom.
theorem fibre_product (sample : Fibre hidden reveal observed) : ∃ inside : Inside (X := X) hidden, ∃ outside : Outside hidden reveal observed, …Mentions: OAI.MaxCutGames.Soundness.ZeroInformation.Fibre, OAI.MaxCutGames.Soundness.ZeroInformation.Inside, OAI.MaxCutGames.Soundness.ZeroInformation.Outside
- def
OAI.MaxCutGames.Soundness.ZeroInformation.massline 78 - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.mass_scaleline 82 - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.rectangular_massline 89Source documentation
outsideWeightmay already include the indicator of a fixed observation H=h.theorem rectangular_mass {A B : Type} (outside : List A) (inside : List B) (outsideWeight : A → Nat) (insideWeight : B → Nat) : mass outside (fun a => mass inside (fun b => outsideWeight a * insideWeight b)) = mass outside outsideWeight * mass inside insideWeight := by … - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.conditional_inside_identityline 103Source documentation
The division-free conditional-probability identity. If the observation has positive mass, division by that mass gives the unchanged inside law.
theorem conditional_inside_identity {A B : Type} (outside : List A) (inside : List B) (outsideWeight : A → Nat) (insideWeight : B → Nat) (event : B → Bool) : mass outside (fun a => mass inside (fun b => outsideWeight a * (if event b then insideWeight b else 0))) * mass inside insideWeight = mass outside (fun a => mass inside (fun b => outsideWeight a * insideWeight b)) * mass inside (fun b => if event b then insideWeight b else 0) := by … - abbrev
OAI.MaxCutGames.Soundness.ZeroInformation.Bitsline 116 - def
OAI.MaxCutGames.Soundness.ZeroInformation.zeroline 118 - def
OAI.MaxCutGames.Soundness.ZeroInformation.addline 120 - def
OAI.MaxCutGames.Soundness.ZeroInformation.scaleline 122 - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.scale_zeroline 125 - def
OAI.MaxCutGames.Soundness.ZeroInformation.rowSumline 130 - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.rowSum_congrline 133 - def
OAI.MaxCutGames.Soundness.ZeroInformation.pullbackRowline 140Source documentation
Raw row application after pulling back the retained coordinates along π.
singlerecords J, andomegais indexed by positions, never by names.def pullbackRow {P R : Type} (positions : List P) (single : P → Bool) (zeta0 : Bits R) (zeta1 zeta2 omega : P → Bits R) (indices : P → Fin 3) (homogeneous : Bool) (x : P → Fin 3 → Bool) : Bits R := … - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.pullbackRow_index_independentline 149Source documentation
Changing an index where its position coefficient is zero does not change the entire row map. This is an equality for all ambient coordinates, so also on E_U.
theorem pullbackRow_index_independent {P R : Type} (positions : List P) (single : P → Bool) (zeta0 : Bits R) (zeta1 zeta2 omega : P → Bits R) (i i' : P → Fin 3) (agrees : ∀ j, single j = true → omega j ≠ zero → i j = i' j) (homogeneous : Bool) (x : P → Fin 3 → Bool) : pullbackRow positions single zeta0 zeta1 zeta2 omega i homogeneous x = pullbackRow positions single zeta0 zeta1 zeta2 omega i' homogeneous x := by …Mentions: OAI.MaxCutGames.Soundness.ZeroInformation.Bits, OAI.MaxCutGames.Soundness.ZeroInformation.zero, OAI.MaxCutGames.Soundness.ZeroInformation.pullbackRow
- theorem
OAI.MaxCutGames.Soundness.ZeroInformation.pullbackRow_from_outside_namesline 170Source documentation
Distinct occurrence names recover the retained index at all nonzero positions. Consequently revealing outside (occurrence,name) pairs supplies exactly the indices needed by the first player; inside names and indices are unnecessary.
theorem pullbackRow_from_outside_names {P R O N : Type} (positions : List P) (single : P → Bool) (zeta0 : Bits R) (zeta1 zeta2 omega : P → Bits R) (occurrences : P → O) (name : O → Fin 3 → N) (distinct : ∀ o i i', name o i = name o i' → i = i') (i i' : P → Fin 3) (sameNames : ∀ j, single j = true → omega j ≠ zero → name (occurrences j) (i j) = name (occurrences j) (i' j)) (homogeneous : Bool) (x : P → Fin 3 → Bool) : pullbackRow positions single zeta0 zeta1 zeta2 omega i homogeneous x = pullbackRow positions single zeta0 zeta1 zeta2 omega i' homogeneous x := by …Mentions: OAI.MaxCutGames.Soundness.ZeroInformation.Bits, OAI.MaxCutGames.Soundness.ZeroInformation.zero, OAI.MaxCutGames.Soundness.ZeroInformation.pullbackRow
- theorem
OAI.MaxCutGames.Soundness.ZeroInformation.zero_third_bitline 186Source documentation
In particular, substituting the equation for a retained third bit cannot leak the hidden right-hand side through a zero coefficient.
theorem zero_third_bit {R : Type} (rhs homogeneous x1 x2 : Bool) : scale (zero : Bits R) ((rhs && homogeneous) ^^ x1 ^^ x2) = zero := by …Mentions: OAI.MaxCutGames.Soundness.ZeroInformation.scale, OAI.MaxCutGames.Soundness.ZeroInformation.zero, OAI.MaxCutGames.Soundness.ZeroInformation.Bits
- abbrev
OAI.MaxCutGames.Soundness.ZeroInformation.FirstRowline 194Source documentation
A raw row function on ambient first-question coordinates. Restricting it to the equation subspace gives the supplied map
Z_B π.abbrev FirstRow (P R : Type) := Bool → (P → Fin 3 → Bool) → Bits R
- abbrev
OAI.MaxCutGames.Soundness.ZeroInformation.SecondRowline 197Source documentation
A raw row function on ambient partner coordinates.
abbrev SecondRow (P R : Type) := …
- structure
OAI.MaxCutGames.Soundness.ZeroInformation.FirstInputline 200 - structure
OAI.MaxCutGames.Soundness.ZeroInformation.SecondInputline 206Source documentation
Sum.inl orecords a full occurrence andSum.inr na single named bit. The summand tag preserves the set J without exposing any retained index.structure SecondInput (P R O N : Type) where …
- def
OAI.MaxCutGames.Soundness.ZeroInformation.partnerQuestionline 210 - def
OAI.MaxCutGames.Soundness.ZeroInformation.partnerRowline 214 - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.partnerRow_pullbackline 221Source documentation
The raw formula really is the pullback under the retained-coordinate projection.
theorem partnerRow_pullback {P R : Type} (positions : List P) (single : P → Bool) (zeta0 : Bits R) (zeta1 zeta2 omega : P → Bits R) (indices : P → Fin 3) (homogeneous : Bool) (x : P → Fin 3 → Bool) : partnerRow positions single zeta0 zeta1 zeta2 omega homogeneous x (fun j => x j (indices j)) = pullbackRow positions single zeta0 zeta1 zeta2 omega indices homogeneous x := rflMentions: OAI.MaxCutGames.Soundness.ZeroInformation.Bits, OAI.MaxCutGames.Soundness.ZeroInformation.partnerRow, OAI.MaxCutGames.Soundness.ZeroInformation.pullbackRow
- def
OAI.MaxCutGames.Soundness.ZeroInformation.firstInputline 228 - def
OAI.MaxCutGames.Soundness.ZeroInformation.secondInputline 233 - def
OAI.MaxCutGames.Soundness.ZeroInformation.decodeIndexline 241Source documentation
A total fixed decoder for a retained index. On supported (o,n) it is uniquely determined by the distinctness of the three names.
noncomputable def decodeIndex {O N : Type} (name : O → Fin 3 → N) (occurrence : O) (n : N) : Fin 3 := by … - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.decodeIndex_nameline 246 - def
OAI.MaxCutGames.Soundness.ZeroInformation.reconstructQuestionline 255 - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.reconstructQuestion_actualline 258 - def
OAI.MaxCutGames.Soundness.ZeroInformation.reconstructFirstline 268Source documentation
The first reconstruction receives only fixed outside occurrence/name data, the fixed raw coefficients, and the inside occurrence draw.
noncomputable def reconstructFirst {P R O N : Type} (positions : List P) (single hidden : P → Bool) (zeta0 : Bits R) (zeta1 zeta2 omega : P → Bits R) (name : O → Fin 3 → N) (insideOccurrences outsideOccurrences : P → O) (outsideNames : P → N) : FirstInput P R O := …Mentions: OAI.MaxCutGames.Soundness.ZeroInformation.Bits, OAI.MaxCutGames.Soundness.ZeroInformation.FirstInput
- theorem
OAI.MaxCutGames.Soundness.ZeroInformation.first_input_reconstructionline 276 - def
OAI.MaxCutGames.Soundness.ZeroInformation.reconstructSecondline 302Source documentation
The second reconstruction receives no inside occurrence: only inside names.
def reconstructSecond {P R O N : Type} (positions : List P) (single hidden : P → Bool) (zeta0 : Bits R) (zeta1 zeta2 omega : P → Bits R) (outsideOccurrences : P → O) (insideNames outsideNames : P → N) : SecondInput P R O N := …Mentions: OAI.MaxCutGames.Soundness.ZeroInformation.Bits, OAI.MaxCutGames.Soundness.ZeroInformation.SecondInput
- theorem
OAI.MaxCutGames.Soundness.ZeroInformation.second_input_reconstructionline 308 - def
OAI.MaxCutGames.Soundness.ZeroInformation.FirstPointline 333Source documentation
The first equation subspace is determined by its occurrence question alone.
def FirstPoint {P O : Type} (rhs : O → Bool) (question : P → O) := … - def
OAI.MaxCutGames.Soundness.ZeroInformation.SecondPointline 340Source documentation
At single positions the partner space has a free bit and no occurrence or rhs. Unused ambient coordinates are fixed to zero, giving a canonical embedding of the position-dependent coordinate space rather than extra degrees of freedom.
def SecondPoint {P O N : Type} (rhs : O → Bool) (question : P → Sum O N) := … - def
OAI.MaxCutGames.Soundness.ZeroInformation.FirstInput.suppliedMapline 348 - def
OAI.MaxCutGames.Soundness.ZeroInformation.SecondInput.suppliedMapline 352 - def
OAI.MaxCutGames.Soundness.ZeroInformation.projectFullline 356 - def
OAI.MaxCutGames.Soundness.ZeroInformation.projectSinglesline 360 - def
OAI.MaxCutGames.Soundness.ZeroInformation.partnerProjectionline 364 - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.partnerRow_projectline 376 - theorem
OAI.MaxCutGames.Soundness.ZeroInformation.supplied_map_pullbackline 388 - abbrev
OAI.MaxCutGames.Soundness.ConditionalIncidences.PositionInsideline 405 - abbrev
OAI.MaxCutGames.Soundness.ConditionalIncidences.PositionOutsideline 406 - abbrev
OAI.MaxCutGames.Soundness.ConditionalIncidences.Drawline 407 - abbrev
OAI.MaxCutGames.Soundness.ConditionalIncidences.InsideDrawline 408 - def
OAI.MaxCutGames.Soundness.ConditionalIncidences.incidenceline 410 - def
OAI.MaxCutGames.Soundness.ConditionalIncidences.insideDrawline 413 - def
OAI.MaxCutGames.Soundness.ConditionalIncidences.outsideRecordline 416 - abbrev
OAI.MaxCutGames.Soundness.ConditionalIncidences.ObservationFibreline 420 - abbrev
OAI.MaxCutGames.Soundness.ConditionalIncidences.OutsideFibreline 424 - instance
OAI.MaxCutGames.Soundness.ConditionalIncidences.observationFibreFintypeline 429 - instance
OAI.MaxCutGames.Soundness.ConditionalIncidences.outsideFibreFintypeline 433 - def
OAI.MaxCutGames.Soundness.ConditionalIncidences.observationFibreEquivline 438Source documentation
The actual observation fibre, not an assumed rectangular probability law.
def observationFibreEquiv {P O N : Type} [DecidableEq P] (K : Finset P) (name : O → Fin 3 → N) (observed : PositionOutside K → O × N) : ObservationFibre K name observed ≃ InsideDraw K O × OutsideFibre K name observed where …Mentions: OAI.MaxCutGames.Soundness.ConditionalIncidences.PositionOutside, OAI.MaxCutGames.Soundness.ConditionalIncidences.ObservationFibre, OAI.MaxCutGames.Soundness.ConditionalIncidences.InsideDraw, OAI.MaxCutGames.Soundness.ConditionalIncidences.OutsideFibre
- def
OAI.MaxCutGames.Soundness.ConditionalIncidences.averageline 462 - theorem
OAI.MaxCutGames.Soundness.ConditionalIncidences.average_equivline 465 - theorem
OAI.MaxCutGames.Soundness.ConditionalIncidences.average_product_leftline 471Source documentation
Cancelling the finite nonempty outside fibre gives a normalized equality.
theorem average_product_left {A B : Type} [Fintype A] [Fintype B] (hB : Fintype.card B ≠ 0) (f : A → ℚ) : average (fun ab : A × B => f ab.1) = average f := by …Mentions: OAI.MaxCutGames.Soundness.ConditionalIncidences.average
- theorem
OAI.MaxCutGames.Soundness.ConditionalIncidences.average_product_mulline 483Source documentation
Uniform sampling from the actual finite product is independent sampling.
theorem average_product_mul {A B : Type} [Fintype A] [Fintype B] (f : A → ℚ) (g : B → ℚ) : average (fun ab : A × B => f ab.1 * g ab.2) = average f * average g := by …Mentions: OAI.MaxCutGames.Soundness.ConditionalIncidences.average
- theorem
OAI.MaxCutGames.Soundness.ConditionalIncidences.average_coordinate_productline 494Source documentation
The uniform function sample is the product of its uniform coordinate laws.
theorem average_coordinate_product {A X : Type} [Fintype A] [DecidableEq A] [Fintype X] (f : A → X → ℚ) : average (fun sample : A → X => ∏ a, f a (sample a)) = ∏ a, average (f a) := by …Mentions: OAI.MaxCutGames.Soundness.ConditionalIncidences.average
- theorem
OAI.MaxCutGames.Soundness.ConditionalIncidences.uniform_conditional_ratioline 504Source documentation
This is the usual conditional-expectation ratio in a uniform finite space: the numerator and event probability are both divided by the full sample count.
theorem uniform_conditional_ratio {A : Type} [Fintype A] (p : A → Prop) [Fintype {a // p a}] (hpos : 0 < Fintype.card {a // p a}) (f : {a // p a} → ℚ) : ((∑ a, f a) / (Fintype.card A : ℚ)) / ((Fintype.card {a // p a} : ℚ) / Fintype.card A) = average f := by …Mentions: OAI.MaxCutGames.Soundness.ConditionalIncidences.average
- theorem
OAI.MaxCutGames.Soundness.ConditionalIncidences.conditional_inside_averageline 520Source documentation
Exact finite conditional expectation for every function of inside draws. The denominator is the cardinality of the supported observation fibre.
theorem conditional_inside_average (K : Finset P) (name : O → Fin 3 → N) (observed : PositionOutside K → O × N) (hpos : 0 < Fintype.card (ObservationFibre K name observed)) (f : InsideDraw K O → ℚ) : average (fun sample : ObservationFibre K name observed => f (insideDraw K sample.val)) = average f := by …Mentions: OAI.MaxCutGames.Soundness.ConditionalIncidences.PositionOutside, OAI.MaxCutGames.Soundness.ConditionalIncidences.ObservationFibre, OAI.MaxCutGames.Soundness.ConditionalIncidences.InsideDraw, OAI.MaxCutGames.Soundness.ConditionalIncidences.average, OAI.MaxCutGames.Soundness.ConditionalIncidences.insideDraw
- theorem
OAI.MaxCutGames.Soundness.ConditionalIncidences.conditional_incidence_averageline 542Source documentation
Pushing the fresh occurrence/slot draws through (o,i) ↦ (o,vᵢ(o)) gives exactly the repeated incidence law, with no distinct-name assumption needed.
theorem conditional_incidence_average (K : Finset P) (name : O → Fin 3 → N) (observed : PositionOutside K → O × N) (hpos : 0 < Fintype.card (ObservationFibre K name observed)) (f : (PositionInside K → O × N) → ℚ) : average (fun sample : ObservationFibre K name observed => f (fun j => incidence name (sample.val j.val))) = average (fun fresh : InsideDraw K O => f (fun j => incidence name (fresh j))) := by …Mentions: OAI.MaxCutGames.Soundness.ConditionalIncidences.PositionOutside, OAI.MaxCutGames.Soundness.ConditionalIncidences.ObservationFibre, OAI.MaxCutGames.Soundness.ConditionalIncidences.PositionInside, OAI.MaxCutGames.Soundness.ConditionalIncidences.average, OAI.MaxCutGames.Soundness.ConditionalIncidences.incidence, OAI.MaxCutGames.Soundness.ConditionalIncidences.InsideDraw
- abbrev
OAI.MaxCutGames.Soundness.ConditionalIncidences.RawSlotline 556Source documentation
None is ζ₀; the left summand gives two coefficients per full position; the right summand gives one coefficient per single position.
abbrev RawSlot {P : Type} (J : Finset P) := … - abbrev
OAI.MaxCutGames.Soundness.ConditionalIncidences.RawCoefficientsline 559 - def
OAI.MaxCutGames.Soundness.ConditionalIncidences.zeroSetline 561 - theorem
OAI.MaxCutGames.Soundness.ConditionalIncidences.mem_zeroSetline 565 - abbrev
OAI.MaxCutGames.Soundness.ConditionalIncidences.RawSampleline 570 - abbrev
OAI.MaxCutGames.Soundness.ConditionalIncidences.RawObservationFibreline 575Source documentation
H fixes gamma and the outside incidence pairs. K is a deterministic function of gamma, so including K explicitly in H gives precisely this same event.
abbrev RawObservationFibre {P D O N : Type} [DecidableEq P] [Zero D] [DecidableEq D] (J : Finset P) (name : O → Fin 3 → N) (gamma : RawCoefficients J D) (observed : PositionOutside (zeroSet J gamma) → O × N) := …Mentions: OAI.MaxCutGames.Soundness.ConditionalIncidences.RawCoefficients, OAI.MaxCutGames.Soundness.ConditionalIncidences.PositionOutside, OAI.MaxCutGames.Soundness.ConditionalIncidences.zeroSet
- instance
OAI.MaxCutGames.Soundness.ConditionalIncidences.rawObservationFibreFintypeline 581 - def
OAI.MaxCutGames.Soundness.ConditionalIncidences.rawObservationFibreEquivline 587 - theorem
OAI.MaxCutGames.Soundness.ConditionalIncidences.raw_conditional_inside_averageline 601Source documentation
Lemma 6.7's conditional product law in the actual independent raw sampling space, with normalized rational expectations. No independence is a hypothesis.
theorem raw_conditional_inside_average {P D O N : Type} [Fintype P] [DecidableEq P] [Fintype D] [Zero D] [DecidableEq D] [Fintype O] [DecidableEq O] [DecidableEq N] (J : Finset P) (name : O → Fin 3 → N) (gamma : RawCoefficients J D) (observed : PositionOutside (zeroSet J gamma) → O × N) (hpos : 0 < Fintype.card (RawObservationFibre J name gamma observed)) (f : InsideDraw (zeroSet J gamma) O → ℚ) : average (fun sample : RawObservationFibre J name gamma observed => f (insideDraw (zeroSet J gamma) sample.val.2)) = average f := by …Mentions: OAI.MaxCutGames.Soundness.ConditionalIncidences.RawCoefficients, OAI.MaxCutGames.Soundness.ConditionalIncidences.PositionOutside, OAI.MaxCutGames.Soundness.ConditionalIncidences.zeroSet, OAI.MaxCutGames.Soundness.ConditionalIncidences.RawObservationFibre, OAI.MaxCutGames.Soundness.ConditionalIncidences.InsideDraw, OAI.MaxCutGames.Soundness.ConditionalIncidences.average, OAI.MaxCutGames.Soundness.ConditionalIncidences.insideDraw
- theorem
OAI.MaxCutGames.Soundness.ConditionalIncidences.raw_conditional_ratioline 623Source documentation
The same exact law expressed as the conditional expectation ratio in the whole raw sample space. Positive probability is represented by a nonempty fibre.
theorem raw_conditional_ratio {P D O N : Type} [Fintype P] [DecidableEq P] [Fintype D] [Zero D] [DecidableEq D] [Fintype O] [DecidableEq O] [DecidableEq N] (J : Finset P) (name : O → Fin 3 → N) (gamma : RawCoefficients J D) (observed : PositionOutside (zeroSet J gamma) → O × N) (hpos : 0 < Fintype.card (RawObservationFibre J name gamma observed)) (f : InsideDraw (zeroSet J gamma) O → ℚ) : ((∑ sample : RawObservationFibre J name gamma observed, f (insideDraw (zeroSet J gamma) sample.val.2)) / Fintype.card (RawSample J D O)) / ((Fintype.card (RawObservationFibre J name gamma observed) : ℚ) / Fintype.card (RawSample J D O)) = average f := by …Mentions: OAI.MaxCutGames.Soundness.ConditionalIncidences.RawCoefficients, OAI.MaxCutGames.Soundness.ConditionalIncidences.PositionOutside, OAI.MaxCutGames.Soundness.ConditionalIncidences.zeroSet, OAI.MaxCutGames.Soundness.ConditionalIncidences.RawObservationFibre, OAI.MaxCutGames.Soundness.ConditionalIncidences.InsideDraw, OAI.MaxCutGames.Soundness.ConditionalIncidences.insideDraw, OAI.MaxCutGames.Soundness.ConditionalIncidences.RawSample, OAI.MaxCutGames.Soundness.ConditionalIncidences.average
- theorem
OAI.MaxCutGames.Soundness.ConditionalIncidences.raw_conditional_incidence_averageline 638Source documentation
The pushed-forward product incidence law at K, stated for an arbitrary joint observable, rather than only individual coordinate marginals.
theorem raw_conditional_incidence_average {P D O N : Type} [Fintype P] [DecidableEq P] [Fintype D] [Zero D] [DecidableEq D] [Fintype O] [DecidableEq O] [DecidableEq N] (J : Finset P) (name : O → Fin 3 → N) (gamma : RawCoefficients J D) (observed : PositionOutside (zeroSet J gamma) → O × N) (hpos : 0 < Fintype.card (RawObservationFibre J name gamma observed)) (f : (PositionInside (zeroSet J gamma) → O × N) → ℚ) : average (fun sample : RawObservationFibre J name gamma observed => f (fun j => incidence name (sample.val.2 j.val))) = average (fun fresh : InsideDraw (zeroSet J gamma) O => f (fun j => incidence name (fresh j))) := by …Mentions: OAI.MaxCutGames.Soundness.ConditionalIncidences.RawCoefficients, OAI.MaxCutGames.Soundness.ConditionalIncidences.PositionOutside, OAI.MaxCutGames.Soundness.ConditionalIncidences.zeroSet, OAI.MaxCutGames.Soundness.ConditionalIncidences.RawObservationFibre, OAI.MaxCutGames.Soundness.ConditionalIncidences.PositionInside, OAI.MaxCutGames.Soundness.ConditionalIncidences.average, OAI.MaxCutGames.Soundness.ConditionalIncidences.incidence, OAI.MaxCutGames.Soundness.ConditionalIncidences.InsideDraw
- theorem
OAI.MaxCutGames.Soundness.ConditionalIncidences.raw_conditional_product_incidenceline 652Source documentation
Factorization for arbitrary per-position test functions makes the product claim explicit. Repeated names across different positions are fully permitted.
theorem raw_conditional_product_incidence {P D O N : Type} [Fintype P] [DecidableEq P] [Fintype D] [Zero D] [DecidableEq D] [Fintype O] [DecidableEq O] [DecidableEq N] (J : Finset P) (name : O → Fin 3 → N) (gamma : RawCoefficients J D) (observed : PositionOutside (zeroSet J gamma) → O × N) (hpos : 0 < Fintype.card (RawObservationFibre J name gamma observed)) (f : PositionInside (zeroSet J gamma) → O × N → ℚ) : average (fun sample : RawObservationFibre J name gamma observed => ∏ j, f j (incidence name (sample.val.2 j.val))) = ∏ j, average (fun fresh : O × Fin 3 => f j (incidence name fresh)) := by …Mentions: OAI.MaxCutGames.Soundness.ConditionalIncidences.RawCoefficients, OAI.MaxCutGames.Soundness.ConditionalIncidences.PositionOutside, OAI.MaxCutGames.Soundness.ConditionalIncidences.zeroSet, OAI.MaxCutGames.Soundness.ConditionalIncidences.RawObservationFibre, OAI.MaxCutGames.Soundness.ConditionalIncidences.PositionInside, OAI.MaxCutGames.Soundness.ConditionalIncidences.average, OAI.MaxCutGames.Soundness.ConditionalIncidences.incidence
- def
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.activeOfline 690 - def
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.inactiveOfOutsideline 692 - def
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.activeOfInsideline 695 - def
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.outsideOfInactiveline 698 - def
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.insideOfActiveline 701 - def
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.tupleToRawline 704 - def
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.tupleFromRawline 711 - def
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.tupleRawEquivline 717 - def
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.pointEquivline 748Source documentation
Free coordinates of the actual partner, indexed by the exact raw coefficient slots.
def pointEquiv : PartnerPoint rhs (activeOf J) ≃ₗ[F2] (RawSlot J → F2) := …
Mentions: OAI.MaxCutGames.Soundness.PartnerMapCoordinates.activeOf
- theorem
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.pointEquiv_noneline 751 - theorem
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.pointEquiv_full_firstline 754 - theorem
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.pointEquiv_full_secondline 758 - theorem
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.pointEquiv_singleline 762 - def
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.partnerBasisline 768 - def
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.mapEquivline 774Source documentation
Arbitrary independent raw coefficients bijectively specify an actual linear map.
def mapEquiv : RawCoefficients J R ≃ₗ[F2] (PartnerPoint rhs (activeOf J) →ₗ[F2] R) := …
Mentions: OAI.MaxCutGames.Soundness.PartnerMapCoordinates.activeOf
- def
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.coefficientsline 777 - theorem
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.map_coefficientsline 780 - theorem
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.coefficients_mapline 784 - theorem
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.mapEquiv_applyline 788 - theorem
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.mapEquiv_expansionline 794Source documentation
The raw-coefficient formula for every partner point.
theorem mapEquiv_expansion (gamma : RawCoefficients J R) (y : PartnerPoint rhs (activeOf J)) : mapEquiv rhs J R gamma y = ofBit y.homogeneous • gamma none + (∑ j : PositionOutside J, (ofBit (y.full j.val).first • gamma (some (.inl (j, 0))) + ofBit (y.full j.val).second • gamma (some (.inl (j, 1))))) + ∑ j : PositionInside J, ofBit (y.single j.val) • gamma (some (.inr j)) := by …Mentions: OAI.MaxCutGames.Soundness.PartnerMapCoordinates.activeOf, OAI.MaxCutGames.Soundness.PartnerMapCoordinates.mapEquiv
- theorem
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.every_map_expansionline 806 - theorem
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.pullback_expansionline 811 - instance
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.partnerMapsFintypeline 830 - theorem
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.uniform_coefficients_mapsline 836Source documentation
Uniform independent coefficient tuples give exactly the uniform law on all maps.
theorem uniform_coefficients_maps [Fintype R] (H : (PartnerPoint rhs (activeOf J) →ₗ[F2] R) → ℚ) : average (fun gamma : RawCoefficients J R => H (mapEquiv rhs J R gamma)) = average H := …Mentions: OAI.MaxCutGames.Soundness.PartnerMapCoordinates.activeOf, OAI.MaxCutGames.Soundness.PartnerMapCoordinates.mapEquiv
- theorem
OAI.MaxCutGames.Soundness.PartnerMapCoordinates.uniform_map_coefficients_productline 842Source documentation
For a uniformly sampled actual map, all raw coefficients have the product uniform law.
theorem uniform_map_coefficients_product [Fintype R] (H : RawSlot J → R → ℚ) : average (fun Y : PartnerPoint rhs (activeOf J) →ₗ[F2] R => ∏ s, H s (coefficients rhs J R Y s)) = ∏ s, average (H s) := by …Mentions: OAI.MaxCutGames.Soundness.PartnerMapCoordinates.activeOf, OAI.MaxCutGames.Soundness.PartnerMapCoordinates.coefficients