15.85/5.86 YES 18.21/6.52 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 18.21/6.52 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 18.21/6.52 18.21/6.52 18.21/6.52 H-Termination with start terms of the given HASKELL could be proven: 18.21/6.52 18.21/6.52 (0) HASKELL 18.21/6.52 (1) BR [EQUIVALENT, 0 ms] 18.21/6.52 (2) HASKELL 18.21/6.52 (3) COR [EQUIVALENT, 0 ms] 18.21/6.52 (4) HASKELL 18.21/6.52 (5) Narrow [SOUND, 0 ms] 18.21/6.52 (6) AND 18.21/6.52 (7) QDP 18.21/6.52 (8) TransformationProof [EQUIVALENT, 0 ms] 18.21/6.52 (9) QDP 18.21/6.52 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 18.21/6.52 (11) YES 18.21/6.52 (12) QDP 18.21/6.52 (13) QDPSizeChangeProof [EQUIVALENT, 0 ms] 18.21/6.52 (14) YES 18.21/6.52 (15) QDP 18.21/6.52 (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] 18.21/6.52 (17) YES 18.21/6.52 (18) QDP 18.21/6.52 (19) TransformationProof [EQUIVALENT, 0 ms] 18.21/6.52 (20) QDP 18.21/6.52 (21) UsableRulesProof [EQUIVALENT, 0 ms] 18.21/6.52 (22) QDP 18.21/6.52 (23) QReductionProof [EQUIVALENT, 0 ms] 18.21/6.52 (24) QDP 18.21/6.52 (25) TransformationProof [EQUIVALENT, 0 ms] 18.21/6.52 (26) QDP 18.21/6.52 (27) UsableRulesProof [EQUIVALENT, 0 ms] 18.21/6.52 (28) QDP 18.21/6.52 (29) QReductionProof [EQUIVALENT, 0 ms] 18.21/6.52 (30) QDP 18.21/6.52 (31) TransformationProof [EQUIVALENT, 0 ms] 18.21/6.52 (32) QDP 18.21/6.52 (33) TransformationProof [EQUIVALENT, 0 ms] 18.21/6.52 (34) QDP 18.21/6.52 (35) QDPSizeChangeProof [EQUIVALENT, 0 ms] 18.21/6.52 (36) YES 18.21/6.52 (37) QDP 18.21/6.52 (38) QDPSizeChangeProof [EQUIVALENT, 0 ms] 18.21/6.52 (39) YES 18.21/6.52 (40) QDP 18.21/6.52 (41) QDPSizeChangeProof [EQUIVALENT, 0 ms] 18.21/6.52 (42) YES 18.21/6.52 (43) QDP 18.21/6.52 (44) QDPSizeChangeProof [EQUIVALENT, 0 ms] 18.21/6.52 (45) YES 18.21/6.52 18.21/6.52 18.21/6.52 ---------------------------------------- 18.21/6.52 18.21/6.52 (0) 18.21/6.52 Obligation: 18.21/6.52 mainModule Main 18.21/6.52 module Main where { 18.21/6.52 import qualified Prelude; 18.21/6.52 data Main.Char = Char MyInt ; 18.21/6.52 18.21/6.52 data Integer = Integer MyInt ; 18.21/6.52 18.21/6.52 data List a = Cons a (List a) | Nil ; 18.21/6.52 18.21/6.52 data MyBool = MyTrue | MyFalse ; 18.21/6.52 18.21/6.52 data MyInt = Pos Main.Nat | Neg Main.Nat ; 18.21/6.52 18.21/6.52 data Main.Nat = Succ Main.Nat | Zero ; 18.21/6.52 18.21/6.52 data Ordering = LT | EQ | GT ; 18.21/6.52 18.21/6.52 data Tup2 b a = Tup2 b a ; 18.21/6.52 18.21/6.52 asAs :: MyBool -> MyBool -> MyBool; 18.21/6.52 asAs MyFalse x = MyFalse; 18.21/6.52 asAs MyTrue x = x; 18.21/6.52 18.21/6.52 compareChar :: Main.Char -> Main.Char -> Ordering; 18.21/6.52 compareChar = primCmpChar; 18.21/6.52 18.21/6.52 concat :: List (List a) -> List a; 18.21/6.52 concat = foldr psPs Nil; 18.21/6.52 18.21/6.52 concatMap :: (b -> List a) -> List b -> List a; 18.21/6.52 concatMap f = pt concat (map f); 18.21/6.52 18.21/6.52 esEsOrdering :: Ordering -> Ordering -> MyBool; 18.21/6.52 esEsOrdering LT LT = MyTrue; 18.21/6.52 esEsOrdering LT EQ = MyFalse; 18.21/6.52 esEsOrdering LT GT = MyFalse; 18.21/6.52 esEsOrdering EQ LT = MyFalse; 18.21/6.52 esEsOrdering EQ EQ = MyTrue; 18.21/6.52 esEsOrdering EQ GT = MyFalse; 18.21/6.52 esEsOrdering GT LT = MyFalse; 18.21/6.52 esEsOrdering GT EQ = MyFalse; 18.21/6.52 esEsOrdering GT GT = MyTrue; 18.21/6.52 18.21/6.52 foldl :: (b -> a -> b) -> b -> List a -> b; 18.21/6.52 foldl f z Nil = z; 18.21/6.52 foldl f z (Cons x xs) = foldl f (f z x) xs; 18.21/6.52 18.21/6.52 foldl1 :: (a -> a -> a) -> List a -> a; 18.21/6.52 foldl1 f (Cons x xs) = foldl f x xs; 18.21/6.52 18.21/6.52 foldr :: (a -> b -> b) -> b -> List a -> b; 18.21/6.52 foldr f z Nil = z; 18.21/6.52 foldr f z (Cons x xs) = f x (foldr f z xs); 18.21/6.52 18.21/6.52 fromEnumChar :: Main.Char -> MyInt; 18.21/6.52 fromEnumChar = primCharToInt; 18.21/6.52 18.21/6.52 fromEnum_0 :: MyInt; 18.21/6.52 fromEnum_0 = fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))); 18.21/6.52 18.21/6.52 fromIntMyInt :: MyInt -> MyInt; 18.21/6.52 fromIntMyInt x = x; 18.21/6.52 18.21/6.52 fromIntegerMyInt :: Integer -> MyInt; 18.21/6.52 fromIntegerMyInt (Integer x) = x; 18.21/6.52 18.21/6.52 fromIntegral = pt fromIntegerMyInt toIntegerMyInt; 18.21/6.52 18.21/6.52 fsEsOrdering :: Ordering -> Ordering -> MyBool; 18.21/6.52 fsEsOrdering x y = not (esEsOrdering x y); 18.21/6.52 18.21/6.52 gtEsChar :: Main.Char -> Main.Char -> MyBool; 18.21/6.52 gtEsChar x y = fsEsOrdering (compareChar x y) LT; 18.21/6.52 18.21/6.52 isDigit :: Main.Char -> MyBool; 18.21/6.52 isDigit c = asAs (gtEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 18.21/6.52 18.21/6.52 ltEsChar :: Main.Char -> Main.Char -> MyBool; 18.21/6.52 ltEsChar x y = fsEsOrdering (compareChar x y) GT; 18.21/6.52 18.21/6.52 map :: (b -> a) -> List b -> List a; 18.21/6.52 map f Nil = Nil; 18.21/6.52 map f (Cons x xs) = Cons (f x) (map f xs); 18.21/6.52 18.21/6.52 msMyInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 msMyInt = primMinusInt; 18.21/6.52 18.21/6.52 nonnull :: (Main.Char -> MyBool) -> List Main.Char -> List (Tup2 (List Main.Char) (List Main.Char)); 18.21/6.52 nonnull p s = concatMap nonnull0 (Cons (span p s) Nil); 18.21/6.52 18.21/6.52 nonnull0 vu68 = nonnull00 vu68; 18.21/6.52 18.21/6.52 nonnull00 (Tup2 (Cons vy vz) t) = Cons (Tup2 (Cons vy vz) t) Nil; 18.21/6.52 nonnull00 wu = Nil; 18.21/6.52 18.21/6.52 not :: MyBool -> MyBool; 18.21/6.52 not MyTrue = MyFalse; 18.21/6.52 not MyFalse = MyTrue; 18.21/6.52 18.21/6.52 otherwise :: MyBool; 18.21/6.52 otherwise = MyTrue; 18.21/6.52 18.21/6.52 primCharToInt :: Main.Char -> MyInt; 18.21/6.52 primCharToInt (Main.Char x) = x; 18.21/6.52 18.21/6.52 primCmpChar :: Main.Char -> Main.Char -> Ordering; 18.21/6.52 primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; 18.21/6.52 18.21/6.52 primCmpInt :: MyInt -> MyInt -> Ordering; 18.21/6.52 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 18.21/6.52 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 18.21/6.52 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 18.21/6.52 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 18.21/6.52 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 18.21/6.52 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 18.21/6.52 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 18.21/6.52 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 18.21/6.52 18.21/6.52 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 18.21/6.52 primCmpNat Main.Zero Main.Zero = EQ; 18.21/6.52 primCmpNat Main.Zero (Main.Succ y) = LT; 18.21/6.52 primCmpNat (Main.Succ x) Main.Zero = GT; 18.21/6.52 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 18.21/6.52 18.21/6.52 primMinusInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 18.21/6.52 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 18.21/6.52 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 18.21/6.52 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 18.21/6.52 18.21/6.52 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 18.21/6.52 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 18.21/6.52 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 18.21/6.52 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 18.21/6.52 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 18.21/6.52 18.21/6.52 primMulInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); 18.21/6.52 primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); 18.21/6.52 primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); 18.21/6.52 primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); 18.21/6.52 18.21/6.52 primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; 18.21/6.52 primMulNat Main.Zero Main.Zero = Main.Zero; 18.21/6.52 primMulNat Main.Zero (Main.Succ y) = Main.Zero; 18.21/6.52 primMulNat (Main.Succ x) Main.Zero = Main.Zero; 18.21/6.52 primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); 18.21/6.52 18.21/6.52 primPlusInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 18.21/6.52 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 18.21/6.52 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 18.21/6.52 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 18.21/6.52 18.21/6.52 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 18.21/6.52 primPlusNat Main.Zero Main.Zero = Main.Zero; 18.21/6.52 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 18.21/6.52 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 18.21/6.52 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 18.21/6.52 18.21/6.52 psMyInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 psMyInt = primPlusInt; 18.21/6.52 18.21/6.52 psPs :: List a -> List a -> List a; 18.21/6.52 psPs Nil ys = ys; 18.21/6.52 psPs (Cons x xs) ys = Cons x (psPs xs ys); 18.21/6.52 18.21/6.52 pt :: (c -> b) -> (a -> c) -> a -> b; 18.21/6.52 pt f g x = f (g x); 18.21/6.52 18.21/6.52 readDec0 d = msMyInt (fromEnumChar d) fromEnum_0; 18.21/6.52 18.21/6.52 readDecMyInt :: List Main.Char -> List (Tup2 MyInt (List Main.Char)); 18.21/6.52 readDecMyInt = readInt (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))) isDigit readDec0; 18.21/6.52 18.21/6.52 readInt radix isDig digToInt s = concatMap (readInt1 radix digToInt) (nonnull isDig s); 18.21/6.52 18.21/6.52 readInt0 radix n d = psMyInt (srMyInt n radix) d; 18.21/6.52 18.21/6.52 readInt1 radix digToInt vu77 = readInt10 radix digToInt vu77; 18.21/6.52 18.21/6.52 readInt10 radix digToInt (Tup2 ds r) = Cons (Tup2 (foldl1 (readInt0 radix) (map (pt fromIntegral digToInt) ds)) r) Nil; 18.21/6.52 readInt10 radix digToInt vv = Nil; 18.21/6.52 18.21/6.52 span :: (a -> MyBool) -> List a -> Tup2 (List a) (List a); 18.21/6.52 span p Nil = span3 p Nil; 18.21/6.52 span p (Cons wv ww) = span2 p (Cons wv ww); 18.21/6.52 18.21/6.52 span2 p (Cons wv ww) = span2Span1 p ww p wv ww (p wv); 18.21/6.52 18.21/6.52 span2Span0 xx xy p wv ww MyTrue = Tup2 Nil (Cons wv ww); 18.21/6.52 18.21/6.52 span2Span1 xx xy p wv ww MyTrue = Tup2 (Cons wv (span2Ys xx xy)) (span2Zs xx xy); 18.21/6.52 span2Span1 xx xy p wv ww MyFalse = span2Span0 xx xy p wv ww otherwise; 18.21/6.52 18.21/6.52 span2Vu43 xx xy = span xx xy; 18.21/6.52 18.21/6.52 span2Ys xx xy = span2Ys0 xx xy (span2Vu43 xx xy); 18.21/6.52 18.21/6.52 span2Ys0 xx xy (Tup2 ys wx) = ys; 18.21/6.52 18.21/6.52 span2Zs xx xy = span2Zs0 xx xy (span2Vu43 xx xy); 18.21/6.52 18.21/6.52 span2Zs0 xx xy (Tup2 wy zs) = zs; 18.21/6.52 18.21/6.52 span3 p Nil = Tup2 Nil Nil; 18.21/6.52 span3 xv xw = span2 xv xw; 18.21/6.52 18.21/6.52 srMyInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 srMyInt = primMulInt; 18.21/6.52 18.21/6.52 toIntegerMyInt :: MyInt -> Integer; 18.21/6.52 toIntegerMyInt x = Integer x; 18.21/6.52 18.21/6.52 } 18.21/6.52 18.21/6.52 ---------------------------------------- 18.21/6.52 18.21/6.52 (1) BR (EQUIVALENT) 18.21/6.52 Replaced joker patterns by fresh variables and removed binding patterns. 18.21/6.52 ---------------------------------------- 18.21/6.52 18.21/6.52 (2) 18.21/6.52 Obligation: 18.21/6.52 mainModule Main 18.21/6.52 module Main where { 18.21/6.52 import qualified Prelude; 18.21/6.52 data Main.Char = Char MyInt ; 18.21/6.52 18.21/6.52 data Integer = Integer MyInt ; 18.21/6.52 18.21/6.52 data List a = Cons a (List a) | Nil ; 18.21/6.52 18.21/6.52 data MyBool = MyTrue | MyFalse ; 18.21/6.52 18.21/6.52 data MyInt = Pos Main.Nat | Neg Main.Nat ; 18.21/6.52 18.21/6.52 data Main.Nat = Succ Main.Nat | Zero ; 18.21/6.52 18.21/6.52 data Ordering = LT | EQ | GT ; 18.21/6.52 18.21/6.52 data Tup2 a b = Tup2 a b ; 18.21/6.52 18.21/6.52 asAs :: MyBool -> MyBool -> MyBool; 18.21/6.52 asAs MyFalse x = MyFalse; 18.21/6.52 asAs MyTrue x = x; 18.21/6.52 18.21/6.52 compareChar :: Main.Char -> Main.Char -> Ordering; 18.21/6.52 compareChar = primCmpChar; 18.21/6.52 18.21/6.52 concat :: List (List a) -> List a; 18.21/6.52 concat = foldr psPs Nil; 18.21/6.52 18.21/6.52 concatMap :: (b -> List a) -> List b -> List a; 18.21/6.52 concatMap f = pt concat (map f); 18.21/6.52 18.21/6.52 esEsOrdering :: Ordering -> Ordering -> MyBool; 18.21/6.52 esEsOrdering LT LT = MyTrue; 18.21/6.52 esEsOrdering LT EQ = MyFalse; 18.21/6.52 esEsOrdering LT GT = MyFalse; 18.21/6.52 esEsOrdering EQ LT = MyFalse; 18.21/6.52 esEsOrdering EQ EQ = MyTrue; 18.21/6.52 esEsOrdering EQ GT = MyFalse; 18.21/6.52 esEsOrdering GT LT = MyFalse; 18.21/6.52 esEsOrdering GT EQ = MyFalse; 18.21/6.52 esEsOrdering GT GT = MyTrue; 18.21/6.52 18.21/6.52 foldl :: (b -> a -> b) -> b -> List a -> b; 18.21/6.52 foldl f z Nil = z; 18.21/6.52 foldl f z (Cons x xs) = foldl f (f z x) xs; 18.21/6.52 18.21/6.52 foldl1 :: (a -> a -> a) -> List a -> a; 18.21/6.52 foldl1 f (Cons x xs) = foldl f x xs; 18.21/6.52 18.21/6.52 foldr :: (a -> b -> b) -> b -> List a -> b; 18.21/6.52 foldr f z Nil = z; 18.21/6.52 foldr f z (Cons x xs) = f x (foldr f z xs); 18.21/6.52 18.21/6.52 fromEnumChar :: Main.Char -> MyInt; 18.21/6.52 fromEnumChar = primCharToInt; 18.21/6.52 18.21/6.52 fromEnum_0 :: MyInt; 18.21/6.52 fromEnum_0 = fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))); 18.21/6.52 18.21/6.52 fromIntMyInt :: MyInt -> MyInt; 18.21/6.52 fromIntMyInt x = x; 18.21/6.52 18.21/6.52 fromIntegerMyInt :: Integer -> MyInt; 18.21/6.52 fromIntegerMyInt (Integer x) = x; 18.21/6.52 18.21/6.52 fromIntegral = pt fromIntegerMyInt toIntegerMyInt; 18.21/6.52 18.21/6.52 fsEsOrdering :: Ordering -> Ordering -> MyBool; 18.21/6.52 fsEsOrdering x y = not (esEsOrdering x y); 18.21/6.52 18.21/6.52 gtEsChar :: Main.Char -> Main.Char -> MyBool; 18.21/6.52 gtEsChar x y = fsEsOrdering (compareChar x y) LT; 18.21/6.52 18.21/6.52 isDigit :: Main.Char -> MyBool; 18.21/6.52 isDigit c = asAs (gtEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 18.21/6.52 18.21/6.52 ltEsChar :: Main.Char -> Main.Char -> MyBool; 18.21/6.52 ltEsChar x y = fsEsOrdering (compareChar x y) GT; 18.21/6.52 18.21/6.52 map :: (a -> b) -> List a -> List b; 18.21/6.52 map f Nil = Nil; 18.21/6.52 map f (Cons x xs) = Cons (f x) (map f xs); 18.21/6.52 18.21/6.52 msMyInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 msMyInt = primMinusInt; 18.21/6.52 18.21/6.52 nonnull :: (Main.Char -> MyBool) -> List Main.Char -> List (Tup2 (List Main.Char) (List Main.Char)); 18.21/6.52 nonnull p s = concatMap nonnull0 (Cons (span p s) Nil); 18.21/6.52 18.21/6.52 nonnull0 vu68 = nonnull00 vu68; 18.21/6.52 18.21/6.52 nonnull00 (Tup2 (Cons vy vz) t) = Cons (Tup2 (Cons vy vz) t) Nil; 18.21/6.52 nonnull00 wu = Nil; 18.21/6.52 18.21/6.52 not :: MyBool -> MyBool; 18.21/6.52 not MyTrue = MyFalse; 18.21/6.52 not MyFalse = MyTrue; 18.21/6.52 18.21/6.52 otherwise :: MyBool; 18.21/6.52 otherwise = MyTrue; 18.21/6.52 18.21/6.52 primCharToInt :: Main.Char -> MyInt; 18.21/6.52 primCharToInt (Main.Char x) = x; 18.21/6.52 18.21/6.52 primCmpChar :: Main.Char -> Main.Char -> Ordering; 18.21/6.52 primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; 18.21/6.52 18.21/6.52 primCmpInt :: MyInt -> MyInt -> Ordering; 18.21/6.52 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 18.21/6.52 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 18.21/6.52 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 18.21/6.52 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 18.21/6.52 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 18.21/6.52 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 18.21/6.52 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 18.21/6.52 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 18.21/6.52 18.21/6.52 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 18.21/6.52 primCmpNat Main.Zero Main.Zero = EQ; 18.21/6.52 primCmpNat Main.Zero (Main.Succ y) = LT; 18.21/6.52 primCmpNat (Main.Succ x) Main.Zero = GT; 18.21/6.52 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 18.21/6.52 18.21/6.52 primMinusInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 18.21/6.52 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 18.21/6.52 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 18.21/6.52 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 18.21/6.52 18.21/6.52 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 18.21/6.52 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 18.21/6.52 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 18.21/6.52 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 18.21/6.52 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 18.21/6.52 18.21/6.52 primMulInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); 18.21/6.52 primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); 18.21/6.52 primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); 18.21/6.52 primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); 18.21/6.52 18.21/6.52 primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; 18.21/6.52 primMulNat Main.Zero Main.Zero = Main.Zero; 18.21/6.52 primMulNat Main.Zero (Main.Succ y) = Main.Zero; 18.21/6.52 primMulNat (Main.Succ x) Main.Zero = Main.Zero; 18.21/6.52 primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); 18.21/6.52 18.21/6.52 primPlusInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 18.21/6.52 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 18.21/6.52 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 18.21/6.52 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 18.21/6.52 18.21/6.52 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 18.21/6.52 primPlusNat Main.Zero Main.Zero = Main.Zero; 18.21/6.52 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 18.21/6.52 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 18.21/6.52 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 18.21/6.52 18.21/6.52 psMyInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 psMyInt = primPlusInt; 18.21/6.52 18.21/6.52 psPs :: List a -> List a -> List a; 18.21/6.52 psPs Nil ys = ys; 18.21/6.52 psPs (Cons x xs) ys = Cons x (psPs xs ys); 18.21/6.52 18.21/6.52 pt :: (b -> a) -> (c -> b) -> c -> a; 18.21/6.52 pt f g x = f (g x); 18.21/6.52 18.21/6.52 readDec0 d = msMyInt (fromEnumChar d) fromEnum_0; 18.21/6.52 18.21/6.52 readDecMyInt :: List Main.Char -> List (Tup2 MyInt (List Main.Char)); 18.21/6.52 readDecMyInt = readInt (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))) isDigit readDec0; 18.21/6.52 18.21/6.52 readInt radix isDig digToInt s = concatMap (readInt1 radix digToInt) (nonnull isDig s); 18.21/6.52 18.21/6.52 readInt0 radix n d = psMyInt (srMyInt n radix) d; 18.21/6.52 18.21/6.52 readInt1 radix digToInt vu77 = readInt10 radix digToInt vu77; 18.21/6.52 18.21/6.52 readInt10 radix digToInt (Tup2 ds r) = Cons (Tup2 (foldl1 (readInt0 radix) (map (pt fromIntegral digToInt) ds)) r) Nil; 18.21/6.52 readInt10 radix digToInt vv = Nil; 18.21/6.52 18.21/6.52 span :: (a -> MyBool) -> List a -> Tup2 (List a) (List a); 18.21/6.52 span p Nil = span3 p Nil; 18.21/6.52 span p (Cons wv ww) = span2 p (Cons wv ww); 18.21/6.52 18.21/6.52 span2 p (Cons wv ww) = span2Span1 p ww p wv ww (p wv); 18.21/6.52 18.21/6.52 span2Span0 xx xy p wv ww MyTrue = Tup2 Nil (Cons wv ww); 18.21/6.52 18.21/6.52 span2Span1 xx xy p wv ww MyTrue = Tup2 (Cons wv (span2Ys xx xy)) (span2Zs xx xy); 18.21/6.52 span2Span1 xx xy p wv ww MyFalse = span2Span0 xx xy p wv ww otherwise; 18.21/6.52 18.21/6.52 span2Vu43 xx xy = span xx xy; 18.21/6.52 18.21/6.52 span2Ys xx xy = span2Ys0 xx xy (span2Vu43 xx xy); 18.21/6.52 18.21/6.52 span2Ys0 xx xy (Tup2 ys wx) = ys; 18.21/6.52 18.21/6.52 span2Zs xx xy = span2Zs0 xx xy (span2Vu43 xx xy); 18.21/6.52 18.21/6.52 span2Zs0 xx xy (Tup2 wy zs) = zs; 18.21/6.52 18.21/6.52 span3 p Nil = Tup2 Nil Nil; 18.21/6.52 span3 xv xw = span2 xv xw; 18.21/6.52 18.21/6.52 srMyInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 srMyInt = primMulInt; 18.21/6.52 18.21/6.52 toIntegerMyInt :: MyInt -> Integer; 18.21/6.52 toIntegerMyInt x = Integer x; 18.21/6.52 18.21/6.52 } 18.21/6.52 18.21/6.52 ---------------------------------------- 18.21/6.52 18.21/6.52 (3) COR (EQUIVALENT) 18.21/6.52 Cond Reductions: 18.21/6.52 The following Function with conditions 18.21/6.52 "undefined |Falseundefined; 18.21/6.52 " 18.21/6.52 is transformed to 18.21/6.52 "undefined = undefined1; 18.21/6.52 " 18.21/6.52 "undefined0 True = undefined; 18.21/6.52 " 18.21/6.52 "undefined1 = undefined0 False; 18.21/6.52 " 18.21/6.52 18.21/6.52 ---------------------------------------- 18.21/6.52 18.21/6.52 (4) 18.21/6.52 Obligation: 18.21/6.52 mainModule Main 18.21/6.52 module Main where { 18.21/6.52 import qualified Prelude; 18.21/6.52 data Main.Char = Char MyInt ; 18.21/6.52 18.21/6.52 data Integer = Integer MyInt ; 18.21/6.52 18.21/6.52 data List a = Cons a (List a) | Nil ; 18.21/6.52 18.21/6.52 data MyBool = MyTrue | MyFalse ; 18.21/6.52 18.21/6.52 data MyInt = Pos Main.Nat | Neg Main.Nat ; 18.21/6.52 18.21/6.52 data Main.Nat = Succ Main.Nat | Zero ; 18.21/6.52 18.21/6.52 data Ordering = LT | EQ | GT ; 18.21/6.52 18.21/6.52 data Tup2 b a = Tup2 b a ; 18.21/6.52 18.21/6.52 asAs :: MyBool -> MyBool -> MyBool; 18.21/6.52 asAs MyFalse x = MyFalse; 18.21/6.52 asAs MyTrue x = x; 18.21/6.52 18.21/6.52 compareChar :: Main.Char -> Main.Char -> Ordering; 18.21/6.52 compareChar = primCmpChar; 18.21/6.52 18.21/6.52 concat :: List (List a) -> List a; 18.21/6.52 concat = foldr psPs Nil; 18.21/6.52 18.21/6.52 concatMap :: (a -> List b) -> List a -> List b; 18.21/6.52 concatMap f = pt concat (map f); 18.21/6.52 18.21/6.52 esEsOrdering :: Ordering -> Ordering -> MyBool; 18.21/6.52 esEsOrdering LT LT = MyTrue; 18.21/6.52 esEsOrdering LT EQ = MyFalse; 18.21/6.52 esEsOrdering LT GT = MyFalse; 18.21/6.52 esEsOrdering EQ LT = MyFalse; 18.21/6.52 esEsOrdering EQ EQ = MyTrue; 18.21/6.52 esEsOrdering EQ GT = MyFalse; 18.21/6.52 esEsOrdering GT LT = MyFalse; 18.21/6.52 esEsOrdering GT EQ = MyFalse; 18.21/6.52 esEsOrdering GT GT = MyTrue; 18.21/6.52 18.21/6.52 foldl :: (a -> b -> a) -> a -> List b -> a; 18.21/6.52 foldl f z Nil = z; 18.21/6.52 foldl f z (Cons x xs) = foldl f (f z x) xs; 18.21/6.52 18.21/6.52 foldl1 :: (a -> a -> a) -> List a -> a; 18.21/6.52 foldl1 f (Cons x xs) = foldl f x xs; 18.21/6.52 18.21/6.52 foldr :: (a -> b -> b) -> b -> List a -> b; 18.21/6.52 foldr f z Nil = z; 18.21/6.52 foldr f z (Cons x xs) = f x (foldr f z xs); 18.21/6.52 18.21/6.52 fromEnumChar :: Main.Char -> MyInt; 18.21/6.52 fromEnumChar = primCharToInt; 18.21/6.52 18.21/6.52 fromEnum_0 :: MyInt; 18.21/6.52 fromEnum_0 = fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))); 18.21/6.52 18.21/6.52 fromIntMyInt :: MyInt -> MyInt; 18.21/6.52 fromIntMyInt x = x; 18.21/6.52 18.21/6.52 fromIntegerMyInt :: Integer -> MyInt; 18.21/6.52 fromIntegerMyInt (Integer x) = x; 18.21/6.52 18.21/6.52 fromIntegral = pt fromIntegerMyInt toIntegerMyInt; 18.21/6.52 18.21/6.52 fsEsOrdering :: Ordering -> Ordering -> MyBool; 18.21/6.52 fsEsOrdering x y = not (esEsOrdering x y); 18.21/6.52 18.21/6.52 gtEsChar :: Main.Char -> Main.Char -> MyBool; 18.21/6.52 gtEsChar x y = fsEsOrdering (compareChar x y) LT; 18.21/6.52 18.21/6.52 isDigit :: Main.Char -> MyBool; 18.21/6.52 isDigit c = asAs (gtEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 18.21/6.52 18.21/6.52 ltEsChar :: Main.Char -> Main.Char -> MyBool; 18.21/6.52 ltEsChar x y = fsEsOrdering (compareChar x y) GT; 18.21/6.52 18.21/6.52 map :: (a -> b) -> List a -> List b; 18.21/6.52 map f Nil = Nil; 18.21/6.52 map f (Cons x xs) = Cons (f x) (map f xs); 18.21/6.52 18.21/6.52 msMyInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 msMyInt = primMinusInt; 18.21/6.52 18.21/6.52 nonnull :: (Main.Char -> MyBool) -> List Main.Char -> List (Tup2 (List Main.Char) (List Main.Char)); 18.21/6.52 nonnull p s = concatMap nonnull0 (Cons (span p s) Nil); 18.21/6.52 18.21/6.52 nonnull0 vu68 = nonnull00 vu68; 18.21/6.52 18.21/6.52 nonnull00 (Tup2 (Cons vy vz) t) = Cons (Tup2 (Cons vy vz) t) Nil; 18.21/6.52 nonnull00 wu = Nil; 18.21/6.52 18.21/6.52 not :: MyBool -> MyBool; 18.21/6.52 not MyTrue = MyFalse; 18.21/6.52 not MyFalse = MyTrue; 18.21/6.52 18.21/6.52 otherwise :: MyBool; 18.21/6.52 otherwise = MyTrue; 18.21/6.52 18.21/6.52 primCharToInt :: Main.Char -> MyInt; 18.21/6.52 primCharToInt (Main.Char x) = x; 18.21/6.52 18.21/6.52 primCmpChar :: Main.Char -> Main.Char -> Ordering; 18.21/6.52 primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; 18.21/6.52 18.21/6.52 primCmpInt :: MyInt -> MyInt -> Ordering; 18.21/6.52 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 18.21/6.52 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 18.21/6.52 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 18.21/6.52 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 18.21/6.52 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 18.21/6.52 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 18.21/6.52 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 18.21/6.52 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 18.21/6.52 18.21/6.52 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 18.21/6.52 primCmpNat Main.Zero Main.Zero = EQ; 18.21/6.52 primCmpNat Main.Zero (Main.Succ y) = LT; 18.21/6.52 primCmpNat (Main.Succ x) Main.Zero = GT; 18.21/6.52 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 18.21/6.52 18.21/6.52 primMinusInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 18.21/6.52 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 18.21/6.52 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 18.21/6.52 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 18.21/6.52 18.21/6.52 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 18.21/6.52 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 18.21/6.52 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 18.21/6.52 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 18.21/6.52 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 18.21/6.52 18.21/6.52 primMulInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); 18.21/6.52 primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); 18.21/6.52 primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); 18.21/6.52 primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); 18.21/6.52 18.21/6.52 primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; 18.21/6.52 primMulNat Main.Zero Main.Zero = Main.Zero; 18.21/6.52 primMulNat Main.Zero (Main.Succ y) = Main.Zero; 18.21/6.52 primMulNat (Main.Succ x) Main.Zero = Main.Zero; 18.21/6.52 primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); 18.21/6.52 18.21/6.52 primPlusInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 18.21/6.52 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 18.21/6.52 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 18.21/6.52 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 18.21/6.52 18.21/6.52 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 18.21/6.52 primPlusNat Main.Zero Main.Zero = Main.Zero; 18.21/6.52 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 18.21/6.52 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 18.21/6.52 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 18.21/6.52 18.21/6.52 psMyInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 psMyInt = primPlusInt; 18.21/6.52 18.21/6.52 psPs :: List a -> List a -> List a; 18.21/6.52 psPs Nil ys = ys; 18.21/6.52 psPs (Cons x xs) ys = Cons x (psPs xs ys); 18.21/6.52 18.21/6.52 pt :: (a -> b) -> (c -> a) -> c -> b; 18.21/6.52 pt f g x = f (g x); 18.21/6.52 18.21/6.52 readDec0 d = msMyInt (fromEnumChar d) fromEnum_0; 18.21/6.52 18.21/6.52 readDecMyInt :: List Main.Char -> List (Tup2 MyInt (List Main.Char)); 18.21/6.52 readDecMyInt = readInt (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))) isDigit readDec0; 18.21/6.52 18.21/6.52 readInt radix isDig digToInt s = concatMap (readInt1 radix digToInt) (nonnull isDig s); 18.21/6.52 18.21/6.52 readInt0 radix n d = psMyInt (srMyInt n radix) d; 18.21/6.52 18.21/6.52 readInt1 radix digToInt vu77 = readInt10 radix digToInt vu77; 18.21/6.52 18.21/6.52 readInt10 radix digToInt (Tup2 ds r) = Cons (Tup2 (foldl1 (readInt0 radix) (map (pt fromIntegral digToInt) ds)) r) Nil; 18.21/6.52 readInt10 radix digToInt vv = Nil; 18.21/6.52 18.21/6.52 span :: (a -> MyBool) -> List a -> Tup2 (List a) (List a); 18.21/6.52 span p Nil = span3 p Nil; 18.21/6.52 span p (Cons wv ww) = span2 p (Cons wv ww); 18.21/6.52 18.21/6.52 span2 p (Cons wv ww) = span2Span1 p ww p wv ww (p wv); 18.21/6.52 18.21/6.52 span2Span0 xx xy p wv ww MyTrue = Tup2 Nil (Cons wv ww); 18.21/6.52 18.21/6.52 span2Span1 xx xy p wv ww MyTrue = Tup2 (Cons wv (span2Ys xx xy)) (span2Zs xx xy); 18.21/6.52 span2Span1 xx xy p wv ww MyFalse = span2Span0 xx xy p wv ww otherwise; 18.21/6.52 18.21/6.52 span2Vu43 xx xy = span xx xy; 18.21/6.52 18.21/6.52 span2Ys xx xy = span2Ys0 xx xy (span2Vu43 xx xy); 18.21/6.52 18.21/6.52 span2Ys0 xx xy (Tup2 ys wx) = ys; 18.21/6.52 18.21/6.52 span2Zs xx xy = span2Zs0 xx xy (span2Vu43 xx xy); 18.21/6.52 18.21/6.52 span2Zs0 xx xy (Tup2 wy zs) = zs; 18.21/6.52 18.21/6.52 span3 p Nil = Tup2 Nil Nil; 18.21/6.52 span3 xv xw = span2 xv xw; 18.21/6.52 18.21/6.52 srMyInt :: MyInt -> MyInt -> MyInt; 18.21/6.52 srMyInt = primMulInt; 18.21/6.52 18.21/6.52 toIntegerMyInt :: MyInt -> Integer; 18.21/6.52 toIntegerMyInt x = Integer x; 18.21/6.52 18.21/6.52 } 18.21/6.52 18.21/6.52 ---------------------------------------- 18.21/6.52 18.21/6.52 (5) Narrow (SOUND) 18.21/6.52 Haskell To QDPs 18.21/6.52 18.21/6.52 digraph dp_graph { 18.21/6.52 node [outthreshold=100, inthreshold=100];1[label="readDecMyInt",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 18.21/6.52 3[label="readDecMyInt wz3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 18.21/6.52 4 -> 5[label="",style="dashed", color="red", weight=0]; 18.21/6.52 4[label="readInt (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) isDigit readDec0 wz3",fontsize=16,color="magenta"];4 -> 6[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 4 -> 7[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 6[label="wz3",fontsize=16,color="green",shape="box"];7[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];5[label="readInt (fromIntMyInt (Pos (Succ wz5))) isDigit readDec0 wz6",fontsize=16,color="black",shape="triangle"];5 -> 8[label="",style="solid", color="black", weight=3]; 18.21/6.52 8[label="concatMap (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (nonnull isDigit wz6)",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 18.21/6.52 9[label="pt concat (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0)) (nonnull isDigit wz6)",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 18.21/6.52 10[label="concat (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (nonnull isDigit wz6))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 18.21/6.52 11[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (nonnull isDigit wz6))",fontsize=16,color="black",shape="box"];11 -> 12[label="",style="solid", color="black", weight=3]; 18.21/6.52 12[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (concatMap nonnull0 (Cons (span isDigit wz6) Nil)))",fontsize=16,color="black",shape="box"];12 -> 13[label="",style="solid", color="black", weight=3]; 18.21/6.52 13[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (pt concat (map nonnull0) (Cons (span isDigit wz6) Nil)))",fontsize=16,color="black",shape="box"];13 -> 14[label="",style="solid", color="black", weight=3]; 18.21/6.52 14[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (concat (map nonnull0 (Cons (span isDigit wz6) Nil))))",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 18.21/6.52 15[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (foldr psPs Nil (map nonnull0 (Cons (span isDigit wz6) Nil))))",fontsize=16,color="black",shape="box"];15 -> 16[label="",style="solid", color="black", weight=3]; 18.21/6.52 16[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (foldr psPs Nil (Cons (nonnull0 (span isDigit wz6)) (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];16 -> 17[label="",style="solid", color="black", weight=3]; 18.21/6.52 17[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (psPs (nonnull0 (span isDigit wz6)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];17 -> 18[label="",style="solid", color="black", weight=3]; 18.21/6.52 18[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (psPs (nonnull00 (span isDigit wz6)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="burlywood",shape="box"];2544[label="wz6/Cons wz60 wz61",fontsize=10,color="white",style="solid",shape="box"];18 -> 2544[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2544 -> 19[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2545[label="wz6/Nil",fontsize=10,color="white",style="solid",shape="box"];18 -> 2545[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2545 -> 20[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 19[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (psPs (nonnull00 (span isDigit (Cons wz60 wz61))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];19 -> 21[label="",style="solid", color="black", weight=3]; 18.21/6.52 20[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (psPs (nonnull00 (span isDigit Nil)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];20 -> 22[label="",style="solid", color="black", weight=3]; 18.21/6.52 21[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (psPs (nonnull00 (span2 isDigit (Cons wz60 wz61))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];21 -> 23[label="",style="solid", color="black", weight=3]; 18.21/6.52 22[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (psPs (nonnull00 (span3 isDigit Nil)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];22 -> 24[label="",style="solid", color="black", weight=3]; 18.21/6.52 23[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz61 isDigit wz60 wz61 (isDigit wz60))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];23 -> 25[label="",style="solid", color="black", weight=3]; 18.21/6.52 24[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (psPs (nonnull00 (Tup2 Nil Nil)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];24 -> 26[label="",style="solid", color="black", weight=3]; 18.21/6.52 25 -> 33[label="",style="dashed", color="red", weight=0]; 18.21/6.52 25[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz61 isDigit wz60 wz61 (asAs (gtEsChar wz60 (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar wz60 (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="magenta"];25 -> 34[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 25 -> 35[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 25 -> 36[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 25 -> 37[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 25 -> 38[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 26[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (psPs Nil (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="triangle"];26 -> 32[label="",style="solid", color="black", weight=3]; 18.21/6.52 34[label="wz61",fontsize=16,color="green",shape="box"];35[label="wz5",fontsize=16,color="green",shape="box"];36[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];37[label="wz60",fontsize=16,color="green",shape="box"];38[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];33[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit wz15 wz14 (asAs (gtEsChar wz15 (Char (Pos (Succ wz16)))) (ltEsChar wz15 (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="triangle"];33 -> 44[label="",style="solid", color="black", weight=3]; 18.21/6.52 32[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (foldr psPs Nil (map nonnull0 Nil)))",fontsize=16,color="black",shape="box"];32 -> 45[label="",style="solid", color="black", weight=3]; 18.21/6.52 44[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit wz15 wz14 (asAs (fsEsOrdering (compareChar wz15 (Char (Pos (Succ wz16)))) LT) (ltEsChar wz15 (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];44 -> 46[label="",style="solid", color="black", weight=3]; 18.21/6.52 45[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) (foldr psPs Nil Nil))",fontsize=16,color="black",shape="box"];45 -> 47[label="",style="solid", color="black", weight=3]; 18.21/6.52 46[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit wz15 wz14 (asAs (not (esEsOrdering (compareChar wz15 (Char (Pos (Succ wz16)))) LT)) (ltEsChar wz15 (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];46 -> 48[label="",style="solid", color="black", weight=3]; 18.21/6.52 47[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz5))) readDec0) Nil)",fontsize=16,color="black",shape="box"];47 -> 49[label="",style="solid", color="black", weight=3]; 18.21/6.52 48[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit wz15 wz14 (asAs (not (esEsOrdering (primCmpChar wz15 (Char (Pos (Succ wz16)))) LT)) (ltEsChar wz15 (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="burlywood",shape="box"];2546[label="wz15/Char wz150",fontsize=10,color="white",style="solid",shape="box"];48 -> 2546[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2546 -> 50[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 49[label="foldr psPs Nil Nil",fontsize=16,color="black",shape="box"];49 -> 51[label="",style="solid", color="black", weight=3]; 18.21/6.52 50[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char wz150) wz14 (asAs (not (esEsOrdering (primCmpChar (Char wz150) (Char (Pos (Succ wz16)))) LT)) (ltEsChar (Char wz150) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];50 -> 52[label="",style="solid", color="black", weight=3]; 18.21/6.52 51[label="Nil",fontsize=16,color="green",shape="box"];52[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char wz150) wz14 (asAs (not (esEsOrdering (primCmpInt wz150 (Pos (Succ wz16))) LT)) (ltEsChar (Char wz150) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="burlywood",shape="box"];2547[label="wz150/Pos wz1500",fontsize=10,color="white",style="solid",shape="box"];52 -> 2547[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2547 -> 53[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2548[label="wz150/Neg wz1500",fontsize=10,color="white",style="solid",shape="box"];52 -> 2548[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2548 -> 54[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 53[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Pos wz1500)) wz14 (asAs (not (esEsOrdering (primCmpInt (Pos wz1500) (Pos (Succ wz16))) LT)) (ltEsChar (Char (Pos wz1500)) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="burlywood",shape="box"];2549[label="wz1500/Succ wz15000",fontsize=10,color="white",style="solid",shape="box"];53 -> 2549[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2549 -> 55[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2550[label="wz1500/Zero",fontsize=10,color="white",style="solid",shape="box"];53 -> 2550[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2550 -> 56[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 54[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Neg wz1500)) wz14 (asAs (not (esEsOrdering (primCmpInt (Neg wz1500) (Pos (Succ wz16))) LT)) (ltEsChar (Char (Neg wz1500)) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="burlywood",shape="box"];2551[label="wz1500/Succ wz15000",fontsize=10,color="white",style="solid",shape="box"];54 -> 2551[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2551 -> 57[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2552[label="wz1500/Zero",fontsize=10,color="white",style="solid",shape="box"];54 -> 2552[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2552 -> 58[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 55[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Pos (Succ wz15000))) wz14 (asAs (not (esEsOrdering (primCmpInt (Pos (Succ wz15000)) (Pos (Succ wz16))) LT)) (ltEsChar (Char (Pos (Succ wz15000))) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];55 -> 59[label="",style="solid", color="black", weight=3]; 18.21/6.52 56[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Pos Zero)) wz14 (asAs (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ wz16))) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];56 -> 60[label="",style="solid", color="black", weight=3]; 18.21/6.52 57[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Neg (Succ wz15000))) wz14 (asAs (not (esEsOrdering (primCmpInt (Neg (Succ wz15000)) (Pos (Succ wz16))) LT)) (ltEsChar (Char (Neg (Succ wz15000))) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];57 -> 61[label="",style="solid", color="black", weight=3]; 18.21/6.52 58[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Neg Zero)) wz14 (asAs (not (esEsOrdering (primCmpInt (Neg Zero) (Pos (Succ wz16))) LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];58 -> 62[label="",style="solid", color="black", weight=3]; 18.21/6.52 59 -> 352[label="",style="dashed", color="red", weight=0]; 18.21/6.52 59[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Pos (Succ wz15000))) wz14 (asAs (not (esEsOrdering (primCmpNat (Succ wz15000) (Succ wz16)) LT)) (ltEsChar (Char (Pos (Succ wz15000))) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="magenta"];59 -> 353[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 59 -> 354[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 59 -> 355[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 59 -> 356[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 59 -> 357[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 59 -> 358[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 60[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Pos Zero)) wz14 (asAs (not (esEsOrdering (primCmpNat Zero (Succ wz16)) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];60 -> 64[label="",style="solid", color="black", weight=3]; 18.21/6.52 61[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Neg (Succ wz15000))) wz14 (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Neg (Succ wz15000))) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];61 -> 65[label="",style="solid", color="black", weight=3]; 18.21/6.52 62[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Neg Zero)) wz14 (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];62 -> 66[label="",style="solid", color="black", weight=3]; 18.21/6.52 353[label="Succ wz16",fontsize=16,color="green",shape="box"];354[label="Succ wz15000",fontsize=16,color="green",shape="box"];355[label="wz17",fontsize=16,color="green",shape="box"];356[label="wz13",fontsize=16,color="green",shape="box"];357[label="wz15000",fontsize=16,color="green",shape="box"];358[label="wz14",fontsize=16,color="green",shape="box"];352[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not (esEsOrdering (primCmpNat wz31 wz32) LT)) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="burlywood",shape="triangle"];2553[label="wz31/Succ wz310",fontsize=10,color="white",style="solid",shape="box"];352 -> 2553[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2553 -> 413[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2554[label="wz31/Zero",fontsize=10,color="white",style="solid",shape="box"];352 -> 2554[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2554 -> 414[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 64[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Pos Zero)) wz14 (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];64 -> 69[label="",style="solid", color="black", weight=3]; 18.21/6.52 65[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Neg (Succ wz15000))) wz14 (asAs (not MyTrue) (ltEsChar (Char (Neg (Succ wz15000))) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];65 -> 70[label="",style="solid", color="black", weight=3]; 18.21/6.52 66[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Neg Zero)) wz14 (asAs (not MyTrue) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];66 -> 71[label="",style="solid", color="black", weight=3]; 18.21/6.52 413[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not (esEsOrdering (primCmpNat (Succ wz310) wz32) LT)) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="burlywood",shape="box"];2555[label="wz32/Succ wz320",fontsize=10,color="white",style="solid",shape="box"];413 -> 2555[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2555 -> 415[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2556[label="wz32/Zero",fontsize=10,color="white",style="solid",shape="box"];413 -> 2556[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2556 -> 416[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 414[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not (esEsOrdering (primCmpNat Zero wz32) LT)) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="burlywood",shape="box"];2557[label="wz32/Succ wz320",fontsize=10,color="white",style="solid",shape="box"];414 -> 2557[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2557 -> 417[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2558[label="wz32/Zero",fontsize=10,color="white",style="solid",shape="box"];414 -> 2558[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2558 -> 418[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 69[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Pos Zero)) wz14 (asAs (not MyTrue) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];69 -> 76[label="",style="solid", color="black", weight=3]; 18.21/6.52 70[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Neg (Succ wz15000))) wz14 (asAs MyFalse (ltEsChar (Char (Neg (Succ wz15000))) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];70 -> 77[label="",style="solid", color="black", weight=3]; 18.21/6.52 71[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Neg Zero)) wz14 (asAs MyFalse (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];71 -> 78[label="",style="solid", color="black", weight=3]; 18.21/6.52 415[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not (esEsOrdering (primCmpNat (Succ wz310) (Succ wz320)) LT)) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];415 -> 419[label="",style="solid", color="black", weight=3]; 18.21/6.52 416[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not (esEsOrdering (primCmpNat (Succ wz310) Zero) LT)) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];416 -> 420[label="",style="solid", color="black", weight=3]; 18.21/6.52 417[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not (esEsOrdering (primCmpNat Zero (Succ wz320)) LT)) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];417 -> 421[label="",style="solid", color="black", weight=3]; 18.21/6.52 418[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not (esEsOrdering (primCmpNat Zero Zero) LT)) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];418 -> 422[label="",style="solid", color="black", weight=3]; 18.21/6.52 76[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Pos Zero)) wz14 (asAs MyFalse (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz17))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];76 -> 83[label="",style="solid", color="black", weight=3]; 18.21/6.52 77[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Neg (Succ wz15000))) wz14 MyFalse)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];77 -> 84[label="",style="solid", color="black", weight=3]; 18.21/6.52 78[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Neg Zero)) wz14 MyFalse)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];78 -> 85[label="",style="solid", color="black", weight=3]; 18.21/6.52 419 -> 352[label="",style="dashed", color="red", weight=0]; 18.21/6.52 419[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not (esEsOrdering (primCmpNat wz310 wz320) LT)) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="magenta"];419 -> 423[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 419 -> 424[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 420[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not (esEsOrdering GT LT)) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];420 -> 425[label="",style="solid", color="black", weight=3]; 18.21/6.52 421[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];421 -> 426[label="",style="solid", color="black", weight=3]; 18.21/6.52 422[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not (esEsOrdering EQ LT)) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];422 -> 427[label="",style="solid", color="black", weight=3]; 18.21/6.52 83[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz14 isDigit (Char (Pos Zero)) wz14 MyFalse)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];83 -> 91[label="",style="solid", color="black", weight=3]; 18.21/6.52 84[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span0 isDigit wz14 isDigit (Char (Neg (Succ wz15000))) wz14 otherwise)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];84 -> 92[label="",style="solid", color="black", weight=3]; 18.21/6.52 85[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span0 isDigit wz14 isDigit (Char (Neg Zero)) wz14 otherwise)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];85 -> 93[label="",style="solid", color="black", weight=3]; 18.21/6.52 423[label="wz320",fontsize=16,color="green",shape="box"];424[label="wz310",fontsize=16,color="green",shape="box"];425[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not MyFalse) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="triangle"];425 -> 428[label="",style="solid", color="black", weight=3]; 18.21/6.52 426[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not MyTrue) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];426 -> 429[label="",style="solid", color="black", weight=3]; 18.21/6.52 427 -> 425[label="",style="dashed", color="red", weight=0]; 18.21/6.52 427[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs (not MyFalse) (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="magenta"];91[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span0 isDigit wz14 isDigit (Char (Pos Zero)) wz14 otherwise)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];91 -> 101[label="",style="solid", color="black", weight=3]; 18.21/6.52 92[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span0 isDigit wz14 isDigit (Char (Neg (Succ wz15000))) wz14 MyTrue)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];92 -> 102[label="",style="solid", color="black", weight=3]; 18.21/6.52 93[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span0 isDigit wz14 isDigit (Char (Neg Zero)) wz14 MyTrue)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];93 -> 103[label="",style="solid", color="black", weight=3]; 18.21/6.52 428[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs MyTrue (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];428 -> 430[label="",style="solid", color="black", weight=3]; 18.21/6.52 429[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (asAs MyFalse (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33))))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];429 -> 431[label="",style="solid", color="black", weight=3]; 18.21/6.52 101[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (span2Span0 isDigit wz14 isDigit (Char (Pos Zero)) wz14 MyTrue)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];101 -> 111[label="",style="solid", color="black", weight=3]; 18.21/6.52 102[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (Tup2 Nil (Cons (Char (Neg (Succ wz15000))) wz14))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];102 -> 112[label="",style="solid", color="black", weight=3]; 18.21/6.52 103[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (Tup2 Nil (Cons (Char (Neg Zero)) wz14))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];103 -> 113[label="",style="solid", color="black", weight=3]; 18.21/6.52 430[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (ltEsChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33)))))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];430 -> 432[label="",style="solid", color="black", weight=3]; 18.21/6.52 431[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 MyFalse)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="triangle"];431 -> 433[label="",style="solid", color="black", weight=3]; 18.21/6.52 111[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs (nonnull00 (Tup2 Nil (Cons (Char (Pos Zero)) wz14))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];111 -> 122[label="",style="solid", color="black", weight=3]; 18.21/6.52 112 -> 26[label="",style="dashed", color="red", weight=0]; 18.21/6.52 112[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs Nil (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="magenta"];112 -> 123[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 113 -> 26[label="",style="dashed", color="red", weight=0]; 18.21/6.52 113[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs Nil (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="magenta"];113 -> 124[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 432[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (fsEsOrdering (compareChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33)))) GT))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];432 -> 434[label="",style="solid", color="black", weight=3]; 18.21/6.52 433[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span0 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 otherwise)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];433 -> 435[label="",style="solid", color="black", weight=3]; 18.21/6.52 122 -> 26[label="",style="dashed", color="red", weight=0]; 18.21/6.52 122[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz13))) readDec0) (psPs Nil (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="magenta"];122 -> 134[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 123[label="wz13",fontsize=16,color="green",shape="box"];124[label="wz13",fontsize=16,color="green",shape="box"];434[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (not (esEsOrdering (compareChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33)))) GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];434 -> 436[label="",style="solid", color="black", weight=3]; 18.21/6.52 435[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span0 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 MyTrue)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];435 -> 437[label="",style="solid", color="black", weight=3]; 18.21/6.52 134[label="wz13",fontsize=16,color="green",shape="box"];436[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (not (esEsOrdering (primCmpChar (Char (Pos (Succ wz30))) (Char (Pos (Succ wz33)))) GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];436 -> 438[label="",style="solid", color="black", weight=3]; 18.21/6.52 437[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (Tup2 Nil (Cons (Char (Pos (Succ wz30))) wz29))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];437 -> 439[label="",style="solid", color="black", weight=3]; 18.21/6.52 438[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (not (esEsOrdering (primCmpInt (Pos (Succ wz30)) (Pos (Succ wz33))) GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];438 -> 440[label="",style="solid", color="black", weight=3]; 18.21/6.52 439 -> 26[label="",style="dashed", color="red", weight=0]; 18.21/6.52 439[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs Nil (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="magenta"];439 -> 441[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 440 -> 679[label="",style="dashed", color="red", weight=0]; 18.21/6.52 440[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz28))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz29 isDigit (Char (Pos (Succ wz30))) wz29 (not (esEsOrdering (primCmpNat (Succ wz30) (Succ wz33)) GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="magenta"];440 -> 680[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 440 -> 681[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 440 -> 682[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 440 -> 683[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 440 -> 684[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 441[label="wz28",fontsize=16,color="green",shape="box"];680[label="wz30",fontsize=16,color="green",shape="box"];681[label="wz28",fontsize=16,color="green",shape="box"];682[label="wz29",fontsize=16,color="green",shape="box"];683[label="Succ wz30",fontsize=16,color="green",shape="box"];684[label="Succ wz33",fontsize=16,color="green",shape="box"];679[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not (esEsOrdering (primCmpNat wz62 wz63) GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="burlywood",shape="triangle"];2559[label="wz62/Succ wz620",fontsize=10,color="white",style="solid",shape="box"];679 -> 2559[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2559 -> 730[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2560[label="wz62/Zero",fontsize=10,color="white",style="solid",shape="box"];679 -> 2560[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2560 -> 731[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 730[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not (esEsOrdering (primCmpNat (Succ wz620) wz63) GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="burlywood",shape="box"];2561[label="wz63/Succ wz630",fontsize=10,color="white",style="solid",shape="box"];730 -> 2561[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2561 -> 732[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2562[label="wz63/Zero",fontsize=10,color="white",style="solid",shape="box"];730 -> 2562[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2562 -> 733[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 731[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not (esEsOrdering (primCmpNat Zero wz63) GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="burlywood",shape="box"];2563[label="wz63/Succ wz630",fontsize=10,color="white",style="solid",shape="box"];731 -> 2563[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2563 -> 734[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2564[label="wz63/Zero",fontsize=10,color="white",style="solid",shape="box"];731 -> 2564[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2564 -> 735[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 732[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not (esEsOrdering (primCmpNat (Succ wz620) (Succ wz630)) GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];732 -> 736[label="",style="solid", color="black", weight=3]; 18.21/6.52 733[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not (esEsOrdering (primCmpNat (Succ wz620) Zero) GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];733 -> 737[label="",style="solid", color="black", weight=3]; 18.21/6.52 734[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not (esEsOrdering (primCmpNat Zero (Succ wz630)) GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];734 -> 738[label="",style="solid", color="black", weight=3]; 18.21/6.52 735[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not (esEsOrdering (primCmpNat Zero Zero) GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];735 -> 739[label="",style="solid", color="black", weight=3]; 18.21/6.52 736 -> 679[label="",style="dashed", color="red", weight=0]; 18.21/6.52 736[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not (esEsOrdering (primCmpNat wz620 wz630) GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="magenta"];736 -> 740[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 736 -> 741[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 737[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not (esEsOrdering GT GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];737 -> 742[label="",style="solid", color="black", weight=3]; 18.21/6.52 738[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not (esEsOrdering LT GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];738 -> 743[label="",style="solid", color="black", weight=3]; 18.21/6.52 739[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not (esEsOrdering EQ GT)))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];739 -> 744[label="",style="solid", color="black", weight=3]; 18.21/6.52 740[label="wz620",fontsize=16,color="green",shape="box"];741[label="wz630",fontsize=16,color="green",shape="box"];742[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not MyTrue))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];742 -> 745[label="",style="solid", color="black", weight=3]; 18.21/6.52 743[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not MyFalse))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="triangle"];743 -> 746[label="",style="solid", color="black", weight=3]; 18.21/6.52 744 -> 743[label="",style="dashed", color="red", weight=0]; 18.21/6.52 744[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 (not MyFalse))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="magenta"];745 -> 431[label="",style="dashed", color="red", weight=0]; 18.21/6.52 745[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 MyFalse)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="magenta"];745 -> 747[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 745 -> 748[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 745 -> 749[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 746[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (span2Span1 isDigit wz60 isDigit (Char (Pos (Succ wz61))) wz60 MyTrue)) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];746 -> 750[label="",style="solid", color="black", weight=3]; 18.21/6.52 747[label="wz59",fontsize=16,color="green",shape="box"];748[label="wz61",fontsize=16,color="green",shape="box"];749[label="wz60",fontsize=16,color="green",shape="box"];750[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (nonnull00 (Tup2 (Cons (Char (Pos (Succ wz61))) (span2Ys isDigit wz60)) (span2Zs isDigit wz60))) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];750 -> 751[label="",style="solid", color="black", weight=3]; 18.21/6.52 751[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs (Cons (Tup2 (Cons (Char (Pos (Succ wz61))) (span2Ys isDigit wz60)) (span2Zs isDigit wz60)) Nil) (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="black",shape="box"];751 -> 752[label="",style="solid", color="black", weight=3]; 18.21/6.52 752[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (Cons (Tup2 (Cons (Char (Pos (Succ wz61))) (span2Ys isDigit wz60)) (span2Zs isDigit wz60)) (psPs Nil (foldr psPs Nil (map nonnull0 Nil)))))",fontsize=16,color="black",shape="box"];752 -> 753[label="",style="solid", color="black", weight=3]; 18.21/6.52 753[label="foldr psPs Nil (Cons (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0 (Tup2 (Cons (Char (Pos (Succ wz61))) (span2Ys isDigit wz60)) (span2Zs isDigit wz60))) (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs Nil (foldr psPs Nil (map nonnull0 Nil)))))",fontsize=16,color="black",shape="box"];753 -> 754[label="",style="solid", color="black", weight=3]; 18.21/6.52 754 -> 755[label="",style="dashed", color="red", weight=0]; 18.21/6.52 754[label="psPs (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0 (Tup2 (Cons (Char (Pos (Succ wz61))) (span2Ys isDigit wz60)) (span2Zs isDigit wz60))) (foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs Nil (foldr psPs Nil (map nonnull0 Nil)))))",fontsize=16,color="magenta"];754 -> 756[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 756 -> 26[label="",style="dashed", color="red", weight=0]; 18.21/6.52 756[label="foldr psPs Nil (map (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0) (psPs Nil (foldr psPs Nil (map nonnull0 Nil))))",fontsize=16,color="magenta"];756 -> 757[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 755[label="psPs (readInt1 (fromIntMyInt (Pos (Succ wz59))) readDec0 (Tup2 (Cons (Char (Pos (Succ wz61))) (span2Ys isDigit wz60)) (span2Zs isDigit wz60))) wz64",fontsize=16,color="black",shape="triangle"];755 -> 758[label="",style="solid", color="black", weight=3]; 18.21/6.52 757[label="wz59",fontsize=16,color="green",shape="box"];758[label="psPs (readInt10 (fromIntMyInt (Pos (Succ wz59))) readDec0 (Tup2 (Cons (Char (Pos (Succ wz61))) (span2Ys isDigit wz60)) (span2Zs isDigit wz60))) wz64",fontsize=16,color="black",shape="box"];758 -> 759[label="",style="solid", color="black", weight=3]; 18.21/6.52 759[label="psPs (Cons (Tup2 (foldl1 (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (map (pt fromIntegral readDec0) (Cons (Char (Pos (Succ wz61))) (span2Ys isDigit wz60)))) (span2Zs isDigit wz60)) Nil) wz64",fontsize=16,color="black",shape="box"];759 -> 760[label="",style="solid", color="black", weight=3]; 18.21/6.52 760[label="Cons (Tup2 (foldl1 (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (map (pt fromIntegral readDec0) (Cons (Char (Pos (Succ wz61))) (span2Ys isDigit wz60)))) (span2Zs isDigit wz60)) (psPs Nil wz64)",fontsize=16,color="green",shape="box"];760 -> 761[label="",style="dashed", color="green", weight=3]; 18.21/6.52 760 -> 762[label="",style="dashed", color="green", weight=3]; 18.21/6.52 760 -> 763[label="",style="dashed", color="green", weight=3]; 18.21/6.52 761[label="foldl1 (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (map (pt fromIntegral readDec0) (Cons (Char (Pos (Succ wz61))) (span2Ys isDigit wz60)))",fontsize=16,color="black",shape="box"];761 -> 764[label="",style="solid", color="black", weight=3]; 18.21/6.52 762[label="span2Zs isDigit wz60",fontsize=16,color="black",shape="triangle"];762 -> 765[label="",style="solid", color="black", weight=3]; 18.21/6.52 763[label="psPs Nil wz64",fontsize=16,color="black",shape="box"];763 -> 766[label="",style="solid", color="black", weight=3]; 18.21/6.52 764[label="foldl1 (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (Cons (pt fromIntegral readDec0 (Char (Pos (Succ wz61)))) (map (pt fromIntegral readDec0) (span2Ys isDigit wz60)))",fontsize=16,color="black",shape="box"];764 -> 767[label="",style="solid", color="black", weight=3]; 18.21/6.52 765[label="span2Zs0 isDigit wz60 (span2Vu43 isDigit wz60)",fontsize=16,color="black",shape="box"];765 -> 768[label="",style="solid", color="black", weight=3]; 18.21/6.52 766[label="wz64",fontsize=16,color="green",shape="box"];767[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz61)))) (map (pt fromIntegral readDec0) (span2Ys isDigit wz60))",fontsize=16,color="black",shape="box"];767 -> 769[label="",style="solid", color="black", weight=3]; 18.21/6.52 768[label="span2Zs0 isDigit wz60 (span isDigit wz60)",fontsize=16,color="burlywood",shape="box"];2565[label="wz60/Cons wz600 wz601",fontsize=10,color="white",style="solid",shape="box"];768 -> 2565[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2565 -> 770[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2566[label="wz60/Nil",fontsize=10,color="white",style="solid",shape="box"];768 -> 2566[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2566 -> 771[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 769[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz61)))) (map (pt fromIntegral readDec0) (span2Ys0 isDigit wz60 (span2Vu43 isDigit wz60)))",fontsize=16,color="black",shape="box"];769 -> 772[label="",style="solid", color="black", weight=3]; 18.21/6.52 770[label="span2Zs0 isDigit (Cons wz600 wz601) (span isDigit (Cons wz600 wz601))",fontsize=16,color="black",shape="box"];770 -> 773[label="",style="solid", color="black", weight=3]; 18.21/6.52 771[label="span2Zs0 isDigit Nil (span isDigit Nil)",fontsize=16,color="black",shape="box"];771 -> 774[label="",style="solid", color="black", weight=3]; 18.21/6.52 772[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz61)))) (map (pt fromIntegral readDec0) (span2Ys0 isDigit wz60 (span isDigit wz60)))",fontsize=16,color="burlywood",shape="box"];2567[label="wz60/Cons wz600 wz601",fontsize=10,color="white",style="solid",shape="box"];772 -> 2567[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2567 -> 775[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2568[label="wz60/Nil",fontsize=10,color="white",style="solid",shape="box"];772 -> 2568[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2568 -> 776[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 773[label="span2Zs0 isDigit (Cons wz600 wz601) (span2 isDigit (Cons wz600 wz601))",fontsize=16,color="black",shape="box"];773 -> 777[label="",style="solid", color="black", weight=3]; 18.21/6.52 774[label="span2Zs0 isDigit Nil (span3 isDigit Nil)",fontsize=16,color="black",shape="box"];774 -> 778[label="",style="solid", color="black", weight=3]; 18.21/6.52 775[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz61)))) (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz600 wz601) (span isDigit (Cons wz600 wz601))))",fontsize=16,color="black",shape="box"];775 -> 779[label="",style="solid", color="black", weight=3]; 18.21/6.52 776[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz61)))) (map (pt fromIntegral readDec0) (span2Ys0 isDigit Nil (span isDigit Nil)))",fontsize=16,color="black",shape="box"];776 -> 780[label="",style="solid", color="black", weight=3]; 18.21/6.52 777[label="span2Zs0 isDigit (Cons wz600 wz601) (span2Span1 isDigit wz601 isDigit wz600 wz601 (isDigit wz600))",fontsize=16,color="black",shape="box"];777 -> 781[label="",style="solid", color="black", weight=3]; 18.21/6.52 778[label="span2Zs0 isDigit Nil (Tup2 Nil Nil)",fontsize=16,color="black",shape="box"];778 -> 782[label="",style="solid", color="black", weight=3]; 18.21/6.52 779[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz61)))) (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz600 wz601) (span2 isDigit (Cons wz600 wz601))))",fontsize=16,color="black",shape="box"];779 -> 783[label="",style="solid", color="black", weight=3]; 18.21/6.52 780[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz61)))) (map (pt fromIntegral readDec0) (span2Ys0 isDigit Nil (span3 isDigit Nil)))",fontsize=16,color="black",shape="box"];780 -> 784[label="",style="solid", color="black", weight=3]; 18.21/6.52 781 -> 791[label="",style="dashed", color="red", weight=0]; 18.21/6.52 781[label="span2Zs0 isDigit (Cons wz600 wz601) (span2Span1 isDigit wz601 isDigit wz600 wz601 (asAs (gtEsChar wz600 (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar wz600 (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];781 -> 792[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 781 -> 793[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 781 -> 794[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 781 -> 795[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 782[label="Nil",fontsize=16,color="green",shape="box"];783[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz61)))) (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz600 wz601) (span2Span1 isDigit wz601 isDigit wz600 wz601 (isDigit wz600))))",fontsize=16,color="black",shape="box"];783 -> 789[label="",style="solid", color="black", weight=3]; 18.21/6.52 784[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz61)))) (map (pt fromIntegral readDec0) (span2Ys0 isDigit Nil (Tup2 Nil Nil)))",fontsize=16,color="black",shape="box"];784 -> 790[label="",style="solid", color="black", weight=3]; 18.21/6.52 792[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];793[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];794[label="wz600",fontsize=16,color="green",shape="box"];795[label="wz601",fontsize=16,color="green",shape="box"];791[label="span2Zs0 isDigit (Cons wz70 wz71) (span2Span1 isDigit wz71 isDigit wz70 wz71 (asAs (gtEsChar wz70 (Char (Pos (Succ wz72)))) (ltEsChar wz70 (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="triangle"];791 -> 800[label="",style="solid", color="black", weight=3]; 18.21/6.52 789 -> 809[label="",style="dashed", color="red", weight=0]; 18.21/6.52 789[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz61)))) (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz600 wz601) (span2Span1 isDigit wz601 isDigit wz600 wz601 (asAs (gtEsChar wz600 (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar wz600 (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];789 -> 810[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 789 -> 811[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 789 -> 812[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 789 -> 813[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 789 -> 814[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 789 -> 815[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 790[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz61)))) (map (pt fromIntegral readDec0) Nil)",fontsize=16,color="black",shape="box"];790 -> 807[label="",style="solid", color="black", weight=3]; 18.21/6.52 800[label="span2Zs0 isDigit (Cons wz70 wz71) (span2Span1 isDigit wz71 isDigit wz70 wz71 (asAs (fsEsOrdering (compareChar wz70 (Char (Pos (Succ wz72)))) LT) (ltEsChar wz70 (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];800 -> 808[label="",style="solid", color="black", weight=3]; 18.21/6.52 810[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];811[label="wz59",fontsize=16,color="green",shape="box"];812[label="wz61",fontsize=16,color="green",shape="box"];813[label="wz600",fontsize=16,color="green",shape="box"];814[label="wz601",fontsize=16,color="green",shape="box"];815[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];809[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz81)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz82)))) (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz83 wz84) (span2Span1 isDigit wz84 isDigit wz83 wz84 (asAs (gtEsChar wz83 (Char (Pos (Succ wz85)))) (ltEsChar wz83 (Char (Pos (Succ wz86))))))))",fontsize=16,color="black",shape="triangle"];809 -> 822[label="",style="solid", color="black", weight=3]; 18.21/6.52 807[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz59)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz61)))) Nil",fontsize=16,color="black",shape="box"];807 -> 823[label="",style="solid", color="black", weight=3]; 18.21/6.52 808[label="span2Zs0 isDigit (Cons wz70 wz71) (span2Span1 isDigit wz71 isDigit wz70 wz71 (asAs (not (esEsOrdering (compareChar wz70 (Char (Pos (Succ wz72)))) LT)) (ltEsChar wz70 (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];808 -> 824[label="",style="solid", color="black", weight=3]; 18.21/6.52 822 -> 1752[label="",style="dashed", color="red", weight=0]; 18.21/6.52 822[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz81)))) (pt fromIntegral readDec0 (Char (Pos (Succ wz82)))) (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz83 wz84) (span2Span1 isDigit wz84 isDigit wz83 wz84 (asAs (fsEsOrdering (compareChar wz83 (Char (Pos (Succ wz85)))) LT) (ltEsChar wz83 (Char (Pos (Succ wz86))))))))",fontsize=16,color="magenta"];822 -> 1753[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 822 -> 1754[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 822 -> 1755[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 822 -> 1756[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 822 -> 1757[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 822 -> 1758[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 823[label="pt fromIntegral readDec0 (Char (Pos (Succ wz61)))",fontsize=16,color="black",shape="triangle"];823 -> 826[label="",style="solid", color="black", weight=3]; 18.21/6.52 824[label="span2Zs0 isDigit (Cons wz70 wz71) (span2Span1 isDigit wz71 isDigit wz70 wz71 (asAs (not (esEsOrdering (primCmpChar wz70 (Char (Pos (Succ wz72)))) LT)) (ltEsChar wz70 (Char (Pos (Succ wz73))))))",fontsize=16,color="burlywood",shape="box"];2569[label="wz70/Char wz700",fontsize=10,color="white",style="solid",shape="box"];824 -> 2569[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2569 -> 827[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 1753 -> 823[label="",style="dashed", color="red", weight=0]; 18.21/6.52 1753[label="pt fromIntegral readDec0 (Char (Pos (Succ wz82)))",fontsize=16,color="magenta"];1753 -> 1760[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 1754[label="wz83",fontsize=16,color="green",shape="box"];1755[label="wz81",fontsize=16,color="green",shape="box"];1756[label="wz85",fontsize=16,color="green",shape="box"];1757[label="wz84",fontsize=16,color="green",shape="box"];1758[label="wz86",fontsize=16,color="green",shape="box"];1752[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz135 wz136) (span2Span1 isDigit wz136 isDigit wz135 wz136 (asAs (fsEsOrdering (compareChar wz135 (Char (Pos (Succ wz137)))) LT) (ltEsChar wz135 (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="triangle"];1752 -> 1761[label="",style="solid", color="black", weight=3]; 18.21/6.52 826[label="fromIntegral (readDec0 (Char (Pos (Succ wz61))))",fontsize=16,color="black",shape="box"];826 -> 830[label="",style="solid", color="black", weight=3]; 18.21/6.52 827[label="span2Zs0 isDigit (Cons (Char wz700) wz71) (span2Span1 isDigit wz71 isDigit (Char wz700) wz71 (asAs (not (esEsOrdering (primCmpChar (Char wz700) (Char (Pos (Succ wz72)))) LT)) (ltEsChar (Char wz700) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];827 -> 831[label="",style="solid", color="black", weight=3]; 18.21/6.52 1760[label="wz82",fontsize=16,color="green",shape="box"];1761[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz135 wz136) (span2Span1 isDigit wz136 isDigit wz135 wz136 (asAs (not (esEsOrdering (compareChar wz135 (Char (Pos (Succ wz137)))) LT)) (ltEsChar wz135 (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1761 -> 1762[label="",style="solid", color="black", weight=3]; 18.21/6.52 830[label="pt fromIntegerMyInt toIntegerMyInt (readDec0 (Char (Pos (Succ wz61))))",fontsize=16,color="black",shape="box"];830 -> 834[label="",style="solid", color="black", weight=3]; 18.21/6.52 831[label="span2Zs0 isDigit (Cons (Char wz700) wz71) (span2Span1 isDigit wz71 isDigit (Char wz700) wz71 (asAs (not (esEsOrdering (primCmpInt wz700 (Pos (Succ wz72))) LT)) (ltEsChar (Char wz700) (Char (Pos (Succ wz73))))))",fontsize=16,color="burlywood",shape="box"];2570[label="wz700/Pos wz7000",fontsize=10,color="white",style="solid",shape="box"];831 -> 2570[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2570 -> 835[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2571[label="wz700/Neg wz7000",fontsize=10,color="white",style="solid",shape="box"];831 -> 2571[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2571 -> 836[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 1762[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz135 wz136) (span2Span1 isDigit wz136 isDigit wz135 wz136 (asAs (not (esEsOrdering (primCmpChar wz135 (Char (Pos (Succ wz137)))) LT)) (ltEsChar wz135 (Char (Pos (Succ wz138))))))))",fontsize=16,color="burlywood",shape="box"];2572[label="wz135/Char wz1350",fontsize=10,color="white",style="solid",shape="box"];1762 -> 2572[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2572 -> 1763[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 834[label="fromIntegerMyInt (toIntegerMyInt (readDec0 (Char (Pos (Succ wz61)))))",fontsize=16,color="black",shape="box"];834 -> 838[label="",style="solid", color="black", weight=3]; 18.21/6.52 835[label="span2Zs0 isDigit (Cons (Char (Pos wz7000)) wz71) (span2Span1 isDigit wz71 isDigit (Char (Pos wz7000)) wz71 (asAs (not (esEsOrdering (primCmpInt (Pos wz7000) (Pos (Succ wz72))) LT)) (ltEsChar (Char (Pos wz7000)) (Char (Pos (Succ wz73))))))",fontsize=16,color="burlywood",shape="box"];2573[label="wz7000/Succ wz70000",fontsize=10,color="white",style="solid",shape="box"];835 -> 2573[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2573 -> 839[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2574[label="wz7000/Zero",fontsize=10,color="white",style="solid",shape="box"];835 -> 2574[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2574 -> 840[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 836[label="span2Zs0 isDigit (Cons (Char (Neg wz7000)) wz71) (span2Span1 isDigit wz71 isDigit (Char (Neg wz7000)) wz71 (asAs (not (esEsOrdering (primCmpInt (Neg wz7000) (Pos (Succ wz72))) LT)) (ltEsChar (Char (Neg wz7000)) (Char (Pos (Succ wz73))))))",fontsize=16,color="burlywood",shape="box"];2575[label="wz7000/Succ wz70000",fontsize=10,color="white",style="solid",shape="box"];836 -> 2575[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2575 -> 841[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2576[label="wz7000/Zero",fontsize=10,color="white",style="solid",shape="box"];836 -> 2576[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2576 -> 842[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 1763[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char wz1350) wz136) (span2Span1 isDigit wz136 isDigit (Char wz1350) wz136 (asAs (not (esEsOrdering (primCmpChar (Char wz1350) (Char (Pos (Succ wz137)))) LT)) (ltEsChar (Char wz1350) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1763 -> 1764[label="",style="solid", color="black", weight=3]; 18.21/6.52 838[label="fromIntegerMyInt (Integer (readDec0 (Char (Pos (Succ wz61)))))",fontsize=16,color="black",shape="box"];838 -> 844[label="",style="solid", color="black", weight=3]; 18.21/6.52 839[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz70000))) wz71) (span2Span1 isDigit wz71 isDigit (Char (Pos (Succ wz70000))) wz71 (asAs (not (esEsOrdering (primCmpInt (Pos (Succ wz70000)) (Pos (Succ wz72))) LT)) (ltEsChar (Char (Pos (Succ wz70000))) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];839 -> 845[label="",style="solid", color="black", weight=3]; 18.21/6.52 840[label="span2Zs0 isDigit (Cons (Char (Pos Zero)) wz71) (span2Span1 isDigit wz71 isDigit (Char (Pos Zero)) wz71 (asAs (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ wz72))) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];840 -> 846[label="",style="solid", color="black", weight=3]; 18.21/6.52 841[label="span2Zs0 isDigit (Cons (Char (Neg (Succ wz70000))) wz71) (span2Span1 isDigit wz71 isDigit (Char (Neg (Succ wz70000))) wz71 (asAs (not (esEsOrdering (primCmpInt (Neg (Succ wz70000)) (Pos (Succ wz72))) LT)) (ltEsChar (Char (Neg (Succ wz70000))) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];841 -> 847[label="",style="solid", color="black", weight=3]; 18.21/6.52 842[label="span2Zs0 isDigit (Cons (Char (Neg Zero)) wz71) (span2Span1 isDigit wz71 isDigit (Char (Neg Zero)) wz71 (asAs (not (esEsOrdering (primCmpInt (Neg Zero) (Pos (Succ wz72))) LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];842 -> 848[label="",style="solid", color="black", weight=3]; 18.21/6.52 1764[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char wz1350) wz136) (span2Span1 isDigit wz136 isDigit (Char wz1350) wz136 (asAs (not (esEsOrdering (primCmpInt wz1350 (Pos (Succ wz137))) LT)) (ltEsChar (Char wz1350) (Char (Pos (Succ wz138))))))))",fontsize=16,color="burlywood",shape="box"];2577[label="wz1350/Pos wz13500",fontsize=10,color="white",style="solid",shape="box"];1764 -> 2577[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2577 -> 1765[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2578[label="wz1350/Neg wz13500",fontsize=10,color="white",style="solid",shape="box"];1764 -> 2578[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2578 -> 1766[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 844[label="readDec0 (Char (Pos (Succ wz61)))",fontsize=16,color="black",shape="box"];844 -> 851[label="",style="solid", color="black", weight=3]; 18.21/6.52 845 -> 1135[label="",style="dashed", color="red", weight=0]; 18.21/6.52 845[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz70000))) wz71) (span2Span1 isDigit wz71 isDigit (Char (Pos (Succ wz70000))) wz71 (asAs (not (esEsOrdering (primCmpNat (Succ wz70000) (Succ wz72)) LT)) (ltEsChar (Char (Pos (Succ wz70000))) (Char (Pos (Succ wz73))))))",fontsize=16,color="magenta"];845 -> 1136[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 845 -> 1137[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 845 -> 1138[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 845 -> 1139[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 845 -> 1140[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 846[label="span2Zs0 isDigit (Cons (Char (Pos Zero)) wz71) (span2Span1 isDigit wz71 isDigit (Char (Pos Zero)) wz71 (asAs (not (esEsOrdering (primCmpNat Zero (Succ wz72)) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];846 -> 853[label="",style="solid", color="black", weight=3]; 18.21/6.52 847[label="span2Zs0 isDigit (Cons (Char (Neg (Succ wz70000))) wz71) (span2Span1 isDigit wz71 isDigit (Char (Neg (Succ wz70000))) wz71 (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Neg (Succ wz70000))) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];847 -> 854[label="",style="solid", color="black", weight=3]; 18.21/6.52 848[label="span2Zs0 isDigit (Cons (Char (Neg Zero)) wz71) (span2Span1 isDigit wz71 isDigit (Char (Neg Zero)) wz71 (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];848 -> 855[label="",style="solid", color="black", weight=3]; 18.21/6.52 1765[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos wz13500)) wz136) (span2Span1 isDigit wz136 isDigit (Char (Pos wz13500)) wz136 (asAs (not (esEsOrdering (primCmpInt (Pos wz13500) (Pos (Succ wz137))) LT)) (ltEsChar (Char (Pos wz13500)) (Char (Pos (Succ wz138))))))))",fontsize=16,color="burlywood",shape="box"];2579[label="wz13500/Succ wz135000",fontsize=10,color="white",style="solid",shape="box"];1765 -> 2579[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2579 -> 1767[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2580[label="wz13500/Zero",fontsize=10,color="white",style="solid",shape="box"];1765 -> 2580[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2580 -> 1768[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 1766[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg wz13500)) wz136) (span2Span1 isDigit wz136 isDigit (Char (Neg wz13500)) wz136 (asAs (not (esEsOrdering (primCmpInt (Neg wz13500) (Pos (Succ wz137))) LT)) (ltEsChar (Char (Neg wz13500)) (Char (Pos (Succ wz138))))))))",fontsize=16,color="burlywood",shape="box"];2581[label="wz13500/Succ wz135000",fontsize=10,color="white",style="solid",shape="box"];1766 -> 2581[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2581 -> 1769[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2582[label="wz13500/Zero",fontsize=10,color="white",style="solid",shape="box"];1766 -> 2582[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2582 -> 1770[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 851[label="msMyInt (fromEnumChar (Char (Pos (Succ wz61)))) fromEnum_0",fontsize=16,color="black",shape="box"];851 -> 860[label="",style="solid", color="black", weight=3]; 18.21/6.52 1136[label="Succ wz70000",fontsize=16,color="green",shape="box"];1137[label="Succ wz72",fontsize=16,color="green",shape="box"];1138[label="wz73",fontsize=16,color="green",shape="box"];1139[label="wz71",fontsize=16,color="green",shape="box"];1140[label="wz70000",fontsize=16,color="green",shape="box"];1135[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not (esEsOrdering (primCmpNat wz94 wz95) LT)) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="burlywood",shape="triangle"];2583[label="wz94/Succ wz940",fontsize=10,color="white",style="solid",shape="box"];1135 -> 2583[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2583 -> 1171[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2584[label="wz94/Zero",fontsize=10,color="white",style="solid",shape="box"];1135 -> 2584[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2584 -> 1172[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 853[label="span2Zs0 isDigit (Cons (Char (Pos Zero)) wz71) (span2Span1 isDigit wz71 isDigit (Char (Pos Zero)) wz71 (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];853 -> 863[label="",style="solid", color="black", weight=3]; 18.21/6.52 854[label="span2Zs0 isDigit (Cons (Char (Neg (Succ wz70000))) wz71) (span2Span1 isDigit wz71 isDigit (Char (Neg (Succ wz70000))) wz71 (asAs (not MyTrue) (ltEsChar (Char (Neg (Succ wz70000))) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];854 -> 864[label="",style="solid", color="black", weight=3]; 18.21/6.52 855[label="span2Zs0 isDigit (Cons (Char (Neg Zero)) wz71) (span2Span1 isDigit wz71 isDigit (Char (Neg Zero)) wz71 (asAs (not MyTrue) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];855 -> 865[label="",style="solid", color="black", weight=3]; 18.21/6.52 1767[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz135000))) wz136) (span2Span1 isDigit wz136 isDigit (Char (Pos (Succ wz135000))) wz136 (asAs (not (esEsOrdering (primCmpInt (Pos (Succ wz135000)) (Pos (Succ wz137))) LT)) (ltEsChar (Char (Pos (Succ wz135000))) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1767 -> 1771[label="",style="solid", color="black", weight=3]; 18.21/6.52 1768[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos Zero)) wz136) (span2Span1 isDigit wz136 isDigit (Char (Pos Zero)) wz136 (asAs (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ wz137))) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1768 -> 1772[label="",style="solid", color="black", weight=3]; 18.21/6.52 1769[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg (Succ wz135000))) wz136) (span2Span1 isDigit wz136 isDigit (Char (Neg (Succ wz135000))) wz136 (asAs (not (esEsOrdering (primCmpInt (Neg (Succ wz135000)) (Pos (Succ wz137))) LT)) (ltEsChar (Char (Neg (Succ wz135000))) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1769 -> 1773[label="",style="solid", color="black", weight=3]; 18.21/6.52 1770[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg Zero)) wz136) (span2Span1 isDigit wz136 isDigit (Char (Neg Zero)) wz136 (asAs (not (esEsOrdering (primCmpInt (Neg Zero) (Pos (Succ wz137))) LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1770 -> 1774[label="",style="solid", color="black", weight=3]; 18.21/6.52 860[label="primMinusInt (fromEnumChar (Char (Pos (Succ wz61)))) fromEnum_0",fontsize=16,color="black",shape="box"];860 -> 870[label="",style="solid", color="black", weight=3]; 18.21/6.52 1171[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not (esEsOrdering (primCmpNat (Succ wz940) wz95) LT)) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="burlywood",shape="box"];2585[label="wz95/Succ wz950",fontsize=10,color="white",style="solid",shape="box"];1171 -> 2585[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2585 -> 1184[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2586[label="wz95/Zero",fontsize=10,color="white",style="solid",shape="box"];1171 -> 2586[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2586 -> 1185[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 1172[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not (esEsOrdering (primCmpNat Zero wz95) LT)) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="burlywood",shape="box"];2587[label="wz95/Succ wz950",fontsize=10,color="white",style="solid",shape="box"];1172 -> 2587[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2587 -> 1186[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2588[label="wz95/Zero",fontsize=10,color="white",style="solid",shape="box"];1172 -> 2588[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2588 -> 1187[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 863[label="span2Zs0 isDigit (Cons (Char (Pos Zero)) wz71) (span2Span1 isDigit wz71 isDigit (Char (Pos Zero)) wz71 (asAs (not MyTrue) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];863 -> 875[label="",style="solid", color="black", weight=3]; 18.21/6.52 864[label="span2Zs0 isDigit (Cons (Char (Neg (Succ wz70000))) wz71) (span2Span1 isDigit wz71 isDigit (Char (Neg (Succ wz70000))) wz71 (asAs MyFalse (ltEsChar (Char (Neg (Succ wz70000))) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];864 -> 876[label="",style="solid", color="black", weight=3]; 18.21/6.52 865[label="span2Zs0 isDigit (Cons (Char (Neg Zero)) wz71) (span2Span1 isDigit wz71 isDigit (Char (Neg Zero)) wz71 (asAs MyFalse (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];865 -> 877[label="",style="solid", color="black", weight=3]; 18.21/6.52 1771 -> 2037[label="",style="dashed", color="red", weight=0]; 18.21/6.52 1771[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz135000))) wz136) (span2Span1 isDigit wz136 isDigit (Char (Pos (Succ wz135000))) wz136 (asAs (not (esEsOrdering (primCmpNat (Succ wz135000) (Succ wz137)) LT)) (ltEsChar (Char (Pos (Succ wz135000))) (Char (Pos (Succ wz138))))))))",fontsize=16,color="magenta"];1771 -> 2038[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 1771 -> 2039[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 1771 -> 2040[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 1771 -> 2041[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 1771 -> 2042[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 1771 -> 2043[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 1771 -> 2044[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 1772[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos Zero)) wz136) (span2Span1 isDigit wz136 isDigit (Char (Pos Zero)) wz136 (asAs (not (esEsOrdering (primCmpNat Zero (Succ wz137)) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1772 -> 1776[label="",style="solid", color="black", weight=3]; 18.21/6.52 1773[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg (Succ wz135000))) wz136) (span2Span1 isDigit wz136 isDigit (Char (Neg (Succ wz135000))) wz136 (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Neg (Succ wz135000))) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1773 -> 1777[label="",style="solid", color="black", weight=3]; 18.21/6.52 1774[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg Zero)) wz136) (span2Span1 isDigit wz136 isDigit (Char (Neg Zero)) wz136 (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1774 -> 1778[label="",style="solid", color="black", weight=3]; 18.21/6.52 870[label="primMinusInt (primCharToInt (Char (Pos (Succ wz61)))) fromEnum_0",fontsize=16,color="black",shape="box"];870 -> 882[label="",style="solid", color="black", weight=3]; 18.21/6.52 1184[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not (esEsOrdering (primCmpNat (Succ wz940) (Succ wz950)) LT)) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="black",shape="box"];1184 -> 1199[label="",style="solid", color="black", weight=3]; 18.21/6.52 1185[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not (esEsOrdering (primCmpNat (Succ wz940) Zero) LT)) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="black",shape="box"];1185 -> 1200[label="",style="solid", color="black", weight=3]; 18.21/6.52 1186[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not (esEsOrdering (primCmpNat Zero (Succ wz950)) LT)) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="black",shape="box"];1186 -> 1201[label="",style="solid", color="black", weight=3]; 18.21/6.52 1187[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not (esEsOrdering (primCmpNat Zero Zero) LT)) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="black",shape="box"];1187 -> 1202[label="",style="solid", color="black", weight=3]; 18.21/6.52 875[label="span2Zs0 isDigit (Cons (Char (Pos Zero)) wz71) (span2Span1 isDigit wz71 isDigit (Char (Pos Zero)) wz71 (asAs MyFalse (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz73))))))",fontsize=16,color="black",shape="box"];875 -> 887[label="",style="solid", color="black", weight=3]; 18.21/6.52 876[label="span2Zs0 isDigit (Cons (Char (Neg (Succ wz70000))) wz71) (span2Span1 isDigit wz71 isDigit (Char (Neg (Succ wz70000))) wz71 MyFalse)",fontsize=16,color="black",shape="box"];876 -> 888[label="",style="solid", color="black", weight=3]; 18.21/6.52 877[label="span2Zs0 isDigit (Cons (Char (Neg Zero)) wz71) (span2Span1 isDigit wz71 isDigit (Char (Neg Zero)) wz71 MyFalse)",fontsize=16,color="black",shape="box"];877 -> 889[label="",style="solid", color="black", weight=3]; 18.21/6.52 2038[label="wz135000",fontsize=16,color="green",shape="box"];2039[label="wz138",fontsize=16,color="green",shape="box"];2040[label="wz139",fontsize=16,color="green",shape="box"];2041[label="wz136",fontsize=16,color="green",shape="box"];2042[label="wz132",fontsize=16,color="green",shape="box"];2043[label="Succ wz137",fontsize=16,color="green",shape="box"];2044[label="Succ wz135000",fontsize=16,color="green",shape="box"];2037[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not (esEsOrdering (primCmpNat wz149 wz150) LT)) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="burlywood",shape="triangle"];2589[label="wz149/Succ wz1490",fontsize=10,color="white",style="solid",shape="box"];2037 -> 2589[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2589 -> 2108[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2590[label="wz149/Zero",fontsize=10,color="white",style="solid",shape="box"];2037 -> 2590[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2590 -> 2109[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 1776[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos Zero)) wz136) (span2Span1 isDigit wz136 isDigit (Char (Pos Zero)) wz136 (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1776 -> 1781[label="",style="solid", color="black", weight=3]; 18.21/6.52 1777[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg (Succ wz135000))) wz136) (span2Span1 isDigit wz136 isDigit (Char (Neg (Succ wz135000))) wz136 (asAs (not MyTrue) (ltEsChar (Char (Neg (Succ wz135000))) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1777 -> 1782[label="",style="solid", color="black", weight=3]; 18.21/6.52 1778[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg Zero)) wz136) (span2Span1 isDigit wz136 isDigit (Char (Neg Zero)) wz136 (asAs (not MyTrue) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1778 -> 1783[label="",style="solid", color="black", weight=3]; 18.21/6.52 882[label="primMinusInt (Pos (Succ wz61)) fromEnum_0",fontsize=16,color="black",shape="box"];882 -> 895[label="",style="solid", color="black", weight=3]; 18.21/6.52 1199 -> 1135[label="",style="dashed", color="red", weight=0]; 18.21/6.52 1199[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not (esEsOrdering (primCmpNat wz940 wz950) LT)) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="magenta"];1199 -> 1216[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 1199 -> 1217[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 1200[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not (esEsOrdering GT LT)) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="black",shape="box"];1200 -> 1218[label="",style="solid", color="black", weight=3]; 18.21/6.52 1201[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="black",shape="box"];1201 -> 1219[label="",style="solid", color="black", weight=3]; 18.21/6.52 1202[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not (esEsOrdering EQ LT)) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="black",shape="box"];1202 -> 1220[label="",style="solid", color="black", weight=3]; 18.21/6.52 887[label="span2Zs0 isDigit (Cons (Char (Pos Zero)) wz71) (span2Span1 isDigit wz71 isDigit (Char (Pos Zero)) wz71 MyFalse)",fontsize=16,color="black",shape="box"];887 -> 901[label="",style="solid", color="black", weight=3]; 18.21/6.52 888[label="span2Zs0 isDigit (Cons (Char (Neg (Succ wz70000))) wz71) (span2Span0 isDigit wz71 isDigit (Char (Neg (Succ wz70000))) wz71 otherwise)",fontsize=16,color="black",shape="box"];888 -> 902[label="",style="solid", color="black", weight=3]; 18.21/6.52 889[label="span2Zs0 isDigit (Cons (Char (Neg Zero)) wz71) (span2Span0 isDigit wz71 isDigit (Char (Neg Zero)) wz71 otherwise)",fontsize=16,color="black",shape="box"];889 -> 903[label="",style="solid", color="black", weight=3]; 18.21/6.52 2108[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not (esEsOrdering (primCmpNat (Succ wz1490) wz150) LT)) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="burlywood",shape="box"];2591[label="wz150/Succ wz1500",fontsize=10,color="white",style="solid",shape="box"];2108 -> 2591[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2591 -> 2110[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2592[label="wz150/Zero",fontsize=10,color="white",style="solid",shape="box"];2108 -> 2592[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2592 -> 2111[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2109[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not (esEsOrdering (primCmpNat Zero wz150) LT)) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="burlywood",shape="box"];2593[label="wz150/Succ wz1500",fontsize=10,color="white",style="solid",shape="box"];2109 -> 2593[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2593 -> 2112[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 2594[label="wz150/Zero",fontsize=10,color="white",style="solid",shape="box"];2109 -> 2594[label="",style="solid", color="burlywood", weight=9]; 18.21/6.52 2594 -> 2113[label="",style="solid", color="burlywood", weight=3]; 18.21/6.52 1781[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos Zero)) wz136) (span2Span1 isDigit wz136 isDigit (Char (Pos Zero)) wz136 (asAs (not MyTrue) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1781 -> 1788[label="",style="solid", color="black", weight=3]; 18.21/6.52 1782[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg (Succ wz135000))) wz136) (span2Span1 isDigit wz136 isDigit (Char (Neg (Succ wz135000))) wz136 (asAs MyFalse (ltEsChar (Char (Neg (Succ wz135000))) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1782 -> 1789[label="",style="solid", color="black", weight=3]; 18.21/6.52 1783[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg Zero)) wz136) (span2Span1 isDigit wz136 isDigit (Char (Neg Zero)) wz136 (asAs MyFalse (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1783 -> 1790[label="",style="solid", color="black", weight=3]; 18.21/6.52 895 -> 911[label="",style="dashed", color="red", weight=0]; 18.21/6.52 895[label="primMinusInt (Pos (Succ wz61)) (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];895 -> 912[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 895 -> 913[label="",style="dashed", color="magenta", weight=3]; 18.21/6.52 1216[label="wz940",fontsize=16,color="green",shape="box"];1217[label="wz950",fontsize=16,color="green",shape="box"];1218[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not MyFalse) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="black",shape="triangle"];1218 -> 1234[label="",style="solid", color="black", weight=3]; 18.21/6.52 1219[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not MyTrue) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="black",shape="box"];1219 -> 1235[label="",style="solid", color="black", weight=3]; 18.21/6.52 1220 -> 1218[label="",style="dashed", color="red", weight=0]; 18.21/6.52 1220[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs (not MyFalse) (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="magenta"];901[label="span2Zs0 isDigit (Cons (Char (Pos Zero)) wz71) (span2Span0 isDigit wz71 isDigit (Char (Pos Zero)) wz71 otherwise)",fontsize=16,color="black",shape="box"];901 -> 921[label="",style="solid", color="black", weight=3]; 18.21/6.52 902[label="span2Zs0 isDigit (Cons (Char (Neg (Succ wz70000))) wz71) (span2Span0 isDigit wz71 isDigit (Char (Neg (Succ wz70000))) wz71 MyTrue)",fontsize=16,color="black",shape="box"];902 -> 922[label="",style="solid", color="black", weight=3]; 18.21/6.52 903[label="span2Zs0 isDigit (Cons (Char (Neg Zero)) wz71) (span2Span0 isDigit wz71 isDigit (Char (Neg Zero)) wz71 MyTrue)",fontsize=16,color="black",shape="box"];903 -> 923[label="",style="solid", color="black", weight=3]; 18.21/6.52 2110[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not (esEsOrdering (primCmpNat (Succ wz1490) (Succ wz1500)) LT)) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="black",shape="box"];2110 -> 2114[label="",style="solid", color="black", weight=3]; 18.21/6.52 2111[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not (esEsOrdering (primCmpNat (Succ wz1490) Zero) LT)) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="black",shape="box"];2111 -> 2115[label="",style="solid", color="black", weight=3]; 18.21/6.53 2112[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not (esEsOrdering (primCmpNat Zero (Succ wz1500)) LT)) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="black",shape="box"];2112 -> 2116[label="",style="solid", color="black", weight=3]; 18.21/6.53 2113[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not (esEsOrdering (primCmpNat Zero Zero) LT)) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="black",shape="box"];2113 -> 2117[label="",style="solid", color="black", weight=3]; 18.21/6.53 1788[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos Zero)) wz136) (span2Span1 isDigit wz136 isDigit (Char (Pos Zero)) wz136 (asAs MyFalse (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ wz138))))))))",fontsize=16,color="black",shape="box"];1788 -> 1795[label="",style="solid", color="black", weight=3]; 18.21/6.53 1789[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg (Succ wz135000))) wz136) (span2Span1 isDigit wz136 isDigit (Char (Neg (Succ wz135000))) wz136 MyFalse)))",fontsize=16,color="black",shape="box"];1789 -> 1796[label="",style="solid", color="black", weight=3]; 18.21/6.53 1790[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg Zero)) wz136) (span2Span1 isDigit wz136 isDigit (Char (Neg Zero)) wz136 MyFalse)))",fontsize=16,color="black",shape="box"];1790 -> 1797[label="",style="solid", color="black", weight=3]; 18.21/6.53 912[label="wz61",fontsize=16,color="green",shape="box"];913[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];911[label="primMinusInt (Pos (Succ wz89)) (fromEnumChar (Char (Pos (Succ wz90))))",fontsize=16,color="black",shape="triangle"];911 -> 931[label="",style="solid", color="black", weight=3]; 18.21/6.53 1234[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs MyTrue (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="black",shape="box"];1234 -> 1250[label="",style="solid", color="black", weight=3]; 18.21/6.53 1235[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (asAs MyFalse (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96))))))",fontsize=16,color="black",shape="box"];1235 -> 1251[label="",style="solid", color="black", weight=3]; 18.21/6.53 921[label="span2Zs0 isDigit (Cons (Char (Pos Zero)) wz71) (span2Span0 isDigit wz71 isDigit (Char (Pos Zero)) wz71 MyTrue)",fontsize=16,color="black",shape="box"];921 -> 939[label="",style="solid", color="black", weight=3]; 18.21/6.53 922[label="span2Zs0 isDigit (Cons (Char (Neg (Succ wz70000))) wz71) (Tup2 Nil (Cons (Char (Neg (Succ wz70000))) wz71))",fontsize=16,color="black",shape="box"];922 -> 940[label="",style="solid", color="black", weight=3]; 18.21/6.53 923[label="span2Zs0 isDigit (Cons (Char (Neg Zero)) wz71) (Tup2 Nil (Cons (Char (Neg Zero)) wz71))",fontsize=16,color="black",shape="box"];923 -> 941[label="",style="solid", color="black", weight=3]; 18.21/6.53 2114 -> 2037[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2114[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not (esEsOrdering (primCmpNat wz1490 wz1500) LT)) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="magenta"];2114 -> 2118[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2114 -> 2119[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2115[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not (esEsOrdering GT LT)) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="black",shape="box"];2115 -> 2120[label="",style="solid", color="black", weight=3]; 18.21/6.53 2116[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="black",shape="box"];2116 -> 2121[label="",style="solid", color="black", weight=3]; 18.21/6.53 2117[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not (esEsOrdering EQ LT)) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="black",shape="box"];2117 -> 2122[label="",style="solid", color="black", weight=3]; 18.21/6.53 1795[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos Zero)) wz136) (span2Span1 isDigit wz136 isDigit (Char (Pos Zero)) wz136 MyFalse)))",fontsize=16,color="black",shape="box"];1795 -> 1803[label="",style="solid", color="black", weight=3]; 18.21/6.53 1796[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg (Succ wz135000))) wz136) (span2Span0 isDigit wz136 isDigit (Char (Neg (Succ wz135000))) wz136 otherwise)))",fontsize=16,color="black",shape="box"];1796 -> 1804[label="",style="solid", color="black", weight=3]; 18.21/6.53 1797[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg Zero)) wz136) (span2Span0 isDigit wz136 isDigit (Char (Neg Zero)) wz136 otherwise)))",fontsize=16,color="black",shape="box"];1797 -> 1805[label="",style="solid", color="black", weight=3]; 18.21/6.53 931[label="primMinusInt (Pos (Succ wz89)) (primCharToInt (Char (Pos (Succ wz90))))",fontsize=16,color="black",shape="box"];931 -> 950[label="",style="solid", color="black", weight=3]; 18.21/6.53 1250[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (ltEsChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96)))))",fontsize=16,color="black",shape="box"];1250 -> 1267[label="",style="solid", color="black", weight=3]; 18.21/6.53 1251[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 MyFalse)",fontsize=16,color="black",shape="triangle"];1251 -> 1268[label="",style="solid", color="black", weight=3]; 18.21/6.53 939[label="span2Zs0 isDigit (Cons (Char (Pos Zero)) wz71) (Tup2 Nil (Cons (Char (Pos Zero)) wz71))",fontsize=16,color="black",shape="box"];939 -> 959[label="",style="solid", color="black", weight=3]; 18.21/6.53 940[label="Cons (Char (Neg (Succ wz70000))) wz71",fontsize=16,color="green",shape="box"];941[label="Cons (Char (Neg Zero)) wz71",fontsize=16,color="green",shape="box"];2118[label="wz1500",fontsize=16,color="green",shape="box"];2119[label="wz1490",fontsize=16,color="green",shape="box"];2120[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not MyFalse) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="black",shape="triangle"];2120 -> 2123[label="",style="solid", color="black", weight=3]; 18.21/6.53 2121[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not MyTrue) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="black",shape="box"];2121 -> 2124[label="",style="solid", color="black", weight=3]; 18.21/6.53 2122 -> 2120[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2122[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs (not MyFalse) (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="magenta"];1803[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos Zero)) wz136) (span2Span0 isDigit wz136 isDigit (Char (Pos Zero)) wz136 otherwise)))",fontsize=16,color="black",shape="box"];1803 -> 1813[label="",style="solid", color="black", weight=3]; 18.21/6.53 1804[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg (Succ wz135000))) wz136) (span2Span0 isDigit wz136 isDigit (Char (Neg (Succ wz135000))) wz136 MyTrue)))",fontsize=16,color="black",shape="box"];1804 -> 1814[label="",style="solid", color="black", weight=3]; 18.21/6.53 1805[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg Zero)) wz136) (span2Span0 isDigit wz136 isDigit (Char (Neg Zero)) wz136 MyTrue)))",fontsize=16,color="black",shape="box"];1805 -> 1815[label="",style="solid", color="black", weight=3]; 18.21/6.53 950[label="primMinusInt (Pos (Succ wz89)) (Pos (Succ wz90))",fontsize=16,color="black",shape="box"];950 -> 970[label="",style="solid", color="black", weight=3]; 18.21/6.53 1267[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (fsEsOrdering (compareChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96)))) GT))",fontsize=16,color="black",shape="box"];1267 -> 1282[label="",style="solid", color="black", weight=3]; 18.21/6.53 1268[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span0 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 otherwise)",fontsize=16,color="black",shape="box"];1268 -> 1283[label="",style="solid", color="black", weight=3]; 18.21/6.53 959[label="Cons (Char (Pos Zero)) wz71",fontsize=16,color="green",shape="box"];2123[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs MyTrue (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="black",shape="box"];2123 -> 2125[label="",style="solid", color="black", weight=3]; 18.21/6.53 2124[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (asAs MyFalse (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151))))))))",fontsize=16,color="black",shape="box"];2124 -> 2126[label="",style="solid", color="black", weight=3]; 18.21/6.53 1813[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos Zero)) wz136) (span2Span0 isDigit wz136 isDigit (Char (Pos Zero)) wz136 MyTrue)))",fontsize=16,color="black",shape="box"];1813 -> 1823[label="",style="solid", color="black", weight=3]; 18.21/6.53 1814[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg (Succ wz135000))) wz136) (Tup2 Nil (Cons (Char (Neg (Succ wz135000))) wz136))))",fontsize=16,color="black",shape="box"];1814 -> 1824[label="",style="solid", color="black", weight=3]; 18.21/6.53 1815[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Neg Zero)) wz136) (Tup2 Nil (Cons (Char (Neg Zero)) wz136))))",fontsize=16,color="black",shape="box"];1815 -> 1825[label="",style="solid", color="black", weight=3]; 18.21/6.53 970[label="primMinusNat (Succ wz89) (Succ wz90)",fontsize=16,color="black",shape="box"];970 -> 990[label="",style="solid", color="black", weight=3]; 18.21/6.53 1282[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (not (esEsOrdering (compareChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96)))) GT)))",fontsize=16,color="black",shape="box"];1282 -> 1296[label="",style="solid", color="black", weight=3]; 18.21/6.53 1283[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span0 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 MyTrue)",fontsize=16,color="black",shape="box"];1283 -> 1297[label="",style="solid", color="black", weight=3]; 18.21/6.53 2125[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (ltEsChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151)))))))",fontsize=16,color="black",shape="box"];2125 -> 2127[label="",style="solid", color="black", weight=3]; 18.21/6.53 2126[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 MyFalse)))",fontsize=16,color="black",shape="triangle"];2126 -> 2128[label="",style="solid", color="black", weight=3]; 18.21/6.53 1823[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos Zero)) wz136) (Tup2 Nil (Cons (Char (Pos Zero)) wz136))))",fontsize=16,color="black",shape="box"];1823 -> 1834[label="",style="solid", color="black", weight=3]; 18.21/6.53 1824[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) Nil)",fontsize=16,color="black",shape="triangle"];1824 -> 1835[label="",style="solid", color="black", weight=3]; 18.21/6.53 1825 -> 1824[label="",style="dashed", color="red", weight=0]; 18.21/6.53 1825[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) Nil)",fontsize=16,color="magenta"];990[label="primMinusNat wz89 wz90",fontsize=16,color="burlywood",shape="triangle"];2595[label="wz89/Succ wz890",fontsize=10,color="white",style="solid",shape="box"];990 -> 2595[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2595 -> 1009[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2596[label="wz89/Zero",fontsize=10,color="white",style="solid",shape="box"];990 -> 2596[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2596 -> 1010[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 1296[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (not (esEsOrdering (primCmpChar (Char (Pos (Succ wz92))) (Char (Pos (Succ wz96)))) GT)))",fontsize=16,color="black",shape="box"];1296 -> 1300[label="",style="solid", color="black", weight=3]; 18.21/6.53 1297[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (Tup2 Nil (Cons (Char (Pos (Succ wz92))) wz93))",fontsize=16,color="black",shape="box"];1297 -> 1301[label="",style="solid", color="black", weight=3]; 18.21/6.53 2127[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (fsEsOrdering (compareChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151)))) GT))))",fontsize=16,color="black",shape="box"];2127 -> 2129[label="",style="solid", color="black", weight=3]; 18.21/6.53 2128[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span0 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 otherwise)))",fontsize=16,color="black",shape="box"];2128 -> 2130[label="",style="solid", color="black", weight=3]; 18.21/6.53 1834 -> 1824[label="",style="dashed", color="red", weight=0]; 18.21/6.53 1834[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 (map (pt fromIntegral readDec0) Nil)",fontsize=16,color="magenta"];1835[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz132)))) wz139 Nil",fontsize=16,color="black",shape="box"];1835 -> 1845[label="",style="solid", color="black", weight=3]; 18.21/6.53 1009[label="primMinusNat (Succ wz890) wz90",fontsize=16,color="burlywood",shape="box"];2597[label="wz90/Succ wz900",fontsize=10,color="white",style="solid",shape="box"];1009 -> 2597[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2597 -> 1030[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2598[label="wz90/Zero",fontsize=10,color="white",style="solid",shape="box"];1009 -> 2598[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2598 -> 1031[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 1010[label="primMinusNat Zero wz90",fontsize=16,color="burlywood",shape="box"];2599[label="wz90/Succ wz900",fontsize=10,color="white",style="solid",shape="box"];1010 -> 2599[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2599 -> 1032[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2600[label="wz90/Zero",fontsize=10,color="white",style="solid",shape="box"];1010 -> 2600[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2600 -> 1033[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 1300[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (not (esEsOrdering (primCmpInt (Pos (Succ wz92)) (Pos (Succ wz96))) GT)))",fontsize=16,color="black",shape="box"];1300 -> 1317[label="",style="solid", color="black", weight=3]; 18.21/6.53 1301[label="Cons (Char (Pos (Succ wz92))) wz93",fontsize=16,color="green",shape="box"];2129[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (not (esEsOrdering (compareChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151)))) GT)))))",fontsize=16,color="black",shape="box"];2129 -> 2131[label="",style="solid", color="black", weight=3]; 18.21/6.53 2130[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span0 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 MyTrue)))",fontsize=16,color="black",shape="box"];2130 -> 2132[label="",style="solid", color="black", weight=3]; 18.21/6.53 1845[label="wz139",fontsize=16,color="green",shape="box"];1030[label="primMinusNat (Succ wz890) (Succ wz900)",fontsize=16,color="black",shape="box"];1030 -> 1051[label="",style="solid", color="black", weight=3]; 18.21/6.53 1031[label="primMinusNat (Succ wz890) Zero",fontsize=16,color="black",shape="box"];1031 -> 1052[label="",style="solid", color="black", weight=3]; 18.21/6.53 1032[label="primMinusNat Zero (Succ wz900)",fontsize=16,color="black",shape="box"];1032 -> 1053[label="",style="solid", color="black", weight=3]; 18.21/6.53 1033[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];1033 -> 1054[label="",style="solid", color="black", weight=3]; 18.21/6.53 1317 -> 1542[label="",style="dashed", color="red", weight=0]; 18.21/6.53 1317[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz92))) wz93) (span2Span1 isDigit wz93 isDigit (Char (Pos (Succ wz92))) wz93 (not (esEsOrdering (primCmpNat (Succ wz92) (Succ wz96)) GT)))",fontsize=16,color="magenta"];1317 -> 1543[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 1317 -> 1544[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 1317 -> 1545[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 1317 -> 1546[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2131[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (not (esEsOrdering (primCmpChar (Char (Pos (Succ wz147))) (Char (Pos (Succ wz151)))) GT)))))",fontsize=16,color="black",shape="box"];2131 -> 2133[label="",style="solid", color="black", weight=3]; 18.21/6.53 2132[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (Tup2 Nil (Cons (Char (Pos (Succ wz147))) wz148))))",fontsize=16,color="black",shape="box"];2132 -> 2134[label="",style="solid", color="black", weight=3]; 18.21/6.53 1051 -> 990[label="",style="dashed", color="red", weight=0]; 18.21/6.53 1051[label="primMinusNat wz890 wz900",fontsize=16,color="magenta"];1051 -> 1072[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 1051 -> 1073[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 1052[label="Pos (Succ wz890)",fontsize=16,color="green",shape="box"];1053[label="Neg (Succ wz900)",fontsize=16,color="green",shape="box"];1054[label="Pos Zero",fontsize=16,color="green",shape="box"];1543[label="Succ wz92",fontsize=16,color="green",shape="box"];1544[label="wz93",fontsize=16,color="green",shape="box"];1545[label="wz92",fontsize=16,color="green",shape="box"];1546[label="Succ wz96",fontsize=16,color="green",shape="box"];1542[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not (esEsOrdering (primCmpNat wz115 wz116) GT)))",fontsize=16,color="burlywood",shape="triangle"];2601[label="wz115/Succ wz1150",fontsize=10,color="white",style="solid",shape="box"];1542 -> 2601[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2601 -> 1571[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2602[label="wz115/Zero",fontsize=10,color="white",style="solid",shape="box"];1542 -> 2602[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2602 -> 1572[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2133[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (not (esEsOrdering (primCmpInt (Pos (Succ wz147)) (Pos (Succ wz151))) GT)))))",fontsize=16,color="black",shape="box"];2133 -> 2135[label="",style="solid", color="black", weight=3]; 18.21/6.53 2134 -> 1824[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2134[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) Nil)",fontsize=16,color="magenta"];2134 -> 2136[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2134 -> 2137[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 1072[label="wz890",fontsize=16,color="green",shape="box"];1073[label="wz900",fontsize=16,color="green",shape="box"];1571[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not (esEsOrdering (primCmpNat (Succ wz1150) wz116) GT)))",fontsize=16,color="burlywood",shape="box"];2603[label="wz116/Succ wz1160",fontsize=10,color="white",style="solid",shape="box"];1571 -> 2603[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2603 -> 1578[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2604[label="wz116/Zero",fontsize=10,color="white",style="solid",shape="box"];1571 -> 2604[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2604 -> 1579[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 1572[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not (esEsOrdering (primCmpNat Zero wz116) GT)))",fontsize=16,color="burlywood",shape="box"];2605[label="wz116/Succ wz1160",fontsize=10,color="white",style="solid",shape="box"];1572 -> 2605[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2605 -> 1580[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2606[label="wz116/Zero",fontsize=10,color="white",style="solid",shape="box"];1572 -> 2606[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2606 -> 1581[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2135 -> 2351[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2135[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz145)))) wz146 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz147))) wz148) (span2Span1 isDigit wz148 isDigit (Char (Pos (Succ wz147))) wz148 (not (esEsOrdering (primCmpNat (Succ wz147) (Succ wz151)) GT)))))",fontsize=16,color="magenta"];2135 -> 2352[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2135 -> 2353[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2135 -> 2354[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2135 -> 2355[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2135 -> 2356[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2135 -> 2357[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2136[label="wz146",fontsize=16,color="green",shape="box"];2137[label="wz145",fontsize=16,color="green",shape="box"];1578[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not (esEsOrdering (primCmpNat (Succ wz1150) (Succ wz1160)) GT)))",fontsize=16,color="black",shape="box"];1578 -> 1588[label="",style="solid", color="black", weight=3]; 18.21/6.53 1579[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not (esEsOrdering (primCmpNat (Succ wz1150) Zero) GT)))",fontsize=16,color="black",shape="box"];1579 -> 1589[label="",style="solid", color="black", weight=3]; 18.21/6.53 1580[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not (esEsOrdering (primCmpNat Zero (Succ wz1160)) GT)))",fontsize=16,color="black",shape="box"];1580 -> 1590[label="",style="solid", color="black", weight=3]; 18.21/6.53 1581[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not (esEsOrdering (primCmpNat Zero Zero) GT)))",fontsize=16,color="black",shape="box"];1581 -> 1591[label="",style="solid", color="black", weight=3]; 18.21/6.53 2352[label="wz147",fontsize=16,color="green",shape="box"];2353[label="wz146",fontsize=16,color="green",shape="box"];2354[label="wz148",fontsize=16,color="green",shape="box"];2355[label="Succ wz151",fontsize=16,color="green",shape="box"];2356[label="Succ wz147",fontsize=16,color="green",shape="box"];2357[label="wz145",fontsize=16,color="green",shape="box"];2351[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not (esEsOrdering (primCmpNat wz179 wz180) GT)))))",fontsize=16,color="burlywood",shape="triangle"];2607[label="wz179/Succ wz1790",fontsize=10,color="white",style="solid",shape="box"];2351 -> 2607[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2607 -> 2412[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2608[label="wz179/Zero",fontsize=10,color="white",style="solid",shape="box"];2351 -> 2608[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2608 -> 2413[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 1588 -> 1542[label="",style="dashed", color="red", weight=0]; 18.21/6.53 1588[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not (esEsOrdering (primCmpNat wz1150 wz1160) GT)))",fontsize=16,color="magenta"];1588 -> 1598[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 1588 -> 1599[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 1589[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not (esEsOrdering GT GT)))",fontsize=16,color="black",shape="box"];1589 -> 1600[label="",style="solid", color="black", weight=3]; 18.21/6.53 1590[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not (esEsOrdering LT GT)))",fontsize=16,color="black",shape="box"];1590 -> 1601[label="",style="solid", color="black", weight=3]; 18.21/6.53 1591[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not (esEsOrdering EQ GT)))",fontsize=16,color="black",shape="box"];1591 -> 1602[label="",style="solid", color="black", weight=3]; 18.21/6.53 2412[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not (esEsOrdering (primCmpNat (Succ wz1790) wz180) GT)))))",fontsize=16,color="burlywood",shape="box"];2609[label="wz180/Succ wz1800",fontsize=10,color="white",style="solid",shape="box"];2412 -> 2609[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2609 -> 2414[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2610[label="wz180/Zero",fontsize=10,color="white",style="solid",shape="box"];2412 -> 2610[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2610 -> 2415[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2413[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not (esEsOrdering (primCmpNat Zero wz180) GT)))))",fontsize=16,color="burlywood",shape="box"];2611[label="wz180/Succ wz1800",fontsize=10,color="white",style="solid",shape="box"];2413 -> 2611[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2611 -> 2416[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2612[label="wz180/Zero",fontsize=10,color="white",style="solid",shape="box"];2413 -> 2612[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2612 -> 2417[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 1598[label="wz1150",fontsize=16,color="green",shape="box"];1599[label="wz1160",fontsize=16,color="green",shape="box"];1600[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not MyTrue))",fontsize=16,color="black",shape="box"];1600 -> 1610[label="",style="solid", color="black", weight=3]; 18.21/6.53 1601[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not MyFalse))",fontsize=16,color="black",shape="triangle"];1601 -> 1611[label="",style="solid", color="black", weight=3]; 18.21/6.53 1602 -> 1601[label="",style="dashed", color="red", weight=0]; 18.21/6.53 1602[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 (not MyFalse))",fontsize=16,color="magenta"];2414[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not (esEsOrdering (primCmpNat (Succ wz1790) (Succ wz1800)) GT)))))",fontsize=16,color="black",shape="box"];2414 -> 2418[label="",style="solid", color="black", weight=3]; 18.21/6.53 2415[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not (esEsOrdering (primCmpNat (Succ wz1790) Zero) GT)))))",fontsize=16,color="black",shape="box"];2415 -> 2419[label="",style="solid", color="black", weight=3]; 18.21/6.53 2416[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not (esEsOrdering (primCmpNat Zero (Succ wz1800)) GT)))))",fontsize=16,color="black",shape="box"];2416 -> 2420[label="",style="solid", color="black", weight=3]; 18.21/6.53 2417[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not (esEsOrdering (primCmpNat Zero Zero) GT)))))",fontsize=16,color="black",shape="box"];2417 -> 2421[label="",style="solid", color="black", weight=3]; 18.21/6.53 1610 -> 1251[label="",style="dashed", color="red", weight=0]; 18.21/6.53 1610[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 MyFalse)",fontsize=16,color="magenta"];1610 -> 1619[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 1610 -> 1620[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 1611[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (span2Span1 isDigit wz114 isDigit (Char (Pos (Succ wz113))) wz114 MyTrue)",fontsize=16,color="black",shape="box"];1611 -> 1621[label="",style="solid", color="black", weight=3]; 18.21/6.53 2418 -> 2351[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2418[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not (esEsOrdering (primCmpNat wz1790 wz1800) GT)))))",fontsize=16,color="magenta"];2418 -> 2422[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2418 -> 2423[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2419[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not (esEsOrdering GT GT)))))",fontsize=16,color="black",shape="box"];2419 -> 2424[label="",style="solid", color="black", weight=3]; 18.21/6.53 2420[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not (esEsOrdering LT GT)))))",fontsize=16,color="black",shape="box"];2420 -> 2425[label="",style="solid", color="black", weight=3]; 18.21/6.53 2421[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not (esEsOrdering EQ GT)))))",fontsize=16,color="black",shape="box"];2421 -> 2426[label="",style="solid", color="black", weight=3]; 18.21/6.53 1619[label="wz114",fontsize=16,color="green",shape="box"];1620[label="wz113",fontsize=16,color="green",shape="box"];1621 -> 1628[label="",style="dashed", color="red", weight=0]; 18.21/6.53 1621[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (Tup2 (Cons (Char (Pos (Succ wz113))) (span2Ys isDigit wz114)) (span2Zs isDigit wz114))",fontsize=16,color="magenta"];1621 -> 1629[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2422[label="wz1800",fontsize=16,color="green",shape="box"];2423[label="wz1790",fontsize=16,color="green",shape="box"];2424[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not MyTrue))))",fontsize=16,color="black",shape="box"];2424 -> 2427[label="",style="solid", color="black", weight=3]; 18.21/6.53 2425[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not MyFalse))))",fontsize=16,color="black",shape="triangle"];2425 -> 2428[label="",style="solid", color="black", weight=3]; 18.21/6.53 2426 -> 2425[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2426[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 (not MyFalse))))",fontsize=16,color="magenta"];1629 -> 762[label="",style="dashed", color="red", weight=0]; 18.21/6.53 1629[label="span2Zs isDigit wz114",fontsize=16,color="magenta"];1629 -> 1630[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 1628[label="span2Zs0 isDigit (Cons (Char (Pos (Succ wz113))) wz114) (Tup2 (Cons (Char (Pos (Succ wz113))) (span2Ys isDigit wz114)) wz118)",fontsize=16,color="black",shape="triangle"];1628 -> 1631[label="",style="solid", color="black", weight=3]; 18.21/6.53 2427 -> 2126[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2427[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 MyFalse)))",fontsize=16,color="magenta"];2427 -> 2429[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2427 -> 2430[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2427 -> 2431[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2427 -> 2432[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2428[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (span2Span1 isDigit wz178 isDigit (Char (Pos (Succ wz177))) wz178 MyTrue)))",fontsize=16,color="black",shape="box"];2428 -> 2433[label="",style="solid", color="black", weight=3]; 18.21/6.53 1630[label="wz114",fontsize=16,color="green",shape="box"];1631[label="wz118",fontsize=16,color="green",shape="box"];2429[label="wz177",fontsize=16,color="green",shape="box"];2430[label="wz176",fontsize=16,color="green",shape="box"];2431[label="wz178",fontsize=16,color="green",shape="box"];2432[label="wz175",fontsize=16,color="green",shape="box"];2433 -> 2434[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2433[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (Tup2 (Cons (Char (Pos (Succ wz177))) (span2Ys isDigit wz178)) (span2Zs isDigit wz178))))",fontsize=16,color="magenta"];2433 -> 2435[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2435 -> 762[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2435[label="span2Zs isDigit wz178",fontsize=16,color="magenta"];2435 -> 2436[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2434[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons (Char (Pos (Succ wz177))) wz178) (Tup2 (Cons (Char (Pos (Succ wz177))) (span2Ys isDigit wz178)) wz181)))",fontsize=16,color="black",shape="triangle"];2434 -> 2437[label="",style="solid", color="black", weight=3]; 18.21/6.53 2436[label="wz178",fontsize=16,color="green",shape="box"];2437[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (map (pt fromIntegral readDec0) (Cons (Char (Pos (Succ wz177))) (span2Ys isDigit wz178)))",fontsize=16,color="black",shape="box"];2437 -> 2438[label="",style="solid", color="black", weight=3]; 18.21/6.53 2438 -> 2439[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2438[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (Cons (pt fromIntegral readDec0 (Char (Pos (Succ wz177)))) (map (pt fromIntegral readDec0) (span2Ys isDigit wz178)))",fontsize=16,color="magenta"];2438 -> 2440[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2440 -> 823[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2440[label="pt fromIntegral readDec0 (Char (Pos (Succ wz177)))",fontsize=16,color="magenta"];2440 -> 2441[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2439[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) wz176 (Cons wz182 (map (pt fromIntegral readDec0) (span2Ys isDigit wz178)))",fontsize=16,color="black",shape="triangle"];2439 -> 2442[label="",style="solid", color="black", weight=3]; 18.21/6.53 2441[label="wz177",fontsize=16,color="green",shape="box"];2442[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) (readInt0 (fromIntMyInt (Pos (Succ wz175))) wz176 wz182) (map (pt fromIntegral readDec0) (span2Ys isDigit wz178))",fontsize=16,color="black",shape="box"];2442 -> 2443[label="",style="solid", color="black", weight=3]; 18.21/6.53 2443[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) (readInt0 (fromIntMyInt (Pos (Succ wz175))) wz176 wz182) (map (pt fromIntegral readDec0) (span2Ys0 isDigit wz178 (span2Vu43 isDigit wz178)))",fontsize=16,color="black",shape="box"];2443 -> 2444[label="",style="solid", color="black", weight=3]; 18.21/6.53 2444[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) (readInt0 (fromIntMyInt (Pos (Succ wz175))) wz176 wz182) (map (pt fromIntegral readDec0) (span2Ys0 isDigit wz178 (span isDigit wz178)))",fontsize=16,color="burlywood",shape="box"];2613[label="wz178/Cons wz1780 wz1781",fontsize=10,color="white",style="solid",shape="box"];2444 -> 2613[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2613 -> 2445[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2614[label="wz178/Nil",fontsize=10,color="white",style="solid",shape="box"];2444 -> 2614[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2614 -> 2446[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2445[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) (readInt0 (fromIntMyInt (Pos (Succ wz175))) wz176 wz182) (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz1780 wz1781) (span isDigit (Cons wz1780 wz1781))))",fontsize=16,color="black",shape="box"];2445 -> 2447[label="",style="solid", color="black", weight=3]; 18.21/6.53 2446[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) (readInt0 (fromIntMyInt (Pos (Succ wz175))) wz176 wz182) (map (pt fromIntegral readDec0) (span2Ys0 isDigit Nil (span isDigit Nil)))",fontsize=16,color="black",shape="box"];2446 -> 2448[label="",style="solid", color="black", weight=3]; 18.21/6.53 2447[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) (readInt0 (fromIntMyInt (Pos (Succ wz175))) wz176 wz182) (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz1780 wz1781) (span2 isDigit (Cons wz1780 wz1781))))",fontsize=16,color="black",shape="box"];2447 -> 2449[label="",style="solid", color="black", weight=3]; 18.21/6.53 2448[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) (readInt0 (fromIntMyInt (Pos (Succ wz175))) wz176 wz182) (map (pt fromIntegral readDec0) (span2Ys0 isDigit Nil (span3 isDigit Nil)))",fontsize=16,color="black",shape="box"];2448 -> 2450[label="",style="solid", color="black", weight=3]; 18.21/6.53 2449[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) (readInt0 (fromIntMyInt (Pos (Succ wz175))) wz176 wz182) (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz1780 wz1781) (span2Span1 isDigit wz1781 isDigit wz1780 wz1781 (isDigit wz1780))))",fontsize=16,color="black",shape="box"];2449 -> 2451[label="",style="solid", color="black", weight=3]; 18.21/6.53 2450[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) (readInt0 (fromIntMyInt (Pos (Succ wz175))) wz176 wz182) (map (pt fromIntegral readDec0) (span2Ys0 isDigit Nil (Tup2 Nil Nil)))",fontsize=16,color="black",shape="box"];2450 -> 2452[label="",style="solid", color="black", weight=3]; 18.21/6.53 2451 -> 2462[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2451[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) (readInt0 (fromIntMyInt (Pos (Succ wz175))) wz176 wz182) (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz1780 wz1781) (span2Span1 isDigit wz1781 isDigit wz1780 wz1781 (asAs (gtEsChar wz1780 (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar wz1780 (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];2451 -> 2463[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2451 -> 2464[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2451 -> 2465[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2451 -> 2466[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2451 -> 2467[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2451 -> 2468[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2451 -> 2469[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2452 -> 1824[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2452[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz175)))) (readInt0 (fromIntMyInt (Pos (Succ wz175))) wz176 wz182) (map (pt fromIntegral readDec0) Nil)",fontsize=16,color="magenta"];2452 -> 2460[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2452 -> 2461[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2463[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];2464[label="wz175",fontsize=16,color="green",shape="box"];2465[label="wz1780",fontsize=16,color="green",shape="box"];2466[label="wz176",fontsize=16,color="green",shape="box"];2467[label="wz1781",fontsize=16,color="green",shape="box"];2468[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];2469[label="wz182",fontsize=16,color="green",shape="box"];2462[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz191)))) (readInt0 (fromIntMyInt (Pos (Succ wz191))) wz192 wz193) (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz194 wz195) (span2Span1 isDigit wz195 isDigit wz194 wz195 (asAs (gtEsChar wz194 (Char (Pos (Succ wz196)))) (ltEsChar wz194 (Char (Pos (Succ wz197))))))))",fontsize=16,color="black",shape="triangle"];2462 -> 2477[label="",style="solid", color="black", weight=3]; 18.21/6.53 2460[label="readInt0 (fromIntMyInt (Pos (Succ wz175))) wz176 wz182",fontsize=16,color="black",shape="triangle"];2460 -> 2478[label="",style="solid", color="black", weight=3]; 18.21/6.53 2461[label="wz175",fontsize=16,color="green",shape="box"];2477 -> 1752[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2477[label="foldl (readInt0 (fromIntMyInt (Pos (Succ wz191)))) (readInt0 (fromIntMyInt (Pos (Succ wz191))) wz192 wz193) (map (pt fromIntegral readDec0) (span2Ys0 isDigit (Cons wz194 wz195) (span2Span1 isDigit wz195 isDigit wz194 wz195 (asAs (fsEsOrdering (compareChar wz194 (Char (Pos (Succ wz196)))) LT) (ltEsChar wz194 (Char (Pos (Succ wz197))))))))",fontsize=16,color="magenta"];2477 -> 2479[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2477 -> 2480[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2477 -> 2481[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2477 -> 2482[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2477 -> 2483[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2477 -> 2484[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2478[label="psMyInt (srMyInt wz176 (fromIntMyInt (Pos (Succ wz175)))) wz182",fontsize=16,color="black",shape="box"];2478 -> 2485[label="",style="solid", color="black", weight=3]; 18.21/6.53 2479 -> 2460[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2479[label="readInt0 (fromIntMyInt (Pos (Succ wz191))) wz192 wz193",fontsize=16,color="magenta"];2479 -> 2486[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2479 -> 2487[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2479 -> 2488[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2480[label="wz194",fontsize=16,color="green",shape="box"];2481[label="wz191",fontsize=16,color="green",shape="box"];2482[label="wz196",fontsize=16,color="green",shape="box"];2483[label="wz195",fontsize=16,color="green",shape="box"];2484[label="wz197",fontsize=16,color="green",shape="box"];2485[label="primPlusInt (srMyInt wz176 (fromIntMyInt (Pos (Succ wz175)))) wz182",fontsize=16,color="black",shape="box"];2485 -> 2489[label="",style="solid", color="black", weight=3]; 18.21/6.53 2486[label="wz192",fontsize=16,color="green",shape="box"];2487[label="wz193",fontsize=16,color="green",shape="box"];2488[label="wz191",fontsize=16,color="green",shape="box"];2489[label="primPlusInt (primMulInt wz176 (fromIntMyInt (Pos (Succ wz175)))) wz182",fontsize=16,color="burlywood",shape="box"];2615[label="wz176/Pos wz1760",fontsize=10,color="white",style="solid",shape="box"];2489 -> 2615[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2615 -> 2490[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2616[label="wz176/Neg wz1760",fontsize=10,color="white",style="solid",shape="box"];2489 -> 2616[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2616 -> 2491[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2490[label="primPlusInt (primMulInt (Pos wz1760) (fromIntMyInt (Pos (Succ wz175)))) wz182",fontsize=16,color="black",shape="box"];2490 -> 2492[label="",style="solid", color="black", weight=3]; 18.21/6.53 2491[label="primPlusInt (primMulInt (Neg wz1760) (fromIntMyInt (Pos (Succ wz175)))) wz182",fontsize=16,color="black",shape="box"];2491 -> 2493[label="",style="solid", color="black", weight=3]; 18.21/6.53 2492[label="primPlusInt (primMulInt (Pos wz1760) (Pos (Succ wz175))) wz182",fontsize=16,color="black",shape="box"];2492 -> 2494[label="",style="solid", color="black", weight=3]; 18.21/6.53 2493[label="primPlusInt (primMulInt (Neg wz1760) (Pos (Succ wz175))) wz182",fontsize=16,color="black",shape="box"];2493 -> 2495[label="",style="solid", color="black", weight=3]; 18.21/6.53 2494[label="primPlusInt (Pos (primMulNat wz1760 (Succ wz175))) wz182",fontsize=16,color="burlywood",shape="box"];2617[label="wz182/Pos wz1820",fontsize=10,color="white",style="solid",shape="box"];2494 -> 2617[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2617 -> 2496[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2618[label="wz182/Neg wz1820",fontsize=10,color="white",style="solid",shape="box"];2494 -> 2618[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2618 -> 2497[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2495[label="primPlusInt (Neg (primMulNat wz1760 (Succ wz175))) wz182",fontsize=16,color="burlywood",shape="box"];2619[label="wz182/Pos wz1820",fontsize=10,color="white",style="solid",shape="box"];2495 -> 2619[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2619 -> 2498[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2620[label="wz182/Neg wz1820",fontsize=10,color="white",style="solid",shape="box"];2495 -> 2620[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2620 -> 2499[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2496[label="primPlusInt (Pos (primMulNat wz1760 (Succ wz175))) (Pos wz1820)",fontsize=16,color="black",shape="box"];2496 -> 2500[label="",style="solid", color="black", weight=3]; 18.21/6.53 2497[label="primPlusInt (Pos (primMulNat wz1760 (Succ wz175))) (Neg wz1820)",fontsize=16,color="black",shape="box"];2497 -> 2501[label="",style="solid", color="black", weight=3]; 18.21/6.53 2498[label="primPlusInt (Neg (primMulNat wz1760 (Succ wz175))) (Pos wz1820)",fontsize=16,color="black",shape="box"];2498 -> 2502[label="",style="solid", color="black", weight=3]; 18.21/6.53 2499[label="primPlusInt (Neg (primMulNat wz1760 (Succ wz175))) (Neg wz1820)",fontsize=16,color="black",shape="box"];2499 -> 2503[label="",style="solid", color="black", weight=3]; 18.21/6.53 2500[label="Pos (primPlusNat (primMulNat wz1760 (Succ wz175)) wz1820)",fontsize=16,color="green",shape="box"];2500 -> 2504[label="",style="dashed", color="green", weight=3]; 18.21/6.53 2501 -> 990[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2501[label="primMinusNat (primMulNat wz1760 (Succ wz175)) wz1820",fontsize=16,color="magenta"];2501 -> 2505[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2501 -> 2506[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2502 -> 990[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2502[label="primMinusNat wz1820 (primMulNat wz1760 (Succ wz175))",fontsize=16,color="magenta"];2502 -> 2507[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2502 -> 2508[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2503[label="Neg (primPlusNat (primMulNat wz1760 (Succ wz175)) wz1820)",fontsize=16,color="green",shape="box"];2503 -> 2509[label="",style="dashed", color="green", weight=3]; 18.21/6.53 2504 -> 2521[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2504[label="primPlusNat (primMulNat wz1760 (Succ wz175)) wz1820",fontsize=16,color="magenta"];2504 -> 2522[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2505[label="primMulNat wz1760 (Succ wz175)",fontsize=16,color="burlywood",shape="triangle"];2621[label="wz1760/Succ wz17600",fontsize=10,color="white",style="solid",shape="box"];2505 -> 2621[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2621 -> 2512[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2622[label="wz1760/Zero",fontsize=10,color="white",style="solid",shape="box"];2505 -> 2622[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2622 -> 2513[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2506[label="wz1820",fontsize=16,color="green",shape="box"];2507[label="wz1820",fontsize=16,color="green",shape="box"];2508 -> 2505[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2508[label="primMulNat wz1760 (Succ wz175)",fontsize=16,color="magenta"];2508 -> 2514[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2509 -> 2521[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2509[label="primPlusNat (primMulNat wz1760 (Succ wz175)) wz1820",fontsize=16,color="magenta"];2509 -> 2523[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2509 -> 2524[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2522 -> 2505[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2522[label="primMulNat wz1760 (Succ wz175)",fontsize=16,color="magenta"];2521[label="primPlusNat wz198 wz1820",fontsize=16,color="burlywood",shape="triangle"];2623[label="wz198/Succ wz1980",fontsize=10,color="white",style="solid",shape="box"];2521 -> 2623[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2623 -> 2529[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2624[label="wz198/Zero",fontsize=10,color="white",style="solid",shape="box"];2521 -> 2624[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2624 -> 2530[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2512[label="primMulNat (Succ wz17600) (Succ wz175)",fontsize=16,color="black",shape="box"];2512 -> 2519[label="",style="solid", color="black", weight=3]; 18.21/6.53 2513[label="primMulNat Zero (Succ wz175)",fontsize=16,color="black",shape="box"];2513 -> 2520[label="",style="solid", color="black", weight=3]; 18.21/6.53 2514[label="wz1760",fontsize=16,color="green",shape="box"];2523[label="wz1820",fontsize=16,color="green",shape="box"];2524 -> 2505[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2524[label="primMulNat wz1760 (Succ wz175)",fontsize=16,color="magenta"];2524 -> 2531[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2529[label="primPlusNat (Succ wz1980) wz1820",fontsize=16,color="burlywood",shape="box"];2625[label="wz1820/Succ wz18200",fontsize=10,color="white",style="solid",shape="box"];2529 -> 2625[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2625 -> 2533[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2626[label="wz1820/Zero",fontsize=10,color="white",style="solid",shape="box"];2529 -> 2626[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2626 -> 2534[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2530[label="primPlusNat Zero wz1820",fontsize=16,color="burlywood",shape="box"];2627[label="wz1820/Succ wz18200",fontsize=10,color="white",style="solid",shape="box"];2530 -> 2627[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2627 -> 2535[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2628[label="wz1820/Zero",fontsize=10,color="white",style="solid",shape="box"];2530 -> 2628[label="",style="solid", color="burlywood", weight=9]; 18.21/6.53 2628 -> 2536[label="",style="solid", color="burlywood", weight=3]; 18.21/6.53 2519 -> 2521[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2519[label="primPlusNat (primMulNat wz17600 (Succ wz175)) (Succ wz175)",fontsize=16,color="magenta"];2519 -> 2527[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2519 -> 2528[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2520[label="Zero",fontsize=16,color="green",shape="box"];2531[label="wz1760",fontsize=16,color="green",shape="box"];2533[label="primPlusNat (Succ wz1980) (Succ wz18200)",fontsize=16,color="black",shape="box"];2533 -> 2537[label="",style="solid", color="black", weight=3]; 18.21/6.53 2534[label="primPlusNat (Succ wz1980) Zero",fontsize=16,color="black",shape="box"];2534 -> 2538[label="",style="solid", color="black", weight=3]; 18.21/6.53 2535[label="primPlusNat Zero (Succ wz18200)",fontsize=16,color="black",shape="box"];2535 -> 2539[label="",style="solid", color="black", weight=3]; 18.21/6.53 2536[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];2536 -> 2540[label="",style="solid", color="black", weight=3]; 18.21/6.53 2527[label="Succ wz175",fontsize=16,color="green",shape="box"];2528 -> 2505[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2528[label="primMulNat wz17600 (Succ wz175)",fontsize=16,color="magenta"];2528 -> 2532[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2537[label="Succ (Succ (primPlusNat wz1980 wz18200))",fontsize=16,color="green",shape="box"];2537 -> 2541[label="",style="dashed", color="green", weight=3]; 18.21/6.53 2538[label="Succ wz1980",fontsize=16,color="green",shape="box"];2539[label="Succ wz18200",fontsize=16,color="green",shape="box"];2540[label="Zero",fontsize=16,color="green",shape="box"];2532[label="wz17600",fontsize=16,color="green",shape="box"];2541 -> 2521[label="",style="dashed", color="red", weight=0]; 18.21/6.53 2541[label="primPlusNat wz1980 wz18200",fontsize=16,color="magenta"];2541 -> 2542[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2541 -> 2543[label="",style="dashed", color="magenta", weight=3]; 18.21/6.53 2542[label="wz18200",fontsize=16,color="green",shape="box"];2543[label="wz1980",fontsize=16,color="green",shape="box"];} 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (6) 18.21/6.53 Complex Obligation (AND) 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (7) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_span2Zs00(wz92, wz93, Main.Succ(wz940), Main.Zero, wz96) -> new_span2Zs01(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 new_span2Zs00(wz92, wz93, Main.Zero, Main.Zero, wz96) -> new_span2Zs02(wz92, wz93, wz96) 18.21/6.53 new_span2Zs0(Main.Char(Main.Pos(Main.Succ(wz70000))), wz71, wz72, wz73) -> new_span2Zs00(wz70000, wz71, Main.Succ(wz70000), Main.Succ(wz72), wz73) 18.21/6.53 new_span2Zs02(wz92, wz93, wz96) -> new_span2Zs01(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 new_span2Zs01(wz113, wz114, Main.Zero, Main.Succ(wz1160)) -> new_span2Zs(wz114) 18.21/6.53 new_span2Zs03(wz113, wz114) -> new_span2Zs(wz114) 18.21/6.53 new_span2Zs01(wz113, wz114, Main.Succ(wz1150), Main.Succ(wz1160)) -> new_span2Zs01(wz113, wz114, wz1150, wz1160) 18.21/6.53 new_span2Zs01(wz113, wz114, Main.Zero, Main.Zero) -> new_span2Zs03(wz113, wz114) 18.21/6.53 new_span2Zs00(wz92, wz93, Main.Succ(wz940), Main.Succ(wz950), wz96) -> new_span2Zs00(wz92, wz93, wz940, wz950, wz96) 18.21/6.53 new_span2Zs(Cons(wz600, wz601)) -> new_span2Zs0(wz600, wz601, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 18.21/6.53 R is empty. 18.21/6.53 Q is empty. 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (8) TransformationProof (EQUIVALENT) 18.21/6.53 By instantiating [LPAR04] the rule new_span2Zs0(Main.Char(Main.Pos(Main.Succ(wz70000))), wz71, wz72, wz73) -> new_span2Zs00(wz70000, wz71, Main.Succ(wz70000), Main.Succ(wz72), wz73) we obtained the following new rules [LPAR04]: 18.21/6.53 18.21/6.53 (new_span2Zs0(Main.Char(Main.Pos(Main.Succ(x0))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> new_span2Zs00(x0, z1, Main.Succ(x0), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))),new_span2Zs0(Main.Char(Main.Pos(Main.Succ(x0))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> new_span2Zs00(x0, z1, Main.Succ(x0), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (9) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_span2Zs00(wz92, wz93, Main.Succ(wz940), Main.Zero, wz96) -> new_span2Zs01(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 new_span2Zs00(wz92, wz93, Main.Zero, Main.Zero, wz96) -> new_span2Zs02(wz92, wz93, wz96) 18.21/6.53 new_span2Zs02(wz92, wz93, wz96) -> new_span2Zs01(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 new_span2Zs01(wz113, wz114, Main.Zero, Main.Succ(wz1160)) -> new_span2Zs(wz114) 18.21/6.53 new_span2Zs03(wz113, wz114) -> new_span2Zs(wz114) 18.21/6.53 new_span2Zs01(wz113, wz114, Main.Succ(wz1150), Main.Succ(wz1160)) -> new_span2Zs01(wz113, wz114, wz1150, wz1160) 18.21/6.53 new_span2Zs01(wz113, wz114, Main.Zero, Main.Zero) -> new_span2Zs03(wz113, wz114) 18.21/6.53 new_span2Zs00(wz92, wz93, Main.Succ(wz940), Main.Succ(wz950), wz96) -> new_span2Zs00(wz92, wz93, wz940, wz950, wz96) 18.21/6.53 new_span2Zs(Cons(wz600, wz601)) -> new_span2Zs0(wz600, wz601, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_span2Zs0(Main.Char(Main.Pos(Main.Succ(x0))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> new_span2Zs00(x0, z1, Main.Succ(x0), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 18.21/6.53 R is empty. 18.21/6.53 Q is empty. 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (10) QDPSizeChangeProof (EQUIVALENT) 18.21/6.53 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 18.21/6.53 18.21/6.53 From the DPs we obtained the following set of size-change graphs: 18.21/6.53 *new_span2Zs01(wz113, wz114, Main.Succ(wz1150), Main.Succ(wz1160)) -> new_span2Zs01(wz113, wz114, wz1150, wz1160) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 18.21/6.53 18.21/6.53 18.21/6.53 *new_span2Zs00(wz92, wz93, Main.Succ(wz940), Main.Succ(wz950), wz96) -> new_span2Zs00(wz92, wz93, wz940, wz950, wz96) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4, 5 >= 5 18.21/6.53 18.21/6.53 18.21/6.53 *new_span2Zs02(wz92, wz93, wz96) -> new_span2Zs01(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2 18.21/6.53 18.21/6.53 18.21/6.53 *new_span2Zs00(wz92, wz93, Main.Zero, Main.Zero, wz96) -> new_span2Zs02(wz92, wz93, wz96) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 5 >= 3 18.21/6.53 18.21/6.53 18.21/6.53 *new_span2Zs(Cons(wz600, wz601)) -> new_span2Zs0(wz600, wz601, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 The graph contains the following edges 1 > 1, 1 > 2 18.21/6.53 18.21/6.53 18.21/6.53 *new_span2Zs01(wz113, wz114, Main.Zero, Main.Zero) -> new_span2Zs03(wz113, wz114) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2 18.21/6.53 18.21/6.53 18.21/6.53 *new_span2Zs01(wz113, wz114, Main.Zero, Main.Succ(wz1160)) -> new_span2Zs(wz114) 18.21/6.53 The graph contains the following edges 2 >= 1 18.21/6.53 18.21/6.53 18.21/6.53 *new_span2Zs00(wz92, wz93, Main.Succ(wz940), Main.Zero, wz96) -> new_span2Zs01(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2 18.21/6.53 18.21/6.53 18.21/6.53 *new_span2Zs03(wz113, wz114) -> new_span2Zs(wz114) 18.21/6.53 The graph contains the following edges 2 >= 1 18.21/6.53 18.21/6.53 18.21/6.53 *new_span2Zs0(Main.Char(Main.Pos(Main.Succ(x0))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> new_span2Zs00(x0, z1, Main.Succ(x0), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 The graph contains the following edges 1 > 1, 2 >= 2, 1 > 3, 4 > 4, 4 >= 5 18.21/6.53 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (11) 18.21/6.53 YES 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (12) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_foldr0(wz28, wz29, wz30, Main.Succ(wz310), Main.Succ(wz320), wz33) -> new_foldr0(wz28, wz29, wz30, wz310, wz320, wz33) 18.21/6.53 18.21/6.53 R is empty. 18.21/6.53 Q is empty. 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (13) QDPSizeChangeProof (EQUIVALENT) 18.21/6.53 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 18.21/6.53 18.21/6.53 From the DPs we obtained the following set of size-change graphs: 18.21/6.53 *new_foldr0(wz28, wz29, wz30, Main.Succ(wz310), Main.Succ(wz320), wz33) -> new_foldr0(wz28, wz29, wz30, wz310, wz320, wz33) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5, 6 >= 6 18.21/6.53 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (14) 18.21/6.53 YES 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (15) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_primMulNat(Main.Succ(wz17600), wz175) -> new_primMulNat(wz17600, wz175) 18.21/6.53 18.21/6.53 R is empty. 18.21/6.53 Q is empty. 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (16) QDPSizeChangeProof (EQUIVALENT) 18.21/6.53 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 18.21/6.53 18.21/6.53 From the DPs we obtained the following set of size-change graphs: 18.21/6.53 *new_primMulNat(Main.Succ(wz17600), wz175) -> new_primMulNat(wz17600, wz175) 18.21/6.53 The graph contains the following edges 1 > 1, 2 >= 2 18.21/6.53 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (17) 18.21/6.53 YES 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (18) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Zero) -> new_foldl3(wz175, wz176, wz177, wz178) 18.21/6.53 new_foldl4(wz175, wz176, wz182, Cons(wz1780, wz1781)) -> new_foldl5(wz175, wz176, wz182, wz1780, wz1781, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Succ(wz1790), Main.Succ(wz1800)) -> new_foldl0(wz175, wz176, wz177, wz178, wz1790, wz1800) 18.21/6.53 new_foldl5(wz191, wz192, wz193, wz194, wz195, wz196, wz197) -> new_foldl6(wz191, new_readInt0(wz191, wz192, wz193), wz194, wz195, wz196, wz197) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Succ(wz1800)) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl6(wz132, wz139, Main.Char(Main.Pos(Main.Succ(wz135000))), wz136, wz137, wz138) -> new_foldl(wz132, wz139, wz135000, wz136, Main.Succ(wz135000), Main.Succ(wz137), wz138) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Zero, Main.Zero, wz151) -> new_foldl1(wz145, wz146, wz147, wz148, wz151) 18.21/6.53 new_foldl1(wz145, wz146, wz147, wz148, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Succ(wz1500), wz151) -> new_foldl(wz145, wz146, wz147, wz148, wz1490, wz1500, wz151) 18.21/6.53 new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_pt(wz177), wz178) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Zero, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl3(wz175, wz176, wz177, wz178) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 18.21/6.53 The TRS R consists of the following rules: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) -> Main.Pos(Main.Zero) 18.21/6.53 new_span2Zs1(Cons(wz600, wz601)) -> new_span2Zs06(wz600, wz601, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_span2Zs1(Nil) -> Nil 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Succ(wz900)) -> new_primMinusNat0(wz890, wz900) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(wz70000))), wz71, wz72, wz73) -> new_span2Zs08(wz70000, wz71, Main.Succ(wz70000), Main.Succ(wz72), wz73) 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Succ(wz18200)) -> Main.Succ(Main.Succ(new_primPlusNat0(wz1980, wz18200))) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(wz900)) -> Main.Neg(Main.Succ(wz900)) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Succ(wz950), wz96) -> new_span2Zs07(wz92, wz93) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Succ(wz1160)) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Pos(wz1820)) -> Main.Pos(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Neg(wz1820)) -> new_primMinusNat0(new_primMulNat0(wz1760, wz175), wz1820) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Pos(wz1820)) -> new_primMinusNat0(wz1820, new_primMulNat0(wz1760, wz175)) 18.21/6.53 new_span2Zs09(wz92, wz93, wz96) -> new_span2Zs010(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Pos(Main.Zero)), wz71) 18.21/6.53 new_span2Zs04(wz113, wz114) -> new_span2Zs05(wz113, wz114, new_span2Zs1(wz114)) 18.21/6.53 new_span2Zs05(wz113, wz114, wz118) -> wz118 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Succ(wz1160)) -> new_span2Zs010(wz113, wz114, wz1150, wz1160) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Zero) -> Main.Succ(wz1980) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(wz18200)) -> Main.Succ(wz18200) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Zero) -> new_span2Zs07(wz113, wz114) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Neg(wz1820)) -> Main.Neg(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71) 18.21/6.53 new_pt(wz61) -> new_primMinusInt(wz61, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Succ(wz950), wz96) -> new_span2Zs08(wz92, wz93, wz940, wz950, wz96) 18.21/6.53 new_primMinusInt(wz89, wz90) -> new_primMinusNat0(wz89, wz90) 18.21/6.53 new_span2Zs07(wz92, wz93) -> Cons(Main.Char(Main.Pos(Main.Succ(wz92))), wz93) 18.21/6.53 new_primMulNat0(Main.Zero, wz175) -> Main.Zero 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Zero)), wz71) 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Zero) -> Main.Pos(Main.Succ(wz890)) 18.21/6.53 new_primMulNat0(Main.Succ(wz17600), wz175) -> new_primPlusNat0(new_primMulNat0(wz17600, wz175), Main.Succ(wz175)) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Zero) -> new_span2Zs04(wz113, wz114) 18.21/6.53 18.21/6.53 The set Q consists of the following terms: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Pos(x2)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Zero) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs04(x0, x1) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Succ(x3)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs09(x0, x1, x2) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Neg(x2)) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Pos(x2)) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Succ(x2)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), x0, x1, x2) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Succ(x3), x4) 18.21/6.53 new_span2Zs07(x0, x1) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Zero, x3) 18.21/6.53 new_span2Zs05(x0, x1, x2) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_primMulNat0(Main.Zero, x0) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_pt(x0) 18.21/6.53 new_primMulNat0(Main.Succ(x0), x1) 18.21/6.53 new_span2Zs1(Nil) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Succ(x2), x3) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Neg(x2)) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Zero, x2) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs1(Cons(x0, x1)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), x0, x1, x2) 18.21/6.53 new_primMinusInt(x0, x1) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (19) TransformationProof (EQUIVALENT) 18.21/6.53 By rewriting [LPAR04] the rule new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_pt(wz177), wz178) at position [2] we obtained the following new rules [LPAR04]: 18.21/6.53 18.21/6.53 (new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusInt(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178),new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusInt(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178)) 18.21/6.53 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (20) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Zero) -> new_foldl3(wz175, wz176, wz177, wz178) 18.21/6.53 new_foldl4(wz175, wz176, wz182, Cons(wz1780, wz1781)) -> new_foldl5(wz175, wz176, wz182, wz1780, wz1781, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Succ(wz1790), Main.Succ(wz1800)) -> new_foldl0(wz175, wz176, wz177, wz178, wz1790, wz1800) 18.21/6.53 new_foldl5(wz191, wz192, wz193, wz194, wz195, wz196, wz197) -> new_foldl6(wz191, new_readInt0(wz191, wz192, wz193), wz194, wz195, wz196, wz197) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Succ(wz1800)) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl6(wz132, wz139, Main.Char(Main.Pos(Main.Succ(wz135000))), wz136, wz137, wz138) -> new_foldl(wz132, wz139, wz135000, wz136, Main.Succ(wz135000), Main.Succ(wz137), wz138) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Zero, Main.Zero, wz151) -> new_foldl1(wz145, wz146, wz147, wz148, wz151) 18.21/6.53 new_foldl1(wz145, wz146, wz147, wz148, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Succ(wz1500), wz151) -> new_foldl(wz145, wz146, wz147, wz148, wz1490, wz1500, wz151) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Zero, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl3(wz175, wz176, wz177, wz178) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusInt(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178) 18.21/6.53 18.21/6.53 The TRS R consists of the following rules: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) -> Main.Pos(Main.Zero) 18.21/6.53 new_span2Zs1(Cons(wz600, wz601)) -> new_span2Zs06(wz600, wz601, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_span2Zs1(Nil) -> Nil 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Succ(wz900)) -> new_primMinusNat0(wz890, wz900) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(wz70000))), wz71, wz72, wz73) -> new_span2Zs08(wz70000, wz71, Main.Succ(wz70000), Main.Succ(wz72), wz73) 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Succ(wz18200)) -> Main.Succ(Main.Succ(new_primPlusNat0(wz1980, wz18200))) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(wz900)) -> Main.Neg(Main.Succ(wz900)) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Succ(wz950), wz96) -> new_span2Zs07(wz92, wz93) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Succ(wz1160)) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Pos(wz1820)) -> Main.Pos(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Neg(wz1820)) -> new_primMinusNat0(new_primMulNat0(wz1760, wz175), wz1820) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Pos(wz1820)) -> new_primMinusNat0(wz1820, new_primMulNat0(wz1760, wz175)) 18.21/6.53 new_span2Zs09(wz92, wz93, wz96) -> new_span2Zs010(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Pos(Main.Zero)), wz71) 18.21/6.53 new_span2Zs04(wz113, wz114) -> new_span2Zs05(wz113, wz114, new_span2Zs1(wz114)) 18.21/6.53 new_span2Zs05(wz113, wz114, wz118) -> wz118 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Succ(wz1160)) -> new_span2Zs010(wz113, wz114, wz1150, wz1160) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Zero) -> Main.Succ(wz1980) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(wz18200)) -> Main.Succ(wz18200) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Zero) -> new_span2Zs07(wz113, wz114) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Neg(wz1820)) -> Main.Neg(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71) 18.21/6.53 new_pt(wz61) -> new_primMinusInt(wz61, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Succ(wz950), wz96) -> new_span2Zs08(wz92, wz93, wz940, wz950, wz96) 18.21/6.53 new_primMinusInt(wz89, wz90) -> new_primMinusNat0(wz89, wz90) 18.21/6.53 new_span2Zs07(wz92, wz93) -> Cons(Main.Char(Main.Pos(Main.Succ(wz92))), wz93) 18.21/6.53 new_primMulNat0(Main.Zero, wz175) -> Main.Zero 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Zero)), wz71) 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Zero) -> Main.Pos(Main.Succ(wz890)) 18.21/6.53 new_primMulNat0(Main.Succ(wz17600), wz175) -> new_primPlusNat0(new_primMulNat0(wz17600, wz175), Main.Succ(wz175)) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Zero) -> new_span2Zs04(wz113, wz114) 18.21/6.53 18.21/6.53 The set Q consists of the following terms: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Pos(x2)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Zero) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs04(x0, x1) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Succ(x3)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs09(x0, x1, x2) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Neg(x2)) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Pos(x2)) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Succ(x2)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), x0, x1, x2) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Succ(x3), x4) 18.21/6.53 new_span2Zs07(x0, x1) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Zero, x3) 18.21/6.53 new_span2Zs05(x0, x1, x2) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_primMulNat0(Main.Zero, x0) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_pt(x0) 18.21/6.53 new_primMulNat0(Main.Succ(x0), x1) 18.21/6.53 new_span2Zs1(Nil) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Succ(x2), x3) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Neg(x2)) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Zero, x2) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs1(Cons(x0, x1)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), x0, x1, x2) 18.21/6.53 new_primMinusInt(x0, x1) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (21) UsableRulesProof (EQUIVALENT) 18.21/6.53 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (22) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Zero) -> new_foldl3(wz175, wz176, wz177, wz178) 18.21/6.53 new_foldl4(wz175, wz176, wz182, Cons(wz1780, wz1781)) -> new_foldl5(wz175, wz176, wz182, wz1780, wz1781, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Succ(wz1790), Main.Succ(wz1800)) -> new_foldl0(wz175, wz176, wz177, wz178, wz1790, wz1800) 18.21/6.53 new_foldl5(wz191, wz192, wz193, wz194, wz195, wz196, wz197) -> new_foldl6(wz191, new_readInt0(wz191, wz192, wz193), wz194, wz195, wz196, wz197) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Succ(wz1800)) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl6(wz132, wz139, Main.Char(Main.Pos(Main.Succ(wz135000))), wz136, wz137, wz138) -> new_foldl(wz132, wz139, wz135000, wz136, Main.Succ(wz135000), Main.Succ(wz137), wz138) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Zero, Main.Zero, wz151) -> new_foldl1(wz145, wz146, wz147, wz148, wz151) 18.21/6.53 new_foldl1(wz145, wz146, wz147, wz148, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Succ(wz1500), wz151) -> new_foldl(wz145, wz146, wz147, wz148, wz1490, wz1500, wz151) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Zero, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl3(wz175, wz176, wz177, wz178) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusInt(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178) 18.21/6.53 18.21/6.53 The TRS R consists of the following rules: 18.21/6.53 18.21/6.53 new_primMinusInt(wz89, wz90) -> new_primMinusNat0(wz89, wz90) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) -> Main.Pos(Main.Zero) 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Succ(wz900)) -> new_primMinusNat0(wz890, wz900) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(wz900)) -> Main.Neg(Main.Succ(wz900)) 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Zero) -> Main.Pos(Main.Succ(wz890)) 18.21/6.53 new_span2Zs1(Cons(wz600, wz601)) -> new_span2Zs06(wz600, wz601, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_span2Zs1(Nil) -> Nil 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(wz70000))), wz71, wz72, wz73) -> new_span2Zs08(wz70000, wz71, Main.Succ(wz70000), Main.Succ(wz72), wz73) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Pos(Main.Zero)), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Zero)), wz71) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Succ(wz950), wz96) -> new_span2Zs08(wz92, wz93, wz940, wz950, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Succ(wz950), wz96) -> new_span2Zs07(wz92, wz93) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs09(wz92, wz93, wz96) -> new_span2Zs010(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Succ(wz1160)) -> new_span2Zs010(wz113, wz114, wz1150, wz1160) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Succ(wz1160)) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Zero) -> new_span2Zs07(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Zero) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs04(wz113, wz114) -> new_span2Zs05(wz113, wz114, new_span2Zs1(wz114)) 18.21/6.53 new_span2Zs05(wz113, wz114, wz118) -> wz118 18.21/6.53 new_span2Zs07(wz92, wz93) -> Cons(Main.Char(Main.Pos(Main.Succ(wz92))), wz93) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Pos(wz1820)) -> Main.Pos(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Neg(wz1820)) -> new_primMinusNat0(new_primMulNat0(wz1760, wz175), wz1820) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Pos(wz1820)) -> new_primMinusNat0(wz1820, new_primMulNat0(wz1760, wz175)) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Neg(wz1820)) -> Main.Neg(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_primMulNat0(Main.Zero, wz175) -> Main.Zero 18.21/6.53 new_primMulNat0(Main.Succ(wz17600), wz175) -> new_primPlusNat0(new_primMulNat0(wz17600, wz175), Main.Succ(wz175)) 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Succ(wz18200)) -> Main.Succ(Main.Succ(new_primPlusNat0(wz1980, wz18200))) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Zero) -> Main.Succ(wz1980) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(wz18200)) -> Main.Succ(wz18200) 18.21/6.53 18.21/6.53 The set Q consists of the following terms: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Pos(x2)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Zero) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs04(x0, x1) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Succ(x3)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs09(x0, x1, x2) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Neg(x2)) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Pos(x2)) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Succ(x2)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), x0, x1, x2) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Succ(x3), x4) 18.21/6.53 new_span2Zs07(x0, x1) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Zero, x3) 18.21/6.53 new_span2Zs05(x0, x1, x2) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_primMulNat0(Main.Zero, x0) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_pt(x0) 18.21/6.53 new_primMulNat0(Main.Succ(x0), x1) 18.21/6.53 new_span2Zs1(Nil) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Succ(x2), x3) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Neg(x2)) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Zero, x2) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs1(Cons(x0, x1)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), x0, x1, x2) 18.21/6.53 new_primMinusInt(x0, x1) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (23) QReductionProof (EQUIVALENT) 18.21/6.53 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 18.21/6.53 18.21/6.53 new_pt(x0) 18.21/6.53 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (24) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Zero) -> new_foldl3(wz175, wz176, wz177, wz178) 18.21/6.53 new_foldl4(wz175, wz176, wz182, Cons(wz1780, wz1781)) -> new_foldl5(wz175, wz176, wz182, wz1780, wz1781, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Succ(wz1790), Main.Succ(wz1800)) -> new_foldl0(wz175, wz176, wz177, wz178, wz1790, wz1800) 18.21/6.53 new_foldl5(wz191, wz192, wz193, wz194, wz195, wz196, wz197) -> new_foldl6(wz191, new_readInt0(wz191, wz192, wz193), wz194, wz195, wz196, wz197) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Succ(wz1800)) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl6(wz132, wz139, Main.Char(Main.Pos(Main.Succ(wz135000))), wz136, wz137, wz138) -> new_foldl(wz132, wz139, wz135000, wz136, Main.Succ(wz135000), Main.Succ(wz137), wz138) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Zero, Main.Zero, wz151) -> new_foldl1(wz145, wz146, wz147, wz148, wz151) 18.21/6.53 new_foldl1(wz145, wz146, wz147, wz148, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Succ(wz1500), wz151) -> new_foldl(wz145, wz146, wz147, wz148, wz1490, wz1500, wz151) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Zero, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl3(wz175, wz176, wz177, wz178) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusInt(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178) 18.21/6.53 18.21/6.53 The TRS R consists of the following rules: 18.21/6.53 18.21/6.53 new_primMinusInt(wz89, wz90) -> new_primMinusNat0(wz89, wz90) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) -> Main.Pos(Main.Zero) 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Succ(wz900)) -> new_primMinusNat0(wz890, wz900) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(wz900)) -> Main.Neg(Main.Succ(wz900)) 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Zero) -> Main.Pos(Main.Succ(wz890)) 18.21/6.53 new_span2Zs1(Cons(wz600, wz601)) -> new_span2Zs06(wz600, wz601, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_span2Zs1(Nil) -> Nil 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(wz70000))), wz71, wz72, wz73) -> new_span2Zs08(wz70000, wz71, Main.Succ(wz70000), Main.Succ(wz72), wz73) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Pos(Main.Zero)), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Zero)), wz71) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Succ(wz950), wz96) -> new_span2Zs08(wz92, wz93, wz940, wz950, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Succ(wz950), wz96) -> new_span2Zs07(wz92, wz93) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs09(wz92, wz93, wz96) -> new_span2Zs010(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Succ(wz1160)) -> new_span2Zs010(wz113, wz114, wz1150, wz1160) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Succ(wz1160)) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Zero) -> new_span2Zs07(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Zero) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs04(wz113, wz114) -> new_span2Zs05(wz113, wz114, new_span2Zs1(wz114)) 18.21/6.53 new_span2Zs05(wz113, wz114, wz118) -> wz118 18.21/6.53 new_span2Zs07(wz92, wz93) -> Cons(Main.Char(Main.Pos(Main.Succ(wz92))), wz93) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Pos(wz1820)) -> Main.Pos(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Neg(wz1820)) -> new_primMinusNat0(new_primMulNat0(wz1760, wz175), wz1820) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Pos(wz1820)) -> new_primMinusNat0(wz1820, new_primMulNat0(wz1760, wz175)) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Neg(wz1820)) -> Main.Neg(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_primMulNat0(Main.Zero, wz175) -> Main.Zero 18.21/6.53 new_primMulNat0(Main.Succ(wz17600), wz175) -> new_primPlusNat0(new_primMulNat0(wz17600, wz175), Main.Succ(wz175)) 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Succ(wz18200)) -> Main.Succ(Main.Succ(new_primPlusNat0(wz1980, wz18200))) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Zero) -> Main.Succ(wz1980) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(wz18200)) -> Main.Succ(wz18200) 18.21/6.53 18.21/6.53 The set Q consists of the following terms: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Pos(x2)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Zero) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs04(x0, x1) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Succ(x3)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs09(x0, x1, x2) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Neg(x2)) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Pos(x2)) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Succ(x2)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), x0, x1, x2) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Succ(x3), x4) 18.21/6.53 new_span2Zs07(x0, x1) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Zero, x3) 18.21/6.53 new_span2Zs05(x0, x1, x2) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_primMulNat0(Main.Zero, x0) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_primMulNat0(Main.Succ(x0), x1) 18.21/6.53 new_span2Zs1(Nil) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Succ(x2), x3) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Neg(x2)) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Zero, x2) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs1(Cons(x0, x1)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), x0, x1, x2) 18.21/6.53 new_primMinusInt(x0, x1) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (25) TransformationProof (EQUIVALENT) 18.21/6.53 By rewriting [LPAR04] the rule new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusInt(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178) at position [2] we obtained the following new rules [LPAR04]: 18.21/6.53 18.21/6.53 (new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusNat0(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178),new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusNat0(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178)) 18.21/6.53 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (26) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Zero) -> new_foldl3(wz175, wz176, wz177, wz178) 18.21/6.53 new_foldl4(wz175, wz176, wz182, Cons(wz1780, wz1781)) -> new_foldl5(wz175, wz176, wz182, wz1780, wz1781, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Succ(wz1790), Main.Succ(wz1800)) -> new_foldl0(wz175, wz176, wz177, wz178, wz1790, wz1800) 18.21/6.53 new_foldl5(wz191, wz192, wz193, wz194, wz195, wz196, wz197) -> new_foldl6(wz191, new_readInt0(wz191, wz192, wz193), wz194, wz195, wz196, wz197) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Succ(wz1800)) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl6(wz132, wz139, Main.Char(Main.Pos(Main.Succ(wz135000))), wz136, wz137, wz138) -> new_foldl(wz132, wz139, wz135000, wz136, Main.Succ(wz135000), Main.Succ(wz137), wz138) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Zero, Main.Zero, wz151) -> new_foldl1(wz145, wz146, wz147, wz148, wz151) 18.21/6.53 new_foldl1(wz145, wz146, wz147, wz148, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Succ(wz1500), wz151) -> new_foldl(wz145, wz146, wz147, wz148, wz1490, wz1500, wz151) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Zero, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl3(wz175, wz176, wz177, wz178) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusNat0(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178) 18.21/6.53 18.21/6.53 The TRS R consists of the following rules: 18.21/6.53 18.21/6.53 new_primMinusInt(wz89, wz90) -> new_primMinusNat0(wz89, wz90) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) -> Main.Pos(Main.Zero) 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Succ(wz900)) -> new_primMinusNat0(wz890, wz900) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(wz900)) -> Main.Neg(Main.Succ(wz900)) 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Zero) -> Main.Pos(Main.Succ(wz890)) 18.21/6.53 new_span2Zs1(Cons(wz600, wz601)) -> new_span2Zs06(wz600, wz601, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_span2Zs1(Nil) -> Nil 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(wz70000))), wz71, wz72, wz73) -> new_span2Zs08(wz70000, wz71, Main.Succ(wz70000), Main.Succ(wz72), wz73) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Pos(Main.Zero)), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Zero)), wz71) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Succ(wz950), wz96) -> new_span2Zs08(wz92, wz93, wz940, wz950, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Succ(wz950), wz96) -> new_span2Zs07(wz92, wz93) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs09(wz92, wz93, wz96) -> new_span2Zs010(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Succ(wz1160)) -> new_span2Zs010(wz113, wz114, wz1150, wz1160) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Succ(wz1160)) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Zero) -> new_span2Zs07(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Zero) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs04(wz113, wz114) -> new_span2Zs05(wz113, wz114, new_span2Zs1(wz114)) 18.21/6.53 new_span2Zs05(wz113, wz114, wz118) -> wz118 18.21/6.53 new_span2Zs07(wz92, wz93) -> Cons(Main.Char(Main.Pos(Main.Succ(wz92))), wz93) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Pos(wz1820)) -> Main.Pos(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Neg(wz1820)) -> new_primMinusNat0(new_primMulNat0(wz1760, wz175), wz1820) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Pos(wz1820)) -> new_primMinusNat0(wz1820, new_primMulNat0(wz1760, wz175)) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Neg(wz1820)) -> Main.Neg(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_primMulNat0(Main.Zero, wz175) -> Main.Zero 18.21/6.53 new_primMulNat0(Main.Succ(wz17600), wz175) -> new_primPlusNat0(new_primMulNat0(wz17600, wz175), Main.Succ(wz175)) 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Succ(wz18200)) -> Main.Succ(Main.Succ(new_primPlusNat0(wz1980, wz18200))) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Zero) -> Main.Succ(wz1980) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(wz18200)) -> Main.Succ(wz18200) 18.21/6.53 18.21/6.53 The set Q consists of the following terms: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Pos(x2)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Zero) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs04(x0, x1) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Succ(x3)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs09(x0, x1, x2) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Neg(x2)) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Pos(x2)) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Succ(x2)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), x0, x1, x2) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Succ(x3), x4) 18.21/6.53 new_span2Zs07(x0, x1) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Zero, x3) 18.21/6.53 new_span2Zs05(x0, x1, x2) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_primMulNat0(Main.Zero, x0) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_primMulNat0(Main.Succ(x0), x1) 18.21/6.53 new_span2Zs1(Nil) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Succ(x2), x3) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Neg(x2)) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Zero, x2) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs1(Cons(x0, x1)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), x0, x1, x2) 18.21/6.53 new_primMinusInt(x0, x1) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (27) UsableRulesProof (EQUIVALENT) 18.21/6.53 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (28) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Zero) -> new_foldl3(wz175, wz176, wz177, wz178) 18.21/6.53 new_foldl4(wz175, wz176, wz182, Cons(wz1780, wz1781)) -> new_foldl5(wz175, wz176, wz182, wz1780, wz1781, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Succ(wz1790), Main.Succ(wz1800)) -> new_foldl0(wz175, wz176, wz177, wz178, wz1790, wz1800) 18.21/6.53 new_foldl5(wz191, wz192, wz193, wz194, wz195, wz196, wz197) -> new_foldl6(wz191, new_readInt0(wz191, wz192, wz193), wz194, wz195, wz196, wz197) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Succ(wz1800)) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl6(wz132, wz139, Main.Char(Main.Pos(Main.Succ(wz135000))), wz136, wz137, wz138) -> new_foldl(wz132, wz139, wz135000, wz136, Main.Succ(wz135000), Main.Succ(wz137), wz138) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Zero, Main.Zero, wz151) -> new_foldl1(wz145, wz146, wz147, wz148, wz151) 18.21/6.53 new_foldl1(wz145, wz146, wz147, wz148, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Succ(wz1500), wz151) -> new_foldl(wz145, wz146, wz147, wz148, wz1490, wz1500, wz151) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Zero, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl3(wz175, wz176, wz177, wz178) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusNat0(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178) 18.21/6.53 18.21/6.53 The TRS R consists of the following rules: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Succ(wz900)) -> new_primMinusNat0(wz890, wz900) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(wz900)) -> Main.Neg(Main.Succ(wz900)) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) -> Main.Pos(Main.Zero) 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Zero) -> Main.Pos(Main.Succ(wz890)) 18.21/6.53 new_span2Zs1(Cons(wz600, wz601)) -> new_span2Zs06(wz600, wz601, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_span2Zs1(Nil) -> Nil 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(wz70000))), wz71, wz72, wz73) -> new_span2Zs08(wz70000, wz71, Main.Succ(wz70000), Main.Succ(wz72), wz73) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Pos(Main.Zero)), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Zero)), wz71) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Succ(wz950), wz96) -> new_span2Zs08(wz92, wz93, wz940, wz950, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Succ(wz950), wz96) -> new_span2Zs07(wz92, wz93) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs09(wz92, wz93, wz96) -> new_span2Zs010(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Succ(wz1160)) -> new_span2Zs010(wz113, wz114, wz1150, wz1160) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Succ(wz1160)) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Zero) -> new_span2Zs07(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Zero) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs04(wz113, wz114) -> new_span2Zs05(wz113, wz114, new_span2Zs1(wz114)) 18.21/6.53 new_span2Zs05(wz113, wz114, wz118) -> wz118 18.21/6.53 new_span2Zs07(wz92, wz93) -> Cons(Main.Char(Main.Pos(Main.Succ(wz92))), wz93) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Pos(wz1820)) -> Main.Pos(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Neg(wz1820)) -> new_primMinusNat0(new_primMulNat0(wz1760, wz175), wz1820) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Pos(wz1820)) -> new_primMinusNat0(wz1820, new_primMulNat0(wz1760, wz175)) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Neg(wz1820)) -> Main.Neg(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_primMulNat0(Main.Zero, wz175) -> Main.Zero 18.21/6.53 new_primMulNat0(Main.Succ(wz17600), wz175) -> new_primPlusNat0(new_primMulNat0(wz17600, wz175), Main.Succ(wz175)) 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Succ(wz18200)) -> Main.Succ(Main.Succ(new_primPlusNat0(wz1980, wz18200))) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Zero) -> Main.Succ(wz1980) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(wz18200)) -> Main.Succ(wz18200) 18.21/6.53 18.21/6.53 The set Q consists of the following terms: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Pos(x2)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Zero) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs04(x0, x1) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Succ(x3)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs09(x0, x1, x2) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Neg(x2)) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Pos(x2)) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Succ(x2)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), x0, x1, x2) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Succ(x3), x4) 18.21/6.53 new_span2Zs07(x0, x1) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Zero, x3) 18.21/6.53 new_span2Zs05(x0, x1, x2) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_primMulNat0(Main.Zero, x0) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_primMulNat0(Main.Succ(x0), x1) 18.21/6.53 new_span2Zs1(Nil) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Succ(x2), x3) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Neg(x2)) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Zero, x2) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs1(Cons(x0, x1)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), x0, x1, x2) 18.21/6.53 new_primMinusInt(x0, x1) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (29) QReductionProof (EQUIVALENT) 18.21/6.53 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 18.21/6.53 18.21/6.53 new_primMinusInt(x0, x1) 18.21/6.53 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (30) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Zero) -> new_foldl3(wz175, wz176, wz177, wz178) 18.21/6.53 new_foldl4(wz175, wz176, wz182, Cons(wz1780, wz1781)) -> new_foldl5(wz175, wz176, wz182, wz1780, wz1781, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Succ(wz1790), Main.Succ(wz1800)) -> new_foldl0(wz175, wz176, wz177, wz178, wz1790, wz1800) 18.21/6.53 new_foldl5(wz191, wz192, wz193, wz194, wz195, wz196, wz197) -> new_foldl6(wz191, new_readInt0(wz191, wz192, wz193), wz194, wz195, wz196, wz197) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Succ(wz1800)) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl6(wz132, wz139, Main.Char(Main.Pos(Main.Succ(wz135000))), wz136, wz137, wz138) -> new_foldl(wz132, wz139, wz135000, wz136, Main.Succ(wz135000), Main.Succ(wz137), wz138) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Zero, Main.Zero, wz151) -> new_foldl1(wz145, wz146, wz147, wz148, wz151) 18.21/6.53 new_foldl1(wz145, wz146, wz147, wz148, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Succ(wz1500), wz151) -> new_foldl(wz145, wz146, wz147, wz148, wz1490, wz1500, wz151) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Zero, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl3(wz175, wz176, wz177, wz178) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusNat0(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178) 18.21/6.53 18.21/6.53 The TRS R consists of the following rules: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Succ(wz900)) -> new_primMinusNat0(wz890, wz900) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(wz900)) -> Main.Neg(Main.Succ(wz900)) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) -> Main.Pos(Main.Zero) 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Zero) -> Main.Pos(Main.Succ(wz890)) 18.21/6.53 new_span2Zs1(Cons(wz600, wz601)) -> new_span2Zs06(wz600, wz601, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_span2Zs1(Nil) -> Nil 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(wz70000))), wz71, wz72, wz73) -> new_span2Zs08(wz70000, wz71, Main.Succ(wz70000), Main.Succ(wz72), wz73) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Pos(Main.Zero)), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Zero)), wz71) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Succ(wz950), wz96) -> new_span2Zs08(wz92, wz93, wz940, wz950, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Succ(wz950), wz96) -> new_span2Zs07(wz92, wz93) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs09(wz92, wz93, wz96) -> new_span2Zs010(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Succ(wz1160)) -> new_span2Zs010(wz113, wz114, wz1150, wz1160) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Succ(wz1160)) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Zero) -> new_span2Zs07(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Zero) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs04(wz113, wz114) -> new_span2Zs05(wz113, wz114, new_span2Zs1(wz114)) 18.21/6.53 new_span2Zs05(wz113, wz114, wz118) -> wz118 18.21/6.53 new_span2Zs07(wz92, wz93) -> Cons(Main.Char(Main.Pos(Main.Succ(wz92))), wz93) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Pos(wz1820)) -> Main.Pos(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Neg(wz1820)) -> new_primMinusNat0(new_primMulNat0(wz1760, wz175), wz1820) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Pos(wz1820)) -> new_primMinusNat0(wz1820, new_primMulNat0(wz1760, wz175)) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Neg(wz1820)) -> Main.Neg(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_primMulNat0(Main.Zero, wz175) -> Main.Zero 18.21/6.53 new_primMulNat0(Main.Succ(wz17600), wz175) -> new_primPlusNat0(new_primMulNat0(wz17600, wz175), Main.Succ(wz175)) 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Succ(wz18200)) -> Main.Succ(Main.Succ(new_primPlusNat0(wz1980, wz18200))) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Zero) -> Main.Succ(wz1980) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(wz18200)) -> Main.Succ(wz18200) 18.21/6.53 18.21/6.53 The set Q consists of the following terms: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Pos(x2)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Zero) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs04(x0, x1) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Succ(x3)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs09(x0, x1, x2) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Neg(x2)) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Pos(x2)) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Succ(x2)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), x0, x1, x2) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Succ(x3), x4) 18.21/6.53 new_span2Zs07(x0, x1) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Zero, x3) 18.21/6.53 new_span2Zs05(x0, x1, x2) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_primMulNat0(Main.Zero, x0) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_primMulNat0(Main.Succ(x0), x1) 18.21/6.53 new_span2Zs1(Nil) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Succ(x2), x3) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Neg(x2)) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Zero, x2) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs1(Cons(x0, x1)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), x0, x1, x2) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (31) TransformationProof (EQUIVALENT) 18.21/6.53 By instantiating [LPAR04] the rule new_foldl5(wz191, wz192, wz193, wz194, wz195, wz196, wz197) -> new_foldl6(wz191, new_readInt0(wz191, wz192, wz193), wz194, wz195, wz196, wz197) we obtained the following new rules [LPAR04]: 18.21/6.53 18.21/6.53 (new_foldl5(z0, z1, z2, z3, z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> new_foldl6(z0, new_readInt0(z0, z1, z2), z3, z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))),new_foldl5(z0, z1, z2, z3, z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> new_foldl6(z0, new_readInt0(z0, z1, z2), z3, z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (32) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Zero) -> new_foldl3(wz175, wz176, wz177, wz178) 18.21/6.53 new_foldl4(wz175, wz176, wz182, Cons(wz1780, wz1781)) -> new_foldl5(wz175, wz176, wz182, wz1780, wz1781, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Succ(wz1790), Main.Succ(wz1800)) -> new_foldl0(wz175, wz176, wz177, wz178, wz1790, wz1800) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Succ(wz1800)) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl6(wz132, wz139, Main.Char(Main.Pos(Main.Succ(wz135000))), wz136, wz137, wz138) -> new_foldl(wz132, wz139, wz135000, wz136, Main.Succ(wz135000), Main.Succ(wz137), wz138) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Zero, Main.Zero, wz151) -> new_foldl1(wz145, wz146, wz147, wz148, wz151) 18.21/6.53 new_foldl1(wz145, wz146, wz147, wz148, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Succ(wz1500), wz151) -> new_foldl(wz145, wz146, wz147, wz148, wz1490, wz1500, wz151) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Zero, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl3(wz175, wz176, wz177, wz178) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusNat0(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178) 18.21/6.53 new_foldl5(z0, z1, z2, z3, z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> new_foldl6(z0, new_readInt0(z0, z1, z2), z3, z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 18.21/6.53 The TRS R consists of the following rules: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Succ(wz900)) -> new_primMinusNat0(wz890, wz900) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(wz900)) -> Main.Neg(Main.Succ(wz900)) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) -> Main.Pos(Main.Zero) 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Zero) -> Main.Pos(Main.Succ(wz890)) 18.21/6.53 new_span2Zs1(Cons(wz600, wz601)) -> new_span2Zs06(wz600, wz601, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_span2Zs1(Nil) -> Nil 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(wz70000))), wz71, wz72, wz73) -> new_span2Zs08(wz70000, wz71, Main.Succ(wz70000), Main.Succ(wz72), wz73) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Pos(Main.Zero)), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Zero)), wz71) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Succ(wz950), wz96) -> new_span2Zs08(wz92, wz93, wz940, wz950, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Succ(wz950), wz96) -> new_span2Zs07(wz92, wz93) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs09(wz92, wz93, wz96) -> new_span2Zs010(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Succ(wz1160)) -> new_span2Zs010(wz113, wz114, wz1150, wz1160) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Succ(wz1160)) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Zero) -> new_span2Zs07(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Zero) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs04(wz113, wz114) -> new_span2Zs05(wz113, wz114, new_span2Zs1(wz114)) 18.21/6.53 new_span2Zs05(wz113, wz114, wz118) -> wz118 18.21/6.53 new_span2Zs07(wz92, wz93) -> Cons(Main.Char(Main.Pos(Main.Succ(wz92))), wz93) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Pos(wz1820)) -> Main.Pos(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Neg(wz1820)) -> new_primMinusNat0(new_primMulNat0(wz1760, wz175), wz1820) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Pos(wz1820)) -> new_primMinusNat0(wz1820, new_primMulNat0(wz1760, wz175)) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Neg(wz1820)) -> Main.Neg(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_primMulNat0(Main.Zero, wz175) -> Main.Zero 18.21/6.53 new_primMulNat0(Main.Succ(wz17600), wz175) -> new_primPlusNat0(new_primMulNat0(wz17600, wz175), Main.Succ(wz175)) 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Succ(wz18200)) -> Main.Succ(Main.Succ(new_primPlusNat0(wz1980, wz18200))) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Zero) -> Main.Succ(wz1980) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(wz18200)) -> Main.Succ(wz18200) 18.21/6.53 18.21/6.53 The set Q consists of the following terms: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Pos(x2)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Zero) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs04(x0, x1) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Succ(x3)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs09(x0, x1, x2) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Neg(x2)) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Pos(x2)) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Succ(x2)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), x0, x1, x2) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Succ(x3), x4) 18.21/6.53 new_span2Zs07(x0, x1) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Zero, x3) 18.21/6.53 new_span2Zs05(x0, x1, x2) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_primMulNat0(Main.Zero, x0) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_primMulNat0(Main.Succ(x0), x1) 18.21/6.53 new_span2Zs1(Nil) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Succ(x2), x3) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Neg(x2)) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Zero, x2) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs1(Cons(x0, x1)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), x0, x1, x2) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (33) TransformationProof (EQUIVALENT) 18.21/6.53 By instantiating [LPAR04] the rule new_foldl6(wz132, wz139, Main.Char(Main.Pos(Main.Succ(wz135000))), wz136, wz137, wz138) -> new_foldl(wz132, wz139, wz135000, wz136, Main.Succ(wz135000), Main.Succ(wz137), wz138) we obtained the following new rules [LPAR04]: 18.21/6.53 18.21/6.53 (new_foldl6(z0, y_0, Main.Char(Main.Pos(Main.Succ(x2))), z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> new_foldl(z0, y_0, x2, z4, Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))),new_foldl6(z0, y_0, Main.Char(Main.Pos(Main.Succ(x2))), z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> new_foldl(z0, y_0, x2, z4, Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (34) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Zero) -> new_foldl3(wz175, wz176, wz177, wz178) 18.21/6.53 new_foldl4(wz175, wz176, wz182, Cons(wz1780, wz1781)) -> new_foldl5(wz175, wz176, wz182, wz1780, wz1781, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Succ(wz1790), Main.Succ(wz1800)) -> new_foldl0(wz175, wz176, wz177, wz178, wz1790, wz1800) 18.21/6.53 new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Succ(wz1800)) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Zero, Main.Zero, wz151) -> new_foldl1(wz145, wz146, wz147, wz148, wz151) 18.21/6.53 new_foldl1(wz145, wz146, wz147, wz148, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Succ(wz1500), wz151) -> new_foldl(wz145, wz146, wz147, wz148, wz1490, wz1500, wz151) 18.21/6.53 new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Zero, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 new_foldl3(wz175, wz176, wz177, wz178) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusNat0(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178) 18.21/6.53 new_foldl5(z0, z1, z2, z3, z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> new_foldl6(z0, new_readInt0(z0, z1, z2), z3, z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_foldl6(z0, y_0, Main.Char(Main.Pos(Main.Succ(x2))), z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> new_foldl(z0, y_0, x2, z4, Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 18.21/6.53 The TRS R consists of the following rules: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Succ(wz900)) -> new_primMinusNat0(wz890, wz900) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(wz900)) -> Main.Neg(Main.Succ(wz900)) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) -> Main.Pos(Main.Zero) 18.21/6.53 new_primMinusNat0(Main.Succ(wz890), Main.Zero) -> Main.Pos(Main.Succ(wz890)) 18.21/6.53 new_span2Zs1(Cons(wz600, wz601)) -> new_span2Zs06(wz600, wz601, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 new_span2Zs1(Nil) -> Nil 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(wz70000))), wz71, wz72, wz73) -> new_span2Zs08(wz70000, wz71, Main.Succ(wz70000), Main.Succ(wz72), wz73) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Pos(Main.Zero)), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Succ(wz70000))), wz71) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), wz71, wz72, wz73) -> Cons(Main.Char(Main.Neg(Main.Zero)), wz71) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Succ(wz950), wz96) -> new_span2Zs08(wz92, wz93, wz940, wz950, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Succ(wz950), wz96) -> new_span2Zs07(wz92, wz93) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Zero, Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs08(wz92, wz93, Main.Succ(wz940), Main.Zero, wz96) -> new_span2Zs09(wz92, wz93, wz96) 18.21/6.53 new_span2Zs09(wz92, wz93, wz96) -> new_span2Zs010(wz92, wz93, Main.Succ(wz92), Main.Succ(wz96)) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Succ(wz1160)) -> new_span2Zs010(wz113, wz114, wz1150, wz1160) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Succ(wz1160)) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Succ(wz1150), Main.Zero) -> new_span2Zs07(wz113, wz114) 18.21/6.53 new_span2Zs010(wz113, wz114, Main.Zero, Main.Zero) -> new_span2Zs04(wz113, wz114) 18.21/6.53 new_span2Zs04(wz113, wz114) -> new_span2Zs05(wz113, wz114, new_span2Zs1(wz114)) 18.21/6.53 new_span2Zs05(wz113, wz114, wz118) -> wz118 18.21/6.53 new_span2Zs07(wz92, wz93) -> Cons(Main.Char(Main.Pos(Main.Succ(wz92))), wz93) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Pos(wz1820)) -> Main.Pos(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_readInt0(wz175, Main.Pos(wz1760), Main.Neg(wz1820)) -> new_primMinusNat0(new_primMulNat0(wz1760, wz175), wz1820) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Pos(wz1820)) -> new_primMinusNat0(wz1820, new_primMulNat0(wz1760, wz175)) 18.21/6.53 new_readInt0(wz175, Main.Neg(wz1760), Main.Neg(wz1820)) -> Main.Neg(new_primPlusNat0(new_primMulNat0(wz1760, wz175), wz1820)) 18.21/6.53 new_primMulNat0(Main.Zero, wz175) -> Main.Zero 18.21/6.53 new_primMulNat0(Main.Succ(wz17600), wz175) -> new_primPlusNat0(new_primMulNat0(wz17600, wz175), Main.Succ(wz175)) 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Succ(wz18200)) -> Main.Succ(Main.Succ(new_primPlusNat0(wz1980, wz18200))) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 18.21/6.53 new_primPlusNat0(Main.Succ(wz1980), Main.Zero) -> Main.Succ(wz1980) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(wz18200)) -> Main.Succ(wz18200) 18.21/6.53 18.21/6.53 The set Q consists of the following terms: 18.21/6.53 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Pos(x2)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Zero) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs04(x0, x1) 18.21/6.53 new_span2Zs010(x0, x1, Main.Succ(x2), Main.Succ(x3)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Succ(x0))), x1, x2, x3) 18.21/6.53 new_span2Zs09(x0, x1, x2) 18.21/6.53 new_readInt0(x0, Main.Pos(x1), Main.Neg(x2)) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Pos(x2)) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Succ(x2)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Neg(Main.Zero)), x0, x1, x2) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Succ(x3), x4) 18.21/6.53 new_span2Zs07(x0, x1) 18.21/6.53 new_primMinusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs08(x0, x1, Main.Succ(x2), Main.Zero, x3) 18.21/6.53 new_span2Zs05(x0, x1, x2) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Zero) 18.21/6.53 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_primMulNat0(Main.Zero, x0) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Zero) 18.21/6.53 new_primMulNat0(Main.Succ(x0), x1) 18.21/6.53 new_span2Zs1(Nil) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Succ(x2), x3) 18.21/6.53 new_readInt0(x0, Main.Neg(x1), Main.Neg(x2)) 18.21/6.53 new_span2Zs08(x0, x1, Main.Zero, Main.Zero, x2) 18.21/6.53 new_span2Zs010(x0, x1, Main.Zero, Main.Zero) 18.21/6.53 new_span2Zs1(Cons(x0, x1)) 18.21/6.53 new_primMinusNat0(Main.Succ(x0), Main.Succ(x1)) 18.21/6.53 new_span2Zs06(Main.Char(Main.Pos(Main.Zero)), x0, x1, x2) 18.21/6.53 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 18.21/6.53 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (35) QDPSizeChangeProof (EQUIVALENT) 18.21/6.53 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 18.21/6.53 18.21/6.53 From the DPs we obtained the following set of size-change graphs: 18.21/6.53 *new_foldl3(wz175, wz176, wz177, wz178) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4 18.21/6.53 18.21/6.53 18.21/6.53 *new_foldl0(wz175, wz176, wz177, wz178, Main.Succ(wz1790), Main.Succ(wz1800)) -> new_foldl0(wz175, wz176, wz177, wz178, wz1790, wz1800) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 > 5, 6 > 6 18.21/6.53 18.21/6.53 18.21/6.53 *new_foldl5(z0, z1, z2, z3, z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> new_foldl6(z0, new_readInt0(z0, z1, z2), z3, z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 The graph contains the following edges 1 >= 1, 4 >= 3, 5 >= 4, 6 >= 5, 7 > 5, 7 >= 6 18.21/6.53 18.21/6.53 18.21/6.53 *new_foldl2(wz175, wz176, wz177, wz178, wz181) -> new_foldl4(wz175, wz176, new_primMinusNat0(wz177, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), wz178) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 4 >= 4 18.21/6.53 18.21/6.53 18.21/6.53 *new_foldl1(wz145, wz146, wz147, wz148, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4 18.21/6.53 18.21/6.53 18.21/6.53 *new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Zero, wz151) -> new_foldl0(wz145, wz146, wz147, wz148, Main.Succ(wz147), Main.Succ(wz151)) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4 18.21/6.53 18.21/6.53 18.21/6.53 *new_foldl(wz145, wz146, wz147, wz148, Main.Succ(wz1490), Main.Succ(wz1500), wz151) -> new_foldl(wz145, wz146, wz147, wz148, wz1490, wz1500, wz151) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 > 5, 6 > 6, 7 >= 7 18.21/6.53 18.21/6.53 18.21/6.53 *new_foldl(wz145, wz146, wz147, wz148, Main.Zero, Main.Zero, wz151) -> new_foldl1(wz145, wz146, wz147, wz148, wz151) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 7 >= 5 18.21/6.53 18.21/6.53 18.21/6.53 *new_foldl6(z0, y_0, Main.Char(Main.Pos(Main.Succ(x2))), z4, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> new_foldl(z0, y_0, x2, z4, Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 3 > 5, 6 > 6, 6 >= 7 18.21/6.53 18.21/6.53 18.21/6.53 *new_foldl4(wz175, wz176, wz182, Cons(wz1780, wz1781)) -> new_foldl5(wz175, wz176, wz182, wz1780, wz1781, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 4 > 5 18.21/6.53 18.21/6.53 18.21/6.53 *new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Zero) -> new_foldl3(wz175, wz176, wz177, wz178) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4 18.21/6.53 18.21/6.53 18.21/6.53 *new_foldl0(wz175, wz176, wz177, wz178, Main.Zero, Main.Succ(wz1800)) -> new_foldl2(wz175, wz176, wz177, wz178, new_span2Zs1(wz178)) 18.21/6.53 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4 18.21/6.53 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (36) 18.21/6.53 YES 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (37) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_primMinusNat(Main.Succ(wz890), Main.Succ(wz900)) -> new_primMinusNat(wz890, wz900) 18.21/6.53 18.21/6.53 R is empty. 18.21/6.53 Q is empty. 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (38) QDPSizeChangeProof (EQUIVALENT) 18.21/6.53 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 18.21/6.53 18.21/6.53 From the DPs we obtained the following set of size-change graphs: 18.21/6.53 *new_primMinusNat(Main.Succ(wz890), Main.Succ(wz900)) -> new_primMinusNat(wz890, wz900) 18.21/6.53 The graph contains the following edges 1 > 1, 2 > 2 18.21/6.53 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (39) 18.21/6.53 YES 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (40) 18.21/6.53 Obligation: 18.21/6.53 Q DP problem: 18.21/6.53 The TRS P consists of the following rules: 18.21/6.53 18.21/6.53 new_primPlusNat(Main.Succ(wz1980), Main.Succ(wz18200)) -> new_primPlusNat(wz1980, wz18200) 18.21/6.53 18.21/6.53 R is empty. 18.21/6.53 Q is empty. 18.21/6.53 We have to consider all minimal (P,Q,R)-chains. 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (41) QDPSizeChangeProof (EQUIVALENT) 18.21/6.53 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 18.21/6.53 18.21/6.53 From the DPs we obtained the following set of size-change graphs: 18.21/6.53 *new_primPlusNat(Main.Succ(wz1980), Main.Succ(wz18200)) -> new_primPlusNat(wz1980, wz18200) 18.21/6.53 The graph contains the following edges 1 > 1, 2 > 2 18.21/6.53 18.21/6.53 18.21/6.53 ---------------------------------------- 18.21/6.53 18.21/6.53 (42) 18.21/6.54 YES 18.21/6.54 18.21/6.54 ---------------------------------------- 18.21/6.54 18.21/6.54 (43) 18.21/6.54 Obligation: 18.21/6.54 Q DP problem: 18.21/6.54 The TRS P consists of the following rules: 18.21/6.54 18.21/6.54 new_foldr(wz59, wz60, wz61, Main.Succ(wz620), Main.Succ(wz630)) -> new_foldr(wz59, wz60, wz61, wz620, wz630) 18.21/6.54 18.21/6.54 R is empty. 18.21/6.54 Q is empty. 18.21/6.54 We have to consider all minimal (P,Q,R)-chains. 18.21/6.54 ---------------------------------------- 18.21/6.54 18.21/6.54 (44) QDPSizeChangeProof (EQUIVALENT) 18.21/6.54 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 18.21/6.54 18.21/6.54 From the DPs we obtained the following set of size-change graphs: 18.21/6.54 *new_foldr(wz59, wz60, wz61, Main.Succ(wz620), Main.Succ(wz630)) -> new_foldr(wz59, wz60, wz61, wz620, wz630) 18.21/6.54 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5 18.21/6.54 18.21/6.54 18.21/6.54 ---------------------------------------- 18.21/6.54 18.21/6.54 (45) 18.21/6.54 YES 18.49/6.59 EOF