OAI/Computability/UniqueGames/Machines/MachineClone100Triples.lean
16 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.rowOutputline 16 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.rowStepsline 22 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.startAtline 26 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.contextTapes_fieldline 29 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.rowOutput_updateline 34 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.rowSteps_updateline 39 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.chainline 43 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.fourContexts_tapesline 47 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.rowTraceline 59Source documentation
Execute each of the four actual contexts in slot order.
theorem rowTrace (triples : List (Nat × Nat × Nat)) (nonempty : triples ≠ []) (i : Fin triples.length) (base : Tape → List Bool) (scratchEmpty : base .scratch = []) (state : State triples.length) : (MachineComposition.advance (TM2.step (program triples nonempty)))^[rowSteps base] (some ⟨some (.setup (.inr (i, 0))), state, base⟩) = some ⟨startAt triples.length (i.val + 1), initialState _, Function.update base .reversed ((rowOutput (triples.get i) base).reverse ++ base .reversed)⟩ := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.rowSteps, OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.startAt, OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.rowOutput
- theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.tailTraceline 94 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.tableTrace_rawline 134 - def
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.affineRecordline 145 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.rowOutput_wordsline 148 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.tableOutput_wordsline 156 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.tableTraceline 169Source documentation
The actual inner loop outputs the concrete cloned equation words.
theorem tableTrace (triples : List (Nat × Nat × Nat)) (nonempty : triples ≠ []) (base : Tape → List Bool) (scratchEmpty : base .scratch = []) (state : State triples.length) (a b c rhs : Nat) (h0 : base (.field 0) = encodeWord a) (h1 : base (.field 1) = encodeWord b) (h2 : base (.field 2) = encodeWord c) (h3 : base (.field 3) = encodeWord rhs) : (MachineComposition.advance (TM2.step (program triples nonempty)))^[ triples.length * (3 * ((a + 1) + (b + 1) + (c + 1) + (rhs + 1)) + 12)] (some ⟨some (.setup (.inr (⟨0, List.length_pos_iff.mpr nonempty⟩, 0))), state, base⟩) = some ⟨some (.cleanup 0), initialState _, Function.update base .reversed ((encodeWords (triples.flatMap (affineRecord a b c rhs))).reverse ++ base .reversed)⟩ := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.affineRecord
- theorem
OAI.UniqueGamesTheorem.Explicit.MachineClone100Triples.tableTapes_otherline 183