OAI/Computability/UniqueGames/PCP/FoldedEquationLemmas.lean
65 declarations, 0 contain sorry, 0 declared as axioms
Actual equations for clause contexts having no valid local assignment. The right answer is the constant false bit, represented by two occurrences of one dummy variable. Those occurrences cancel for every assignment. The remaining left answer is folded, so its uniform bias is exactly zero.
- abbrev
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.Addressline 25Source documentation
Left and right stored tables have disjoint variable names.
abbrev Address (i₀ : I) (j₀ : J) := HalfCube i₀ ⊕ HalfCube j₀
Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.HalfCube
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.storedAssignmentline 27 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.rhsCorrectionline 32Source documentation
Cancellation of the two copies of
g j₀leaves this explicit RHS.def rhsCorrection (π : J → I) (i₀ : I) (j₀ : J) (f : Cube I) (μ : Cube J) : Bool := f i₀ ^^ f (π j₀) ^^ μ j₀ - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.correction_eqline 35 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.equationline 43Source documentation
One sampled test becomes exactly one three-occurrence equation.
def equation (π : J → I) (i₀ : I) (j₀ : J) (f : Cube I) (g μ : Cube J) : Equation (Address i₀ j₀) where …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.Cube, OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.Address
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.xor_correctionsline 50 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.equation_satisfiedline 57Source documentation
Exact Boolean semantics, with the three stored bits read from one assignment. There is no distinct-address assumption.
theorem equation_satisfied (π : J → I) (i₀ : I) (j₀ : J) (tableA : HalfCube i₀ → Bool) (tableB : HalfCube j₀ → Bool) (f : Cube I) (g μ : Cube J) : satisfied (equation π i₀ j₀ f g μ) (storedAssignment tableA tableB) = !(foldedAnswer i₀ tableA f ^^ foldedAnswer j₀ tableB g ^^ foldedAnswer j₀ tableB (thirdQuery π f g μ)) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.HalfCube, OAI.UniqueGamesTheorem.Foundations.Hastad.Cube, OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.equation, OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.storedAssignment, OAI.UniqueGamesTheorem.Foundations.Hastad.foldedAnswer, OAI.UniqueGamesTheorem.Foundations.Hastad.thirdQuery
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.equation_satisfied_iffline 68 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.equation_indicatorline 77 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.satisfied_repeated_rightline 89Source documentation
Repeated variable occurrences retain XOR multiplicity and cancel in pairs.
theorem satisfied_repeated_right {Name : Type} (e : Equation Name) (assignment : Name → Bool) (h : e.second = e.third) : satisfied e assignment = (assignment e.first == e.rhs) := by … - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.equation_repeated_rightline 96 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.restrict_thirdQueryline 105 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.conditionedEquationline 113Source documentation
Conditioned storage uses only satisfying-assignment coordinates, so identical restricted canonical inputs are the same variable, even for distinct raw queries.
def conditionedEquation (valid : J → Bool) (π : J → I) (i₀ : I) (j₀ : {j : J // valid j = true}) (f : Cube I) (g μ : Cube J) : Equation (Address i₀ j₀) := …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.Cube, OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.Address
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.conditionedEquation_rhsline 118 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.conditionedEquation_satisfiedline 123 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.conditionedEquation_satisfied_iffline 134 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.conditionedEquation_indicatorline 144 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.conditionedEquation_repeated_rightline 156 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.equationAcceptanceline 172Source documentation
Actual weighted acceptance of the emitted equation family.
def equationAcceptance (ε : ℝ) (π : J → I) (i₀ : I) (j₀ : J) (tableA : HalfCube i₀ → Bool) (tableB : HalfCube j₀ → Bool) : ℝ := …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.HalfCube
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.equationAcceptance_eqline 178 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.conditionedEquationAcceptanceline 185 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.FoldedEquation.conditionedEquationAcceptance_eqline 192 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.mapEquationline 222Source documentation
Rename the three occurrences without merging or dropping any occurrence.
def mapEquation {Name Name' : Type} (rename : Name → Name') (e : Equation Name) : Equation Name' where … - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.satisfied_mapEquationline 229 - abbrev
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.Addressline 238Source documentation
A left half-table address or the one dummy address.
abbrev Address (i₀ : I) := HalfCube i₀ ⊕ Unit
Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.HalfCube
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.storedAssignmentline 240 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equationline 244Source documentation
The dummy appears twice. Its assigned bit cancels in the equation.
def equation (i₀ : I) (f : Cube I) : Equation (Address i₀) where …
Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.Cube, OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.Address
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equation_second_eq_thirdline 250 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equation_satisfiedline 254Source documentation
Exact semantics for every assignment, including an arbitrary dummy bit.
theorem equation_satisfied (i₀ : I) (assignment : Address i₀ → Bool) (f : Cube I) : satisfied (equation i₀ f) assignment = !(foldedAnswer i₀ (fun h => assignment (.inl h)) f) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.Address, OAI.UniqueGamesTheorem.Foundations.Hastad.Cube, OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equation, OAI.UniqueGamesTheorem.Foundations.Hastad.foldedAnswer
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equation_storedAssignment_satisfiedline 262 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equation_flip_firstline 268Source documentation
Flipping the query preserves all three addresses and reverses the RHS.
theorem equation_flip_first (i₀ : I) (f : Cube I) : (equation i₀ (cubeFlip f)).first = (equation i₀ f).first := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.Cube, OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equation, OAI.UniqueGamesTheorem.Foundations.Hastad.cubeFlip
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equation_flip_rhsline 273 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equation_satisfied_flipline 276 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.pairedEquationsline 283Source documentation
The two opposite queries give an explicit balanced list of equations.
def pairedEquations (i₀ : I) (f : Cube I) : List (Equation (Address i₀)) := …
Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.Cube, OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.Address
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.pairedEquations_lengthline 286 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.pairedEquations_ne_nilline 289 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.pairedEquations_acceptedCountline 293Source documentation
Exactly one actual equation in the pair accepts every fixed proof.
theorem pairedEquations_acceptedCount (i₀ : I) (assignment : Address i₀ → Bool) (f : Cube I) : (pairedEquations i₀ f).countP (fun e => satisfied e assignment) = 1 := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.Address, OAI.UniqueGamesTheorem.Foundations.Hastad.Cube, OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.pairedEquations
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.pairedEquations_failureCountline 299 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equationAcceptanceline 309 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equationBiasline 312 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.foldedMean_eq_zeroline 315 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equation_indicatorline 320 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equationAcceptance_eq_halfline 328Source documentation
Uniform queries accept with probability exactly one half. No right folding anchor, valid right assignment, or placeholder response is assumed.
theorem equationAcceptance_eq_half (i₀ : I) (assignment : Address i₀ → Bool) : equationAcceptance i₀ assignment = 1 / 2 := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.Address, OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equationAcceptance
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equationBias_eq_zeroline 336Source documentation
The signed acceptance of the actual emitted equations has zero bias.
theorem equationBias_eq_zero (i₀ : I) (assignment : Address i₀ → Bool) : equationBias i₀ assignment = 0 := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.Address, OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.equationBias
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.EmptyContext.mapped_equationAcceptance_eq_halfline 347 - abbrev
OAI.UniqueGamesTheorem.Outer.Clone100Counting.Indexline 366 - abbrev
OAI.UniqueGamesTheorem.Outer.Clone100Counting.Tripleline 367 - def
OAI.UniqueGamesTheorem.Outer.Clone100Counting.signline 369 - def
OAI.UniqueGamesTheorem.Outer.Clone100Counting.biasline 371 - def
OAI.UniqueGamesTheorem.Outer.Clone100Counting.majorityBitline 374Source documentation
A deterministic majority, resolving a zero bias to
false.def majorityBit (f : Index → Bool) : Bool := decide (bias f < 0)
Mentions: OAI.UniqueGamesTheorem.Outer.Clone100Counting.Index, OAI.UniqueGamesTheorem.Outer.Clone100Counting.bias
- theorem
OAI.UniqueGamesTheorem.Outer.Clone100Counting.majority_aligned_nonnegline 376 - def
OAI.UniqueGamesTheorem.Outer.Clone100Counting.parityIndicatorline 383 - theorem
OAI.UniqueGamesTheorem.Outer.Clone100Counting.parityIndicator_nonnegline 386 - theorem
OAI.UniqueGamesTheorem.Outer.Clone100Counting.parityIndicator_le_oneline 391 - theorem
OAI.UniqueGamesTheorem.Outer.Clone100Counting.parityIndicator_eqline 396 - def
OAI.UniqueGamesTheorem.Outer.Clone100Counting.unconditionedScoreline 402 - theorem
OAI.UniqueGamesTheorem.Outer.Clone100Counting.independent_product_sumline 405 - theorem
OAI.UniqueGamesTheorem.Outer.Clone100Counting.unconditionedScore_eqline 414 - theorem
OAI.UniqueGamesTheorem.Outer.Clone100Counting.unconditionedScore_le_oneline 434 - theorem
OAI.UniqueGamesTheorem.Outer.Clone100Counting.signed_product_of_failureline 442 - theorem
OAI.UniqueGamesTheorem.Outer.Clone100Counting.unconditionedScore_le_half_of_failureline 451Source documentation
An equation violated by the majority assignment is satisfied by independent clone labels with probability at most one half. This also allows repeated original variable names: independence belongs to the sampled clone indices.
theorem unconditionedScore_le_half_of_failure (p q r : Index → Bool) (rhs : Bool) (h : (xor (xor (majorityBit p) (majorityBit q)) (majorityBit r) == rhs) = false) : unconditionedScore p q r rhs ≤ 1 / 2 := by …Mentions: OAI.UniqueGamesTheorem.Outer.Clone100Counting.Index, OAI.UniqueGamesTheorem.Outer.Clone100Counting.majorityBit, OAI.UniqueGamesTheorem.Outer.Clone100Counting.unconditionedScore
- theorem
OAI.UniqueGamesTheorem.Outer.Clone100Counting.unconditionedScore_leline 462 - theorem
OAI.UniqueGamesTheorem.Outer.Clone100Counting.condition_970200_leline 485Source documentation
Conditioning a bounded function onto 970200 of one million outcomes changes its upper expectation by at most 3/100. The exact loss is 298/10000. Only finite sums and the actual accepted sample cardinality are needed.
theorem condition_970200_le {T : Type*} [Fintype T] (good : T → Prop) [DecidablePred good] (_hT : Fintype.card T = 1000000) (hgood : Fintype.card {t : T // good t} = 970200) (f : T → ℚ) (hf0 : ∀ t, 0 ≤ f t) (hf1 : ∀ t, f t ≤ 1) : (∑ t : {t : T // good t}, f t.val) / 970200 ≤ (∑ t : T, f t) / 1000000 + 3 / 100 := by … - def
OAI.UniqueGamesTheorem.Outer.Clone100Counting.conditionedScoreline 504 - theorem
OAI.UniqueGamesTheorem.Outer.Clone100Counting.conditionedScore_leline 509