Definition rem_S x := mapo (fun x => match x with StartG => None | emb x => Some x end) x.

(* Specifications: *)
Lemma rem_S_rev x : rev (rem_S x) = rem_S (rev x).
Lemma rem_S_cons x0 x : rem_S (emb x0 :: x) = x0 :: rem_S x.
Lemma rem_S_char x : ~ StartG el x -> emb_string (rem_S x) = x.