Step * 2 2 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. Type
6. X ⟶ Y
7. Y ⟶ z
8. M-map(Mnd) X
⊢ (M-bind(Mnd) x@0.(M-return(Mnd) (g (f x@0)))))
(M-bind(Mnd) (M-bind(Mnd) x.(M-return(Mnd) (f x)))) x.(M-return(Mnd) (g x))))
∈ (M-map(Mnd) z)
BY
(RWO "M-associative" THENA Auto) }

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. Type
6. X ⟶ Y
7. Y ⟶ z
8. M-map(Mnd) X
⊢ (M-bind(Mnd) x@0.(M-return(Mnd) (g (f x@0)))))
(M-bind(Mnd) x.(M-bind(Mnd) ((λx.(M-return(Mnd) (f x))) x) x.(M-return(Mnd) (g x))))))
∈ (M-map(Mnd) z)


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.  X  :  Type
4.  Y  :  Type
5.  z  :  Type
6.  f  :  X  {}\mrightarrow{}  Y
7.  g  :  Y  {}\mrightarrow{}  z
8.  x  :  M-map(Mnd)  X
\mvdash{}  (M-bind(Mnd)  x  (\mlambda{}x@0.(M-return(Mnd)  (g  (f  x@0)))))
=  (M-bind(Mnd)  (M-bind(Mnd)  x  (\mlambda{}x.(M-return(Mnd)  (f  x))))  (\mlambda{}x.(M-return(Mnd)  (g  x))))


By


Latex:
(RWO  "M-associative"  0  THENA  Auto)




Home Index