Section Mk_Mono.
Variable (sig state : finType).
Variable mono_trans : state -> option sig -> state * (option sig * move).
Variable (init : state) (fin : state -> bool).
Definition Mk_Mono_TM : TM sig 1.
Definition Move : pTM sig unit 1 := DoAct (None, D).
Definition Move_Rel : pRel sig unit 1 :=
Mk_R_p (ignoreParam (fun t t' => t' = tape_move (sig := sig) t D)).
Definition WriteMove : pTM sig unit 1 := DoAct (Some c, D).
Definition WriteMove_Rel : pRel sig unit 1 :=
Mk_R_p (ignoreParam (fun t t' => t' = tape_move (tape_write t (Some c)) D)).

Lemma WriteMove_Sem :
WriteMove ⊨c(1) WriteMove_Rel.