Lemma free_abgr_extend_funcomp {X Y : hSet} {Z : abgr} (f : X → Y) (g : Y → Z) : free_abgr_extend (g ∘ f) ~ free_abgr_extend g ∘ free_abgrfun f. Proof. unfold homot. apply setquotunivprop'. - intro. apply isasetmonoid. - intro x. refine (setquotunivcomm _ _ _ _ _ @ _). refine (free_gr_extend_funcomp _ _ x @ _). unfold funcomp. rewrite free_abgrfun_setquotpr. refine (!setquotunivcomm _ _ _ _ _). Defined.
Require Import UniMath.MoreFoundations.Subtypes. Require Import UniMath.MoreFoundations.Sets. Require Import UniMath.Algebra.Monoids. Require Import UniMath.Algebra.Groups. Require Import UniMath.Algebra.IteratedBinaryOperations. Require Import UniMath.Combinatorics.Lists.