Proof Summary for Module Monad
Status
Number
Avg. Time
Percent
YES
69
0.66
86.25
MAYBE
11
13.66
13.75
TIMEOUT
0
0
NO
0
0
0
TOTAL
80
0 start terms are not H-terminating (colored white)
Seconds
Number
Percent
5
69
86.25
15
69
86.25
30
69
86.25
Proof time
Proof
YES
0.46
mzero :: MonadPlus m => m a
YES
0.4
mzero :: [] a
YES
0.46
mzero :: Maybe a
YES
0.71
mplus :: MonadPlus m => m a -> m a -> m a
YES
0.75
mplus :: [] a -> [] a -> [] a
YES
0.46
mplus :: Maybe a -> Maybe a -> Maybe a
YES
0.73
join :: Monad m => m (m a) -> m a
YES
0.71
join :: [] ([] a) -> [] a
YES
0.44
join :: Maybe (Maybe a) -> Maybe a
YES
0.43
join :: IO (IO a) -> IO a
YES
0.72
msum :: MonadPlus m => [m a] -> m a
YES
0.7
msum :: [[] a] -> [] a
YES
0.68
msum :: [Maybe a] -> Maybe a
MAYBE
1.79
filterM :: Monad m => (a -> m Bool) -> [a] -> m [a]
MAYBE
1.71
filterM :: (a -> [] Bool) -> [a] -> [] [a]
YES
0.7
filterM :: (a -> Maybe Bool) -> [a] -> Maybe [a]
YES
0.7
filterM :: (a -> IO Bool) -> [a] -> IO [a]
MAYBE
86.28
mapAndUnzipM :: Monad m => (a -> m (b,c)) -> [a] -> m ([b], [c])
MAYBE
2.12
mapAndUnzipM :: (a -> [] (b,c)) -> [a] -> [] ([b], [c])
MAYBE
47.55
mapAndUnzipM :: (a -> Maybe (b,c)) -> [a] -> Maybe ([b], [c])
YES
0.74
mapAndUnzipM :: (a -> IO (b,c)) -> [a] -> IO ([b], [c])
MAYBE
1.68
zipWithM :: Monad m => (a -> b -> m c) -> [a] -> [b] -> m [c]
MAYBE
1.58
zipWithM :: (a -> b -> [] c) -> [a] -> [b] -> [] [c]
YES
0.67
zipWithM :: (a -> b -> Maybe c) -> [a] -> [b] -> Maybe [c]
YES
0.72
zipWithM :: (a -> b -> IO c) -> [a] -> [b] -> IO [c]
YES
0.78
zipWithM_ :: Monad m => (a -> b -> m c) -> [a] -> [b] -> m ()
YES
0.82
zipWithM_ :: (a -> b -> [] c) -> [a] -> [b] -> [] ()
YES
0.69
zipWithM_ :: (a -> b -> Maybe c) -> [a] -> [b] -> Maybe ()
YES
0.71
zipWithM_ :: (a -> b -> IO c) -> [a] -> [b] -> IO ()
MAYBE
1.66
foldM :: Monad m => (a -> b -> m a) -> a -> [b] -> m a
MAYBE
1.58
foldM :: (a -> b -> [] a) -> a -> [b] -> [] a
YES
0.71
foldM :: (a -> b -> Maybe a) -> a -> [b] -> Maybe a
YES
0.78
foldM :: (a -> b -> IO a) -> a -> [b] -> IO a
MAYBE
2.12
foldM_ :: Monad m => (a -> b -> m a) -> a -> [b] -> m ()
MAYBE
2.22
foldM_ :: (a -> b -> [] a) -> a -> [b] -> [] ()
YES
0.76
foldM_ :: (a -> b -> Maybe a) -> a -> [b] -> Maybe ()
YES
0.79
foldM_ :: (a -> b -> IO a) -> a -> [b] -> IO ()
YES
1.39
replicateM :: Monad m => Int -> m a -> m [a]
YES
1.09
replicateM :: Int -> [] a -> [] [a]
YES
1.05
replicateM :: Int -> Maybe a -> Maybe [a]
YES
0.85
replicateM :: Int -> IO a -> IO [a]
YES
1.38
replicateM_ :: Monad m => Int -> m a -> m ()
YES
1.03
replicateM_ :: Int -> [] a -> [] ()
YES
0.85
replicateM_ :: Int -> Maybe a -> Maybe ()
YES
0.9
replicateM_ :: Int -> IO a -> IO ()
YES
0.48
guard :: MonadPlus m => Bool -> m ()
YES
0.46
guard :: Bool -> [] ()
YES
0.44
guard :: Bool -> Maybe ()
YES
0.46
when :: Monad m => Bool -> m () -> m ()
YES
0.44
when :: Bool -> [] () -> [] ()
YES
0.42
when :: Bool -> Maybe () -> Maybe ()
YES
0.44
when :: Bool -> IO () -> IO ()
YES
0.45
unless :: Monad m => Bool -> m () -> m ()
YES
0.45
unless :: Bool -> [] () -> [] ()
YES
0.46
unless :: Bool -> Maybe () -> Maybe ()
YES
0.44
unless :: Bool -> IO () -> IO ()
YES
0.73
liftM :: Monad m => (a -> b) -> (m a -> m b)
YES
0.71
liftM :: (a -> b) -> ([] a -> [] b)
YES
0.46
liftM :: (a -> b) -> (Maybe a -> Maybe b)
YES
0.43
liftM :: (a -> b) -> (IO a -> IO b)
YES
0.73
liftM2 :: Monad m => (a -> b -> c) -> (m a -> m b -> m c)
YES
0.8
liftM2 :: (a -> b -> c) -> ([] a -> [] b -> [] c)
YES
0.46
liftM2 :: (a -> b -> c) -> (Maybe a -> Maybe b -> Maybe c)
YES
0.45
liftM2 :: (a -> b -> c) -> (IO a -> IO b -> IO c)
YES
0.84
liftM3 :: Monad m => (a -> b -> c -> d) -> (m a -> m b -> m c -> m d)
YES
0.76
liftM3 :: (a -> b -> c -> d) -> ([] a -> [] b -> [] c -> [] d)
YES
0.45
liftM3 :: (a -> b -> c -> d) -> (Maybe a -> Maybe b -> Maybe c -> Maybe d)
YES
0.44
liftM3 :: (a -> b -> c -> d) -> (IO a -> IO b -> IO c -> IO d)
YES
0.84
liftM4 :: Monad m => (a -> b -> c -> d -> e) -> (m a -> m b -> m c -> m d -> m e)
YES
0.71
liftM4 :: (a -> b -> c -> d -> e) -> ([] a -> [] b -> [] c -> [] d -> [] e)
YES
0.48
liftM4 :: (a -> b -> c -> d -> e) -> (Maybe a -> Maybe b -> Maybe c -> Maybe d -> Maybe e)
YES
0.47
liftM4 :: (a -> b -> c -> d -> e) -> (IO a -> IO b -> IO c -> IO d -> IO e)
YES
0.83
liftM5 :: Monad m => (a -> b -> c -> d -> e -> f) -> (m a -> m b -> m c -> m d -> m e -> m f)
YES
0.76
liftM5 :: (a -> b -> c -> d -> e -> f) -> ([] a -> [] b -> [] c -> [] d -> [] e -> [] f)
YES
0.47
liftM5 :: (a -> b -> c -> d -> e -> f) -> (Maybe a -> Maybe b -> Maybe c -> Maybe d -> Maybe e -> Maybe f)
YES
0.48
liftM5 :: (a -> b -> c -> d -> e -> f) -> (IO a -> IO b -> IO c -> IO d -> IO e -> IO f)
YES
0.74
ap :: Monad m => m (a -> b) -> m a -> m b
YES
0.71
ap :: [] (a -> b) -> [] a -> [] b
YES
0.45
ap :: Maybe (a -> b) -> Maybe a -> Maybe b
YES
0.49
ap :: IO (a -> b) -> IO a -> IO b