Step * 4 1 3 of Lemma monad-from_wf

.....wf..... 
1. Mnd Monad
2. λx,z. (M-bind(Mnd) x.x)) ∈ A:Type ⟶ (M-map(Mnd) (M-map(Mnd) A)) ⟶ (M-map(Mnd) A)
3. trans A:Type ⟶ (M-map(Mnd) (M-map(Mnd) A)) ⟶ (M-map(Mnd) A)
⊢ istype(∀A,B:Type. ∀g:A ⟶ B.
           ((λx.(M-bind(Mnd) (trans x) x.(M-return(Mnd) (g x)))))
           x.(trans (M-bind(Mnd) x.(M-return(Mnd) (M-bind(Mnd) x.(M-return(Mnd) (g x)))))))))
           ∈ ((M-map(Mnd) (M-map(Mnd) A)) ⟶ (M-map(Mnd) B))))
BY
Auto }


Latex:


Latex:
.....wf..... 
1.  Mnd  :  Monad
2.  \mlambda{}x,z.  (M-bind(Mnd)  z  (\mlambda{}x.x))  \mmember{}  A:Type  {}\mrightarrow{}  (M-map(Mnd)  (M-map(Mnd)  A))  {}\mrightarrow{}  (M-map(Mnd)  A)
3.  trans  :  A:Type  {}\mrightarrow{}  (M-map(Mnd)  (M-map(Mnd)  A))  {}\mrightarrow{}  (M-map(Mnd)  A)
\mvdash{}  istype(\mforall{}A,B:Type.  \mforall{}g:A  {}\mrightarrow{}  B.
                      ((\mlambda{}x.(M-bind(Mnd)  (trans  A  x)  (\mlambda{}x.(M-return(Mnd)  (g  x)))))
                      =  (\mlambda{}x.(trans  B 
                                    (M-bind(Mnd)  x 
                                      (\mlambda{}x.(M-return(Mnd)  (M-bind(Mnd)  x  (\mlambda{}x.(M-return(Mnd)  (g  x)))))))))))


By


Latex:
Auto




Home Index