Local Open Scope positive_scope.
(** * Properties of coloring maps *)
(** ** Definition of a set of colors *)
Definition colors := S.t.
(** ** A coloring is complete if every vertex is colored *)
Definition coloring_complete (palette: colors) (g: graph) (f: coloring) :=
(forall i, M.In i g -> M.In i f) /\ coloring_ok palette g f.

(** ** Complete coloring implies graph is irreflexive *)
Lemma complete_col_no_selfloop : forall (g : graph) (c : coloring) p,
coloring_complete p g c -> no_selfloop g.