Section Fix.
Context {Σ__X: finType} {X : Type} {cX : codable Σ__X X}.
(* Local Instance retr_X : Retract Σ__X Σ := (Retract_sigList_X _). *)
Variable (c:X).
Definition M : pTM (sigList Σ__X)^+ unit 1 :=
WriteString Lmove (rev (inr sigList_cons::map (fun x => inr (sigList_X x)) ((encode c))));;
Move Lmove;;
Write (inl START).
Definition Rel : pRel (sigList Σ__X)^+ unit 1 :=
ignoreParam (
fun tin tout =>
forall l (s0 : nat),
tin[@Fin0] ≃(;s0) l ->
tout[@Fin0] ≃(;s0 - size c - 1) c :: l
).

Lemma Realise : M ⊨ Rel.