proposition: Lemma monoid_free_forgetful_adjunction : form_adjunction' monoid_free_forgetful_adjunction_data.
proof: Proof. split; intro. - apply monoidfun_paths. apply funextfun. simpl. unfold homot; apply list_ind; [reflexivity|]. intros x xs ?. simpl. rewrite map_cons. refine (iterop_list_mon_step (_ : pr1hSet (free_monoid _)) _ @ _). apply maponpaths; assumption. - reflexivity. 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