[examples
martin.hofmann@uni-bamberg.de**20090714022503] hunk ./expl/Examples.hs 17
-allodds :: [Peano] -> Bool
-allodds []  = True
-allodds [Z] = False
-allodds [S Z] = True
-allodds [S(S Z)] = False
-allodds [S(S(S Z))] = True
-allodds [Z, Z] = False
-allodds [Z, S Z] = False
-allodds [Z, S(S Z)] = False
-allodds [Z, S(S(S Z))] = False
-allodds [S Z, Z] = False
-allodds [S Z, S Z] = True
-allodds [S Z, S(S Z)] = False
-allodds [S Z, S(S(S Z))] = True
-allodds [S(S Z), Z] = False
-allodds [S(S Z), S Z] = False
-allodds [S(S Z), S(S Z)] = False
-allodds [S(S Z), S(S(S Z))] = False
-allodds [S(S(S Z)), Z] = False
-allodds [S(S(S Z)), S Z] = True
-allodds [S(S(S Z)), S(S Z)] = False
-allodds [S(S(S Z)), S(S(S Z))] = True
+add1 :: [Peano] -> [Peano]
+add1 [] = []
+add1 [Z] = [S Z]
+add1 [S Z] = [S(S Z)]
+add1 [S(S Z)] = [S(S(S Z))]
+add1 [Z,Z] = [S Z,S Z]
+add1 [Z,S Z] = [S Z,S(S Z)]
+add1 [Z,S(S Z)] = [S Z,S(S(S Z))]
+add1 [S Z,Z] = [S(S Z),S Z]
+add1 [S Z,S Z] = [S(S Z),S(S Z)]
+add1 [S Z,S(S Z)] = [S(S Z),S(S(S Z))]
+
+-- memory leak
+allodd :: [Peano] -> Bool
+allodd []  = True
+allodd [Z] = False
+allodd [S Z] = True
+allodd [S(S Z)] = False
+--allodd [S(S(S Z))] = True
+allodd [Z, Z] = False
+allodd [Z, S Z] = False
+allodd [Z, S(S Z)] = False
+--allodd [Z, S(S(S Z))] = False
+allodd [S Z, Z] = False
+allodd [S Z, S Z] = True
+allodd [S Z, S(S Z)] = False
+--allodd [S Z, S(S(S Z))] = True
+allodd [S(S Z), Z] = False
+allodd [S(S Z), S Z] = False
+allodd [S(S Z), S(S Z)] = False
+allodd [S(S Z), S(S(S Z))] = False
+--allodd [S(S(S Z)), Z] = False
+--allodd [S(S(S Z)), S Z] = True
+--allodd [S(S(S Z)), S(S Z)] = False
+--allodd [S(S(S Z)), S(S(S Z))] = True
hunk ./expl/Examples.hs 87
+concaT :: [[a]] -> [a]
+concaT [] = []
+concaT [[]] = []
+concaT [[a]] = [a]
+concaT [[],[a]] = [a]
+concaT [[a],[]] = [a]
+concaT [[a],[b]] = [a,b]
+concaT [[c,d]]= [c,d]
+concaT [[a,b,c]] = [a,b,c]
+concaT [[a,b],[c]] = [a,b,c]
+concaT [[a],[c,d]] = [a,c,d]
+concaT [[a],[b],[c]] = [a,b,c]
+concaT [[a,b],[c,d]] = [a,b,c,d]
+--concaT [[a,d],[b],[c]] = [a,d,b,c]
+--concaT [[a],[b,d],[c]] = [a,b,d,c]
+--concaT [[a],[b],[c,d]] = [a,b,c,d]
+
hunk ./expl/Examples.hs 334
+suM :: [Peano] -> Peano
+suM [] = Z
+suM [Z] = Z
+suM [S Z] = S Z
+suM [S(S Z)] = S(S Z)
+suM [Z,Z] = Z
+suM [Z,S Z] = S Z
+suM [Z,S(S Z)] = S(S Z)
+suM [S Z,Z] = S Z
+suM [S Z,S Z] = S(S Z)
+suM [S Z,S(S Z)] = S(S(S Z))
+suM [S(S Z),Z] = S(S Z)
+suM [S(S Z),S Z] = S(S(S Z))
+suM [S(S Z),S(S Z)] = S(S(S(S Z)))
+