section ‹Register Machines› subsection ‹Register Machine Specification› theory RegisterMachineSpecification imports Main begin subsubsection ‹Basic Datatype Definitions› text ‹The following specification of register machines is inspired by \<^cite>‹"mech_turing"› (see \<^cite>‹"mech_turing_afp"› for the corresponding AFP article).› (* Type synonyms for registers (= register indices) the "tape" (sim. to a * Turing machine) that contains a list of register values. *) type_synonym register = nat type_synonym tape = "register list" (* The register machine understands "instructions" that operate on state(-id)s * and modify register(-id)s. The machine stops at the HALT instruction. *) type_synonym state = nat