OAI/Computability/MaxCut/Encoding/TableKeys.lean
44 declarations, 0 contain sorry, 0 declared as axioms
Exact affine-table keys for the v2 outer questions
The retained data has one entry at every original block position. A full entry contains the equation occurrence ID, a singleton entry contains the actual variable ID, and the first component is the entire reduced affine intercept. The common coefficient-normalization implementation below is independent of every latent-gadget existence or inverse theorem.
The explicit binary slope cases justify its use for the v2 rank-zero, rank-one, and rank-two rule. In particular, the third-position pullback adds the parity intercept twice, so exact sharing preserves the intercept as well as the slopes.
- def
OAI.MaxCutGames.Decoder.TableKeys.slopeline 38Source documentation
The free-coordinate block slope
(x,y) ↦ x • a + y • d.def slope (a d : R) : (F2 × F2) →ₗ[F2] R := …
- theorem
OAI.MaxCutGames.Decoder.TableKeys.slope_applyline 43 - theorem
OAI.MaxCutGames.Decoder.TableKeys.slope_zero_iffline 47 - theorem
OAI.MaxCutGames.Decoder.TableKeys.slope_injectiveline 61Source documentation
Over the binary field, the remaining case really is a rank-two slope: the two-coordinate map is injective, rather than merely syntactically full.
theorem slope_injective (a d : R) (ha : a ≠ 0) (hd : d ≠ 0) (had : a ≠ d) : Function.Injective (slope a d) := by …Mentions: OAI.MaxCutGames.Decoder.TableKeys.slope
- def
OAI.MaxCutGames.Decoder.TableKeys.freeTripleline 81 - def
OAI.MaxCutGames.Decoder.TableKeys.reduceBlockline 84Source documentation
A single block's intercept correction and tagged retained record.
def reduceBlock (names : Id → Fin 3 → Name) (rhs : Id → F2) (e : Id) (a d : R) : R × ActualCanonical.Record Name Id R := … - theorem
OAI.MaxCutGames.Decoder.TableKeys.reduceBlock_zeroline 89 - theorem
OAI.MaxCutGames.Decoder.TableKeys.reduceBlock_firstline 94Source documentation
The first rank-one direction uses the actual first variable.
theorem reduceBlock_first (names : Id → Fin 3 → Name) (rhs : Id → F2) (e : Id) (a : R) (ha : a ≠ 0) : reduceBlock names rhs e a 0 = (0, .single (names e 0) a) := by … - theorem
OAI.MaxCutGames.Decoder.TableKeys.reduceBlock_secondline 100Source documentation
The second rank-one direction uses the actual second variable.
theorem reduceBlock_second (names : Id → Fin 3 → Name) (rhs : Id → F2) (e : Id) (d : R) (hd : d ≠ 0) : reduceBlock names rhs e 0 d = (0, .single (names e 1) d) := by … - theorem
OAI.MaxCutGames.Decoder.TableKeys.reduceBlock_thirdline 108Source documentation
The third rank-one direction uses the actual third bit and adjusts the homogeneous intercept by the parity bit times the nonzero slope.
theorem reduceBlock_third (names : Id → Fin 3 → Name) (rhs : Id → F2) (e : Id) (a : R) (ha : a ≠ 0) : reduceBlock names rhs e a a = (rhs e • a, .single (names e 2) a) := by … - theorem
OAI.MaxCutGames.Decoder.TableKeys.reduceBlock_fullline 114Source documentation
A genuine rank-two block retains its occurrence ID and both ordered slopes.
theorem reduceBlock_full (names : Id → Fin 3 → Name) (rhs : Id → F2) (e : Id) (a d : R) (ha : a ≠ 0) (hd : d ≠ 0) (had : a ≠ d) : reduceBlock names rhs e a d = (0, .full e (freeTriple a d)) := by …Mentions: OAI.MaxCutGames.Decoder.TableKeys.reduceBlock, OAI.MaxCutGames.Decoder.TableKeys.freeTriple
- theorem
OAI.MaxCutGames.Decoder.TableKeys.third_intercept_cancelsline 125Source documentation
Pulling an actual third-bit table back adds
b • ato its intercept; reducing the rank-one slope adds exactly the same quantity a second time.theorem third_intercept_cancels (z a : R) (b : F2) : (z + b • a) + b • a = z := by … - theorem
OAI.MaxCutGames.Decoder.TableKeys.third_key_cancelsline 129 - theorem
OAI.MaxCutGames.Decoder.TableKeys.full_record_occurrence_injectiveline 139Source documentation
The reduced representation never merges two distinct occurrence IDs in the full-block case.
theorem full_record_occurrence_injective {e e' : Id} {a a' : Fin 3 → R} (h : (ActualCanonical.Record.full e a : ActualCanonical.Record Name Id R) = .full e' a') : e = e' := by … - abbrev
OAI.MaxCutGames.Decoder.TableKeys.Keyline 150 - def
OAI.MaxCutGames.Decoder.TableKeys.keyline 152 - theorem
OAI.MaxCutGames.Decoder.TableKeys.key_data_ext_iffline 158Source documentation
Key equality includes the affine intercept and every original position.
theorem key_data_ext_iff (a b : Key k Name Id R) : a = b ↔ a.1 = b.1 ∧ ∀ j : Fin k, a.2 j = b.2 j := by …Mentions: OAI.MaxCutGames.Decoder.TableKeys.Key
- theorem
OAI.MaxCutGames.Decoder.TableKeys.key_shiftline 166 - theorem
OAI.MaxCutGames.Decoder.TableKeys.key_shift_freeline 173Source documentation
Translation of the entire reduced affine table is a free action.
theorem key_shift_free (occ : Fin k → Id) (names : Id → Fin 3 → Name) (rhs : Id → F2) (P : ActualHomogeneous.E k →ₗ[F2] R) (c : R) (h : key occ names rhs (P + ActualHomogeneous.tau.smulRight c) = key occ names rhs P) : c = 0 := by …Mentions: OAI.MaxCutGames.Decoder.TableKeys.key
- theorem
OAI.MaxCutGames.Decoder.TableKeys.projected_key_sharingline 186Source documentation
Every displayed singleton is its actual bit, including the affine parity intercept in position three. Hidden occurrence IDs are forgotten precisely at singleton positions and retained at full positions.
theorem projected_key_sharing (J : Finset (Fin k)) (names : Id → Fin 3 → Name) (rhs : Id → F2) (occ occ' : Fin k → Id) (slot slot' : Fin k → PartnerProjection.Slot) (Y : RawPartnerTarget.RawPoint J →ₗ[F2] R) (h : RawPrivateTable.displayed J names occ slot = RawPrivateTable.displayed J names occ' slot') : key occ names rhs (Y.comp (RawPrivateTable.projection J rhs occ slot)) = key occ' names rhs (Y.comp (RawPrivateTable.projection J rhs occ' slot')) := …Mentions: OAI.MaxCutGames.Decoder.TableKeys.key
- def
OAI.MaxCutGames.Decoder.TableKeys.projectedKeyline 198Source documentation
The reduced table attached to visible data is independent of the compatible full question used to realize it. This is equality of the entire key.
noncomputable def projectedKey (J : Finset (Fin k)) (names : Id → Fin 3 → Name) (rhs : Id → F2) (Q : RawPrivateTable.SupportedV J names) (Y : RawPartnerTarget.RawPoint J →ₗ[F2] R) : Key k Name Id R := …Mentions: OAI.MaxCutGames.Decoder.TableKeys.Key
- theorem
OAI.MaxCutGames.Decoder.TableKeys.projectedKey_pullbackline 205 - def
OAI.MaxCutGames.Decoder.TableKeys.visibleTauline 226Source documentation
Read the shared homogeneous coordinate in the visible coordinate system.
def visibleTau (J : Finset (Fin k)) : RawPartnerTarget.RawPoint J →ₗ[F2] F2 := …
- theorem
OAI.MaxCutGames.Decoder.TableKeys.projection_surjectiveline 231Source documentation
Every visible valid answer extends to an answer of each compatible full question. This proves surjectivity of the actual affine-coordinate projection.
theorem projection_surjective (J : Finset (Fin k)) (rhs : Id → F2) (occ : Fin k → Id) (slot : Fin k → PartnerProjection.Slot) : Function.Surjective (RawPrivateTable.projection J rhs occ slot) := by … - theorem
OAI.MaxCutGames.Decoder.TableKeys.projection_preserves_homogeneousline 239 - theorem
OAI.MaxCutGames.Decoder.TableKeys.visible_table_uniqueline 248Source documentation
Equality after pullback is equality of the entire visible linear extension, so no affine intercept or hidden coefficient can be lost by sharing.
theorem visible_table_unique (J : Finset (Fin k)) (rhs : Id → F2) (occ : Fin k → Id) (slot : Fin k → PartnerProjection.Slot) (Y Z : RawPartnerTarget.RawPoint J →ₗ[F2] R) (h : Y.comp (RawPrivateTable.projection J rhs occ slot) = Z.comp (RawPrivateTable.projection J rhs occ slot)) : Y = Z := by … - theorem
OAI.MaxCutGames.Decoder.TableKeys.pullback_shiftline 258 - theorem
OAI.MaxCutGames.Decoder.TableKeys.projectedKey_shiftline 274Source documentation
Constant translation commutes with exact sharing at the level of whole reduced keys, including the removed alphabet component of the intercept.
theorem projectedKey_shift (J : Finset (Fin k)) (names : Id → Fin 3 → Name) (rhs : Id → F2) (Q : RawPrivateTable.SupportedV J names) (Y : RawPartnerTarget.RawPoint J →ₗ[F2] R) (c : R) : projectedKey J names rhs Q (Y + (visibleTau J).smulRight c) = ((projectedKey J names rhs Q Y).1 + c, (projectedKey J names rhs Q Y).2) := by …Mentions: OAI.MaxCutGames.Decoder.TableKeys.projectedKey, OAI.MaxCutGames.Decoder.TableKeys.visibleTau
- structure
OAI.MaxCutGames.Decoder.AdviceExperiment.FullAdviceline 309Source documentation
The first prover's entire information; no singleton-choice or private matrix field is present.
structure FullAdvice where …
- structure
OAI.MaxCutGames.Decoder.AdviceExperiment.Drawline 316Source documentation
The actual draw before forgetting the hidden projection and private map.
structure Draw where …
- structure
OAI.MaxCutGames.Decoder.AdviceExperiment.ProjectedAdviceline 330Source documentation
The second prover sees actual equation/variable tags, retaining ordered block positions but omitting every hidden singleton occurrence ID.
structure ProjectedAdvice (J : Finset (Fin k)) where …
- def
OAI.MaxCutGames.Decoder.AdviceExperiment.projectionline 338 - def
OAI.MaxCutGames.Decoder.AdviceExperiment.leftObservationline 342 - def
OAI.MaxCutGames.Decoder.AdviceExperiment.rightObservationline 348 - def
OAI.MaxCutGames.Decoder.AdviceExperiment.paddedMatrixline 358Source documentation
The same full sampled table used in the unconditional variation comparison. Its projection choices have not been supplied as extra compared coordinates.
def paddedMatrix (d : Draw k Id K W R) : ActualHomogeneous.E k →ₗ[F2] K := …
- def
OAI.MaxCutGames.Decoder.AdviceExperiment.paddedComplementline 361 - theorem
OAI.MaxCutGames.Decoder.AdviceExperiment.left_rows_eqline 364 - theorem
OAI.MaxCutGames.Decoder.AdviceExperiment.left_rows_attainableline 367 - theorem
OAI.MaxCutGames.Decoder.AdviceExperiment.right_rows_attainableline 372 - def
OAI.MaxCutGames.Decoder.AdviceExperiment.changeHiddenline 379Source documentation
Replace the entire hidden matrix once, consistently across all overlapping column events; the row advice remains fixed.
def changeHidden (d : Draw k Id K W R) (N : RawPartnerTarget.RawPoint d.singletons →ₗ[F2] d.rowMap.ker) : Draw k Id K W R := … - theorem
OAI.MaxCutGames.Decoder.AdviceExperiment.leftObservation_changeHiddenline 383 - theorem
OAI.MaxCutGames.Decoder.AdviceExperiment.rightObservation_changeHiddenline 388 - theorem
OAI.MaxCutGames.Decoder.AdviceExperiment.selectedWitness_changeHiddenline 395Source documentation
A selected affine witness is fixed by the first player's observation, before any hidden matrix on its row fiber is sampled.
theorem selectedWitness_changeHidden {Witness : Type*} (choose : FullAdvice k Id K W R → Witness) (d : Draw k Id K W R) (N : RawPartnerTarget.RawPoint d.singletons →ₗ[F2] d.rowMap.ker) : choose (leftObservation rhs (changeHidden d N)) = choose (leftObservation rhs d) := by …Mentions: OAI.MaxCutGames.Decoder.AdviceExperiment.FullAdvice, OAI.MaxCutGames.Decoder.AdviceExperiment.Draw, OAI.MaxCutGames.Decoder.AdviceExperiment.leftObservation, OAI.MaxCutGames.Decoder.AdviceExperiment.changeHidden
- theorem
OAI.MaxCutGames.Decoder.AdviceExperiment.projection_actual_answerline 402Source documentation
Every projected answer keeps the actual homogeneous bit.
theorem projection_actual_answer (d : Draw k Id K W R) (z : ActualHomogeneous.E k) (hz : ActualHomogeneous.tau z = 1) : TableKeys.visibleTau d.singletons (projection rhs d z) = 1 := by …Mentions: OAI.MaxCutGames.Decoder.AdviceExperiment.Draw, OAI.MaxCutGames.Decoder.TableKeys.visibleTau, OAI.MaxCutGames.Decoder.AdviceExperiment.projection