I want to learn how to go about proving things like
(p >>= j) >= k == p >>= (\x->(j x >>= k))
where
p >>= k = \s0 -> let (s1, a) = p s0
in k a s1
eg, verifying that the 3 monad laws hold for a specific monad.
also, verifying the more numerous laws every arrow should obey.
I could teach myself to do it clumsily, but I want to learn from others.
would learning category theory help me do this? pointers to documents?
proof-assistant software?
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell