Definition lift_monad : Monad (MonadAlg S). Proof. exists lift_functor. exists (lift_μ ,, lift_η). abstract (split; [ split; intro X; apply subtypePath; [ intro; apply homset_property | apply Monad_law1 | intro; apply homset_property | apply Monad_law2] | intro X; apply subtypePath; [ intro; apply homset_property | apply Monad_law3 ] ]). Defined.
Require Import UniMath.Foundations.PartD. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Monads.Monads. Require Import UniMath.CategoryTheory.Monads.Derivative.