Global Instance Injection_hlist_cons ls t (a : F t) (b : hlist ls) c d
  : Injective (Hcons a b = Hcons c d) :=
    { result := a = c /\ b = d
    ; injection := @Hcons_inv t ls a b c d
    }.

(* Specifications: *)
Theorem equiv_eq_eq : forall ls (x y : hlist ls), equiv_hlist (fun x => @eq _) x y <-> x = y.