OAI/Computability/MaxCut/Games/BaseDetection.lean
84 declarations, 0 contain sorry, 0 declared as axioms
From full character lifts to linear-map detection
If a target linear map is injective on the logical alphabet, a linear left inverse of that restriction turns all logical characters into a full lift. Detection by this lift implies that the target map does not annihilate the noise. The left inverse is proved to exist by the vector-space splitting theorem; it is not an additional premise.
- def
OAI.MaxCutGames.Gadget.BaseDetection.logicalCharactersline 19Source documentation
Turn the fixed generic vector subspace into its actual logical characters.
def logicalCharacters (S : Submodule (ZMod 2) (Vec F)) : Submodule (ZMod 2) (BinaryDual (F := F)) := … - theorem
OAI.MaxCutGames.Gadget.BaseDetection.traceSpace_logicalCharactersline 24 - theorem
OAI.MaxCutGames.Gadget.BaseDetection.logicalCharacters_finrankline 29 - theorem
OAI.MaxCutGames.Gadget.BaseDetection.theta_posline 34 - theorem
OAI.MaxCutGames.Gadget.BaseDetection.full_lift_detectionline 42Source documentation
All probabilities concern the actual recursive noise choices. The field and generic top space satisfy separately proved finite-field properties; no probability estimate for the whole recursive gadget is an input.
theorem full_lift_detection : let J : BlockOrientationIndex F → Vec F →ₗ[ZMod 2] Vec F × Vec F := … - def
OAI.MaxCutGames.Gadget.Quotient.shiftKernelline 99Source documentation
The logical kernel viewed as a submodule of the ambient input space.
def shiftKernel (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) : Submodule 𝕜 P := …
- abbrev
OAI.MaxCutGames.Gadget.Quotient.Spaceline 102 - def
OAI.MaxCutGames.Gadget.Quotient.projectionline 104 - theorem
OAI.MaxCutGames.Gadget.Quotient.projection_surjectiveline 107 - theorem
OAI.MaxCutGames.Gadget.Quotient.mem_shiftKernelline 110 - theorem
OAI.MaxCutGames.Gadget.Quotient.projection_eq_zeroline 113 - def
OAI.MaxCutGames.Gadget.Quotient.quotientShiftline 125Source documentation
Inclusion of the quotient shift space into the ambient quotient.
def quotientShift (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) : (R ⧸ LinearMap.ker lam) →ₗ[𝕜] Space R lam := …Mentions: OAI.MaxCutGames.Gadget.Quotient.Space
- theorem
OAI.MaxCutGames.Gadget.Quotient.quotientShift_mkline 131 - def
OAI.MaxCutGames.Gadget.Quotient.logicalShiftline 135Source documentation
The logical alphabet is realized as actual linear shifts of the quotient.
noncomputable def logicalShift (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) (hlam : Function.Surjective lam) : B →ₗ[𝕜] Space R lam := …Mentions: OAI.MaxCutGames.Gadget.Quotient.Space
- theorem
OAI.MaxCutGames.Gadget.Quotient.logicalShift_lambdaline 139 - theorem
OAI.MaxCutGames.Gadget.Quotient.logicalShift_injectiveline 144 - def
OAI.MaxCutGames.Gadget.Quotient.Equivariantline 157Source documentation
Equivariance under every allowed shift; no linearity of
Cis assumed.def Equivariant (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) (C : P → B) : Prop := …
- theorem
OAI.MaxCutGames.Gadget.Quotient.difference_shiftline 161Source documentation
An output difference is unchanged by every logical shift.
theorem difference_shift (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) (C : P → B) (hC : Equivariant R lam C) (u a : P) (h : R) : C (u + (h : P) + a) - C (u + (h : P)) = C (u + a) - C u := by … - def
OAI.MaxCutGames.Gadget.Quotient.conditionedShiftEquivline 170Source documentation
Translating by a logical shift bijects output fibers even after conditioning on an arbitrary shift-invariant event.
def conditionedShiftEquiv (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) (C : P → B) (hC : Equivariant R lam C) (D : P → Prop) (hD : ∀ (u : P) (h : R), D (u + (h : P)) ↔ D u) (b : B) (h : R) : {u : P // C u = b ∧ D u} ≃ {u : P // C u = b + lam h ∧ D u} where … - def
OAI.MaxCutGames.Gadget.Quotient.conditionedFiberEquivline 186Source documentation
Surjectivity makes all output fibers equally large inside an invariant event, without assuming that this event has positive probability.
noncomputable def conditionedFiberEquiv (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) (hlam : Function.Surjective lam) (C : P → B) (hC : Equivariant R lam C) (D : P → Prop) (hD : ∀ (u : P) (h : R), D (u + (h : P)) ↔ D u) (b c : B) : {u : P // C u = b ∧ D u} ≃ {u : P // C u = c ∧ D u} := by … - theorem
OAI.MaxCutGames.Gadget.Quotient.conditioned_fiber_cardline 196 - theorem
OAI.MaxCutGames.Gadget.Quotient.output_fiber_cardline 203 - theorem
OAI.MaxCutGames.Gadget.Quotient.difference_fiber_cardline 211Source documentation
Fixing the additive perturbation and the observed difference leaves the initial output uniform: the joint fibers have equal cardinality for all outputs.
theorem difference_fiber_card (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) (hlam : Function.Surjective lam) (C : P → B) (hC : Equivariant R lam C) (a : P) (d b c : B) : Nat.card {u : P // C u = b ∧ C (u + a) - C u = d} = Nat.card {u : P // C u = c ∧ C (u + a) - C u = d} := by … - def
OAI.MaxCutGames.Gadget.Quotient.conditionedSigmaEquivline 221Source documentation
Splitting an invariant event into its output fibers.
def conditionedSigmaEquiv (C : P → B) (D : P → Prop) : {u : P // D u} ≃ Σ b : B, {u : P // C u = b ∧ D u} where … - def
OAI.MaxCutGames.Gadget.Quotient.conditionedProductEquivline 229Source documentation
An invariant event factors as an independent logical output and one fiber.
noncomputable def conditionedProductEquiv (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) (hlam : Function.Surjective lam) (C : P → B) (hC : Equivariant R lam C) (D : P → Prop) (hD : ∀ (u : P) (h : R), D (u + (h : P)) ↔ D u) (b : B) : {u : P // D u} ≃ B × {u : P // C u = b ∧ D u} := … - theorem
OAI.MaxCutGames.Gadget.Quotient.conditionedProductEquiv_fstline 237 - theorem
OAI.MaxCutGames.Gadget.Quotient.conditioned_card_factorizationline 244Source documentation
Exact counting factorization underlying the conditional uniform law.
theorem conditioned_card_factorization [Finite P] [Finite B] (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) (hlam : Function.Surjective lam) (C : P → B) (hC : Equivariant R lam C) (D : P → Prop) (hD : ∀ (u : P) (h : R), D (u + (h : P)) ↔ D u) (b : B) : Nat.card {u : P // D u} = Nat.card B * Nat.card {u : P // C u = b ∧ D u} := by … - theorem
OAI.MaxCutGames.Gadget.Quotient.difference_card_factorizationline 252 - theorem
OAI.MaxCutGames.Gadget.Quotient.output_constant_on_fibersline 262 - def
OAI.MaxCutGames.Gadget.Quotient.outputline 270 - theorem
OAI.MaxCutGames.Gadget.Quotient.output_projectionline 275 - theorem
OAI.MaxCutGames.Gadget.Quotient.output_equivariantline 279 - theorem
OAI.MaxCutGames.Gadget.Quotient.change_iffline 289Source documentation
Noise pushforward preserves the change event pointwise, before averaging.
theorem change_iff (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) (C : P → B) (hC : Equivariant R lam C) (u a : P) : (output R lam C hC (projection R lam u + projection R lam a) ≠ output R lam C hC (projection R lam u)) ↔ C (u + a) ≠ C u := by …Mentions: OAI.MaxCutGames.Gadget.Quotient.Equivariant, OAI.MaxCutGames.Gadget.Quotient.output, OAI.MaxCutGames.Gadget.Quotient.projection
- theorem
OAI.MaxCutGames.Gadget.Quotient.character_pullback_shiftline 296Source documentation
Pulling a quotient character back recovers its prescribed logical value.
theorem character_pullback_shift (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) (hlam : Function.Surjective lam) (g : Space R lam →ₗ[𝕜] 𝕜) (h : R) : (g.comp (projection R lam)) (h : P) = (g.comp (logicalShift R lam hlam)) (lam h) := by …Mentions: OAI.MaxCutGames.Gadget.Quotient.Space, OAI.MaxCutGames.Gadget.Quotient.projection, OAI.MaxCutGames.Gadget.Quotient.logicalShift
- theorem
OAI.MaxCutGames.Gadget.Quotient.detection_iffline 304Source documentation
Pullback preserves the detection event of an already selected family of quotient characters, including a section of the logical restriction map.
theorem detection_iff {I : Type*} (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) (family : I → Space R lam →ₗ[𝕜] 𝕜) (a : P) : (∃ i, family i (projection R lam a) ≠ 0) ↔ ∃ i, (family i).comp (projection R lam) a ≠ 0 := Iff.rflMentions: OAI.MaxCutGames.Gadget.Quotient.Space, OAI.MaxCutGames.Gadget.Quotient.projection
- def
OAI.MaxCutGames.Gadget.Quotient.fiberMapline 310Source documentation
Translation by the logical kernel parametrizes a quotient fiber.
def fiberMap (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) (a : P) : shiftKernel R lam → {u : P // projection R lam u = projection R lam a} := …Mentions: OAI.MaxCutGames.Gadget.Quotient.shiftKernel, OAI.MaxCutGames.Gadget.Quotient.projection
- theorem
OAI.MaxCutGames.Gadget.Quotient.fiberMap_bijectiveline 317 - theorem
OAI.MaxCutGames.Gadget.Quotient.fiber_cardline 331Source documentation
Every fiber has the same cardinality, justifying uniform-input pushforward.
theorem fiber_card (R : Submodule 𝕜 P) (lam : R →ₗ[𝕜] B) (x : Space R lam) : Nat.card {u : P // projection R lam u = x} = Nat.card (shiftKernel R lam) := by …Mentions: OAI.MaxCutGames.Gadget.Quotient.Space, OAI.MaxCutGames.Gadget.Quotient.projection, OAI.MaxCutGames.Gadget.Quotient.shiftKernel
- def
OAI.MaxCutGames.Gadget.StageQuotient.shiftsline 345 - def
OAI.MaxCutGames.Gadget.StageQuotient.shiftEquivline 347 - theorem
OAI.MaxCutGames.Gadget.StageQuotient.shiftEquiv_coeline 350 - theorem
OAI.MaxCutGames.Gadget.StageQuotient.embed_shiftEquiv_symmline 353 - def
OAI.MaxCutGames.Gadget.StageQuotient.logicalline 357 - theorem
OAI.MaxCutGames.Gadget.StageQuotient.logical_shiftEquivline 360 - theorem
OAI.MaxCutGames.Gadget.StageQuotient.logical_surjectiveline 364 - theorem
OAI.MaxCutGames.Gadget.StageQuotient.equivariantline 369 - abbrev
OAI.MaxCutGames.Gadget.StageQuotient.Spaceline 376 - def
OAI.MaxCutGames.Gadget.StageQuotient.projectionline 378 - theorem
OAI.MaxCutGames.Gadget.StageQuotient.projection_surjectiveline 381 - instance
OAI.MaxCutGames.Gadget.StageQuotient.spaceFiniteline 384 - def
OAI.MaxCutGames.Gadget.StageQuotient.shiftline 387 - theorem
OAI.MaxCutGames.Gadget.StageQuotient.shift_injectiveline 390 - theorem
OAI.MaxCutGames.Gadget.StageQuotient.shift_logicalline 393 - def
OAI.MaxCutGames.Gadget.StageQuotient.outputline 399 - theorem
OAI.MaxCutGames.Gadget.StageQuotient.output_projectionline 402 - theorem
OAI.MaxCutGames.Gadget.StageQuotient.output_equivariantline 405 - def
OAI.MaxCutGames.Gadget.StageQuotient.noiseline 411Source documentation
Original finite noise choices, pushed through the actual quotient map.
noncomputable def noise (s : Stage k B) : s.Noise → Space s := …
Mentions: OAI.MaxCutGames.Gadget.Stage, OAI.MaxCutGames.Gadget.StageQuotient.Space
- theorem
OAI.MaxCutGames.Gadget.StageQuotient.noise_change_iffline 414 - theorem
OAI.MaxCutGames.Gadget.StageQuotient.character_logicalline 419 - theorem
OAI.MaxCutGames.Gadget.StageQuotient.noise_detection_iffline 423 - def
OAI.MaxCutGames.Gadget.StageQuotient.toStageline 429Source documentation
The quotient is again a finite stage; its logical map is now the identity.
noncomputable def toStage [Finite B] (s : Stage k B) : Stage k B where …
Mentions: OAI.MaxCutGames.Gadget.Stage
- def
OAI.MaxCutGames.Gadget.DetectionBridge.IsFullLiftline 462Source documentation
Every logical character is extended to the ambient input space.
def IsFullLift (ι : B →ₗ[K] V) (ψ : Module.Dual K B →ₗ[K] Module.Dual K V) : Prop := … - def
OAI.MaxCutGames.Gadget.DetectionBridge.characterDetectionline 468Source documentation
Detection by any member of a character family. Classical decidability only selects an event indicator on the finite noise sample space.
noncomputable def characterDetection (noise : Ω → V) (ψ : Module.Dual K B →ₗ[K] Module.Dual K V) : ℚ := by … - theorem
OAI.MaxCutGames.Gadget.DetectionBridge.exists_leftInverse_of_logical_injectiveline 473 - theorem
OAI.MaxCutGames.Gadget.DetectionBridge.fullLift_of_leftInverseline 479Source documentation
The left inverse supplies an actual full character lift through
T.theorem fullLift_of_leftInverse (ι : B →ₗ[K] V) (T : V →ₗ[K] E) (l : E →ₗ[K] B) (hleft : l.comp (T.comp ι) = LinearMap.id) : IsFullLift ι (l.comp T).dualMap := by … - theorem
OAI.MaxCutGames.Gadget.DetectionBridge.target_detection_of_full_lift_boundline 489Source documentation
A full-lift detection guarantee transfers to every target map injective on the logical alphabet.
theorem target_detection_of_full_lift_bound [DecidableEq E] (noise : Ω → V) (ι : B →ₗ[K] V) (T : V →ₗ[K] E) (q : ℚ) (hfull : ∀ ψ : Module.Dual K B →ₗ[K] Module.Dual K V, IsFullLift ι ψ → q ≤ characterDetection noise ψ) (hinjective : Function.Injective (T.comp ι)) : q ≤ probability (fun ω => T (noise ω) ≠ 0) := by …Mentions: OAI.MaxCutGames.Gadget.DetectionBridge.IsFullLift, OAI.MaxCutGames.Gadget.DetectionBridge.characterDetection
- theorem
OAI.MaxCutGames.Gadget.DetectionBridge.target_detection_of_retraction_boundline 510Source documentation
Equivalent useful interface when the recursive calculation already gives detection of every vector-valued linear retraction of the logical inclusion.
theorem target_detection_of_retraction_bound [DecidableEq B] [DecidableEq E] (noise : Ω → V) (ι : B →ₗ[K] V) (T : V →ₗ[K] E) (q : ℚ) (hretract : ∀ L : V →ₗ[K] B, L.comp ι = LinearMap.id → q ≤ probability (fun ω => L (noise ω) ≠ 0)) (hinjective : Function.Injective (T.comp ι)) : q ≤ probability (fun ω => T (noise ω) ≠ 0) := by … - def
OAI.MaxCutGames.Gadget.QuotientDetection.pullbackFullLiftline 548 - theorem
OAI.MaxCutGames.Gadget.QuotientDetection.pullback_detection_iffline 563 - theorem
OAI.MaxCutGames.Gadget.QuotientDetection.full_detection_after_quotientline 577Source documentation
Any checked full-lift probability bound before quotienting applies to every full family on the actual quotient, on the same noise sampler.
theorem full_detection_after_quotient (s : Stage k B) [Fintype s.Noise] (q : ℚ) (hfull : ∀ L : Lift s (⊤ : Submodule k (Module.Dual k B)), q ≤ probability (fun n => ∃ z, L.family z (s.noise n) ≠ 0)) (ψ : Module.Dual k B →ₗ[k] Module.Dual k (StageQuotient.Space s)) (hψ : IsFullLift (StageQuotient.shift s) ψ) : q ≤ characterDetection (StageQuotient.noise s) ψ := by …Mentions: OAI.MaxCutGames.Gadget.Stage, OAI.MaxCutGames.Gadget.Lift, OAI.MaxCutGames.Gadget.StageQuotient.Space, OAI.MaxCutGames.Gadget.StageQuotient.shift, OAI.MaxCutGames.Gadget.StageQuotient.noise
- theorem
OAI.MaxCutGames.Gadget.QuotientDetection.target_detection_after_quotientline 590Source documentation
The form consumed by the injection enlargement: injectivity on the base logical alphabet suffices for the same detection probability.
theorem target_detection_after_quotient (s : Stage k B) [Fintype s.Noise] {E : Type*} [AddCommGroup E] [Module k E] [DecidableEq E] (T : StageQuotient.Space s →ₗ[k] E) (q : ℚ) (hfull : ∀ L : Lift s (⊤ : Submodule k (Module.Dual k B)), q ≤ probability (fun n => ∃ z, L.family z (s.noise n) ≠ 0)) (hinj : Function.Injective (T.comp (StageQuotient.shift s))) : q ≤ probability (fun n => T (StageQuotient.noise s n) ≠ 0) := by …Mentions: OAI.MaxCutGames.Gadget.Stage, OAI.MaxCutGames.Gadget.StageQuotient.Space, OAI.MaxCutGames.Gadget.Lift, OAI.MaxCutGames.Gadget.StageQuotient.shift, OAI.MaxCutGames.Gadget.StageQuotient.noise
- theorem
OAI.MaxCutGames.Gadget.EmbeddedConditional.expect_uniform_output_embeddedline 614Source documentation
Exact conditional uniformity for an embedded carrier of logical shifts. No injectivity of the embedding is needed for this averaging statement.
theorem expect_uniform_output_embedded (e : R →ₗ[k] P) (lam : R →ₗ[k] B) (hlam : Function.Surjective lam) (C : P → B) (hC : ∀ u h, C (u + e h) = C u + lam h) (D : P → Z) (hD : ∀ u h, D (u + e h) = D u) (f : B → Z → M) : (𝔼 u, f (C u) (D u)) = 𝔼 u, 𝔼 b : B, f b (D u) := by … - theorem
OAI.MaxCutGames.Gadget.EmbeddedConditional.expect_equivariant_outputline 639Source documentation
Unconditional uniformity is the constant-observable instance.
theorem expect_equivariant_output (e : R →ₗ[k] P) (lam : R →ₗ[k] B) (hlam : Function.Surjective lam) (C : P → B) (hC : ∀ u h, C (u + e h) = C u + lam h) (f : B → M) : (𝔼 u, f (C u)) = 𝔼 b : B, f b := by … - theorem
OAI.MaxCutGames.Gadget.EmbeddedConditional.expect_linear_surjectiveline 648Source documentation
Surjective linear maps send uniform finite input to uniform output.
theorem expect_linear_surjective (f : P →ₗ[k] B) (hf : Function.Surjective f) (test : B → M) : (𝔼 u, test (f u)) = 𝔼 b : B, test b := by … - theorem
OAI.MaxCutGames.Gadget.EmbeddedConditional.expect_uniform_difference_embeddedline 655Source documentation
Fixed-perturbation conditional uniformity without a range conversion.
theorem expect_uniform_difference_embedded (e : R →ₗ[k] P) (lam : R →ₗ[k] B) (hlam : Function.Surjective lam) (C : P → B) (hC : ∀ u h, C (u + e h) = C u + lam h) (a : P) (f : B → B → M) : (𝔼 u, f (C u) (C (u + a) - C u)) = 𝔼 u, 𝔼 b : B, f b (C (u + a) - C u) := by … - def
OAI.MaxCutGames.Gadget.NonlinearRecurrence.changeline 679 - theorem
OAI.MaxCutGames.Gadget.NonlinearRecurrence.change_zeroline 683 - theorem
OAI.MaxCutGames.Gadget.NonlinearRecurrence.compLeft_surjectiveline 687 - theorem
OAI.MaxCutGames.Gadget.NonlinearRecurrence.aggregate_singleline 694 - theorem
OAI.MaxCutGames.Gadget.NonlinearRecurrence.child_outputs_perturbline 702 - theorem
OAI.MaxCutGames.Gadget.NonlinearRecurrence.parent_output_perturbline 714 - theorem
OAI.MaxCutGames.Gadget.NonlinearRecurrence.expect_change_at_indexline 722Source documentation
The exact conditional-uniform and coordinate-marginal law for a fixed selected index and fixed child perturbation.
theorem expect_change_at_index (J : I → B →ₗ[k] X × B) (hJ : Function.Surjective (aggregate J)) (e : R →ₗ[k] P) (lam : R →ₗ[k] B) (hlam : Function.Surjective lam) (C : P → B) (hC : ∀ u h, C (u + e h) = C u + lam h) (F : X × B → B) (i : I) (a : P) : (𝔼 u : I → P, change F (aggregate J (fun j => C (u j))) (J i (C (u i + a) - C (u i)))) = 𝔼 x : P, 𝔼 z : X × B, change F z (J i (C (x + a) - C x)) := by …Mentions: OAI.MaxCutGames.Gadget.aggregate, OAI.MaxCutGames.Gadget.NonlinearRecurrence.change
- theorem
OAI.MaxCutGames.Gadget.NonlinearRecurrence.kernel_allline 766Source documentation
The averaged block kernel includes zero differences by multiplication with their nonzero indicator.
theorem kernel_all (J : I → B →ₗ[k] X × B) (F : X × B → B) (ρ : ℚ) (hk : ∀ d : B, d ≠ 0 → (𝔼 i, 𝔼 z : X × B, change F z (J i d)) = ρ) (d : B) : (𝔼 i, 𝔼 z : X × B, change F z (J i d)) = ρ * (if d ≠ 0 then 1 else 0) := by … - theorem
OAI.MaxCutGames.Gadget.NonlinearRecurrence.parent_change_recurrenceline 778Source documentation
One exact nonlinear recurrence on the actual product input and the actual single-coordinate noise. The only remaining block obligation is
hk.theorem parent_change_recurrence {N : Type*} [Fintype N] (J : I → B →ₗ[k] X × B) (hJ : Function.Surjective (aggregate J)) (e : R →ₗ[k] P) (lam : R →ₗ[k] B) (hlam : Function.Surjective lam) (C : P → B) (hC : ∀ u h, C (u + e h) = C u + lam h) (F : X × B → B) (noise : N → P) (ρ : ℚ) (hk : ∀ d : B, d ≠ 0 → (𝔼 i, 𝔼 z : X × B, change F z (J i d)) = ρ) : (𝔼 i, 𝔼 n : N, 𝔼 u : I → P, if F (aggregate J (fun j => C ((u + (Pi.single i (noise n) : I → P)) j))) ≠ F (aggregate J (fun j => C (u j))) then (1 : ℚ) else 0) = ρ * (𝔼 n : N, 𝔼 x : P, if C (x + noise n) ≠ C x then (1 : ℚ) else 0) := by …Mentions: OAI.MaxCutGames.Gadget.aggregate, OAI.MaxCutGames.Gadget.NonlinearRecurrence.change