OAI/Computability/UniqueGames/Machines/FinalCNFTemplate.lean
30 declarations, 0 contain sorry, 0 declared as axioms
Fixed literal templates for the twelve-query converter. All control data have constant size: twelve query references, nine auxiliary references, ten clauses, and three literal slots. Pattern bits remain symbolic throughout the proof.
These templates specify the actual serialized rows.
- inductive
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.Referenceline 17 - structure
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.LiteralTemplateline 22 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.ClauseTemplateline 27 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.queryLiteralline 29 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.auxiliaryLiteralline 32 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.tautologyTemplateline 35 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.chainTemplatesline 39Source documentation
The same prefix-chain clauses used by
splitLong, in their output order.def chainTemplates (bits : Fin 12 → Bool) : Vector ClauseTemplate 10 := …
Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.ClauseTemplate
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.blockTemplatesline 52 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.templatesline 55 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.literalAtline 59Source documentation
Fixed clause/slot indexing for the machine's finite emission plan.
def literalAt (accepted : Bool) (bits : Fin 12 → Bool) (clause : Fin 10) (slot : Fin 3) : LiteralTemplate := …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.LiteralTemplate
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.templates_lengthline 63 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.templates_trueline 66 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.templates_falseline 69 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.literalTemplatesline 72 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.literalTemplates_lengthline 75 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.literalWordsline 80 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.clauseWordsline 83 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.wordsline 86 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.words_lengthline 89 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.resolveline 98 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.resolve_query_valueline 102 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.resolve_auxiliary_valueline 106 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.instantiateLiteralline 114 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.instantiateClauseline 117 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.splitLong_twelveline 122Source documentation
A symbolic twelve-input chain expands to exactly these ten clauses.
theorem splitLong_twelve {n : Nat} (ls : Fin 12 → Literal n) (ys : Fin 9 → Fin n) : VerifierToCNF.splitLong (List.ofFn ls) (List.ofFn ys) = [#v[ls 0, ls 1, ⟨ys 0, true⟩], #v[⟨ys 0, false⟩, ls 2, ⟨ys 1, true⟩], #v[⟨ys 1, false⟩, ls 3, ⟨ys 2, true⟩], #v[⟨ys 2, false⟩, ls 4, ⟨ys 3, true⟩], #v[⟨ys 3, false⟩, ls 5, ⟨ys 4, true⟩], #v[⟨ys 4, false⟩, ls 6, ⟨ys 5, true⟩], #v[⟨ys 5, false⟩, ls 7, ⟨ys 6, true⟩], #v[⟨ys 6, false⟩, ls 8, ⟨ys 7, true⟩], #v[⟨ys 7, false⟩, ls 9, ⟨ys 8, true⟩], #v[⟨ys 8, false⟩, ls 10, ls 11]] := by … - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.instantiate_templatesline 138Source documentation
Instantiating the fixed plan reproduces the actual converter's entire block.
theorem instantiate_templates : (templates (V.accepts e (VerifierToCNF.patternAt 12 p)) (VerifierToCNF.patternAt 12 p)).map (instantiateClause V e p) = VerifierToCNF.block V (by decide) e p := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.templates, OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.instantiateClause
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.instantiate_templates_of_acceptanceline 152 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.instantiateClause_wordsline 159 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.words_eq_blockline 164Source documentation
The finite plan's sixty natural fields are the converter's actual row words.
theorem words_eq_block : words (V.accepts e (VerifierToCNF.patternAt 12 p)) (VerifierToCNF.patternAt 12 p) (fun r => (resolve V e p r).val) = (VerifierToCNF.block V (by decide) e p).flatMap Complexity.clauseWords := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.words, OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.resolve, OAI.UniqueGamesTheorem.Foundations.Complexity.clauseWords
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFTemplate.block_words_lengthline 172