Global Instance Proper_hlist_gen : forall A F,
Proper (forall_relation (fun _ => eq) ==> forall_relation (fun _ => eq))
(@hlist_gen A F).

Lemma equiv_hlist_gen : forall T (F : T -> Type) (f : forall t, F t) f'
(R : forall t, F t -> F t -> Prop),
(forall t, R t (f t) (f' t)) ->
forall ls,
equiv_hlist R (hlist_gen f ls) (hlist_gen f' ls).