Section hlist_rel_map.
Variable A : Type.
Variables F G F' G' : A -> Type.
Variable R : forall x : A, F x -> G x -> Prop.
Variable R' : forall x : A, F' x -> G' x -> Prop.
Variable ff : forall x : A, F x -> F' x.
Variable gg : forall x : A, G x -> G' x.
Hypothesis R_ff_R' :
forall t x y, @R t x y ->
@R' t (ff x) (gg y).
End hlist_rel_map.

Theorem hlist_hrel_flip
: forall T (F G : T -> Type) (R : forall t, F t -> G t -> Prop) ls
(h : hlist F ls) (h' : hlist G ls),
hlist_hrel R h h' ->
hlist_hrel (fun t a b => R t b a) h' h.