Section Move.
Variable (sig : finType) (sigX X : Type) (cX : codable sigX X) (I : Retract sigX sig).
Definition isStop  (s: sig^+) := match s with inl STOP => true | _ => false end.
Definition isStart (s: sig^+) := match s with inl START => true | _ => false end.

(* Note, that [encode] maps implicitely here *)
Lemma stop_not_in (x : X) (s : (sig^+)) :
List.In s (map inr (Encode_map _ _ x)) -> isStop s = false.