fact: Definition DoActions_Step_Rel (i : Fin.t n) : pRel sigSim (Fin.t n + unit) 1 := fun tin '(yout, tout) => (forall tps1 tps2 tp, (length tps1 =? fin_to_nat i) = true -> (length tps1 + (1 + length tps2) =? n) = true -> atCons tin[@Fin0] tps1 tps2 tp -> match tps2 with | tp' :: tps2' => atCons tout[@Fin0] (tps1 ++ [doAct tp acts[@i]]) tps2' tp' /\ match finSucc_opt i with | Some i' => yout = inl i' | None => False end | nil => atNil tout[@Fin0] (tps1 ++ [doAct tp acts[@i]]) /\ yout = inr tt end) /\ (forall tps, atNil tin[@Fin0] tps -> atNil tout[@Fin0] tps /\ yout = inr tt).
imports: Undecidability.TM.Basic.Mono Undecidability.TM.Combinators.Combinators Undecidability.TM.Code.Code Undecidability.TM.Single.EncodeTapes Undecidability.TM.Compound(TMTac MoveToSymbol Multi Shift)