`∀[C:SmallCategory]. ∀[M:Monad(C)]. ∀[x:cat-ob(C)].  (monad-op(M;x) ∈ cat-arrow(C) M(M(x)) M(x))`

Proof

Definitions occuring in Statement :  monad-op: `monad-op(M;x)` monad-fun: `M(x)` cat-monad: `Monad(C)` cat-arrow: `cat-arrow(C)` cat-ob: `cat-ob(C)` small-category: `SmallCategory` uall: `∀[x:A]. B[x]` member: `t ∈ T` apply: `f a`
Definitions unfolded in proof :  mk-functor: mk-functor functor-comp: `functor-comp(F;G)` functor-ob: `ob(F)` uimplies: `b supposing a` subtype_rel: `A ⊆r B` so_apply: `x[s]` so_lambda: `λ2x.t[x]` so_apply: `x[s1;s2;s3]` so_lambda: `so_lambda(x,y,z.t[x; y; z])` top: `Top` all: `∀x:A. B[x]` id_functor: `1` pi1: `fst(t)` monad-functor: `monad-functor(M)` pi2: `snd(t)` monad-fun: `M(x)` nat-trans: `nat-trans(C;D;F;G)` cat-monad: `Monad(C)` monad-op: `monad-op(M;x)` member: `t ∈ T` uall: `∀[x:A]. B[x]`
Lemmas referenced :  small-category_wf cat-monad_wf cat-ob_wf functor-comp_wf functor-ob_wf cat-arrow_wf subtype_rel-equal arrow_mk_functor_lemma ob_mk_functor_lemma
Rules used in proof :  equalitySymmetry equalityTransitivity axiomEquality because_Cache independent_isectElimination isectElimination hypothesisEquality applyEquality hypothesis voidEquality voidElimination isect_memberEquality dependent_functionElimination extract_by_obid productElimination rename thin setElimination sqequalHypSubstitution sqequalRule cut introduction isect_memberFormation sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution

Latex: