[modified examples
martin.hofmann@uni-bamberg.de**20100216103200] hunk ./expl/Examples.hs 32
--- Ackermann nach Peter:
--- ack    Z     x  = S x
--- ack (S x)    Z  = ack x (S Z)
--- ack (S x) (S y) = ack x (ack (S x) y)
-
-ack :: Nat -> Nat -> Nat
-ack      Z                      Z           =                     (S Z)           --(1, 0) =  1
-ack      Z                   (S Z)          =                   (S(S Z))          --(1, 1) =  2
-ack      Z                 (S(S Z))         =                 (S(S(S Z)))         --(1, 2) =  3
-ack      Z               (S(S(S Z)))        =               (S(S(S(S Z))))        --(1, 3) =  4
-ack      Z             (S(S(S(S Z))))       =             (S(S(S(S(S Z)))))       --(1, 4) =  5
-ack      Z           (S(S(S(S(S Z)))))      =           (S(S(S(S(S(S Z))))))      --(1, 5) =  6
-ack      Z         (S(S(S(S(S(S Z))))))     =         (S(S(S(S(S(S(S Z)))))))     --(1, 6) =  7
-ack      Z       (S(S(S(S(S(S(S Z)))))))    =       (S(S(S(S(S(S(S(S Z))))))))    --(1, 7) =  8
-ack      Z     (S(S(S(S(S(S(S(S Z))))))))   =     (S(S(S(S(S(S(S(S(S Z)))))))))   --(1, 8) =  9
-ack      Z   (S(S(S(S(S(S(S(S(S Z)))))))))  =   (S(S(S(S(S(S(S(S(S(S Z))))))))))  --(1, 9) = 10
-ack      Z (S(S(S(S(S(S(S(S(S(S Z)))))))))) = (S(S(S(S(S(S(S(S(S(S(S Z))))))))))) --(1,10) = 11
-ack   (S Z)                     Z           =                   (S(S Z))          --(1, 0) =  2
-ack   (S Z)                  (S Z)          =                 (S(S(S Z)))         --(1, 1) =  3
-ack   (S Z)                (S(S Z))         =               (S(S(S(S Z))))        --(1, 2) =  4
-ack   (S Z)              (S(S(S Z)))        =             (S(S(S(S(S Z)))))       --(1, 3) =  5
-ack   (S Z)            (S(S(S(S Z))))       =           (S(S(S(S(S(S Z))))))      --(1, 4) =  6
-ack   (S Z)          (S(S(S(S(S Z)))))      =         (S(S(S(S(S(S(S Z)))))))     --(1, 5) =  7
-ack   (S Z)        (S(S(S(S(S(S Z))))))     =       (S(S(S(S(S(S(S(S Z))))))))    --(1, 6) =  8
-ack   (S Z)      (S(S(S(S(S(S(S Z)))))))    =     (S(S(S(S(S(S(S(S(S Z)))))))))   --(1, 7) =  9
-ack   (S Z)    (S(S(S(S(S(S(S(S Z))))))))   =   (S(S(S(S(S(S(S(S(S(S Z))))))))))  --(1, 8) = 10
-ack   (S Z)  (S(S(S(S(S(S(S(S(S Z)))))))))  = (S(S(S(S(S(S(S(S(S(S(S Z))))))))))) --(1, 9) = 11
-ack (S(S Z))                    Z           =                 (S(S(S Z)))         --(2, 0) =  3
-ack (S(S Z))                 (S Z)          =             (S(S(S(S(S Z)))))       --(2, 1) =  5
-ack (S(S Z))               (S(S Z))         =         (S(S(S(S(S(S(S Z)))))))     --(2, 2) =  7
-ack (S(S Z))             (S(S(S Z)))        =     (S(S(S(S(S(S(S(S(S Z)))))))))   --(2, 3) =  9
-ack (S(S Z))           (S(S(S(S Z))))       = (S(S(S(S(S(S(S(S(S(S(S Z))))))))))) --(2, 4) = 11
-
hunk ./expl/Examples.hs 746
+
+-- Ackermann nach Peter:
+-- ack    Z     x  = S x
+-- ack (S x)    Z  = ack x (S Z)
+-- ack (S x) (S y) = ack x (ack (S x) y)
+
+ack :: Nat -> Nat -> Nat
+ack      Z                      Z           =                     (S Z)           --(1, 0) =  1
+ack      Z                   (S Z)          =                   (S(S Z))          --(1, 1) =  2
+ack      Z                 (S(S Z))         =                 (S(S(S Z)))         --(1, 2) =  3
+ack      Z               (S(S(S Z)))        =               (S(S(S(S Z))))        --(1, 3) =  4
+ack      Z             (S(S(S(S Z))))       =             (S(S(S(S(S Z)))))       --(1, 4) =  5
+ack      Z           (S(S(S(S(S Z)))))      =           (S(S(S(S(S(S Z))))))      --(1, 5) =  6
+ack      Z         (S(S(S(S(S(S Z))))))     =         (S(S(S(S(S(S(S Z)))))))     --(1, 6) =  7
+ack      Z       (S(S(S(S(S(S(S Z)))))))    =       (S(S(S(S(S(S(S(S Z))))))))    --(1, 7) =  8
+ack      Z     (S(S(S(S(S(S(S(S Z))))))))   =     (S(S(S(S(S(S(S(S(S Z)))))))))   --(1, 8) =  9
+ack      Z   (S(S(S(S(S(S(S(S(S Z)))))))))  =   (S(S(S(S(S(S(S(S(S(S Z))))))))))  --(1, 9) = 10
+ack      Z (S(S(S(S(S(S(S(S(S(S Z)))))))))) = (S(S(S(S(S(S(S(S(S(S(S Z))))))))))) --(1,10) = 11
+ack   (S Z)                     Z           =                   (S(S Z))          --(1, 0) =  2
+ack   (S Z)                  (S Z)          =                 (S(S(S Z)))         --(1, 1) =  3
+ack   (S Z)                (S(S Z))         =               (S(S(S(S Z))))        --(1, 2) =  4
+ack   (S Z)              (S(S(S Z)))        =             (S(S(S(S(S Z)))))       --(1, 3) =  5
+ack   (S Z)            (S(S(S(S Z))))       =           (S(S(S(S(S(S Z))))))      --(1, 4) =  6
+ack   (S Z)          (S(S(S(S(S Z)))))      =         (S(S(S(S(S(S(S Z)))))))     --(1, 5) =  7
+ack   (S Z)        (S(S(S(S(S(S Z))))))     =       (S(S(S(S(S(S(S(S Z))))))))    --(1, 6) =  8
+ack   (S Z)      (S(S(S(S(S(S(S Z)))))))    =     (S(S(S(S(S(S(S(S(S Z)))))))))   --(1, 7) =  9
+ack   (S Z)    (S(S(S(S(S(S(S(S Z))))))))   =   (S(S(S(S(S(S(S(S(S(S Z))))))))))  --(1, 8) = 10
+ack   (S Z)  (S(S(S(S(S(S(S(S(S Z)))))))))  = (S(S(S(S(S(S(S(S(S(S(S Z))))))))))) --(1, 9) = 11
+ack (S(S Z))                    Z           =                 (S(S(S Z)))         --(2, 0) =  3
+ack (S(S Z))                 (S Z)          =             (S(S(S(S(S Z)))))       --(2, 1) =  5
+ack (S(S Z))               (S(S Z))         =         (S(S(S(S(S(S(S Z)))))))     --(2, 2) =  7
+ack (S(S Z))             (S(S(S Z)))        =     (S(S(S(S(S(S(S(S(S Z)))))))))   --(2, 3) =  9
+ack (S(S Z))           (S(S(S(S Z))))       = (S(S(S(S(S(S(S(S(S(S(S Z))))))))))) --(2, 4) = 11
+
+