Step * 3 1 of Lemma monad-from_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. Type
4. Type
5. A ⟶ B
⊢ ((λz.(M-bind(Mnd) x.(M-return(Mnd) (g x))))) ((λx.M-return(Mnd)) A))
(((λx.M-return(Mnd)) B) g)
∈ (A ⟶ (M-map(Mnd) B))
BY
((FunExt THENA Auto) THEN Reduce 0) }

1
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. Type
4. Type
5. A ⟶ B
6. A
⊢ (M-bind(Mnd) (M-return(Mnd) x) x.(M-return(Mnd) (g x)))) (M-return(Mnd) (g x)) ∈ (M-map(Mnd) B)


Latex:


Latex:

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.  A  :  Type
4.  B  :  Type
5.  g  :  A  {}\mrightarrow{}  B
\mvdash{}  ((\mlambda{}z.(M-bind(Mnd)  z  (\mlambda{}x.(M-return(Mnd)  (g  x)))))  o  ((\mlambda{}x.M-return(Mnd))  A))
=  (((\mlambda{}x.M-return(Mnd))  B)  o  g)


By


Latex:
((FunExt  THENA  Auto)  THEN  Reduce  0)




Home Index