OAI/Computability/UniqueGames/Reduction/MachineTransducer.lean
27 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.tapeStacksline 14 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.update_inputline 17 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.update_outputline 22 - def
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.outputline 30Source documentation
The semantic output, with the control state updated after each input bit.
def output (transition : Q → Bool → Q) (emit : Q → Bool → List Bool) : Q → List Bool → List Bool | _, [] => [] | state, symbol :: input => emit state symbol ++ output transition emit (transition state symbol) input - def
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.loopline 36 - def
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.programline 43 - def
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.machineline 51 - def
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.maxEmissionline 64Source documentation
A finite maximum depending only on the fixed emission table.
noncomputable def maxEmission (emit : Q → Bool → List Bool) : Nat := …
- theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.emission_leline 67 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.statementPushBound_leline 72 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.programPushBound_leline 81 - def
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.runningline 92 - def
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.emittingline 97 - def
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.haltedline 102 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.step_emptyline 107Source documentation
The final empty pop also restores the initial finite control state.
theorem step_empty (initial : Q) (transition : Q → Bool → Q) (emit : Q → Bool → List Bool) (state : Q) (accumulator : List Bool) (register : Option Bool) : (machine initial transition emit).step (running initial transition emit state [] accumulator register) = some (halted initial transition emit accumulator) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineTransducer.machine, OAI.UniqueGamesTheorem.Reduction.MachineTransducer.running, OAI.UniqueGamesTheorem.Reduction.MachineTransducer.halted
- theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.step_consline 118 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.step_emitline 131Source documentation
Emission reads the old state from its label and installs its successor state.
theorem step_emit (initial : Q) (transition : Q → Bool → Q) (emit : Q → Bool → List Bool) (oldState : Q) (symbol : Bool) (input accumulator : List Bool) (state : Q × Option Bool) : (machine initial transition emit).step (emitting initial transition emit oldState symbol input accumulator state) = some (running initial transition emit (transition oldState symbol) input ((emit oldState symbol).reverse ++ accumulator) state.2) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineTransducer.machine, OAI.UniqueGamesTheorem.Reduction.MachineTransducer.emitting, OAI.UniqueGamesTheorem.Reduction.MachineTransducer.running
- def
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.nextline 151 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.two_steps_consline 156 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.transduce_stepsline 170Source documentation
Exact execution from any finite control state, accumulator, and symbol register.
theorem transduce_steps (initial : Q) (transition : Q → Bool → Q) (emit : Q → Bool → List Bool) (state : Q) (input accumulator : List Bool) (register : Option Bool) : (next initial transition emit)^[2 * input.length + 1] (some (running initial transition emit state input accumulator register)) = some (halted initial transition emit ((output transition emit state input).reverse ++ accumulator)) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineTransducer.next, OAI.UniqueGamesTheorem.Reduction.MachineTransducer.running, OAI.UniqueGamesTheorem.Reduction.MachineTransducer.halted, OAI.UniqueGamesTheorem.Reduction.MachineTransducer.output
- theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.initList_eqline 187 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.haltList_eqline 196 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.transduce_init_stepsline 203 - def
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.outputsInTimeline 211 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.outputsInTime_stepsline 219 - def
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.reversedComputableInPolyTimeline 224Source documentation
Reversed transducer output in polynomial
2 * X + 1time.noncomputable def reversedComputableInPolyTime (initial : Q) (transition : Q → Bool → Q) (emit : Q → Bool → List Bool) : TM2ComputableInPolyTime (id : List Bool → List Bool) id (fun input => (output transition emit initial input).reverse) where …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineTransducer.output
- def
OAI.UniqueGamesTheorem.Reduction.MachineTransducer.computableInPolyTimeline 245Source documentation
Forward transducer output, using the checked actual reversal composition.
noncomputable def computableInPolyTime (initial : Q) (transition : Q → Bool → Q) (emit : Q → Bool → List Bool) : TM2ComputableInPolyTime (id : List Bool → List Bool) id (output transition emit initial) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineTransducer.output