OAI/Computability/UniqueGames/PCP/SourceOccurrences.lean
74 declarations, 0 contain sorry, 0 declared as axioms
Executable radix numbering of padded global long-code tables and an ordered equation occurrence list. The code enumerates random tapes, not distinct equations: coinciding equations and repeated variable occurrences are retained.
- structure
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encodingline 25Source documentation
A concrete, reversible finite encoding. Constructors below specify the actual arithmetic; no arbitrary
Fintype.equivFinis used.structure Encoding (α : Type) where …
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.finline 31 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.boolline 32 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.unitline 33 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.prodline 36Source documentation
The second component is the low-order block coordinate.
def prod {α β : Type} (a : Encoding α) (b : Encoding β) : Encoding (α × β) := …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.sumline 40Source documentation
The right summand follows the whole left block.
def sum {α β : Type} (a : Encoding α) (b : Encoding β) : Encoding (α ⊕ β) := …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.functionline 44Source documentation
Function coordinate zero is the least significant radix digit.
def function {α β : Type} (a : Encoding α) (b : Encoding β) : Encoding (α → β) where …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.enumerateline 52 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.length_enumerateline 54 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.mem_enumerateline 57 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.nodup_enumerateline 61 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding.card_eq_sizeline 64 - abbrev
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.GlobalKeyline 72Source documentation
Distinct table vertices and the three side tags never share storage. Unused ambient query positions are harmless explicit padding.
abbrev GlobalKey (V C I J : Type) := (V × Cube I) ⊕ ((C × Cube J) ⊕ Unit)
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.globalEncodingline 74 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.globalEncoding_sizeline 80 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.extendRestrictedline 86Source documentation
Extending by false gives a unique padded address to a restricted query.
def extendRestricted {J : Type} (valid : J → Bool) (f : Cube {j : J // valid j = true}) : Cube J := … - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.extendRestricted_validline 90 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.extendRestricted_injectiveline 94 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.restrictQuery_extendRestrictedline 101 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.canonicalInput_halfline 107 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.assignmentOfKeyline 114Source documentation
The global index map is an explicit equivalence, including all padding.
def assignmentOfKey {V C I J : Type} (v : Encoding V) (c : Encoding C) (i : Encoding I) (j : Encoding J) (bits : GlobalKey V C I J → Bool) : Fin (globalEncoding v c i j).size → Bool := …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.GlobalKey, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.globalEncoding
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.assignmentOfKey_codeline 119 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.assignmentOfKey_surjectiveline 125 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.localAddressline 137 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.localAddress_injectiveline 144 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.conditionedOccurrenceline 169 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.conditionedOccurrence_satisfiedline 178 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.findValidline 208Source documentation
A terminating first-valid search on the explicitly ordered ambient list.
def findValid {J : Type} (valid : J → Bool) : List J → Option {j : J // valid j = true} | [] => none | j :: rest => if h : valid j = true then some ⟨j, h⟩ else findValid valid rest - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.findValid_none_iffline 212 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.firstValidline 221 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.firstValid_none_iffline 224 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.occurrenceListline 230Source documentation
Mapping the ordered enumeration preserves all sampled occurrences.
def occurrenceList {Tape Name : Type} (tape : Encoding Tape) (emit : Tape → Equation Name) : List (Equation Name) := tape.enumerate.map emitMentions: OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.occurrenceList_lengthline 233 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.countP_cast_eq_sumline 237 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.countP_enumerateline 243 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.occurrenceList_acceptanceline 252Source documentation
Exact satisfaction fraction of the actual ordered equation list equals the uniform random-tape expectation, even when equations or addresses repeat.
theorem occurrenceList_acceptance {Tape Name : Type} [Fintype Tape] (tape : Encoding Tape) (emit : Tape → Equation Name) (bits : Name → Bool) : ((occurrenceList tape emit).countP (fun e => satisfied e bits) : ℝ) / (occurrenceList tape emit).length = 𝔼 x, if satisfied (emit x) bits then (1 : ℝ) else 0 := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.Encoding, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.occurrenceList
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.clauseAnswerEncodingline 267 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.slotEncodingline 269 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.iEncodingline 277 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.jEncodingline 278 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.variableEncodingline 279 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.clauseEncodingline 281 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.slotContextEncodingline 283 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.proofEncodingline 286 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.nBitsline 290 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.nBits_eqline 292 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.dummyIndexline 296 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.leftAnchorline 299 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.rightAnchorline 301 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.rightAnchor_none_iffline 304 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.halfTableKeyAssignmentline 310Source documentation
Independent actual half-tables extend to the explicit padded key space. Only the canonically selected right anchor is read at each clause context.
def halfTableKeyAssignment (F : Target.Formula) (u : ℕ) (a : VariableContext F u → HalfCube (leftAnchor u) → Bool) (b : ∀ c : ClauseContext F u, ∀ j₀ : {j : J u // validJ F c j = true}, HalfCube j₀ → Bool) : GlobalKey (VariableContext F u) (ClauseContext F u) (I u) (J u) → Bool | .inl (v, f) => a v (canonicalInput (leftAnchor u) f) | .inr (.inl (c, g)) => match rightAnchor F c with | none => false | some j₀ => b c j₀ (canonicalInput j₀ (restrictQuery (validJ F c) g)) | .inr (.inr _) => falseMentions: OAI.UniqueGamesTheorem.Foundations.Target.Formula, OAI.UniqueGamesTheorem.Foundations.Hastad.HalfCube, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.leftAnchor, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.GlobalKey, OAI.UniqueGamesTheorem.Foundations.Hastad.canonicalInput, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.rightAnchor, OAI.UniqueGamesTheorem.Foundations.Hastad.restrictQuery
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.extendHalfTablesline 322 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.extendHalfTables_leftline 329 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.extendHalfTables_rightline 340 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.emptyAddressline 357 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.contextEquationline 364Source documentation
The private query law depends only on the two visible contexts. In particular, the hidden sampled slots are not inputs to
pi.def contextEquation (F : Target.Formula) (u D : ℕ) (c : ClauseContext F u) (v : VariableContext F u) (t : SourceTape.TestTape (I u) (J u) D) : Equation (Fin (nBits F u)) := …Mentions: OAI.UniqueGamesTheorem.Foundations.Target.Formula, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceTape.TestTape, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.nBits
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.leftResponseline 373 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.rightResponseline 377 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.contextEquation_satisfiedline 384 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.testTapeEncodingline 401 - abbrev
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.SourceIndexline 405 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.sourceIndexEncodingline 408 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.sourceEquationline 411 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.rawSourceListline 417Source documentation
The entire finite random-tape population, including repeated visible contexts and all equation multiplicities, in a fixed explicit order.
def rawSourceList (F : Target.Formula) (u D : ℕ) : List (Equation (Fin (nBits F u))) := …
Mentions: OAI.UniqueGamesTheorem.Foundations.Target.Formula, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.nBits
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.rawSourceList_lengthline 420 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.rawSourceList_acceptanceline 427 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.emptyFormulaEquationline 452Source documentation
A satisfiable totalization for the empty input formula, without changing or diluting the occurrence list of a nonempty formula.
def emptyFormulaEquation (F : Target.Formula) (u : ℕ) : Equation (Fin (nBits F u)) := …
Mentions: OAI.UniqueGamesTheorem.Foundations.Target.Formula, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.nBits
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.sourceListline 455 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.sourceList_emptyline 458 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.sourceList_nonemptyline 461 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.sourceList_length_le_raw_add_oneline 467 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.sourceList_ne_nilline 476 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.sourceInputline 487 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceOccurrences.emptyFormulaEquation_satisfiedline 491