OAI/Computability/UniqueGames/PCP/SourceAddressArithmeticLemmas.lean
43 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceAddressArithmetic.variable_rankline 17 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceAddressArithmetic.clause_rankline 21 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceAddressArithmetic.left_addressline 25 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceAddressArithmetic.right_addressline 30 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceAddressArithmetic.dummy_addressline 36 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceAddressArithmetic.left_address_radixline 43 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceAddressArithmetic.right_address_radixline 50 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceAddressArithmetic.nBits_eq_dummy_succline 58 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.formulaBits_lengthline 74 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.formulaBits_length_ge_variablesline 82 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.formulaBits_length_ge_clausesline 87 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.formulaBits_length_ge_twoline 92 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.bitCountFormulaline 98Source documentation
The two padded long-code tables and one global dummy bit.
def bitCountFormula (n m u : ℕ) : ℕ := …
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.bitCoefficientline 102Source documentation
Depends on the fixed repetition count alone.
def bitCoefficient (u : ℕ) : ℕ := 2 ^ (2 ^ u) + 2 ^ (8 ^ u) + 1
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.testCoefficientline 106Source documentation
The slot tuples, two queries, and noise tapes per clause tuple. The empty-context branch uses the global dummy and adds no random tape.
def testCoefficient (u D : ℕ) : ℕ := …
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.occurrenceCoefficientline 110Source documentation
The total encoding also handles an empty formula with one dummy equation.
def occurrenceCoefficient (u D : ℕ) : ℕ := testCoefficient u D + 1
Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.testCoefficient
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.one_le_input_powerline 112 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.bitCountFormula_le_inputline 118 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.testCountFormula_le_inputline 133 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.testCountFormula_add_one_le_inputline 143 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.sourceSizeBoundline 152 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.sourceBits_length_leline 155 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.sourcePolynomialline 166Source documentation
One explicit output-length polynomial for each fixed
u,D.noncomputable def sourcePolynomial (u D : ℕ) : Polynomial ℕ := …
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.sourcePolynomial_evalline 171 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.card_testTapeline 179Source documentation
Exact cardinality of the actual fixed query/noise tape.
theorem card_testTape (u D : ℕ) : Fintype.card (SourceTape.TestTape (I u) (J u) D) = 2 ^ (2 ^ u) * (D ^ (8 ^ u) * 2 ^ (8 ^ u)) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.SourceTape.TestTape
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.testTapeEncoding_sizeline 185Source documentation
The executable radix enumeration has the same fixed size.
theorem testTapeEncoding_size (u D : ℕ) : (SourceOccurrences.testTapeEncoding u D).size = 2 ^ (2 ^ u) * (D ^ (8 ^ u) * 2 ^ (8 ^ u)) := rflMentions: OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.testTapeEncoding
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.card_sourceIndexline 190Source documentation
Cardinality of the actual complete random-tape population.
theorem card_sourceIndex (F : Formula) (u D : ℕ) : Fintype.card (SourceIndex F u D) = (F.clauses.length ^ u * 3 ^ u) * (2 ^ (2 ^ u) * (D ^ (8 ^ u) * 2 ^ (8 ^ u))) := by … - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.nBits_le_inputline 198Source documentation
Bound on the actual variable count, including padded addresses and dummy.
theorem nBits_le_input (F : Formula) (u : ℕ) : nBits F u ≤ bitCoefficient u * (Complexity.formulaBits F).length ^ u := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.bitCoefficient, OAI.UniqueGamesTheorem.Foundations.Complexity.formulaBits
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.rawSourceList_length_eqline 204Source documentation
Exact list size retains every repeated sampled context and equation.
theorem rawSourceList_length_eq (F : Formula) (u D : ℕ) : (rawSourceList F u D).length = testCoefficient u D * F.clauses.length ^ u := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.testCoefficient
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.rawSourceList_length_le_inputline 210 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.sourceList_length_le_inputline 218Source documentation
Bound on the total actual list, also covering the empty-formula branch.
theorem sourceList_length_le_input (F : Formula) (u D : ℕ) : (sourceList F u D).length ≤ occurrenceCoefficient u D * (Complexity.formulaBits F).length ^ u := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.occurrenceCoefficient, OAI.UniqueGamesTheorem.Foundations.Complexity.formulaBits
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.sourceInput_bits_polynomialline 228 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceBounds.fixed_parameters_source_sizeline 237Source documentation
Fixed parameters supply one polynomial uniformly for all actual inputs.
theorem fixed_parameters_source_size (u D : ℕ) (hD : 0 < D) : ∃ p : Polynomial ℕ, ∀ F : Formula, (SourceEncoding.inputBits (sourceInput F u D hD)).length ≤ p.eval (Complexity.formulaBits F).length := …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.formulaBits
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.prod_decode_pairline 253 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.prod_decode_mkline 261 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.enumerate_prodline 279Source documentation
Increasing product rank enumerates the first factor outside and the second factor inside, including when either factor is empty.
theorem enumerate_prod (a : Encoding α) (b : Encoding β) : (a.prod b).enumerate = a.enumerate.flatMap (fun x => b.enumerate.map (fun y => (x, y))) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.enumerate
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.map_enumerate_prodline 294 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceEnumeration.testTapeEncoding_enumerateline 307Source documentation
The exact tape order is left query, noise assignment, right query.
theorem testTapeEncoding_enumerate (u D : ℕ) : (testTapeEncoding u D).enumerate = ((iEncoding u).function Encoding.bool).enumerate.flatMap (fun f => ((jEncoding u).function (Encoding.fin D)).enumerate.flatMap (fun z => ((jEncoding u).function Encoding.bool).enumerate.map (fun g => (f, z, g)))) := by … - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceEnumeration.sourceIndexEncoding_enumerateline 315 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceEnumeration.sourceIndexEncoding_mapline 326 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceEnumeration.rawSourceList_eq_nestedLoopsline 339Source documentation
The concrete equation list is exactly a nest of finite emitting loops.
theorem rawSourceList_eq_nestedLoops (F : Formula) (u D : ℕ) : rawSourceList F u D = (clauseEncoding F u).enumerate.flatMap (fun c => (slotContextEncoding u).enumerate.flatMap (fun s => ((iEncoding u).function Encoding.bool).enumerate.flatMap (fun f => ((jEncoding u).function (Encoding.fin D)).enumerate.flatMap (fun z => ((jEncoding u).function Encoding.bool).enumerate.map (fun g => contextEquation F u D c (sampledVariables F c s) (f, z, g)))))) := by … - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceEnumeration.sourceList_eq_nestedLoopsline 349 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceEnumeration.rawSourceList_flatMapline 362Source documentation
An output-word encoder can be concatenated directly in the same order. This is an algebraic serialization identity, not a machine realization.
theorem rawSourceList_flatMap {α : Type} (F : Formula) (u D : ℕ) (emit : UniqueGamesTheorem.Reduction.CloneGap.Equation (Fin (nBits F u)) → List α) : (rawSourceList F u D).flatMap emit = (clauseEncoding F u).enumerate.flatMap (fun c => (slotContextEncoding u).enumerate.flatMap (fun s => ((iEncoding u).function Encoding.bool).enumerate.flatMap (fun f => ((jEncoding u).function (Encoding.fin D)).enumerate.flatMap (fun z => ((jEncoding u).function Encoding.bool).enumerate.flatMap (fun g => emit (contextEquation F u D c (sampledVariables F c s) (f, z, g))))))) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.CloneGap.Equation