Runs of the interpreter #
Reach c n c' out: from the configuration c, n steps of U lead to c', emitting
out. It composes (Reach.trans), and a single step is the action of the current
instruction phase (step_eq, applyAct). The routine specifications (Routines.lean)
are reachability statements with step bounds.
@[reducible, inline]
Configurations of the interpreter on the inputs input.
Equations
Instances For
The action of the current instruction phase.
Equations
Instances For
def
MIPRE.TM.Interp.Reach
{input : Fin 7 → List Sym}
(c : Cfg input)
(n : ℕ)
(c' : Cfg input)
(out : List Sym)
:
n steps from c lead to c', emitting out.
Equations
- MIPRE.TM.Interp.Reach c n c' out = (Turing.MultiInputTM.configs c n = c' ∧ MIPRE.TM.Interp.U.outputString c n = out)
Instances For
Halting silently: the state is none after n steps, and nothing was emitted.
Equations
- MIPRE.TM.Interp.HaltsIn c n = ((Turing.MultiInputTM.configs c n).state = none ∧ MIPRE.TM.Interp.U.outputString c n = [])
Instances For
Evaluating actions #
@[simp]