OAI/Computability/UniqueGames/Machines/MachineClone100Loop.lean
25 declarations, 0 contain sorry, 0 declared as axioms
- structure
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.Recordline 17 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.recordWordsline 23 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.recordBitsline 24 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.recordsBitsline 25 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.clonedRecordBitsline 27 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.clonedRecordsBitsline 30 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.recordFieldsline 33 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.tapesline 38Source documentation
The frame records all tapes, including untouched header and output tapes. At every loop guard the four fields are empty and scratch is empty.
def tapes (base : Tape → List Bool) (input counter accumulator : List Bool) (fields : Fin 4 → List Bool) : Tape → List Bool | .input => input | .header => base .header | .counter => counter | .field j => fields j | .scratch => [] | .reversed => accumulator | .output => base .output - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.update_reversedline 48 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.counterTapes_eqline 55 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.fourTapes_eqline 63 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.clearFields_eqline 78 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.cleanupSteps_eqline 85 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.recordBits_lengthline 92 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.bodyCostline 97 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.bodyCost_eqline 100 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.bodyInTimeline 107 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.loopCostline 156 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.loopCost_eqline 160 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.loopInTimeline 173Source documentation
The complete record loop consumes exactly the specified occurrence list. The final zero guard retains the counter delimiter for the final cleanup stage. Arbitrary suffixes and already emitted prefixes are preserved explicitly.
def loopInTime (triples : List (Nat × Nat × Nat)) (nonempty : triples ≠ []) (base : Tape → List Bool) (suffix : List Bool) (rs : List Record) (acc : List Bool) : StateTransition.EvalsToInTime (TM2.step (program triples nonempty)) ⟨some .guard, initialState _, tapes base (recordsBits rs ++ suffix) (encodeWord rs.length) acc (fun _ => [])⟩ (some ⟨some .finalCounter, initialState _, tapes base suffix (encodeWord 0) ((clonedRecordsBits triples rs).reverse ++ acc) (fun _ => [])⟩) (loopCost triples.length rs) := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.Record, OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.tapes, OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.recordsBits, OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.clonedRecordsBits, OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.loopCost
- def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.loopInTime_linearline 208Source documentation
A linear bound derived from the actual composed execution.
def loopInTime_linear (triples : List (Nat × Nat × Nat)) (nonempty : triples ≠ []) (base : Tape → List Bool) (suffix : List Bool) (rs : List Record) (acc : List Bool) : StateTransition.EvalsToInTime (TM2.step (program triples nonempty)) ⟨some .guard, initialState _, tapes base (recordsBits rs ++ suffix) (encodeWord rs.length) acc (fun _ => [])⟩ (some ⟨some .finalCounter, initialState _, tapes base suffix (encodeWord 0) ((clonedRecordsBits triples rs).reverse ++ acc) (fun _ => [])⟩) ((2 + 3 * triples.length) * (recordsBits rs).length + (9 + 12 * triples.length) * rs.length + 1) := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.Record, OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.tapes, OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.recordsBits, OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.clonedRecordsBits
- def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.recordOfEquationline 220 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.recordsBits_equationsline 223 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.clonedRecordsBits_equations_tableline 233 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Loop.sourceLoopInTime_tableline 244