Step
*
of Lemma
monad-unit-extend
∀[C:SmallCategory]. ∀[M:Monad(C)]. ∀[x,y:cat-ob(C)]. ∀[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 ∈ (cat-arrow(C) x M(y)))
BY
{ (Auto
   THEN DVar `M'
   THEN DProds
   THEN DVar `M2'
   THEN DVar `M3'
   THEN (All (RepUR ``id_functor functor-comp monad-extend monad-fun``)
         THEN All (RepUR ``monad-functor monad-unit monad-op``)
         )
   THEN All Reduce
   THEN ExRepD) }
1
1. C : SmallCategory
2. T : Functor(C;C)
3. M2 : A:cat-ob(C) ⟶ (cat-arrow(C) A (ob(T) A))
4. ∀A,B:cat-ob(C). ∀g:cat-arrow(C) A B.
     ((cat-comp(C) A (ob(T) A) (ob(T) B) (M2 A) (arrow(T) A B g))
     = (cat-comp(C) A B (ob(T) B) g (M2 B))
     ∈ (cat-arrow(C) A (ob(T) B)))
5. M3 : A:cat-ob(C) ⟶ (cat-arrow(C) (ob(T) (ob(T) A)) (ob(T) A))
6. ∀A,B:cat-ob(C). ∀g:cat-arrow(C) A B.
     ((cat-comp(C) (ob(T) (ob(T) A)) (ob(T) A) (ob(T) B) (M3 A) (arrow(T) A B g))
     = (cat-comp(C) (ob(T) (ob(T) A)) (ob(T) (ob(T) B)) (ob(T) B) (arrow(T) (ob(T) A) (ob(T) B) (arrow(T) A B g)) 
        (M3 B))
     ∈ (cat-arrow(C) (ob(T) (ob(T) A)) (ob(T) B)))
7. ∀X:cat-ob(C)
     ((cat-comp(C) (ob(T) X) (ob(T) (ob(T) X)) (ob(T) X) (M2 (ob(T) X)) (M3 X))
     = (cat-id(C) (ob(T) X))
     ∈ (cat-arrow(C) (ob(T) X) (ob(T) X)))
8. ∀X:cat-ob(C)
     ((cat-comp(C) (ob(T) X) (ob(T) (ob(T) X)) (ob(T) X) (arrow(T) X (ob(T) X) (M2 X)) (M3 X))
     = (cat-id(C) (ob(T) X))
     ∈ (cat-arrow(C) (ob(T) X) (ob(T) X)))
9. ∀X:cat-ob(C)
     ((cat-comp(C) (ob(T) (ob(T) (ob(T) X))) (ob(T) (ob(T) X)) (ob(T) X) (M3 (ob(T) X)) (M3 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) (M3 X)) 
        (M3 X))
     ∈ (cat-arrow(C) (ob(T) (ob(T) (ob(T) X))) (ob(T) X)))
10. x : cat-ob(C)
11. y : cat-ob(C)
12. f : cat-arrow(C) x (ob(T) y)
⊢ (cat-comp(C) x (ob(T) x) (ob(T) y) (M2 x) 
   (cat-comp(C) (ob(T) x) (ob(T) (ob(T) y)) (ob(T) y) (arrow(T) x (ob(T) y) f) (M3 y)))
= f
∈ (cat-arrow(C) x (ob(T) y))
Latex:
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)
By
Latex:
(Auto
  THEN  DVar  `M'
  THEN  DProds
  THEN  DVar  `M2'
  THEN  DVar  `M3'
  THEN  (All  (RepUR  ``id\_functor  functor-comp  monad-extend  monad-fun``)
              THEN  All  (RepUR  ``monad-functor  monad-unit  monad-op``)
              )
  THEN  All  Reduce
  THEN  ExRepD)
Home
Index