proposition: Lemma iterop_list_mon_map {m n : monoid} (f : monoidfun m n) : ∏ l, ((iterop_list_mon ∘ map (pr1monoidfun m n f)) l = (pr1monoidfun _ _ f ∘ iterop_list_mon) l)%functions.
proof: Proof. apply list_ind. - apply pathsinv0, monoidfununel. - intros x xs H. simpl in *. refine (maponpaths iterop_list_mon (map_cons _ _ _) @ _). refine (iterop_list_mon_step _ _ @ _). refine (_ @ !maponpaths _ (iterop_list_mon_step _ _)). refine (_ @ !binopfunisbinopfun f _ _). apply maponpaths. assumption. Qed.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.Foundations.UnivalenceAxiom UniMath.Algebra.BinaryOperations UniMath.Algebra.Monoids UniMath.Algebra.Free_Monoids_and_Groups UniMath.Combinatorics.Lists UniMath.Algebra.IteratedBinaryOperations UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Categories.HSET.Core UniMath.CategoryTheory.Adjunctions.Core