(P : Abel -> Type) `{forall x, IsHSet (P x)} (a : forall x, P (abel_in x)) (c : forall x y z, DPath P (abel_in_comm x y z) (a (x * (y * z))) (a (x * (z * y)))) : forall (x : Abel), P x. Proof. srapply Trunc_ind. srapply Coeq_ind. 1: apply a. intros [[x y] z]. refine (transport_compose _ _ _ _ @ _). apply c. Defined.
Require Import Basics Types Truncations.Core. Require Import Cubical.DPath WildCat. Require Import Colimits.Coeq. Require Import Algebra.AbGroups.AbelianGroup. Require Import Modalities.ReflectiveSubuniverse.