OAI/Computability/MaxCut/Games/AffineWitness.lean
47 declarations, 0 contain sorry, 0 declared as axioms
Conversion between explicitly listed affine column specifications and the span-based slice used in first-bit normalization.
- abbrev
OAI.MaxCutGames.Inverse.AffineWitness.F2line 12 - theorem
OAI.MaxCutGames.Inverse.AffineWitness.add_self_binaryline 19 - def
OAI.MaxCutGames.Inverse.AffineWitness.InSliceline 28Source documentation
A simultaneous row fiber and column slice, based at
M₀. Agreement onZis exactly agreement with all column specifications spanningZ.def InSlice (A : C →ₗ[F2] R) (Z : Submodule F2 D) (M₀ M : D →ₗ[F2] C) : Prop := …Mentions: OAI.MaxCutGames.Inverse.AffineWitness.F2
- theorem
OAI.MaxCutGames.Inverse.AffineWitness.translate_targetline 33Source documentation
Changing the representative also changes the affine intercept.
theorem translate_target (A : C →ₗ[F2] R) (Z : Submodule F2 D) (M₀ M : D →ₗ[F2] C) (hM : InSlice A Z M₀ M) (z w : D) (hw : w ∈ Z) (u : C) : M (z + w) + (u + M₀ w) = M z + u := by …Mentions: OAI.MaxCutGames.Inverse.AffineWitness.F2, OAI.MaxCutGames.Inverse.AffineWitness.InSlice
- theorem
OAI.MaxCutGames.Inverse.AffineWitness.no_affine_representativeline 43 - def
OAI.MaxCutGames.Inverse.AffineWitness.shiftline 58Source documentation
Rank-one translation in the row kernel.
def shift (e : D →ₗ[F2] F2) (h : C) (M : D →ₗ[F2] C) : D →ₗ[F2] C := …
Mentions: OAI.MaxCutGames.Inverse.AffineWitness.F2
- theorem
OAI.MaxCutGames.Inverse.AffineWitness.shift_applyline 61 - theorem
OAI.MaxCutGames.Inverse.AffineWitness.shift_zeroline 64 - theorem
OAI.MaxCutGames.Inverse.AffineWitness.shift_addline 69 - theorem
OAI.MaxCutGames.Inverse.AffineWitness.shift_preserves_sliceline 75 - theorem
OAI.MaxCutGames.Inverse.AffineWitness.shift_preserves_targetline 89 - theorem
OAI.MaxCutGames.Inverse.AffineWitness.normalizeline 95Source documentation
Normalization preserves every affine target value on the complete slice.
theorem normalize (e : D →ₗ[F2] F2) (A : C →ₗ[F2] R) (Z : Submodule F2 D) (M₀ : D →ₗ[F2] C) (z : D) (u : C) (h : ∃ w ∈ Z, e (z + w) = 1) : ∃ z' : D, ∃ u' : C, e z' = 1 ∧ ∀ M, InSlice A Z M₀ M → M z' + u' = M z + u := by …Mentions: OAI.MaxCutGames.Inverse.AffineWitness.F2, OAI.MaxCutGames.Inverse.AffineWitness.InSlice
- theorem
OAI.MaxCutGames.Inverse.AffineWitness.columns_iff_spanline 113 - theorem
OAI.MaxCutGames.Inverse.AffineWitness.explicit_slice_iffline 128Source documentation
A nonempty explicit affine row/column system is precisely the based slice. The right-hand sides
S₀andtare retained without homogenization.theorem explicit_slice_iff (A : C →ₗ[F2] R) (S₀ : D →ₗ[F2] R) (q : ι → D) (t : ι → C) (M₀ M : D →ₗ[F2] C) (hrow : A.comp M₀ = S₀) (hcol : ∀ i, M₀ (q i) = t i) : (A.comp M = S₀ ∧ ∀ i, M (q i) = t i) ↔ InSlice A (Submodule.span F2 (Set.range q)) M₀ M := by …Mentions: OAI.MaxCutGames.Inverse.AffineWitness.F2, OAI.MaxCutGames.Inverse.AffineWitness.InSlice
- theorem
OAI.MaxCutGames.Inverse.AffineWitness.translate_explicit_targetline 138Source documentation
The affine target value after normalization is unchanged at every matrix satisfying the original, explicitly listed row and column equations.
theorem translate_explicit_target (A : C →ₗ[F2] R) (S₀ : D →ₗ[F2] R) (q : ι → D) (t : ι → C) (M₀ M : D →ₗ[F2] C) (hrow₀ : A.comp M₀ = S₀) (hcol₀ : ∀ i, M₀ (q i) = t i) (hrow : A.comp M = S₀) (hcol : ∀ i, M (q i) = t i) (z w : D) (hw : w ∈ Submodule.span F2 (Set.range q)) (u : C) : M (z + w) + (u + M₀ w) = M z + u := …Mentions: OAI.MaxCutGames.Inverse.AffineWitness.F2
- theorem
OAI.MaxCutGames.Inverse.folded_action_injectiveline 168Source documentation
Translates of distinct agreement witnesses are distinct. The encoding need not be given as a homomorphism: only its injectivity and the displayed folding identity are needed for this conclusion.
theorem folded_action_injective (shift : H → X → X) (shift_zero : ∀ x, shift 0 x = x) (shift_add : ∀ h k x, shift (h + k) x = shift h (shift k x)) (embed : H → Y) (embed_injective : Function.Injective embed) (F target : X → Y) (folded : ∀ h x, F (shift h x) = F x + embed h) (target_invariant : ∀ h x, target (shift h x) = target x) : Function.Injective (fun a : H × {x : X // F x = target x} => shift a.1 a.2.val) := by … - theorem
OAI.MaxCutGames.Inverse.folded_action_card_mul_agreement_leline 203Source documentation
The agreement set of a folded function with an invariant target occupies at most the reciprocal of the size of the acting group, in denominator-free finite-cardinality form.
theorem folded_action_card_mul_agreement_le [Fintype H] [Fintype X] [DecidableEq Y] (shift : H → X → X) (shift_zero : ∀ x, shift 0 x = x) (shift_add : ∀ h k x, shift (h + k) x = shift h (shift k x)) (embed : H → Y) (embed_injective : Function.Injective embed) (F target : X → Y) (folded : ∀ h x, F (shift h x) = F x + embed h) (target_invariant : ∀ h x, target (shift h x) = target x) : Fintype.card H * Fintype.card {x : X // F x = target x} ≤ Fintype.card X := by … - abbrev
OAI.MaxCutGames.Inverse.AffineWitness.Sliceline 238Source documentation
The actual simultaneous row/column slice, including its affine offsets.
abbrev Slice (A : C →ₗ[F2] R) (Z : Submodule F2 D) (M₀ : D →ₗ[F2] C) := …
Mentions: OAI.MaxCutGames.Inverse.AffineWitness.F2
- def
OAI.MaxCutGames.Inverse.AffineWitness.sliceShiftline 241 - theorem
OAI.MaxCutGames.Inverse.AffineWitness.sliceShift_zeroline 247 - theorem
OAI.MaxCutGames.Inverse.AffineWitness.sliceShift_addline 254 - theorem
OAI.MaxCutGames.Inverse.AffineWitness.agreement_count_leline 264Source documentation
If the affine coset misses first bit one, folding limits agreement to one point per row-kernel orbit. No rank-level inequality is used.
theorem agreement_count_le [Finite D] [Finite C] (e : D →ₗ[F2] F2) (A : C →ₗ[F2] R) (Z : Submodule F2 D) (M₀ : D →ₗ[F2] C) (z : D) (u : C) (F : (D →ₗ[F2] C) → C) (hfold : ∀ (h : A.ker) M, F (shift e h M) = F M + h) (hno : ¬ ∃ w ∈ Z, e (z + w) = 1) : Nat.card A.ker * Nat.card {M : Slice A Z M₀ // F M = M.val z + u} ≤ Nat.card (Slice A Z M₀) := by …Mentions: OAI.MaxCutGames.Inverse.AffineWitness.F2, OAI.MaxCutGames.Inverse.AffineWitness.shift, OAI.MaxCutGames.Inverse.AffineWitness.Slice
- theorem
OAI.MaxCutGames.Inverse.AffineWitness.normalize_of_good_countline 290Source documentation
A good affine witness has a first-bit-one representative with an adjusted intercept, agreeing with the original target on every matrix of its slice.
theorem normalize_of_good_count [Finite D] [Finite C] (e : D →ₗ[F2] F2) (A : C →ₗ[F2] R) (Z : Submodule F2 D) (M₀ : D →ₗ[F2] C) (z : D) (u : C) (F : (D →ₗ[F2] C) → C) (hfold : ∀ (h : A.ker) M, F (shift e h M) = F M + h) (hgood : Nat.card (Slice A Z M₀) < Nat.card A.ker * Nat.card {M : Slice A Z M₀ // F M = M.val z + u}) : ∃ z' : D, ∃ u' : C, e z' = 1 ∧ ∀ M, InSlice A Z M₀ M → M z' + u' = M z + u := by …Mentions: OAI.MaxCutGames.Inverse.AffineWitness.F2, OAI.MaxCutGames.Inverse.AffineWitness.shift, OAI.MaxCutGames.Inverse.AffineWitness.Slice, OAI.MaxCutGames.Inverse.AffineWitness.InSlice
- def
OAI.MaxCutGames.Inverse.Shortcode.Slice.rowMapline 324Source documentation
The simultaneous row functionals, allowing dependent and zero rows.
def rowMap (S : Slice ell m) : Vector ell →ₗ[F2] Vector S.rows := …
Mentions: OAI.MaxCutGames.Inverse.Shortcode.Slice, OAI.MaxCutGames.Inverse.Shortcode.Vector, OAI.MaxCutGames.Inverse.Shortcode.F2
- def
OAI.MaxCutGames.Inverse.Shortcode.Slice.columnSpanline 328Source documentation
Column specifications fix the matrix on this entire subspace.
def columnSpan (S : Slice ell m) : Submodule F2 (Vector m) := …
Mentions: OAI.MaxCutGames.Inverse.Shortcode.Slice, OAI.MaxCutGames.Inverse.Shortcode.F2, OAI.MaxCutGames.Inverse.Shortcode.Vector
- abbrev
OAI.MaxCutGames.Inverse.Shortcode.Slice.Directionsline 332Source documentation
Free directions of a row/column slice, intrinsically as quotient maps.
abbrev Directions (S : Slice ell m) := …
Mentions: OAI.MaxCutGames.Inverse.Shortcode.Slice
- def
OAI.MaxCutGames.Inverse.Shortcode.Slice.directionMapline 335 - def
OAI.MaxCutGames.Inverse.Shortcode.Slice.directionMatrixline 339 - theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.directionMatrix_injectiveline 342 - theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.directionMatrix_rowline 353 - theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.directionMatrix_columnline 362 - theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.contains_add_directionline 372 - def
OAI.MaxCutGames.Inverse.Shortcode.Slice.directionEmbeddingline 389 - theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.columnSpan_finrank_leline 399 - theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.quotient_finrank_geline 407 - theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.rowKernel_finrank_geline 415 - theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.card_directionsline 424 - theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.card_directions_leline 432Source documentation
A nonempty affine slice is at least as large as its free-direction space.
theorem card_directions_le (S : Slice ell m) (hne : S.points.Nonempty) : Nat.card S.Directions ≤ S.points.card := by …Mentions: OAI.MaxCutGames.Inverse.Shortcode.Slice
- theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.pow_dimension_le_cardline 443Source documentation
The actual v2 bound, with truncation making it valid also in small dimensions. There is no independence hypothesis on the listed equations.
theorem pow_dimension_le_card (S : Slice ell m) (r : ℕ) (hrows : S.rows ≤ r) (hcolumns : S.columns ≤ r) (hne : S.points.Nonempty) : 2 ^ ((ell - r) * (m - r)) ≤ S.points.card := by …Mentions: OAI.MaxCutGames.Inverse.Shortcode.Slice
- theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.evaluate_eq_toLinline 469 - theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.row_equations_iffline 472 - theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.contains_iff_inSliceline 495Source documentation
This is an equivalence of the actual equations, not merely a cardinality comparison or a homogeneous approximation of the affine slice.
theorem contains_iff_inSlice (S : Slice ell m) (M₀ : Mat ell m) (hM₀ : S.Contains M₀) (M : Mat ell m) : S.Contains M ↔ AffineWitness.InSlice S.rowMap S.columnSpan (Matrix.toLin' M₀) (Matrix.toLin' M) := by …Mentions: OAI.MaxCutGames.Inverse.Shortcode.Slice, OAI.MaxCutGames.Inverse.Shortcode.Mat, OAI.MaxCutGames.Inverse.AffineWitness.InSlice
- def
OAI.MaxCutGames.Inverse.Shortcode.Slice.linearSliceEquivline 515Source documentation
Exact finite sample-space equivalence between the matrix representation and the linear-map representation of a nonempty affine slice.
def linearSliceEquiv (S : Slice ell m) (M₀ : Mat ell m) (hM₀ : S.Contains M₀) : S.points ≃ AffineWitness.Slice S.rowMap S.columnSpan (Matrix.toLin' M₀) where …Mentions: OAI.MaxCutGames.Inverse.Shortcode.Slice, OAI.MaxCutGames.Inverse.Shortcode.Mat, OAI.MaxCutGames.Inverse.AffineWitness.Slice
- theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.affineAgreement_eq_of_target_eqline 534Source documentation
Pointwise preservation on the genuine slice preserves its exact uniform affine agreement, including the empty-slice convention.
theorem affineAgreement_eq_of_target_eq (S : Slice ell m) (f : Mat ell m → Vector ell) (z z' : Vector m) (u u' : Vector ell) (htarget : ∀ M, S.Contains M → evaluate M z' + u' = evaluate M z + u) : S.affineAgreement f z' u' = S.affineAgreement f z u := by …Mentions: OAI.MaxCutGames.Inverse.Shortcode.Slice, OAI.MaxCutGames.Inverse.Shortcode.Mat, OAI.MaxCutGames.Inverse.Shortcode.Vector, OAI.MaxCutGames.Inverse.Shortcode.evaluate
- theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.affineAgreement_eq_of_linear_target_eqline 545 - theorem
OAI.MaxCutGames.Inverse.Shortcode.Slice.affineAgreement_translateline 557Source documentation
Changing the representative inside the column span and correcting the intercept leaves the shortcode agreement exactly unchanged.
theorem affineAgreement_translate (S : Slice ell m) (M₀ : Mat ell m) (hM₀ : S.Contains M₀) (f : Mat ell m → Vector ell) (z w : Vector m) (hw : w ∈ S.columnSpan) (u : Vector ell) : S.affineAgreement f (z + w) (u + evaluate M₀ w) = S.affineAgreement f z u := by …Mentions: OAI.MaxCutGames.Inverse.Shortcode.Slice, OAI.MaxCutGames.Inverse.Shortcode.Mat, OAI.MaxCutGames.Inverse.Shortcode.Vector, OAI.MaxCutGames.Inverse.Shortcode.evaluate
- theorem
OAI.MaxCutGames.Inverse.AffineWitness.normalize_of_densityline 582Source documentation
An agreement lower bound above the inverse row-kernel size produces a first-bit-one representative while preserving the entire affine target.
theorem normalize_of_density [Finite D] [Finite C] (e : D →ₗ[F2] F2) (A : C →ₗ[F2] R) (Z : Submodule F2 D) (M₀ : D →ₗ[F2] C) (z : D) (u : C) (F : (D →ₗ[F2] C) → C) (hfold : ∀ (h : A.ker) M, F (shift e h M) = F M + h) (η : ℝ) (hgood : η ≤ (Nat.card {M : Slice A Z M₀ // F M = M.val z + u} : ℝ) / (Nat.card (Slice A Z M₀) : ℝ)) (hsize : 1 < η * (Nat.card A.ker : ℝ)) : ∃ z' : D, ∃ u' : C, e z' = 1 ∧ ∀ M, InSlice A Z M₀ M → M z' + u' = M z + u := by …Mentions: OAI.MaxCutGames.Inverse.AffineWitness.F2, OAI.MaxCutGames.Inverse.AffineWitness.shift, OAI.MaxCutGames.Inverse.AffineWitness.Slice, OAI.MaxCutGames.Inverse.AffineWitness.InSlice