OAI/Computability/UniqueGames/Machines/FinalCNFLoopLemmas.lean
29 declarations, 0 contain sorry, 0 declared as axioms
The complete actual output-producing trace of the final CNF machine. Its terminal configuration still contains private work tapes; FinalCNFCleanup supplies the subsequent canonical halt required by the machine interface.
- structure
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.LoopInvariantline 17 - structure
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.LoopRunline 28 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.rowInvariant_succline 40 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.rowWords_nonemptyline 60 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.loopInTimeline 66Source documentation
Induction follows the actual unary row counter and the actual unconsumed input suffix. Every iteration invokes the checked row program.
noncomputable def loopInTime (headerPlan plan : Plan) (table : GraphTables.Table) (remaining : Nat) : ∀ (r : Nat), r + remaining = table.darts → ∀ (base : Tape → List Bool) (ambient : Ambient), LoopInvariant table r base → LoopRun headerPlan plan table r remaining base ambient := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.headerPlan, OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.Plan, OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.Tape, OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.Ambient, OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.LoopInvariant, OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.LoopRun
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.emittedBytesline 131 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.rawBudgetline 135 - structure
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.RawRunline 140 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.header_loopInvariantline 148 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.rawRunline 165Source documentation
The input is read from the genuine
initListconfiguration. Header, every row, final guard, and reversal are all actual transitions of this one program.noncomputable def rawRun (plan : Plan) (table : GraphTables.Table) : RawRun plan table := by …
Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.Plan, OAI.UniqueGamesTheorem.Foundations.Complexity.FinalCNFMachine.Program.RawRun
- inductive
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.Tapeline 214 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.Tape.enumListline 221 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.Tape.enumList_getElem?_ctorIdx_eqline 225 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.Tape.enumList_nodupline 229 - instance
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.(instance at line 231)line 231 - inductive
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.Labelline 235 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.Ambientline 253 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.Stateline 254 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.divisionStatesline 259Source documentation
The residue and the emitter's unit field are just permuted; no tape is read or written by this static change of finite state coordinates.
def divisionStates (ρ : Type) (d : Nat) : MachineFixedDivMod.State (Ambient ρ d × Unit) (degree d) ≃ State ρ d where …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineFixedDivMod.State, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.Ambient, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.State
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.firstFinishline 266 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.secondFinishline 270 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.affinePlanline 274 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.firstPlanline 279 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.secondPlanline 283 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.outputPlanline 287 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.lookupTapeline 291 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.dirtyTapeline 298 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.statementline 310Source documentation
Every branch is a concrete finite TM2 statement. The fixed table
His evaluated only on finite control values, never on an unbounded tape value.def statement {d : Nat} (positive : 0 < d) (H : Table (cloudSize d) d) (ports : Tape → K) (labels : Label d → Λ) (exit : Option Λ) : Label d → TM2.Stmt (fun _ : K => Bool) Λ (State ρ d) | .initialize => .push (ports .quotientFirst) (fun _ => false) (.push (ports .quotientSecond) (fun _ => false) (.push (ports .remainderFirst) (fun _ => false) (.push (ports .remainderSecond) (fun _ => false) (.load (fun s => (s.1, none)) (.goto fun _ => labels (.firstEmit (PCP.AlphabetTable.Emitter.labelAt 3 _ 0 .entry))))))) | .firstEmit l => PCP.AlphabetTable.Emitter.statement (firstPlan ρ d) (fun _ => ports .inputVertex) …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.Tape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.Label, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.State, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Emitter.labelAt, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Emitter.statement, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.firstPlan
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderRow.programline 375