[trivia and examples
martin.hofmann@uni-bamberg.de**20091013161827] hunk ./expl/Examples.hs 404
--- (A, (x1 ... xn))
--- ->
--- (A, (x1, z1)), (z1, (x2, z2), ... (zn-1, (xn, zn)), (zn, e))
hunk ./expl/Examples.hs 405
-pepper1 :: Peano -> [a] -> [(Peano, Maybe a)]
-pepper1 Z []         = [(Z,Nothing)]
-pepper1 Z [a]        = [(Z, Just a),(S Z, Nothing)] 
-pepper1 Z [a,b]      = [(Z, Just a),(S Z, Just b),(S(S Z), Nothing)] 
-pepper1 Z [a,b,c]    = [(Z, Just a),(S Z, Just b),(S(S Z), Just c),(S(S(S Z)), Nothing)] 
--- pepper1 p [a,b,c,d]  = [(p, Just a),(S p, Just b),(S(S p), Just c),(S(S(S p)), Just d),(S(S(S(S p))), Nothing)] 
-
-pepper2 :: Peano -> [a] -> [(Peano, Maybe (a,Peano))]
-pepper2 p []         = [(p,Nothing)]
-pepper2 p [a]        = [(p, Just (a, S p)),(S p, Nothing)] 
-pepper2 p [a,b]      = [(p, Just (a, S p)),(S p, Just (b, S(S p))),(S(S p), Nothing)] 
-pepper2 p [a,b,c]    = [(p, Just (a, S p)),(S p, Just (b, S(S p))),(S(S p), Just (c, S(S(S p)))),(S(S(S p)), Nothing)] 
--- pepper p [a,b,c,d]  = [(p, Just a),(S p, Just b),(S(S p), Just c),(S(S(S p)), Just d),(S(S(S(S p))), Nothing)] 
+-- fast Pepper
+pepper' :: Peano -> [a] -> [(Peano, Maybe a)]
+pepper' Z []         = [(Z,Nothing)]
+pepper' Z [a]        = [(Z, Just a),(S Z, Nothing)] 
+pepper' Z [a,b]      = [(Z, Just a),(S Z, Just b),(S(S Z), Nothing)] 
+pepper' Z [a,b,c]    = [(Z, Just a),(S Z, Just b),(S(S Z), Just c),(S(S(S Z)), Nothing)] 
+-- pepper' p [a,b,c,d]  = [(p, Just a),(S p, Just b),(S(S p), Just c),(S(S(S p)), Just d),(S(S(S(S p))), Nothing)] 
+   
+-- pepper i [] = [(i,Nothing)]
+-- pepper i (x:xs) = (i,Just (x,i+1)):(pepper' (i+1) xs)
+pepper :: Peano -> [a] -> [(Peano, Maybe (a,Peano))]
+pepper p []         = [(p,Nothing)]
+pepper p [a]        = [(p, Just (a, S p)),(S p, Nothing)] 
+pepper p [a,b]      = [(p, Just (a, S p)),(S p, Just (b, S(S p))),(S(S p), Nothing)] 
+pepper p [a,b,c]    = [(p, Just (a, S p)),(S p, Just (b, S(S p))),(S(S p), Just (c, S(S(S p)))),(S(S(S p)), Nothing)] 
+-- pepper p [a,b,c,d]  = [(p, Just (a, S p)),(S p, Just (b, S(S p))),(S(S p), Just (c, S(S(S p)))),(S(S(S p)), Just (d, S(S(S(S p))))),(S(S(S(S p))), Nothing)] 
hunk ./src/RuleDevelopment/UniProp.hs 28
+    -- maybe it is better to include naive Map as a 'normal' operator, but this
+    --has to be checked with the heuristics
hunk ./src/Syntax/Expressions.hs 638
-    let ((TConE n _):as) = unfoldTAppE e
+    let ((TConE n _):as) =  unfoldTAppE e
hunk ./src/Syntax/Expressions.hs 707
+    
+
+    