Zum Inhalt springen

Benutzer:Dirk Huenniger/mon

Aus Wikibooks

Es ist zu zeigen

(m >>= f) >>= g  ≡  m >>= (\x -> f x >>= g)

Dabei soll gelten

M a = st->a

weiter

return a = \st->a

weiter

m >>= f = \st -> ( f ( m st )) st

somit

(m >>= f) >>= g = \st -> ( g ( (\x -> ( f ( m x )) x) st )) st

weiter

(m >>= f) >>= g = \st -> ( g ( f ( m st )) st ) st

also

(m >>= f) >>= g = \st -> ( g ( (( f ( m st )) st) )) st

weiter

(\x -> f x >>= g) = \x -> \y-> ( g ( (f x) y )) y

somit

m >>= (\x -> f x >>= g) = \st ->  (  g ( f (m st)) st ) st 

damit ist die gewünschte aussage gezeigt