proposition: Lemma step_comp (l : F1) (c : mconfig sig (state (projT1 (pM l))) n) : haltConf c = false -> step (StateWhileTM l) (lift c) = lift (step (projT1 (pM l)) c).
proof: Proof. intros HHalt. unfold haltConf in HHalt. unfold lift. destruct c as [q t]. cbn in *. cbv [step]. cbn. rewrite HHalt. destruct (trans (q, current_chars t)) as [q' a]. cbn. reflexivity. Qed.
imports: Undecidability.Shared.Libs.PSL.FiniteTypes.DepPairs EqdepFacts