{n : trunc_index} {A B C : TruncType n} (f : A <~> B) (g : B <~> C) : path_trunctype (g oE f) = path_trunctype f @ path_trunctype g. Proof. unfold path_trunctype; simpl. rewrite path_universe_compose_uncurried. rewrite (path_sigma_hprop_pp (path_universe_uncurried f) _ _ (trunctype_istrunc B)). refine (concat_p1 _ @ concat_1p _ @ _). refine (_ @ (ap _ (concat_1p _))^ @ (ap _ (concat_p1 _))^). refine (_ @ (ap (fun z => z @ _) (concat_1p _))^ @ (ap (fun z => z @ _) (concat_p1 _))^). refine (ap_pp _ _ _). Qed.
Require Import HoTT.Basics HoTT.Types. Require Import HProp.