`{P : A -> Type} `{Q : B -> Type} `{R : C -> Type} (f0 : A <~> B) (f1 : forall a, P a <~> Q (f0 a)) (g0 : B <~> C) (g1 : forall b, Q b <~> R (g0 b)) (h : forall a, P a) : equiv_functor_forall_covariant g0 g1 (equiv_functor_forall_covariant f0 f1 h) == equiv_functor_forall_covariant (g0 oE f0) (fun a => g1 (f0 a) oE f1 a) h. Proof. apply apD10. refine ((equiv_inverse_compose (equiv_functor_forall' g0 (fun a : B => (g1 a)^-1%equiv)) (equiv_functor_forall' f0 (fun a : A => (f1 a)^-1%equiv)) h)^ @ _). revert h; apply equiv_inverse_homotopy; intros h. apply path_forall; intros c. symmetry; rapply functor_forall_compose. Defined.
Require Import Basics.Overture Basics.Equivalences Basics.PathGroupoids