`∀[C:SmallCategory]. ∀[M:Monad(C)]. ∀[y:cat-ob(C)].`
`  (monad-extend(C;M;y;y;monad-unit(M;y)) = (cat-id(C) M(y)) ∈ (cat-arrow(C) M(y) M(y)))`

Proof

Definitions occuring in Statement :  monad-extend: `monad-extend(C;M;x;y;f)` monad-unit: `monad-unit(M;x)` monad-fun: `M(x)` cat-monad: `Monad(C)` cat-id: `cat-id(C)` cat-arrow: `cat-arrow(C)` cat-ob: `cat-ob(C)` small-category: `SmallCategory` uall: `∀[x:A]. B[x]` apply: `f a` equal: `s = t ∈ T`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` cat-monad: `Monad(C)` nat-trans: `nat-trans(C;D;F;G)` functor-comp: `functor-comp(F;G)` all: `∀x:A. B[x]` top: `Top` so_lambda: so_lambda3 so_apply: `x[s1;s2;s3]` so_lambda: `λ2x.t[x]` so_apply: `x[s]` id_functor: `1` monad-fun: `M(x)` monad-extend: `monad-extend(C;M;x;y;f)` monad-functor: `monad-functor(M)` monad-op: `monad-op(M;x)` monad-unit: `monad-unit(M;x)` pi1: `fst(t)` pi2: `snd(t)` spreadn: spread3 and: `P ∧ Q` squash: `↓T` prop: `ℙ` true: `True` subtype_rel: `A ⊆r B` uimplies: `b supposing a` guard: `{T}` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` implies: `P `` Q`
Lemmas referenced :  ob_mk_functor_lemma arrow_mk_functor_lemma equal_wf squash_wf true_wf cat-arrow_wf functor-ob_wf cat-id_wf iff_weakening_equal cat-ob_wf cat-monad_wf small-category_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut sqequalHypSubstitution setElimination thin rename productElimination sqequalRule extract_by_obid dependent_functionElimination isect_memberEquality voidElimination voidEquality hypothesis applyEquality lambdaEquality imageElimination isectElimination hypothesisEquality equalityTransitivity equalitySymmetry universeEquality because_Cache natural_numberEquality imageMemberEquality baseClosed independent_isectElimination independent_functionElimination axiomEquality

Latex: