proposition: Lemma free_monoid_extend_funcomp {X Y : hSet} {Z : monoid} (f : X → Y) (g : Y → Z) : free_monoid_extend (g ∘ f) ~ free_monoid_extend g ∘ free_monoidfun f.
proof: Proof. unfold homot. simpl. apply list_ind. + reflexivity. + intros x xs IH. now rewrite !map_cons, !iterop_list_mon_step, IH. Defined.
imports: UniMath.MoreFoundations.Subtypes UniMath.MoreFoundations.Sets UniMath.Algebra.Monoids UniMath.Algebra.Groups UniMath.Algebra.IteratedBinaryOperations UniMath.Combinatorics.Lists