Global Instance Finite_unit : Finite unit.Global Instance Finite_bool_vec {n} : Finite (vec n bool).Definition transform_pair {X Y Z} (tp : X * Y * Z) : X * (Y * Z) :=
  (fst (fst tp), (snd (fst tp), snd tp)).

Lemma eqb_pair {X Y} `{EqDec X, EqDec Y, EqDec (X * Y)} (x x' : X) (y y' : Y) : Classes.eqb (x,y) (x',y') = Classes.eqb x x' && Classes.eqb y y'.