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 transition_graph_injective (sigM : finType) :
injective
(Encode_pair (Encode_Finite (finType_CS (option sigM)))
(Encode_pair Encode_bool Encode_nat)).