Nuprl Lemma : monad-equations

∀[C:SmallCategory]. ∀[M:Monad(C)]. ∀[x:cat-ob(C)].
  ((((cat-comp(C) M(x) M(M(x)) M(x) monad-unit(M;M(x)) monad-op(M;x)) = (cat-id(C) M(x)) ∈ (cat-arrow(C) M(x) M(x)))
  ∧ ((cat-comp(C) M(x) M(M(x)) M(x) (arrow(monad-functor(M)) x M(x) monad-unit(M;x)) monad-op(M;x))
    = (cat-id(C) M(x))
    ∈ (cat-arrow(C) M(x) M(x))))
  ∧ ((cat-comp(C) M(M(M(x))) M(M(x)) M(x) monad-op(M;M(x)) monad-op(M;x))
    = (cat-comp(C) M(M(M(x))) M(M(x)) M(x) (arrow(monad-functor(M)) M(M(x)) M(x) monad-op(M;x)) monad-op(M;x))
    ∈ (cat-arrow(C) M(M(M(x))) M(x))))


Proof




Definitions occuring in Statement :  monad-op: monad-op(M;x),  monad-unit: monad-unit(M;x),  monad-fun: M(x),  monad-functor: monad-functor(M),  cat-monad: Monad(C),  functor-arrow: arrow(F),  cat-comp: cat-comp(C),  cat-id: cat-id(C),  cat-arrow: cat-arrow(C),  cat-ob: cat-ob(C),  small-category: SmallCategory,  uall: ∀[x:A]. B[x],  and: P ∧ Q,  apply: f a,  equal: s = t ∈ T
Definitions unfolded in proof :  all: ∀x:A. B[x],  monad-functor: monad-functor(M),  pi1: fst(t),  pi2: snd(t),  monad-unit: monad-unit(M;x),  monad-op: monad-op(M;x),  monad-fun: M(x),  spreadn: spread3,  cat-monad: Monad(C),  cand: A c∧ B,  and: P ∧ Q,  member: t ∈ T,  uall: ∀[x:A]. B[x]
Lemmas referenced :  small-category_wf,  cat-monad_wf,  cat-ob_wf
Rules used in proof :  isect_memberEquality,  isectElimination,  extract_by_obid,  axiomEquality,  independent_pairEquality,  because_Cache,  independent_pairFormation,  hypothesisEquality,  dependent_functionElimination,  hypothesis,  sqequalRule,  productElimination,  rename,  thin,  setElimination,  sqequalHypSubstitution,  cut,  introduction,  isect_memberFormation,  sqequalReflexivity,  computationStep,  sqequalTransitivity,  sqequalSubstitution

Latex:
\mforall{}[C:SmallCategory].  \mforall{}[M:Monad(C)].  \mforall{}[x:cat-ob(C)].
    ((((cat-comp(C)  M(x)  M(M(x))  M(x)  monad-unit(M;M(x))  monad-op(M;x))  =  (cat-id(C)  M(x)))
    \mwedge{}  ((cat-comp(C)  M(x)  M(M(x))  M(x)  (arrow(monad-functor(M))  x  M(x)  monad-unit(M;x))  monad-op(M;x))
        =  (cat-id(C)  M(x))))
    \mwedge{}  ((cat-comp(C)  M(M(M(x)))  M(M(x))  M(x)  monad-op(M;M(x))  monad-op(M;x))
        =  (cat-comp(C)  M(M(M(x)))  M(M(x))  M(x)  (arrow(monad-functor(M))  M(M(x))  M(x)  monad-op(M;x)) 
              monad-op(M;x))))



Date html generated: 2017_01_19-PM-02_58_26
Last ObjectModification: 2017_01_17-PM-05_26_26

Theory : small!categories


Home Index