Nuprl Lemma : monad-unit-extend

[C:SmallCategory]. ∀[M:Monad(C)]. ∀[x,y:cat-ob(C)]. ∀[f:cat-arrow(C) M(y)].
  ((cat-comp(C) M(x) M(y) monad-unit(M;x) monad-extend(C;M;x;y;f)) f ∈ (cat-arrow(C) 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-comp: cat-comp(C) cat-arrow: cat-arrow(C) cat-ob: cat-ob(C) small-category: SmallCategory uall: [x:A]. B[x] apply: a equal: 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) monad-fun: M(x) functor-comp: functor-comp(F;G) all: x:A. B[x] top: Top so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] so_lambda: λ2x.t[x] so_apply: x[s] id_functor: 1 monad-extend: monad-extend(C;M;x;y;f) monad-functor: monad-functor(M) pi1: fst(t) monad-op: monad-op(M;x) monad-unit: monad-unit(M;x) pi2: snd(t) spreadn: spread3 and: P ∧ Q squash: T prop: true: True subtype_rel: A ⊆B uimplies: supposing a guard: {T} iff: ⇐⇒ Q rev_implies:  Q implies:  Q
Lemmas referenced :  ob_mk_functor_lemma arrow_mk_functor_lemma cat-arrow_wf monad-fun_wf cat-ob_wf cat-monad_wf small-category_wf equal_wf squash_wf true_wf functor-ob_wf cat-comp-assoc functor-arrow_wf iff_weakening_equal cat-comp_wf cat-comp-ident
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 isectElimination hypothesisEquality axiomEquality because_Cache lambdaEquality imageElimination equalityTransitivity equalitySymmetry universeEquality functionExtensionality natural_numberEquality imageMemberEquality baseClosed independent_isectElimination independent_functionElimination

Latex:
\mforall{}[C:SmallCategory].  \mforall{}[M:Monad(C)].  \mforall{}[x,y:cat-ob(C)].  \mforall{}[f:cat-arrow(C)  x  M(y)].
    ((cat-comp(C)  x  M(x)  M(y)  monad-unit(M;x)  monad-extend(C;M;x;y;f))  =  f)



Date html generated: 2017_10_05-AM-00_52_11
Last ObjectModification: 2017_07_28-AM-09_20_47

Theory : small!categories


Home Index