OAI/Computability/UniqueGames/Machines/MachineLazyTable.lean
66 declarations, 0 contain sorry, 0 declared as axioms
The actual whole-table lazy-graph machine, with fixed positive old degree. All unbounded counts and addresses reside on unary tapes.
- inductive
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.Tapeline 20 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.Tape.enumListline 25 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.Tape.enumList_getElem?_ctorIdx_eqline 29 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.Tape.enumList_nodupline 33 - instance
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.(instance at line 35)line 35 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.Stateline 39 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.cleanline 41 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.clean_pairline 44 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.splitRolesline 47 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.splitViewline 48 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.dummyRolesline 52 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.dummyViewline 53 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.oldRolesline 57 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.splitRoles_leftline 61 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.splitRoles_rightline 64 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.dummyRoles_leftline 67 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.dummyRoles_rightline 70 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.oldRoles_injectiveline 73 - inductive
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.Labelline 75 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.programline 85 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.frameline 122 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.initialTapesline 127 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.loopTapesline 129 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.finalTapesline 134 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.joinTraceline 136 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.dummyTraceline 142Source documentation
Lift the actual dummy-block routine into the full program and account for the exact preserved frame. The tail and relation are cleared in the next phase.
theorem dummyTrace (d : Nat) (positive : 0 < d) (base : Tape → List Bool) (v e : Nat) (ht : base .tail = encodeWord v) (he : base .reverse = encodeWord e) (hr : base .relation = []) (hb : base .rowBuffer = []) (hs : base .scratch = []) : (advance (TM2.step (program d positive)))^[MachineDummyRows.steps v e (base .output) d + 1] (some ⟨some (.dummy (MachineDummyRows.start d)), clean d positive, base⟩) = some ⟨some .clearDummyTail, clean d positive, Function.update (Function.update (Function.update base .reverse (encodeWord (e + d))) .relation MachineDummyRows.trueBits) .output (base .output ++ MachineDummyRows.rowsBits v e d)⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.Tape, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineDummyRows.steps, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineDummyRows.start, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.clean, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineDummyRows.trueBits, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineDummyRows.rowsBits
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.oldTraceline 171 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.prefixStepsline 203 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.prefixTraceline 206 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.vertexBlockline 288 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.bodyStepsline 292 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.frame_old_emptyline 298 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.bodyTraceline 306Source documentation
One entire vertex body: preserve-copy its tail, append the real dummy block, clear its temporary fields, transform all old rows, and increment both counters by actual pushes. The caller supplies no execution premise.
theorem bodyTrace {n m : Nat} (d : Nat) (positive : 0 < d) (input : List Bool) (left v : Nat) (rows : Fin d → GraphTables.DartRow n m) (rest output : List Bool) : (advance (TM2.step (program d positive)))^[bodySteps d v rows output] (some ⟨some .copyVertexFirst, clean d positive, loopTapes d input n m left v (MachineLazyRows.recordsInput (List.ofFn rows) ++ rest) output⟩) = some ⟨some .guard, clean d positive, loopTapes d input n m left (v + 1) rest (output ++ vertexBlock d v rows)⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.bodySteps, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.clean, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.loopTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyRows.recordsInput, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.vertexBlock
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.drainPhaseline 418 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.finishStepsline 429 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.finishTraceline 431 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.remainingline 486 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.remaining_zeroline 488 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.remaining_doneline 489 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.remaining_consline 491 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.inputBlocksline 497 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.outputBlocksline 500 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.vertexBlock_codecline 503 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.encodeWords_flatMapline 509 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.inputBlocks_codecline 515 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.outputBlocks_codecline 522 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.input_table_codecline 528 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.output_table_codecline 539 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.loopStepsline 551 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.loopTraceline 560Source documentation
Induction over the actual unary fuel and the actual stored vertex order.
theorem loopTrace {n d : Nat} (table : PortTables.Table n d) (positive : 0 < d) (input : List Bool) (count r : Nat) (hsum : r + count = n) (output : List Bool) : (advance (TM2.step (program d positive)))^[loopSteps table r count output] (some ⟨some .guard, clean d positive, loopTapes d input n (n * d) count r (inputBlocks table (remaining n r)) output⟩) = some ⟨none, clean d positive, finalTapes input (output ++ outputBlocks table (remaining n r))⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.loopSteps, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.clean, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.loopTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.inputBlocks, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.remaining, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.finalTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.outputBlocks
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.totalStepsline 601 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.tableTraceline 607Source documentation
The full table execution, including all headers, all dummy and moving rows, and complete work-tape cleanup, in the existing exact Boolean codec.
theorem tableTrace {n d : Nat} (table : PortTables.Table n d) (positive : 0 < d) : (advance (TM2.step (program d positive)))^[totalSteps table] (some ⟨some (.split .copyFirst), clean d positive, initialTapes (PortTables.tableBits table)⟩) = some ⟨none, clean d positive, finalTapes (PortTables.tableBits table) (PortTables.tableBits (PreprocessingOverlayTables.lazy table))⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.totalSteps, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.clean, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.initialTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.finalTapes
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.dummyRows_length_leline 622 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.bodySteps_leline 635Source documentation
A uniform bound for the actual vertex body, using the complete output size as a cap on its existing prefix. Degree is a fixed program parameter.
theorem bodySteps_le {n d : Nat} (rows : Fin d → GraphTables.DartRow n (n * d)) (v L : Nat) (output : List Bool) (hv : v ≤ n) (hn : n ≤ L) (hm : n * d ≤ L) (ho : output.length ≤ 20000 * (L + 1) ^ 2) : bodySteps d v rows output ≤ 1000000 * (d + 1) ^ 3 * (L + 1) ^ 2 := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.bodySteps
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.output_length_leline 756 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.loopSteps_leline 773 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.timePolynomialline 805 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.timePolynomial_evalline 808 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.totalSteps_leline 812 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.machineline 843 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.machine_alphabet_finiteline 854 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.initial_configurationline 860 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.finalTapes_inputline 869 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.finalTapes_outputline 870 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.finalTapes_work_emptyline 872 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.machineInTimeline 878Source documentation
A full actual finite-machine execution with a fixed-degree polynomial budget, the exact lazy-table output, preserved original input, and clean work.
def machineInTime {n d : Nat} (table : PortTables.Table n d) (positive : 0 < d) : StateTransition.EvalsToInTime (machine d positive).step (initList (machine d positive) (PortTables.tableBits table)) (some ⟨none, clean d positive, finalTapes (PortTables.tableBits table) (PortTables.tableBits (PreprocessingOverlayTables.lazy table))⟩) ((timePolynomial d).eval (PortTables.tableBits table).length) where …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.machine, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.clean, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.finalTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineLazyTable.timePolynomial