Lemma monoid_free_forgetful_adjunction : form_adjunction' monoid_free_forgetful_adjunction_data. 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.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.Foundations.UnivalenceAxiom. Require Import UniMath.Algebra.BinaryOperations. Require Import UniMath.Algebra.Monoids. Require Import UniMath.Algebra.Free_Monoids_and_Groups. Require Import UniMath.Combinatorics.Lists. Require Import UniMath.Algebra.IteratedBinaryOperations. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Categories.HSET.Core. Require Import UniMath.CategoryTheory.Adjunctions.Core.