Nuprl Lemma : mk-monad_wf

∀[C:SmallCategory]. ∀[T:Functor(C;C)]. ∀[u:nat-trans(C;C;1;T)]. ∀[m:nat-trans(C;C;functor-comp(T;T);T)].
  (mk-monad(T;u;m) ∈ Monad(C)) supposing 
     ((∀X:cat-ob(C)
         ((cat-comp(C) (ob(T) X) (ob(T) (ob(T) X)) (ob(T) X) (u (ob(T) X)) (m X))
         = (cat-id(C) (ob(T) X))
         ∈ (cat-arrow(C) (ob(T) X) (ob(T) X)))) and 
     (∀X:cat-ob(C)
        ((cat-comp(C) (ob(T) X) (ob(T) (ob(T) X)) (ob(T) X) (arrow(T) X (ob(T) X) (u X)) (m X))
        = (cat-id(C) (ob(T) X))
        ∈ (cat-arrow(C) (ob(T) X) (ob(T) X)))) and 
     (∀X:cat-ob(C)
        ((cat-comp(C) (ob(T) (ob(T) (ob(T) X))) (ob(T) (ob(T) X)) (ob(T) X) (m (ob(T) X)) (m X))
        = (cat-comp(C) (ob(T) (ob(T) (ob(T) X))) (ob(T) (ob(T) X)) (ob(T) X) 
           (arrow(T) (ob(T) (ob(T) X)) (ob(T) X) (m X)) 
           (m X))
        ∈ (cat-arrow(C) (ob(T) (ob(T) (ob(T) X))) (ob(T) X)))))


Proof




Definitions occuring in Statement :  mk-monad: mk-monad(T;u;m),  cat-monad: Monad(C),  id_functor: 1,  functor-comp: functor-comp(F;G),  nat-trans: nat-trans(C;D;F;G),  functor-arrow: arrow(F),  functor-ob: ob(F),  cat-functor: Functor(C1;C2),  cat-comp: cat-comp(C),  cat-id: cat-id(C),  cat-arrow: cat-arrow(C),  cat-ob: cat-ob(C),  small-category: SmallCategory,  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  all: ∀x:A. B[x],  member: t ∈ T,  apply: f a,  equal: s = t ∈ T
Definitions unfolded in proof :  cand: A c∧ B,  and: P ∧ Q,  spreadn: spread3,  prop: ℙ,  mk-monad: mk-monad(T;u;m),  cat-monad: Monad(C),  uimplies: b supposing a,  id_functor: 1,  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,  member: t ∈ T,  all: ∀x:A. B[x],  nat-trans: nat-trans(C;D;F;G),  functor-comp: functor-comp(F;G),  uall: ∀[x:A]. B[x]
Lemmas referenced :  small-category_wf,  cat-functor_wf,  id_functor_wf,  functor-comp_wf,  nat-trans_wf,  cat-id_wf,  functor-ob_wf,  cat-arrow_wf,  cat-ob_wf,  functor-arrow_wf,  cat-comp_wf,  equal_wf,  all_wf,  arrow_mk_functor_lemma,  ob_mk_functor_lemma
Rules used in proof :  productElimination,  independent_pairFormation,  functionEquality,  setEquality,  productEquality,  functionExtensionality,  applyEquality,  lambdaEquality,  isectElimination,  because_Cache,  rename,  setElimination,  independent_pairEquality,  hypothesisEquality,  dependent_pairEquality,  dependent_set_memberEquality,  hypothesis,  voidEquality,  voidElimination,  isect_memberEquality,  thin,  dependent_functionElimination,  extract_by_obid,  introduction,  cut,  sqequalRule,  sqequalHypSubstitution,  isect_memberFormation,  sqequalReflexivity,  computationStep,  sqequalTransitivity,  sqequalSubstitution

Latex:
\mforall{}[C:SmallCategory].  \mforall{}[T:Functor(C;C)].  \mforall{}[u:nat-trans(C;C;1;T)].
\mforall{}[m:nat-trans(C;C;functor-comp(T;T);T)].
    (mk-monad(T;u;m)  \mmember{}  Monad(C))  supposing 
          ((\mforall{}X:cat-ob(C)
                  ((cat-comp(C)  (ob(T)  X)  (ob(T)  (ob(T)  X))  (ob(T)  X)  (u  (ob(T)  X))  (m  X))
                  =  (cat-id(C)  (ob(T)  X))))  and 
          (\mforall{}X:cat-ob(C)
                ((cat-comp(C)  (ob(T)  X)  (ob(T)  (ob(T)  X))  (ob(T)  X)  (arrow(T)  X  (ob(T)  X)  (u  X))  (m  X))
                =  (cat-id(C)  (ob(T)  X))))  and 
          (\mforall{}X:cat-ob(C)
                ((cat-comp(C)  (ob(T)  (ob(T)  (ob(T)  X)))  (ob(T)  (ob(T)  X))  (ob(T)  X)  (m  (ob(T)  X))  (m  X))
                =  (cat-comp(C)  (ob(T)  (ob(T)  (ob(T)  X)))  (ob(T)  (ob(T)  X))  (ob(T)  X) 
                      (arrow(T)  (ob(T)  (ob(T)  X))  (ob(T)  X)  (m  X)) 
                      (m  X)))))



Date html generated: 2017_01_19-PM-02_57_51
Last ObjectModification: 2017_01_16-PM-08_02_54

Theory : small!categories


Home Index