OAI/Computability/MaxCut/Machines/AddressMachineProgram.lean
55 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.MaxCutGames.Reduction.AddressMachineProgram.Tapeline 14 - abbrev
OAI.MaxCutGames.Reduction.AddressMachineProgram.Stateline 16 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.accumulatorline 20 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.outputline 21 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.accumulator_ne_outputline 23 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.clearKeysline 27Source documentation
The finalizer visits every other tape in a fixed finite order.
def clearKeys : List (Tape k T) := by …
Mentions: OAI.MaxCutGames.Reduction.AddressMachineProgram.Tape
- theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.mem_clearKeysline 32 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.accumulator_not_mem_clearKeysline 37 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.output_not_mem_clearKeysline 38 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.clearKeys_coversline 40 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.clearKeys_nodupline 43 - abbrev
OAI.MaxCutGames.Reduction.AddressMachineProgram.HeaderLabelline 47 - abbrev
OAI.MaxCutGames.Reduction.AddressMachineProgram.BodyLabelline 48 - abbrev
OAI.MaxCutGames.Reduction.AddressMachineProgram.FinishLabelline 50 - inductive
OAI.MaxCutGames.Reduction.AddressMachineProgram.Labelline 52 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.headerLabelsline 62 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.initializeLabelsline 63 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.bodyLabelsline 64 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.finishLabelsline 65 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.startline 67 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.initializeStartline 68 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.bodyStartline 69 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.checkLabelline 70 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.resetLabelline 71 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.finishStartline 72 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.nextline 74 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.resetAtline 77 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.next_ltline 80 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.next_geline 82 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.resetAt_ltline 84 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.programline 89Source documentation
Header, digit initialization, physical tuple body, carry loops, and complete finalization are placed in a single actual finite transition program.
def program : Label k T → TM2.Stmt (fun _ : Tape k T => Bool) (Label k T) (State k) | .header l => MachineAddressHeaders.statement (AddressMachineSpace.fullHeaderSlots k s d T.vectors.length) (headerLabels k T) (some (initializeStart k T)) l | .initialize l => MachineOdometerInit.statement (AddressMachineSpace.odometerSlots k s d T.vectors.length) (initializeLabels k T) (some (bodyStart k T)) l | .body l => Integration.AddressTupleBody.instruction (AddressOutcomeSpecs.rows k T) (bodyLabels k T) (some (next k T 0)) l | .check j => MachineTupleOdometer.increment (AddressMachineSpace.current k s d T.vectors.length j) (AddressMachineSpace.remaining k s d T.vectors.length j) …Mentions: OAI.MaxCutGames.Reduction.AddressMachineProgram.Label, OAI.MaxCutGames.Reduction.AddressMachineProgram.Tape, OAI.MaxCutGames.Reduction.AddressMachineProgram.State, OAI.MaxCutGames.Reduction.MachineAddressHeaders.statement, OAI.MaxCutGames.Reduction.AddressMachineSpace.fullHeaderSlots, OAI.MaxCutGames.Reduction.AddressMachineProgram.headerLabels, OAI.MaxCutGames.Reduction.AddressMachineProgram.initializeStart, OAI.MaxCutGames.Reduction.AddressMachineSpace.odometerSlots, OAI.MaxCutGames.Reduction.AddressMachineProgram.initializeLabels, OAI.MaxCutGames.Reduction.AddressMachineProgram.bodyStart, OAI.MaxCutGames.Integration.AddressTupleBody.instruction, OAI.MaxCutGames.Reduction.AddressOutcomeSpecs.rows, OAI.MaxCutGames.Reduction.AddressMachineProgram.bodyLabels, OAI.MaxCutGames.Reduction.AddressMachineProgram.next, OAI.MaxCutGames.Reduction.AddressMachineSpace.current, OAI.MaxCutGames.Reduction.AddressMachineSpace.remaining
- theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.atHeaderline 111 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.atInitializeline 115 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.atBodyline 120 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.atCheckline 124 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.atResetline 129 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.atFinishline 134 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.finishStartStepline 139Source documentation
This bridge has no data-dependent action and costs exactly one transition.
theorem finishStartStep (state : State k) (base : Tape k T → List Bool) : TM2.step (program k T) ⟨some (finishStart k T),state,base⟩ = some ⟨SourceRuntimeFinish.entry (clearKeys k T) (finishLabels k T),state,base⟩ := by …Mentions: OAI.MaxCutGames.Reduction.AddressMachineProgram.State, OAI.MaxCutGames.Reduction.AddressMachineProgram.Tape, OAI.MaxCutGames.Reduction.AddressMachineProgram.program, OAI.MaxCutGames.Reduction.AddressMachineProgram.finishStart, OAI.MaxCutGames.Reduction.AddressMachineProgram.clearKeys, OAI.MaxCutGames.Reduction.AddressMachineProgram.finishLabels
- def
OAI.MaxCutGames.Reduction.AddressMachineProgram.finishStartInTimeline 146 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.machineline 155Source documentation
All alphabets and registers are finite. Counts live solely on Bool stacks.
def machine : FinTM2 where …
- theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.machine_mainline 166 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.machine_programline 167 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.machine_initialStateline 168 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.machine_inputline 169 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.machine_outputline 170 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.inputAlphabetline 173Source documentation
Identity alphabet encodings at both ends of the concrete machine.
def inputAlphabet : (machine k T).Γ (machine k T).k₀ ≃ Bool := Equiv.refl Bool
Mentions: OAI.MaxCutGames.Reduction.AddressMachineProgram.machine
- def
OAI.MaxCutGames.Reduction.AddressMachineProgram.outputAlphabetline 174 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.inputTapesline 176 - def
OAI.MaxCutGames.Reduction.AddressMachineProgram.outputTapesline 179 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.inputTapes_sourceline 182 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.inputTapes_otherline 185 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.outputTapes_outputline 188 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.outputTapes_otherline 191 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.initList_eqline 194 - theorem
OAI.MaxCutGames.Reduction.AddressMachineProgram.haltList_eqline 206