Section Graph.
Variable (A : finType) (B : Type) (f : A -> B).
Set Default Proof Using "Type".
Definition graph_of_fun : list (A*B) := map (fun x => (x, f x)) enum.
End Graph.
(* States are encoded as numbers *)
Notation sigState := (sigPair bool sigNat).

Lemma doAct_map (sig tau : Type) (t : tape sig) (f : sig -> tau) (a : option sig * move) :
mapTape f (doAct t a) = doAct (mapTape f t) (map_opt f (fst a), snd a).