fact: Definition PROG (q : state M) := let off := !q in POP CURR (7 + off) (7 + off) :: box (q, true) (fun '(q', a', d) => PUSH (match d with go_left => RIGHT | go_right => LEFT end) a') :: box (q, true) (fun '(q', a', d) => POP (match d with go_left => LEFT | go_right => RIGHT end) (5+off) (5+off)) :: PUSH CURR true :: JMP (6 + off) :: PUSH CURR false :: box (q, true) (fun '(q', a', d) => JMP (!q')) :: box (q, false) (fun '(q', a', d) => PUSH (match d with go_left => RIGHT | go_right => LEFT end) a') :: box (q, false) (fun '(q', a', d) => POP (match d with go_left => LEFT | go_right => RIGHT end) (11+off) (11+off)) :: PUSH CURR' true :: JMP (12 + off) :: PUSH CURR' false :: box (q, false) (fun '(q', a', d) => JMP (!q')) :: [].
imports: Undecidability.StackMachines(BSM BSM.bsm_defs) Undecidability.TM(SBTM Util.SBTM_facts) Undecidability.Shared.Libs.DLW(vec subcode sss) PeanoNat List Lia ssreflect ssrbool ssrfun