OAI/Computability/UniqueGames/Machines/FinalCNFOutputLemmas.lean
22 declarations, 0 contain sorry, 0 declared as axioms
The final machine's complete output stream is the exact serialization of its actual formula. This identity includes the two size fields, every clause and literal field, and all unary delimiters. No desired output equality is assumed.
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.formulaHeaderline 26 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.formulaHeader_eqline 29 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.headerPlan_eq_formulaHeaderline 35 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.outputStream_eq_clauseBitsline 41 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.header_append_outputStreamline 60 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.emitted_output_eqline 66 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.reversed_accumulator_outputline 76Source documentation
Reversing the finished stack accumulator restores the required output order.
theorem reversed_accumulator_output (table : GraphTables.Table) : (formulaHeader table ++ outputStream rowPlan table (List.finRange table.darts)).reverse.reverse = formulaBits (FinalTableFormula.output table) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.formulaHeader, OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.outputStream, OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.rowPlan, OAI.UniqueGamesTheorem.Foundations.Complexity.formulaBits
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.accumulator_length_boundline 81 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.rowTimePolynomialline 89 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.rowTimePolynomial_evalline 93 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.rowTime_expandedline 98 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.phaseTimePolynomialline 103Source documentation
Header, at most
Nrows with guards, and the final output reversal.noncomputable def phaseTimePolynomial : Polynomial Nat := …
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.phaseTimePolynomial_evalline 108 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.phaseTimePolynomial_eval_expandedline 115 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.phaseTime_leline 121 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.table_phaseTime_leline 130Source documentation
The bound specialized to the actual table and actual formula serialization.
theorem table_phaseTime_le (table : GraphTables.Table) : headerTimePolynomial.eval (GraphTables.tableBits table).length + (table.darts * (rowTime rowPlan (GraphTables.tableBits table).length + 1) + 1) + ((formulaBits (FinalTableFormula.output table)).length + 1) ≤ phaseTimePolynomial.eval (GraphTables.tableBits table).length := …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.rowTime, OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.rowPlan, OAI.UniqueGamesTheorem.Foundations.Complexity.formulaBits
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.finalTimePolynomialline 140Source documentation
Twelve private stacks are drained, then the finite state is reset.
Cis the fixed maximum number of pushes in a raw-program transition.noncomputable def finalTimePolynomial (C : Nat) : Polynomial Nat := …
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.finalTimePolynomial_evalline 144 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.finalTime_leline 151Source documentation
Pure budget composition; the drain implementation supplies its own trace.
theorem finalTime_le (C N workLength : Nat) (workBound : workLength ≤ N + phaseTimePolynomial.eval N * C) : phaseTimePolynomial.eval N + 12 * (workLength + 1) + 1 ≤ (finalTimePolynomial C).eval N := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.finalTimePolynomial
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.emittedBytes_eq_formulaBitsline 168 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.rawBudget_le_phaseTimeline 172 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.computableInPolyTimeline 180Source documentation
A concrete finite machine computes the complete CNF serialization from the exact unary graph-table serialization, with a proved polynomial bound.
noncomputable def computableInPolyTime : TM2ComputableInPolyTime GraphTables.tableBits formulaBits FinalTableFormula.output where …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.formulaBits