28.96/16.44 YES 31.40/17.10 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 31.40/17.10 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 31.40/17.10 31.40/17.10 31.40/17.10 H-Termination with start terms of the given HASKELL could be proven: 31.40/17.10 31.40/17.10 (0) HASKELL 31.40/17.10 (1) BR [EQUIVALENT, 0 ms] 31.40/17.10 (2) HASKELL 31.40/17.10 (3) COR [EQUIVALENT, 0 ms] 31.40/17.10 (4) HASKELL 31.40/17.10 (5) Narrow [SOUND, 0 ms] 31.40/17.10 (6) AND 31.40/17.10 (7) QDP 31.40/17.10 (8) QDPPairToRuleProof [EQUIVALENT, 0 ms] 31.40/17.10 (9) AND 31.40/17.10 (10) QDP 31.40/17.10 (11) TransformationProof [EQUIVALENT, 0 ms] 31.40/17.10 (12) QDP 31.40/17.10 (13) DependencyGraphProof [EQUIVALENT, 0 ms] 31.40/17.10 (14) QDP 31.40/17.10 (15) InductionCalculusProof [EQUIVALENT, 0 ms] 31.40/17.10 (16) QDP 31.40/17.10 (17) NonInfProof [EQUIVALENT, 111 ms] 31.40/17.10 (18) AND 31.40/17.10 (19) QDP 31.40/17.10 (20) DependencyGraphProof [EQUIVALENT, 0 ms] 31.40/17.10 (21) TRUE 31.40/17.10 (22) QDP 31.40/17.10 (23) DependencyGraphProof [EQUIVALENT, 0 ms] 31.40/17.10 (24) TRUE 31.40/17.10 (25) QDP 31.40/17.10 (26) QDPSizeChangeProof [EQUIVALENT, 0 ms] 31.40/17.10 (27) YES 31.40/17.10 (28) QDP 31.40/17.10 (29) DependencyGraphProof [EQUIVALENT, 0 ms] 31.40/17.10 (30) AND 31.40/17.10 (31) QDP 31.40/17.10 (32) QDPSizeChangeProof [EQUIVALENT, 0 ms] 31.40/17.10 (33) YES 31.40/17.10 (34) QDP 31.40/17.10 (35) QDPSizeChangeProof [EQUIVALENT, 0 ms] 31.40/17.10 (36) YES 31.40/17.10 (37) QDP 31.40/17.10 (38) QDPSizeChangeProof [EQUIVALENT, 0 ms] 31.40/17.10 (39) YES 31.40/17.10 31.40/17.10 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (0) 31.40/17.10 Obligation: 31.40/17.10 mainModule Main 31.40/17.10 module Main where { 31.40/17.10 import qualified Prelude; 31.40/17.10 data Main.Char = Char MyInt ; 31.40/17.10 31.40/17.10 data List a = Cons a (List a) | Nil ; 31.40/17.10 31.40/17.10 data MyBool = MyTrue | MyFalse ; 31.40/17.10 31.40/17.10 data MyInt = Pos Main.Nat | Neg Main.Nat ; 31.40/17.10 31.40/17.10 data Main.Nat = Succ Main.Nat | Zero ; 31.40/17.10 31.40/17.10 data Ordering = LT | EQ | GT ; 31.40/17.10 31.40/17.10 data Main.WHNF a = WHNF a ; 31.40/17.10 31.40/17.10 compareMyInt :: MyInt -> MyInt -> Ordering; 31.40/17.10 compareMyInt = primCmpInt; 31.40/17.10 31.40/17.10 dsEm :: (b -> a) -> b -> a; 31.40/17.10 dsEm f x = Main.seq x (f x); 31.40/17.10 31.40/17.10 enforceWHNF :: Main.WHNF a -> b -> b; 31.40/17.10 enforceWHNF (Main.WHNF x) y = y; 31.40/17.10 31.40/17.10 enumFromToChar :: Main.Char -> Main.Char -> List Main.Char; 31.40/17.10 enumFromToChar x y = map toEnumChar (enumFromToMyInt (fromEnumChar x) (fromEnumChar y)); 31.40/17.10 31.40/17.10 enumFromToMyInt :: MyInt -> MyInt -> List MyInt; 31.40/17.10 enumFromToMyInt = numericEnumFromTo; 31.40/17.10 31.40/17.10 esEsOrdering :: Ordering -> Ordering -> MyBool; 31.40/17.10 esEsOrdering LT LT = MyTrue; 31.40/17.10 esEsOrdering LT EQ = MyFalse; 31.40/17.10 esEsOrdering LT GT = MyFalse; 31.40/17.10 esEsOrdering EQ LT = MyFalse; 31.40/17.10 esEsOrdering EQ EQ = MyTrue; 31.40/17.10 esEsOrdering EQ GT = MyFalse; 31.40/17.10 esEsOrdering GT LT = MyFalse; 31.40/17.10 esEsOrdering GT EQ = MyFalse; 31.40/17.10 esEsOrdering GT GT = MyTrue; 31.40/17.10 31.40/17.10 flip :: (b -> a -> c) -> a -> b -> c; 31.40/17.10 flip f x y = f y x; 31.40/17.10 31.40/17.10 fromEnumChar :: Main.Char -> MyInt; 31.40/17.10 fromEnumChar = primCharToInt; 31.40/17.10 31.40/17.10 fromIntMyInt :: MyInt -> MyInt; 31.40/17.10 fromIntMyInt x = x; 31.40/17.10 31.40/17.10 fsEsOrdering :: Ordering -> Ordering -> MyBool; 31.40/17.10 fsEsOrdering x y = not (esEsOrdering x y); 31.40/17.10 31.40/17.10 ltEsMyInt :: MyInt -> MyInt -> MyBool; 31.40/17.10 ltEsMyInt x y = fsEsOrdering (compareMyInt x y) GT; 31.40/17.10 31.40/17.10 map :: (b -> a) -> List b -> List a; 31.40/17.10 map f Nil = Nil; 31.40/17.10 map f (Cons x xs) = Cons (f x) (map f xs); 31.40/17.10 31.40/17.10 not :: MyBool -> MyBool; 31.40/17.10 not MyTrue = MyFalse; 31.40/17.10 not MyFalse = MyTrue; 31.40/17.10 31.40/17.10 numericEnumFrom n = Cons n (dsEm numericEnumFrom (psMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero))))); 31.40/17.10 31.40/17.10 numericEnumFromTo n m = takeWhile (flip ltEsMyInt m) (numericEnumFrom n); 31.40/17.10 31.40/17.10 otherwise :: MyBool; 31.40/17.10 otherwise = MyTrue; 31.40/17.10 31.40/17.10 primCharToInt :: Main.Char -> MyInt; 31.40/17.10 primCharToInt (Main.Char x) = x; 31.40/17.10 31.40/17.10 primCmpInt :: MyInt -> MyInt -> Ordering; 31.40/17.10 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 31.40/17.10 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 31.40/17.10 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 31.40/17.10 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 31.40/17.10 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 31.40/17.10 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 31.40/17.10 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 31.40/17.10 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 31.40/17.10 31.40/17.10 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 31.40/17.10 primCmpNat Main.Zero Main.Zero = EQ; 31.40/17.10 primCmpNat Main.Zero (Main.Succ y) = LT; 31.40/17.10 primCmpNat (Main.Succ x) Main.Zero = GT; 31.40/17.10 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 31.40/17.10 31.40/17.10 primIntToChar :: MyInt -> Main.Char; 31.40/17.10 primIntToChar x = Main.Char x; 31.40/17.10 31.40/17.10 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 31.40/17.10 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 31.40/17.10 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 31.40/17.10 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 31.40/17.10 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 31.40/17.10 31.40/17.10 primPlusInt :: MyInt -> MyInt -> MyInt; 31.40/17.10 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 31.40/17.10 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 31.40/17.10 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 31.40/17.10 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 31.40/17.10 31.40/17.10 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 31.40/17.10 primPlusNat Main.Zero Main.Zero = Main.Zero; 31.40/17.10 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 31.40/17.10 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 31.40/17.10 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 31.40/17.10 31.40/17.10 psMyInt :: MyInt -> MyInt -> MyInt; 31.40/17.10 psMyInt = primPlusInt; 31.40/17.10 31.40/17.10 seq :: b -> a -> a; 31.40/17.10 seq x y = Main.enforceWHNF (Main.WHNF x) y; 31.40/17.10 31.40/17.10 takeWhile :: (a -> MyBool) -> List a -> List a; 31.40/17.10 takeWhile p Nil = takeWhile3 p Nil; 31.40/17.10 takeWhile p (Cons x xs) = takeWhile2 p (Cons x xs); 31.40/17.10 31.40/17.10 takeWhile0 p x xs MyTrue = Nil; 31.40/17.10 31.40/17.10 takeWhile1 p x xs MyTrue = Cons x (takeWhile p xs); 31.40/17.10 takeWhile1 p x xs MyFalse = takeWhile0 p x xs otherwise; 31.40/17.10 31.40/17.10 takeWhile2 p (Cons x xs) = takeWhile1 p x xs (p x); 31.40/17.10 31.40/17.10 takeWhile3 p Nil = Nil; 31.40/17.10 takeWhile3 vx vy = takeWhile2 vx vy; 31.40/17.10 31.40/17.10 toEnumChar :: MyInt -> Main.Char; 31.40/17.10 toEnumChar = primIntToChar; 31.40/17.10 31.40/17.10 } 31.40/17.10 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (1) BR (EQUIVALENT) 31.40/17.10 Replaced joker patterns by fresh variables and removed binding patterns. 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (2) 31.40/17.10 Obligation: 31.40/17.10 mainModule Main 31.40/17.10 module Main where { 31.40/17.10 import qualified Prelude; 31.40/17.10 data Main.Char = Char MyInt ; 31.40/17.10 31.40/17.10 data List a = Cons a (List a) | Nil ; 31.40/17.10 31.40/17.10 data MyBool = MyTrue | MyFalse ; 31.40/17.10 31.40/17.10 data MyInt = Pos Main.Nat | Neg Main.Nat ; 31.40/17.10 31.40/17.10 data Main.Nat = Succ Main.Nat | Zero ; 31.40/17.10 31.40/17.10 data Ordering = LT | EQ | GT ; 31.40/17.10 31.40/17.10 data Main.WHNF a = WHNF a ; 31.40/17.10 31.40/17.10 compareMyInt :: MyInt -> MyInt -> Ordering; 31.40/17.10 compareMyInt = primCmpInt; 31.40/17.10 31.40/17.10 dsEm :: (b -> a) -> b -> a; 31.40/17.10 dsEm f x = Main.seq x (f x); 31.40/17.10 31.40/17.10 enforceWHNF :: Main.WHNF b -> a -> a; 31.40/17.10 enforceWHNF (Main.WHNF x) y = y; 31.40/17.10 31.40/17.10 enumFromToChar :: Main.Char -> Main.Char -> List Main.Char; 31.40/17.10 enumFromToChar x y = map toEnumChar (enumFromToMyInt (fromEnumChar x) (fromEnumChar y)); 31.40/17.10 31.40/17.10 enumFromToMyInt :: MyInt -> MyInt -> List MyInt; 31.40/17.10 enumFromToMyInt = numericEnumFromTo; 31.40/17.10 31.40/17.10 esEsOrdering :: Ordering -> Ordering -> MyBool; 31.40/17.10 esEsOrdering LT LT = MyTrue; 31.40/17.10 esEsOrdering LT EQ = MyFalse; 31.40/17.10 esEsOrdering LT GT = MyFalse; 31.40/17.10 esEsOrdering EQ LT = MyFalse; 31.40/17.10 esEsOrdering EQ EQ = MyTrue; 31.40/17.10 esEsOrdering EQ GT = MyFalse; 31.40/17.10 esEsOrdering GT LT = MyFalse; 31.40/17.10 esEsOrdering GT EQ = MyFalse; 31.40/17.10 esEsOrdering GT GT = MyTrue; 31.40/17.10 31.40/17.10 flip :: (a -> b -> c) -> b -> a -> c; 31.40/17.10 flip f x y = f y x; 31.40/17.10 31.40/17.10 fromEnumChar :: Main.Char -> MyInt; 31.40/17.10 fromEnumChar = primCharToInt; 31.40/17.10 31.40/17.10 fromIntMyInt :: MyInt -> MyInt; 31.40/17.10 fromIntMyInt x = x; 31.40/17.10 31.40/17.10 fsEsOrdering :: Ordering -> Ordering -> MyBool; 31.40/17.10 fsEsOrdering x y = not (esEsOrdering x y); 31.40/17.10 31.40/17.10 ltEsMyInt :: MyInt -> MyInt -> MyBool; 31.40/17.10 ltEsMyInt x y = fsEsOrdering (compareMyInt x y) GT; 31.40/17.10 31.40/17.10 map :: (b -> a) -> List b -> List a; 31.40/17.10 map f Nil = Nil; 31.40/17.10 map f (Cons x xs) = Cons (f x) (map f xs); 31.40/17.10 31.40/17.10 not :: MyBool -> MyBool; 31.40/17.10 not MyTrue = MyFalse; 31.40/17.10 not MyFalse = MyTrue; 31.40/17.10 31.40/17.10 numericEnumFrom n = Cons n (dsEm numericEnumFrom (psMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero))))); 31.40/17.10 31.40/17.10 numericEnumFromTo n m = takeWhile (flip ltEsMyInt m) (numericEnumFrom n); 31.40/17.10 31.40/17.10 otherwise :: MyBool; 31.40/17.10 otherwise = MyTrue; 31.40/17.10 31.40/17.10 primCharToInt :: Main.Char -> MyInt; 31.40/17.10 primCharToInt (Main.Char x) = x; 31.40/17.10 31.40/17.10 primCmpInt :: MyInt -> MyInt -> Ordering; 31.40/17.10 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 31.40/17.10 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 31.40/17.10 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 31.40/17.10 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 31.40/17.10 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 31.40/17.10 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 31.40/17.10 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 31.40/17.10 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 31.40/17.10 31.40/17.10 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 31.40/17.10 primCmpNat Main.Zero Main.Zero = EQ; 31.40/17.10 primCmpNat Main.Zero (Main.Succ y) = LT; 31.40/17.10 primCmpNat (Main.Succ x) Main.Zero = GT; 31.40/17.10 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 31.40/17.10 31.40/17.10 primIntToChar :: MyInt -> Main.Char; 31.40/17.10 primIntToChar x = Main.Char x; 31.40/17.10 31.40/17.10 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 31.40/17.10 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 31.40/17.10 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 31.40/17.10 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 31.40/17.10 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 31.40/17.10 31.40/17.10 primPlusInt :: MyInt -> MyInt -> MyInt; 31.40/17.10 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 31.40/17.10 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 31.40/17.10 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 31.40/17.10 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 31.40/17.10 31.40/17.10 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 31.40/17.10 primPlusNat Main.Zero Main.Zero = Main.Zero; 31.40/17.10 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 31.40/17.10 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 31.40/17.10 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 31.40/17.10 31.40/17.10 psMyInt :: MyInt -> MyInt -> MyInt; 31.40/17.10 psMyInt = primPlusInt; 31.40/17.10 31.40/17.10 seq :: a -> b -> b; 31.40/17.10 seq x y = Main.enforceWHNF (Main.WHNF x) y; 31.40/17.10 31.40/17.10 takeWhile :: (a -> MyBool) -> List a -> List a; 31.40/17.10 takeWhile p Nil = takeWhile3 p Nil; 31.40/17.10 takeWhile p (Cons x xs) = takeWhile2 p (Cons x xs); 31.40/17.10 31.40/17.10 takeWhile0 p x xs MyTrue = Nil; 31.40/17.10 31.40/17.10 takeWhile1 p x xs MyTrue = Cons x (takeWhile p xs); 31.40/17.10 takeWhile1 p x xs MyFalse = takeWhile0 p x xs otherwise; 31.40/17.10 31.40/17.10 takeWhile2 p (Cons x xs) = takeWhile1 p x xs (p x); 31.40/17.10 31.40/17.10 takeWhile3 p Nil = Nil; 31.40/17.10 takeWhile3 vx vy = takeWhile2 vx vy; 31.40/17.10 31.40/17.10 toEnumChar :: MyInt -> Main.Char; 31.40/17.10 toEnumChar = primIntToChar; 31.40/17.10 31.40/17.10 } 31.40/17.10 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (3) COR (EQUIVALENT) 31.40/17.10 Cond Reductions: 31.40/17.10 The following Function with conditions 31.40/17.10 "undefined |Falseundefined; 31.40/17.10 " 31.40/17.10 is transformed to 31.40/17.10 "undefined = undefined1; 31.40/17.10 " 31.40/17.10 "undefined0 True = undefined; 31.40/17.10 " 31.40/17.10 "undefined1 = undefined0 False; 31.40/17.10 " 31.40/17.10 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (4) 31.40/17.10 Obligation: 31.40/17.10 mainModule Main 31.40/17.10 module Main where { 31.40/17.10 import qualified Prelude; 31.40/17.10 data Main.Char = Char MyInt ; 31.40/17.10 31.40/17.10 data List a = Cons a (List a) | Nil ; 31.40/17.10 31.40/17.10 data MyBool = MyTrue | MyFalse ; 31.40/17.10 31.40/17.10 data MyInt = Pos Main.Nat | Neg Main.Nat ; 31.40/17.10 31.40/17.10 data Main.Nat = Succ Main.Nat | Zero ; 31.40/17.10 31.40/17.10 data Ordering = LT | EQ | GT ; 31.40/17.10 31.40/17.10 data Main.WHNF a = WHNF a ; 31.40/17.10 31.40/17.10 compareMyInt :: MyInt -> MyInt -> Ordering; 31.40/17.10 compareMyInt = primCmpInt; 31.40/17.10 31.40/17.10 dsEm :: (b -> a) -> b -> a; 31.40/17.10 dsEm f x = Main.seq x (f x); 31.40/17.10 31.40/17.10 enforceWHNF :: Main.WHNF a -> b -> b; 31.40/17.10 enforceWHNF (Main.WHNF x) y = y; 31.40/17.10 31.40/17.10 enumFromToChar :: Main.Char -> Main.Char -> List Main.Char; 31.40/17.10 enumFromToChar x y = map toEnumChar (enumFromToMyInt (fromEnumChar x) (fromEnumChar y)); 31.40/17.10 31.40/17.10 enumFromToMyInt :: MyInt -> MyInt -> List MyInt; 31.40/17.10 enumFromToMyInt = numericEnumFromTo; 31.40/17.10 31.40/17.10 esEsOrdering :: Ordering -> Ordering -> MyBool; 31.40/17.10 esEsOrdering LT LT = MyTrue; 31.40/17.10 esEsOrdering LT EQ = MyFalse; 31.40/17.10 esEsOrdering LT GT = MyFalse; 31.40/17.10 esEsOrdering EQ LT = MyFalse; 31.40/17.10 esEsOrdering EQ EQ = MyTrue; 31.40/17.10 esEsOrdering EQ GT = MyFalse; 31.40/17.10 esEsOrdering GT LT = MyFalse; 31.40/17.10 esEsOrdering GT EQ = MyFalse; 31.40/17.10 esEsOrdering GT GT = MyTrue; 31.40/17.10 31.40/17.10 flip :: (c -> b -> a) -> b -> c -> a; 31.40/17.10 flip f x y = f y x; 31.40/17.10 31.40/17.10 fromEnumChar :: Main.Char -> MyInt; 31.40/17.10 fromEnumChar = primCharToInt; 31.40/17.10 31.40/17.10 fromIntMyInt :: MyInt -> MyInt; 31.40/17.10 fromIntMyInt x = x; 31.40/17.10 31.40/17.10 fsEsOrdering :: Ordering -> Ordering -> MyBool; 31.40/17.10 fsEsOrdering x y = not (esEsOrdering x y); 31.40/17.10 31.40/17.10 ltEsMyInt :: MyInt -> MyInt -> MyBool; 31.40/17.10 ltEsMyInt x y = fsEsOrdering (compareMyInt x y) GT; 31.40/17.10 31.40/17.10 map :: (b -> a) -> List b -> List a; 31.40/17.10 map f Nil = Nil; 31.40/17.10 map f (Cons x xs) = Cons (f x) (map f xs); 31.40/17.10 31.40/17.10 not :: MyBool -> MyBool; 31.40/17.10 not MyTrue = MyFalse; 31.40/17.10 not MyFalse = MyTrue; 31.40/17.10 31.40/17.10 numericEnumFrom n = Cons n (dsEm numericEnumFrom (psMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero))))); 31.40/17.10 31.40/17.10 numericEnumFromTo n m = takeWhile (flip ltEsMyInt m) (numericEnumFrom n); 31.40/17.10 31.40/17.10 otherwise :: MyBool; 31.40/17.10 otherwise = MyTrue; 31.40/17.10 31.40/17.10 primCharToInt :: Main.Char -> MyInt; 31.40/17.10 primCharToInt (Main.Char x) = x; 31.40/17.10 31.40/17.10 primCmpInt :: MyInt -> MyInt -> Ordering; 31.40/17.10 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 31.40/17.10 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 31.40/17.10 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 31.40/17.10 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 31.40/17.10 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 31.40/17.10 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 31.40/17.10 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 31.40/17.10 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 31.40/17.10 31.40/17.10 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 31.40/17.10 primCmpNat Main.Zero Main.Zero = EQ; 31.40/17.10 primCmpNat Main.Zero (Main.Succ y) = LT; 31.40/17.10 primCmpNat (Main.Succ x) Main.Zero = GT; 31.40/17.10 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 31.40/17.10 31.40/17.10 primIntToChar :: MyInt -> Main.Char; 31.40/17.10 primIntToChar x = Main.Char x; 31.40/17.10 31.40/17.10 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 31.40/17.10 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 31.40/17.10 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 31.40/17.10 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 31.40/17.10 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 31.40/17.10 31.40/17.10 primPlusInt :: MyInt -> MyInt -> MyInt; 31.40/17.10 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 31.40/17.10 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 31.40/17.10 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 31.40/17.10 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 31.40/17.10 31.40/17.10 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 31.40/17.10 primPlusNat Main.Zero Main.Zero = Main.Zero; 31.40/17.10 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 31.40/17.10 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 31.40/17.10 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 31.40/17.10 31.40/17.10 psMyInt :: MyInt -> MyInt -> MyInt; 31.40/17.10 psMyInt = primPlusInt; 31.40/17.10 31.40/17.10 seq :: a -> b -> b; 31.40/17.10 seq x y = Main.enforceWHNF (Main.WHNF x) y; 31.40/17.10 31.40/17.10 takeWhile :: (a -> MyBool) -> List a -> List a; 31.40/17.10 takeWhile p Nil = takeWhile3 p Nil; 31.40/17.10 takeWhile p (Cons x xs) = takeWhile2 p (Cons x xs); 31.40/17.10 31.40/17.10 takeWhile0 p x xs MyTrue = Nil; 31.40/17.10 31.40/17.10 takeWhile1 p x xs MyTrue = Cons x (takeWhile p xs); 31.40/17.10 takeWhile1 p x xs MyFalse = takeWhile0 p x xs otherwise; 31.40/17.10 31.40/17.10 takeWhile2 p (Cons x xs) = takeWhile1 p x xs (p x); 31.40/17.10 31.40/17.10 takeWhile3 p Nil = Nil; 31.40/17.10 takeWhile3 vx vy = takeWhile2 vx vy; 31.40/17.10 31.40/17.10 toEnumChar :: MyInt -> Main.Char; 31.40/17.10 toEnumChar = primIntToChar; 31.40/17.10 31.40/17.10 } 31.40/17.10 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (5) Narrow (SOUND) 31.40/17.10 Haskell To QDPs 31.40/17.10 31.40/17.10 digraph dp_graph { 31.40/17.10 node [outthreshold=100, inthreshold=100];1[label="enumFromToChar",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 31.40/17.10 3[label="enumFromToChar vz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 31.40/17.10 4[label="enumFromToChar vz3 vz4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 31.40/17.10 5[label="map toEnumChar (enumFromToMyInt (fromEnumChar vz3) (fromEnumChar vz4))",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 31.40/17.10 6[label="map toEnumChar (numericEnumFromTo (fromEnumChar vz3) (fromEnumChar vz4))",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 31.40/17.10 7[label="map toEnumChar (takeWhile (flip ltEsMyInt (fromEnumChar vz4)) (numericEnumFrom (fromEnumChar vz3)))",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 31.40/17.10 8[label="map toEnumChar (takeWhile (flip ltEsMyInt (fromEnumChar vz4)) (Cons (fromEnumChar vz3) (dsEm numericEnumFrom (psMyInt (fromEnumChar vz3) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 31.40/17.10 9[label="map toEnumChar (takeWhile2 (flip ltEsMyInt (fromEnumChar vz4)) (Cons (fromEnumChar vz3) (dsEm numericEnumFrom (psMyInt (fromEnumChar vz3) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 31.40/17.10 10[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) (fromEnumChar vz3) (dsEm numericEnumFrom (psMyInt (fromEnumChar vz3) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (fromEnumChar vz4) (fromEnumChar vz3)))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 31.40/17.10 11[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) (fromEnumChar vz3) (dsEm numericEnumFrom (psMyInt (fromEnumChar vz3) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (fromEnumChar vz3) (fromEnumChar vz4)))",fontsize=16,color="black",shape="box"];11 -> 12[label="",style="solid", color="black", weight=3]; 31.40/17.10 12[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) (fromEnumChar vz3) (dsEm numericEnumFrom (psMyInt (fromEnumChar vz3) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (fromEnumChar vz3) (fromEnumChar vz4)) GT))",fontsize=16,color="black",shape="box"];12 -> 13[label="",style="solid", color="black", weight=3]; 31.40/17.10 13[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) (fromEnumChar vz3) (dsEm numericEnumFrom (psMyInt (fromEnumChar vz3) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (fromEnumChar vz3) (fromEnumChar vz4)) GT)))",fontsize=16,color="black",shape="box"];13 -> 14[label="",style="solid", color="black", weight=3]; 31.40/17.10 14[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) (fromEnumChar vz3) (dsEm numericEnumFrom (psMyInt (fromEnumChar vz3) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (fromEnumChar vz3) (fromEnumChar vz4)) GT)))",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 31.40/17.10 15[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) (primCharToInt vz3) (dsEm numericEnumFrom (psMyInt (primCharToInt vz3) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primCharToInt vz3) (fromEnumChar vz4)) GT)))",fontsize=16,color="burlywood",shape="box"];1110[label="vz3/Char vz30",fontsize=10,color="white",style="solid",shape="box"];15 -> 1110[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1110 -> 16[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 16[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) (primCharToInt (Char vz30)) (dsEm numericEnumFrom (psMyInt (primCharToInt (Char vz30)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primCharToInt (Char vz30)) (fromEnumChar vz4)) GT)))",fontsize=16,color="black",shape="box"];16 -> 17[label="",style="solid", color="black", weight=3]; 31.40/17.10 17[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) vz30 (dsEm numericEnumFrom (psMyInt vz30 (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt vz30 (fromEnumChar vz4)) GT)))",fontsize=16,color="burlywood",shape="box"];1111[label="vz30/Pos vz300",fontsize=10,color="white",style="solid",shape="box"];17 -> 1111[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1111 -> 18[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1112[label="vz30/Neg vz300",fontsize=10,color="white",style="solid",shape="box"];17 -> 1112[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1112 -> 19[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 18[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) (Pos vz300) (dsEm numericEnumFrom (psMyInt (Pos vz300) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos vz300) (fromEnumChar vz4)) GT)))",fontsize=16,color="burlywood",shape="box"];1113[label="vz300/Succ vz3000",fontsize=10,color="white",style="solid",shape="box"];18 -> 1113[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1113 -> 20[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1114[label="vz300/Zero",fontsize=10,color="white",style="solid",shape="box"];18 -> 1114[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1114 -> 21[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 19[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) (Neg vz300) (dsEm numericEnumFrom (psMyInt (Neg vz300) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg vz300) (fromEnumChar vz4)) GT)))",fontsize=16,color="burlywood",shape="box"];1115[label="vz300/Succ vz3000",fontsize=10,color="white",style="solid",shape="box"];19 -> 1115[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1115 -> 22[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1116[label="vz300/Zero",fontsize=10,color="white",style="solid",shape="box"];19 -> 1116[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1116 -> 23[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 20[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ vz3000)) (fromEnumChar vz4)) GT)))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 31.40/17.10 21[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (fromEnumChar vz4)) GT)))",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 31.40/17.10 22[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg (Succ vz3000)) (fromEnumChar vz4)) GT)))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 31.40/17.10 23[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (fromEnumChar vz4)) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg Zero) (fromEnumChar vz4)) GT)))",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 31.40/17.10 24[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (primCharToInt vz4)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ vz3000)) (primCharToInt vz4)) GT)))",fontsize=16,color="burlywood",shape="box"];1117[label="vz4/Char vz40",fontsize=10,color="white",style="solid",shape="box"];24 -> 1117[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1117 -> 28[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 25[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (primCharToInt vz4)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (primCharToInt vz4)) GT)))",fontsize=16,color="burlywood",shape="box"];1118[label="vz4/Char vz40",fontsize=10,color="white",style="solid",shape="box"];25 -> 1118[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1118 -> 29[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 26[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (primCharToInt vz4)) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg (Succ vz3000)) (primCharToInt vz4)) GT)))",fontsize=16,color="burlywood",shape="box"];1119[label="vz4/Char vz40",fontsize=10,color="white",style="solid",shape="box"];26 -> 1119[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1119 -> 30[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 27[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (primCharToInt vz4)) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg Zero) (primCharToInt vz4)) GT)))",fontsize=16,color="burlywood",shape="box"];1120[label="vz4/Char vz40",fontsize=10,color="white",style="solid",shape="box"];27 -> 1120[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1120 -> 31[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 28[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (primCharToInt (Char vz40))) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ vz3000)) (primCharToInt (Char vz40))) GT)))",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 31.40/17.10 29[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (primCharToInt (Char vz40))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (primCharToInt (Char vz40))) GT)))",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 31.40/17.10 30[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (primCharToInt (Char vz40))) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg (Succ vz3000)) (primCharToInt (Char vz40))) GT)))",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 31.40/17.10 31[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (primCharToInt (Char vz40))) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg Zero) (primCharToInt (Char vz40))) GT)))",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 31.40/17.10 32[label="map toEnumChar (takeWhile1 (flip ltEsMyInt vz40) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ vz3000)) vz40) GT)))",fontsize=16,color="burlywood",shape="triangle"];1121[label="vz40/Pos vz400",fontsize=10,color="white",style="solid",shape="box"];32 -> 1121[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1121 -> 36[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1122[label="vz40/Neg vz400",fontsize=10,color="white",style="solid",shape="box"];32 -> 1122[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1122 -> 37[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 33[label="map toEnumChar (takeWhile1 (flip ltEsMyInt vz40) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) vz40) GT)))",fontsize=16,color="burlywood",shape="triangle"];1123[label="vz40/Pos vz400",fontsize=10,color="white",style="solid",shape="box"];33 -> 1123[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1123 -> 38[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1124[label="vz40/Neg vz400",fontsize=10,color="white",style="solid",shape="box"];33 -> 1124[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1124 -> 39[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 34[label="map toEnumChar (takeWhile1 (flip ltEsMyInt vz40) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg (Succ vz3000)) vz40) GT)))",fontsize=16,color="burlywood",shape="triangle"];1125[label="vz40/Pos vz400",fontsize=10,color="white",style="solid",shape="box"];34 -> 1125[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1125 -> 40[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1126[label="vz40/Neg vz400",fontsize=10,color="white",style="solid",shape="box"];34 -> 1126[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1126 -> 41[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 35[label="map toEnumChar (takeWhile1 (flip ltEsMyInt vz40) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg Zero) vz40) GT)))",fontsize=16,color="burlywood",shape="box"];1127[label="vz40/Pos vz400",fontsize=10,color="white",style="solid",shape="box"];35 -> 1127[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1127 -> 42[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1128[label="vz40/Neg vz400",fontsize=10,color="white",style="solid",shape="box"];35 -> 1128[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1128 -> 43[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 36[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ vz3000)) (Pos vz400)) GT)))",fontsize=16,color="black",shape="box"];36 -> 44[label="",style="solid", color="black", weight=3]; 31.40/17.10 37[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg vz400)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ vz3000)) (Neg vz400)) GT)))",fontsize=16,color="black",shape="box"];37 -> 45[label="",style="solid", color="black", weight=3]; 31.40/17.10 38[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos vz400)) GT)))",fontsize=16,color="burlywood",shape="box"];1129[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];38 -> 1129[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1129 -> 46[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1130[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];38 -> 1130[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1130 -> 47[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 39[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg vz400)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (Neg vz400)) GT)))",fontsize=16,color="burlywood",shape="box"];1131[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];39 -> 1131[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1131 -> 48[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1132[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];39 -> 1132[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1132 -> 49[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 40[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg (Succ vz3000)) (Pos vz400)) GT)))",fontsize=16,color="black",shape="box"];40 -> 50[label="",style="solid", color="black", weight=3]; 31.40/17.10 41[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg vz400)) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg (Succ vz3000)) (Neg vz400)) GT)))",fontsize=16,color="black",shape="box"];41 -> 51[label="",style="solid", color="black", weight=3]; 31.40/17.10 42[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg Zero) (Pos vz400)) GT)))",fontsize=16,color="burlywood",shape="box"];1133[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];42 -> 1133[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1133 -> 52[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1134[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];42 -> 1134[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1134 -> 53[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 43[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg vz400)) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg Zero) (Neg vz400)) GT)))",fontsize=16,color="burlywood",shape="box"];1135[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];43 -> 1135[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1135 -> 54[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1136[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];43 -> 1136[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1136 -> 55[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 44[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ vz3000) vz400) GT)))",fontsize=16,color="burlywood",shape="box"];1137[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];44 -> 1137[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1137 -> 56[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1138[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];44 -> 1138[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1138 -> 57[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 45[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg vz400)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering GT GT)))",fontsize=16,color="black",shape="box"];45 -> 58[label="",style="solid", color="black", weight=3]; 31.40/17.10 46[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];46 -> 59[label="",style="solid", color="black", weight=3]; 31.40/17.10 47[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];47 -> 60[label="",style="solid", color="black", weight=3]; 31.40/17.10 48[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz4000))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (Neg (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];48 -> 61[label="",style="solid", color="black", weight=3]; 31.40/17.10 49[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];49 -> 62[label="",style="solid", color="black", weight=3]; 31.40/17.10 50[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering LT GT)))",fontsize=16,color="black",shape="box"];50 -> 63[label="",style="solid", color="black", weight=3]; 31.40/17.10 51[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg vz400)) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat vz400 (Succ vz3000)) GT)))",fontsize=16,color="burlywood",shape="box"];1139[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];51 -> 1139[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1139 -> 64[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1140[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];51 -> 1140[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1140 -> 65[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 52[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg Zero) (Pos (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];52 -> 66[label="",style="solid", color="black", weight=3]; 31.40/17.10 53[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg Zero) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];53 -> 67[label="",style="solid", color="black", weight=3]; 31.40/17.10 54[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz4000))) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg Zero) (Neg (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];54 -> 68[label="",style="solid", color="black", weight=3]; 31.40/17.10 55[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg Zero) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];55 -> 69[label="",style="solid", color="black", weight=3]; 31.40/17.10 56[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ vz3000) (Succ vz4000)) GT)))",fontsize=16,color="black",shape="box"];56 -> 70[label="",style="solid", color="black", weight=3]; 31.40/17.10 57[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ vz3000) Zero) GT)))",fontsize=16,color="black",shape="box"];57 -> 71[label="",style="solid", color="black", weight=3]; 31.40/17.10 58[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg vz400)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not MyTrue))",fontsize=16,color="black",shape="box"];58 -> 72[label="",style="solid", color="black", weight=3]; 31.40/17.10 59[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero (Succ vz4000)) GT)))",fontsize=16,color="black",shape="box"];59 -> 73[label="",style="solid", color="black", weight=3]; 31.40/17.10 60[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering EQ GT)))",fontsize=16,color="black",shape="box"];60 -> 74[label="",style="solid", color="black", weight=3]; 31.40/17.10 61[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz4000))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering GT GT)))",fontsize=16,color="black",shape="box"];61 -> 75[label="",style="solid", color="black", weight=3]; 31.40/17.10 62[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering EQ GT)))",fontsize=16,color="black",shape="box"];62 -> 76[label="",style="solid", color="black", weight=3]; 31.40/17.10 63[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];63 -> 77[label="",style="solid", color="black", weight=3]; 31.40/17.10 64[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz4000))) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ vz4000) (Succ vz3000)) GT)))",fontsize=16,color="black",shape="box"];64 -> 78[label="",style="solid", color="black", weight=3]; 31.40/17.10 65[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero (Succ vz3000)) GT)))",fontsize=16,color="black",shape="box"];65 -> 79[label="",style="solid", color="black", weight=3]; 31.40/17.10 66[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering LT GT)))",fontsize=16,color="black",shape="box"];66 -> 80[label="",style="solid", color="black", weight=3]; 31.40/17.10 67[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering EQ GT)))",fontsize=16,color="black",shape="box"];67 -> 81[label="",style="solid", color="black", weight=3]; 31.40/17.10 68[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz4000))) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ vz4000) Zero) GT)))",fontsize=16,color="black",shape="box"];68 -> 82[label="",style="solid", color="black", weight=3]; 31.40/17.10 69[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering EQ GT)))",fontsize=16,color="black",shape="box"];69 -> 83[label="",style="solid", color="black", weight=3]; 31.40/17.10 70 -> 935[label="",style="dashed", color="red", weight=0]; 31.40/17.10 70[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat vz3000 vz4000) GT)))",fontsize=16,color="magenta"];70 -> 936[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 70 -> 937[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 70 -> 938[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 70 -> 939[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 71[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering GT GT)))",fontsize=16,color="black",shape="box"];71 -> 86[label="",style="solid", color="black", weight=3]; 31.40/17.10 72[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg vz400)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) MyFalse)",fontsize=16,color="black",shape="box"];72 -> 87[label="",style="solid", color="black", weight=3]; 31.40/17.10 73[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering LT GT)))",fontsize=16,color="black",shape="box"];73 -> 88[label="",style="solid", color="black", weight=3]; 31.40/17.10 74[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];74 -> 89[label="",style="solid", color="black", weight=3]; 31.40/17.10 75[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz4000))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not MyTrue))",fontsize=16,color="black",shape="box"];75 -> 90[label="",style="solid", color="black", weight=3]; 31.40/17.10 76[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];76 -> 91[label="",style="solid", color="black", weight=3]; 31.40/17.10 77[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];77 -> 92[label="",style="solid", color="black", weight=3]; 31.40/17.10 78 -> 978[label="",style="dashed", color="red", weight=0]; 31.40/17.10 78[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz4000))) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat vz4000 vz3000) GT)))",fontsize=16,color="magenta"];78 -> 979[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 78 -> 980[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 78 -> 981[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 78 -> 982[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 79[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering LT GT)))",fontsize=16,color="black",shape="box"];79 -> 95[label="",style="solid", color="black", weight=3]; 31.40/17.10 80[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];80 -> 96[label="",style="solid", color="black", weight=3]; 31.40/17.10 81[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];81 -> 97[label="",style="solid", color="black", weight=3]; 31.40/17.10 82[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz4000))) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering GT GT)))",fontsize=16,color="black",shape="box"];82 -> 98[label="",style="solid", color="black", weight=3]; 31.40/17.10 83[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];83 -> 99[label="",style="solid", color="black", weight=3]; 31.40/17.10 936[label="vz4000",fontsize=16,color="green",shape="box"];937[label="vz3000",fontsize=16,color="green",shape="box"];938[label="vz3000",fontsize=16,color="green",shape="box"];939[label="vz4000",fontsize=16,color="green",shape="box"];935[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat vz36 vz37) GT)))",fontsize=16,color="burlywood",shape="triangle"];1141[label="vz36/Succ vz360",fontsize=10,color="white",style="solid",shape="box"];935 -> 1141[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1141 -> 976[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1142[label="vz36/Zero",fontsize=10,color="white",style="solid",shape="box"];935 -> 1142[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1142 -> 977[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 86[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not MyTrue))",fontsize=16,color="black",shape="box"];86 -> 104[label="",style="solid", color="black", weight=3]; 31.40/17.10 87[label="map toEnumChar (takeWhile0 (flip ltEsMyInt (Neg vz400)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) otherwise)",fontsize=16,color="black",shape="box"];87 -> 105[label="",style="solid", color="black", weight=3]; 31.40/17.10 88[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];88 -> 106[label="",style="solid", color="black", weight=3]; 31.40/17.10 89[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];89 -> 107[label="",style="solid", color="black", weight=3]; 31.40/17.10 90[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz4000))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) MyFalse)",fontsize=16,color="black",shape="box"];90 -> 108[label="",style="solid", color="black", weight=3]; 31.40/17.10 91[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];91 -> 109[label="",style="solid", color="black", weight=3]; 31.40/17.10 92[label="map toEnumChar (Cons (Neg (Succ vz3000)) (takeWhile (flip ltEsMyInt (Pos vz400)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];92 -> 110[label="",style="solid", color="black", weight=3]; 31.40/17.10 979[label="vz4000",fontsize=16,color="green",shape="box"];980[label="vz3000",fontsize=16,color="green",shape="box"];981[label="vz3000",fontsize=16,color="green",shape="box"];982[label="vz4000",fontsize=16,color="green",shape="box"];978[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat vz41 vz42) GT)))",fontsize=16,color="burlywood",shape="triangle"];1143[label="vz41/Succ vz410",fontsize=10,color="white",style="solid",shape="box"];978 -> 1143[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1143 -> 1019[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1144[label="vz41/Zero",fontsize=10,color="white",style="solid",shape="box"];978 -> 1144[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1144 -> 1020[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 95[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];95 -> 115[label="",style="solid", color="black", weight=3]; 31.40/17.10 96[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];96 -> 116[label="",style="solid", color="black", weight=3]; 31.40/17.10 97[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];97 -> 117[label="",style="solid", color="black", weight=3]; 31.40/17.10 98[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz4000))) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (not MyTrue))",fontsize=16,color="black",shape="box"];98 -> 118[label="",style="solid", color="black", weight=3]; 31.40/17.10 99[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];99 -> 119[label="",style="solid", color="black", weight=3]; 31.40/17.10 976[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ vz360) vz37) GT)))",fontsize=16,color="burlywood",shape="box"];1145[label="vz37/Succ vz370",fontsize=10,color="white",style="solid",shape="box"];976 -> 1145[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1145 -> 1021[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1146[label="vz37/Zero",fontsize=10,color="white",style="solid",shape="box"];976 -> 1146[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1146 -> 1022[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 977[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero vz37) GT)))",fontsize=16,color="burlywood",shape="box"];1147[label="vz37/Succ vz370",fontsize=10,color="white",style="solid",shape="box"];977 -> 1147[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1147 -> 1023[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1148[label="vz37/Zero",fontsize=10,color="white",style="solid",shape="box"];977 -> 1148[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1148 -> 1024[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 104[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) MyFalse)",fontsize=16,color="black",shape="box"];104 -> 124[label="",style="solid", color="black", weight=3]; 31.40/17.10 105[label="map toEnumChar (takeWhile0 (flip ltEsMyInt (Neg vz400)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];105 -> 125[label="",style="solid", color="black", weight=3]; 31.40/17.10 106[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];106 -> 126[label="",style="solid", color="black", weight=3]; 31.40/17.10 107[label="map toEnumChar (Cons (Pos Zero) (takeWhile (flip ltEsMyInt (Pos Zero)) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];107 -> 127[label="",style="solid", color="black", weight=3]; 31.40/17.10 108[label="map toEnumChar (takeWhile0 (flip ltEsMyInt (Neg (Succ vz4000))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) otherwise)",fontsize=16,color="black",shape="box"];108 -> 128[label="",style="solid", color="black", weight=3]; 31.40/17.10 109[label="map toEnumChar (Cons (Pos Zero) (takeWhile (flip ltEsMyInt (Neg Zero)) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];109 -> 129[label="",style="solid", color="black", weight=3]; 31.40/17.10 110[label="Cons (toEnumChar (Neg (Succ vz3000))) (map toEnumChar (takeWhile (flip ltEsMyInt (Pos vz400)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];110 -> 130[label="",style="dashed", color="green", weight=3]; 31.40/17.10 110 -> 131[label="",style="dashed", color="green", weight=3]; 31.40/17.10 1019[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ vz410) vz42) GT)))",fontsize=16,color="burlywood",shape="box"];1149[label="vz42/Succ vz420",fontsize=10,color="white",style="solid",shape="box"];1019 -> 1149[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1149 -> 1025[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1150[label="vz42/Zero",fontsize=10,color="white",style="solid",shape="box"];1019 -> 1150[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1150 -> 1026[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1020[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero vz42) GT)))",fontsize=16,color="burlywood",shape="box"];1151[label="vz42/Succ vz420",fontsize=10,color="white",style="solid",shape="box"];1020 -> 1151[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1151 -> 1027[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1152[label="vz42/Zero",fontsize=10,color="white",style="solid",shape="box"];1020 -> 1152[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1152 -> 1028[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 115[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Neg (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];115 -> 136[label="",style="solid", color="black", weight=3]; 31.40/17.10 116[label="map toEnumChar (Cons (Neg Zero) (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];116 -> 137[label="",style="solid", color="black", weight=3]; 31.40/17.10 117[label="map toEnumChar (Cons (Neg Zero) (takeWhile (flip ltEsMyInt (Pos Zero)) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];117 -> 138[label="",style="solid", color="black", weight=3]; 31.40/17.10 118[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz4000))) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) MyFalse)",fontsize=16,color="black",shape="box"];118 -> 139[label="",style="solid", color="black", weight=3]; 31.40/17.10 119[label="map toEnumChar (Cons (Neg Zero) (takeWhile (flip ltEsMyInt (Neg Zero)) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];119 -> 140[label="",style="solid", color="black", weight=3]; 31.40/17.10 1021[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ vz360) (Succ vz370)) GT)))",fontsize=16,color="black",shape="box"];1021 -> 1029[label="",style="solid", color="black", weight=3]; 31.40/17.10 1022[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ vz360) Zero) GT)))",fontsize=16,color="black",shape="box"];1022 -> 1030[label="",style="solid", color="black", weight=3]; 31.40/17.10 1023[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero (Succ vz370)) GT)))",fontsize=16,color="black",shape="box"];1023 -> 1031[label="",style="solid", color="black", weight=3]; 31.40/17.10 1024[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero Zero) GT)))",fontsize=16,color="black",shape="box"];1024 -> 1032[label="",style="solid", color="black", weight=3]; 31.40/17.10 124[label="map toEnumChar (takeWhile0 (flip ltEsMyInt (Pos Zero)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) otherwise)",fontsize=16,color="black",shape="box"];124 -> 146[label="",style="solid", color="black", weight=3]; 31.40/17.10 125[label="map toEnumChar Nil",fontsize=16,color="black",shape="triangle"];125 -> 147[label="",style="solid", color="black", weight=3]; 31.40/17.10 126[label="map toEnumChar (Cons (Pos Zero) (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];126 -> 148[label="",style="solid", color="black", weight=3]; 31.40/17.10 127[label="Cons (toEnumChar (Pos Zero)) (map toEnumChar (takeWhile (flip ltEsMyInt (Pos Zero)) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];127 -> 149[label="",style="dashed", color="green", weight=3]; 31.40/17.10 127 -> 150[label="",style="dashed", color="green", weight=3]; 31.40/17.10 128[label="map toEnumChar (takeWhile0 (flip ltEsMyInt (Neg (Succ vz4000))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];128 -> 151[label="",style="solid", color="black", weight=3]; 31.40/17.10 129[label="Cons (toEnumChar (Pos Zero)) (map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];129 -> 152[label="",style="dashed", color="green", weight=3]; 31.40/17.10 129 -> 153[label="",style="dashed", color="green", weight=3]; 31.40/17.10 130[label="toEnumChar (Neg (Succ vz3000))",fontsize=16,color="black",shape="triangle"];130 -> 154[label="",style="solid", color="black", weight=3]; 31.40/17.10 131[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos vz400)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];131 -> 155[label="",style="solid", color="black", weight=3]; 31.40/17.10 1025[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ vz410) (Succ vz420)) GT)))",fontsize=16,color="black",shape="box"];1025 -> 1033[label="",style="solid", color="black", weight=3]; 31.40/17.10 1026[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ vz410) Zero) GT)))",fontsize=16,color="black",shape="box"];1026 -> 1034[label="",style="solid", color="black", weight=3]; 31.40/17.10 1027[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero (Succ vz420)) GT)))",fontsize=16,color="black",shape="box"];1027 -> 1035[label="",style="solid", color="black", weight=3]; 31.40/17.10 1028[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero Zero) GT)))",fontsize=16,color="black",shape="box"];1028 -> 1036[label="",style="solid", color="black", weight=3]; 31.40/17.10 136[label="map toEnumChar (Cons (Neg (Succ vz3000)) (takeWhile (flip ltEsMyInt (Neg Zero)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];136 -> 161[label="",style="solid", color="black", weight=3]; 31.40/17.10 137[label="Cons (toEnumChar (Neg Zero)) (map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];137 -> 162[label="",style="dashed", color="green", weight=3]; 31.40/17.10 137 -> 163[label="",style="dashed", color="green", weight=3]; 31.40/17.10 138[label="Cons (toEnumChar (Neg Zero)) (map toEnumChar (takeWhile (flip ltEsMyInt (Pos Zero)) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];138 -> 164[label="",style="dashed", color="green", weight=3]; 31.40/17.10 138 -> 165[label="",style="dashed", color="green", weight=3]; 31.40/17.10 139[label="map toEnumChar (takeWhile0 (flip ltEsMyInt (Neg (Succ vz4000))) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) otherwise)",fontsize=16,color="black",shape="box"];139 -> 166[label="",style="solid", color="black", weight=3]; 31.40/17.10 140[label="Cons (toEnumChar (Neg Zero)) (map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];140 -> 167[label="",style="dashed", color="green", weight=3]; 31.40/17.10 140 -> 168[label="",style="dashed", color="green", weight=3]; 31.40/17.10 1029 -> 935[label="",style="dashed", color="red", weight=0]; 31.40/17.10 1029[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat vz360 vz370) GT)))",fontsize=16,color="magenta"];1029 -> 1037[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 1029 -> 1038[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 1030[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering GT GT)))",fontsize=16,color="black",shape="box"];1030 -> 1039[label="",style="solid", color="black", weight=3]; 31.40/17.10 1031[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering LT GT)))",fontsize=16,color="black",shape="box"];1031 -> 1040[label="",style="solid", color="black", weight=3]; 31.40/17.10 1032[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering EQ GT)))",fontsize=16,color="black",shape="box"];1032 -> 1041[label="",style="solid", color="black", weight=3]; 31.40/17.10 146[label="map toEnumChar (takeWhile0 (flip ltEsMyInt (Pos Zero)) (Pos (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];146 -> 176[label="",style="solid", color="black", weight=3]; 31.40/17.10 147[label="Nil",fontsize=16,color="green",shape="box"];148[label="Cons (toEnumChar (Pos Zero)) (map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];148 -> 177[label="",style="dashed", color="green", weight=3]; 31.40/17.10 148 -> 178[label="",style="dashed", color="green", weight=3]; 31.40/17.10 149[label="toEnumChar (Pos Zero)",fontsize=16,color="black",shape="triangle"];149 -> 179[label="",style="solid", color="black", weight=3]; 31.40/17.10 150[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos Zero)) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];150 -> 180[label="",style="solid", color="black", weight=3]; 31.40/17.10 151 -> 125[label="",style="dashed", color="red", weight=0]; 31.40/17.10 151[label="map toEnumChar Nil",fontsize=16,color="magenta"];152 -> 149[label="",style="dashed", color="red", weight=0]; 31.40/17.10 152[label="toEnumChar (Pos Zero)",fontsize=16,color="magenta"];153[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];153 -> 181[label="",style="solid", color="black", weight=3]; 31.40/17.10 154[label="primIntToChar (Neg (Succ vz3000))",fontsize=16,color="black",shape="box"];154 -> 182[label="",style="solid", color="black", weight=3]; 31.40/17.10 155[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos vz400)) (seq (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];155 -> 183[label="",style="solid", color="black", weight=3]; 31.40/17.10 1033 -> 978[label="",style="dashed", color="red", weight=0]; 31.40/17.10 1033[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat vz410 vz420) GT)))",fontsize=16,color="magenta"];1033 -> 1042[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 1033 -> 1043[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 1034[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering GT GT)))",fontsize=16,color="black",shape="box"];1034 -> 1044[label="",style="solid", color="black", weight=3]; 31.40/17.10 1035[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering LT GT)))",fontsize=16,color="black",shape="box"];1035 -> 1045[label="",style="solid", color="black", weight=3]; 31.40/17.10 1036[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering EQ GT)))",fontsize=16,color="black",shape="box"];1036 -> 1046[label="",style="solid", color="black", weight=3]; 31.40/17.10 161[label="Cons (toEnumChar (Neg (Succ vz3000))) (map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];161 -> 191[label="",style="dashed", color="green", weight=3]; 31.40/17.10 161 -> 192[label="",style="dashed", color="green", weight=3]; 31.40/17.10 162[label="toEnumChar (Neg Zero)",fontsize=16,color="black",shape="triangle"];162 -> 193[label="",style="solid", color="black", weight=3]; 31.40/17.10 163[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];163 -> 194[label="",style="solid", color="black", weight=3]; 31.40/17.10 164 -> 162[label="",style="dashed", color="red", weight=0]; 31.40/17.10 164[label="toEnumChar (Neg Zero)",fontsize=16,color="magenta"];165[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos Zero)) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];165 -> 195[label="",style="solid", color="black", weight=3]; 31.40/17.10 166[label="map toEnumChar (takeWhile0 (flip ltEsMyInt (Neg (Succ vz4000))) (Neg Zero) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];166 -> 196[label="",style="solid", color="black", weight=3]; 31.40/17.10 167 -> 162[label="",style="dashed", color="red", weight=0]; 31.40/17.10 167[label="toEnumChar (Neg Zero)",fontsize=16,color="magenta"];168[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (dsEm numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];168 -> 197[label="",style="solid", color="black", weight=3]; 31.40/17.10 1037[label="vz370",fontsize=16,color="green",shape="box"];1038[label="vz360",fontsize=16,color="green",shape="box"];1039[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not MyTrue))",fontsize=16,color="black",shape="box"];1039 -> 1047[label="",style="solid", color="black", weight=3]; 31.40/17.10 1040[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="triangle"];1040 -> 1048[label="",style="solid", color="black", weight=3]; 31.40/17.10 1041 -> 1040[label="",style="dashed", color="red", weight=0]; 31.40/17.10 1041[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="magenta"];176 -> 125[label="",style="dashed", color="red", weight=0]; 31.40/17.10 176[label="map toEnumChar Nil",fontsize=16,color="magenta"];177 -> 149[label="",style="dashed", color="red", weight=0]; 31.40/17.10 177[label="toEnumChar (Pos Zero)",fontsize=16,color="magenta"];178[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];178 -> 205[label="",style="solid", color="black", weight=3]; 31.40/17.10 179[label="primIntToChar (Pos Zero)",fontsize=16,color="black",shape="box"];179 -> 206[label="",style="solid", color="black", weight=3]; 31.40/17.10 180[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos Zero)) (seq (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];180 -> 207[label="",style="solid", color="black", weight=3]; 31.40/17.10 181[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (seq (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];181 -> 208[label="",style="solid", color="black", weight=3]; 31.40/17.10 182[label="Char (Neg (Succ vz3000))",fontsize=16,color="green",shape="box"];183[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos vz400)) (enforceWHNF (WHNF (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];183 -> 209[label="",style="solid", color="black", weight=3]; 31.40/17.10 1042[label="vz420",fontsize=16,color="green",shape="box"];1043[label="vz410",fontsize=16,color="green",shape="box"];1044[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not MyTrue))",fontsize=16,color="black",shape="box"];1044 -> 1049[label="",style="solid", color="black", weight=3]; 31.40/17.10 1045[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="triangle"];1045 -> 1050[label="",style="solid", color="black", weight=3]; 31.40/17.10 1046 -> 1045[label="",style="dashed", color="red", weight=0]; 31.40/17.10 1046[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="magenta"];191 -> 130[label="",style="dashed", color="red", weight=0]; 31.40/17.10 191[label="toEnumChar (Neg (Succ vz3000))",fontsize=16,color="magenta"];192[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];192 -> 217[label="",style="solid", color="black", weight=3]; 31.40/17.10 193[label="primIntToChar (Neg Zero)",fontsize=16,color="black",shape="box"];193 -> 218[label="",style="solid", color="black", weight=3]; 31.40/17.10 194[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (seq (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];194 -> 219[label="",style="solid", color="black", weight=3]; 31.40/17.10 195[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos Zero)) (seq (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];195 -> 220[label="",style="solid", color="black", weight=3]; 31.40/17.10 196 -> 125[label="",style="dashed", color="red", weight=0]; 31.40/17.10 196[label="map toEnumChar Nil",fontsize=16,color="magenta"];197[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (seq (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];197 -> 221[label="",style="solid", color="black", weight=3]; 31.40/17.10 1047[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) MyFalse)",fontsize=16,color="black",shape="box"];1047 -> 1051[label="",style="solid", color="black", weight=3]; 31.40/17.10 1048[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];1048 -> 1052[label="",style="solid", color="black", weight=3]; 31.40/17.10 205[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (seq (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];205 -> 230[label="",style="solid", color="black", weight=3]; 31.40/17.10 206[label="Char (Pos Zero)",fontsize=16,color="green",shape="box"];207[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos Zero)) (enforceWHNF (WHNF (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];207 -> 231[label="",style="solid", color="black", weight=3]; 31.40/17.10 208[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (enforceWHNF (WHNF (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];208 -> 232[label="",style="solid", color="black", weight=3]; 31.40/17.10 209[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos vz400)) (numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];209 -> 233[label="",style="solid", color="black", weight=3]; 31.40/17.10 1049[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) MyFalse)",fontsize=16,color="black",shape="box"];1049 -> 1053[label="",style="solid", color="black", weight=3]; 31.40/17.10 1050[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];1050 -> 1054[label="",style="solid", color="black", weight=3]; 31.40/17.10 217[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (seq (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];217 -> 242[label="",style="solid", color="black", weight=3]; 31.40/17.10 218[label="Char (Neg Zero)",fontsize=16,color="green",shape="box"];219[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (enforceWHNF (WHNF (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];219 -> 243[label="",style="solid", color="black", weight=3]; 31.40/17.10 220[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos Zero)) (enforceWHNF (WHNF (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];220 -> 244[label="",style="solid", color="black", weight=3]; 31.40/17.10 221[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (enforceWHNF (WHNF (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];221 -> 245[label="",style="solid", color="black", weight=3]; 31.40/17.10 1051[label="map toEnumChar (takeWhile0 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) otherwise)",fontsize=16,color="black",shape="box"];1051 -> 1055[label="",style="solid", color="black", weight=3]; 31.40/17.10 1052[label="map toEnumChar (Cons (Pos (Succ vz35)) (takeWhile (flip ltEsMyInt (Pos (Succ vz34))) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];1052 -> 1056[label="",style="solid", color="black", weight=3]; 31.40/17.10 230[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (enforceWHNF (WHNF (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];230 -> 258[label="",style="solid", color="black", weight=3]; 31.40/17.10 231[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos Zero)) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];231 -> 259[label="",style="solid", color="black", weight=3]; 31.40/17.10 232[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];232 -> 260[label="",style="solid", color="black", weight=3]; 31.40/17.10 233[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos vz400)) (Cons (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];233 -> 261[label="",style="solid", color="black", weight=3]; 31.40/17.10 1053[label="map toEnumChar (takeWhile0 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) otherwise)",fontsize=16,color="black",shape="box"];1053 -> 1057[label="",style="solid", color="black", weight=3]; 31.40/17.10 1054[label="map toEnumChar (Cons (Neg (Succ vz40)) (takeWhile (flip ltEsMyInt (Neg (Succ vz39))) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];1054 -> 1058[label="",style="solid", color="black", weight=3]; 31.40/17.10 242[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (enforceWHNF (WHNF (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];242 -> 274[label="",style="solid", color="black", weight=3]; 31.40/17.10 243[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];243 -> 275[label="",style="solid", color="black", weight=3]; 31.40/17.10 244[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos Zero)) (numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];244 -> 276[label="",style="solid", color="black", weight=3]; 31.40/17.10 245[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (numericEnumFrom (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];245 -> 277[label="",style="solid", color="black", weight=3]; 31.40/17.10 1055[label="map toEnumChar (takeWhile0 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ vz35)) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];1055 -> 1059[label="",style="solid", color="black", weight=3]; 31.40/17.10 1056[label="Cons (toEnumChar (Pos (Succ vz35))) (map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz34))) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];1056 -> 1060[label="",style="dashed", color="green", weight=3]; 31.40/17.10 1056 -> 1061[label="",style="dashed", color="green", weight=3]; 31.40/17.10 258[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];258 -> 288[label="",style="solid", color="black", weight=3]; 31.40/17.10 259[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos Zero)) (Cons (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];259 -> 289[label="",style="solid", color="black", weight=3]; 31.40/17.10 260[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (Cons (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];260 -> 290[label="",style="solid", color="black", weight=3]; 31.40/17.10 261[label="map toEnumChar (takeWhile2 (flip ltEsMyInt (Pos vz400)) (Cons (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];261 -> 291[label="",style="solid", color="black", weight=3]; 31.40/17.10 1057[label="map toEnumChar (takeWhile0 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz40)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];1057 -> 1062[label="",style="solid", color="black", weight=3]; 31.40/17.10 1058[label="Cons (toEnumChar (Neg (Succ vz40))) (map toEnumChar (takeWhile (flip ltEsMyInt (Neg (Succ vz39))) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];1058 -> 1063[label="",style="dashed", color="green", weight=3]; 31.40/17.10 1058 -> 1064[label="",style="dashed", color="green", weight=3]; 31.40/17.10 274[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (numericEnumFrom (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];274 -> 303[label="",style="solid", color="black", weight=3]; 31.40/17.10 275[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (Cons (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];275 -> 304[label="",style="solid", color="black", weight=3]; 31.40/17.10 276[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos Zero)) (Cons (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];276 -> 305[label="",style="solid", color="black", weight=3]; 31.40/17.10 277[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (Cons (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];277 -> 306[label="",style="solid", color="black", weight=3]; 31.40/17.10 1059 -> 125[label="",style="dashed", color="red", weight=0]; 31.40/17.10 1059[label="map toEnumChar Nil",fontsize=16,color="magenta"];1060[label="toEnumChar (Pos (Succ vz35))",fontsize=16,color="black",shape="box"];1060 -> 1065[label="",style="solid", color="black", weight=3]; 31.40/17.10 1061[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz34))) (dsEm numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];1061 -> 1066[label="",style="solid", color="black", weight=3]; 31.40/17.10 288[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz4000))) (Cons (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];288 -> 318[label="",style="solid", color="black", weight=3]; 31.40/17.10 289[label="map toEnumChar (takeWhile2 (flip ltEsMyInt (Pos Zero)) (Cons (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];289 -> 319[label="",style="solid", color="black", weight=3]; 31.40/17.10 290[label="map toEnumChar (takeWhile2 (flip ltEsMyInt (Neg Zero)) (Cons (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];290 -> 320[label="",style="solid", color="black", weight=3]; 31.40/17.10 291[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Pos vz400) (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];291 -> 321[label="",style="solid", color="black", weight=3]; 31.40/17.10 1062 -> 125[label="",style="dashed", color="red", weight=0]; 31.40/17.10 1062[label="map toEnumChar Nil",fontsize=16,color="magenta"];1063 -> 130[label="",style="dashed", color="red", weight=0]; 31.40/17.10 1063[label="toEnumChar (Neg (Succ vz40))",fontsize=16,color="magenta"];1063 -> 1067[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 1064[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg (Succ vz39))) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];1064 -> 1068[label="",style="solid", color="black", weight=3]; 31.40/17.10 303[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg Zero)) (Cons (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];303 -> 332[label="",style="solid", color="black", weight=3]; 31.40/17.10 304[label="map toEnumChar (takeWhile2 (flip ltEsMyInt (Pos (Succ vz4000))) (Cons (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];304 -> 333[label="",style="solid", color="black", weight=3]; 31.40/17.10 305[label="map toEnumChar (takeWhile2 (flip ltEsMyInt (Pos Zero)) (Cons (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];305 -> 334[label="",style="solid", color="black", weight=3]; 31.40/17.10 306[label="map toEnumChar (takeWhile2 (flip ltEsMyInt (Neg Zero)) (Cons (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];306 -> 335[label="",style="solid", color="black", weight=3]; 31.40/17.10 1065[label="primIntToChar (Pos (Succ vz35))",fontsize=16,color="black",shape="box"];1065 -> 1069[label="",style="solid", color="black", weight=3]; 31.40/17.10 1066[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz34))) (seq (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];1066 -> 1070[label="",style="solid", color="black", weight=3]; 31.40/17.10 318[label="map toEnumChar (takeWhile2 (flip ltEsMyInt (Pos (Succ vz4000))) (Cons (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];318 -> 352[label="",style="solid", color="black", weight=3]; 31.40/17.10 319[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Pos Zero) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];319 -> 353[label="",style="solid", color="black", weight=3]; 31.40/17.10 320[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Neg Zero) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];320 -> 354[label="",style="solid", color="black", weight=3]; 31.40/17.10 321[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (Pos vz400)))",fontsize=16,color="black",shape="box"];321 -> 355[label="",style="solid", color="black", weight=3]; 31.40/17.10 1067[label="vz40",fontsize=16,color="green",shape="box"];1068[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg (Succ vz39))) (seq (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];1068 -> 1071[label="",style="solid", color="black", weight=3]; 31.40/17.10 332[label="map toEnumChar (takeWhile2 (flip ltEsMyInt (Neg Zero)) (Cons (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];332 -> 370[label="",style="solid", color="black", weight=3]; 31.40/17.10 333[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Pos (Succ vz4000)) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];333 -> 371[label="",style="solid", color="black", weight=3]; 31.40/17.10 334[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Pos Zero) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];334 -> 372[label="",style="solid", color="black", weight=3]; 31.40/17.10 335[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Neg Zero) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];335 -> 373[label="",style="solid", color="black", weight=3]; 31.40/17.10 1069[label="Char (Pos (Succ vz35))",fontsize=16,color="green",shape="box"];1070[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz34))) (enforceWHNF (WHNF (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];1070 -> 1072[label="",style="solid", color="black", weight=3]; 31.40/17.10 352[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Pos (Succ vz4000)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];352 -> 387[label="",style="solid", color="black", weight=3]; 31.40/17.10 353[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)))",fontsize=16,color="black",shape="box"];353 -> 388[label="",style="solid", color="black", weight=3]; 31.40/17.10 354[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)))",fontsize=16,color="black",shape="box"];354 -> 389[label="",style="solid", color="black", weight=3]; 31.40/17.10 355[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (Pos vz400)) GT))",fontsize=16,color="black",shape="box"];355 -> 390[label="",style="solid", color="black", weight=3]; 31.40/17.10 1071[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg (Succ vz39))) (enforceWHNF (WHNF (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];1071 -> 1073[label="",style="solid", color="black", weight=3]; 31.40/17.10 370[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Neg Zero) (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];370 -> 404[label="",style="solid", color="black", weight=3]; 31.40/17.10 371[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz4000))))",fontsize=16,color="black",shape="box"];371 -> 405[label="",style="solid", color="black", weight=3]; 31.40/17.10 372[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)))",fontsize=16,color="black",shape="box"];372 -> 406[label="",style="solid", color="black", weight=3]; 31.40/17.10 373[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)))",fontsize=16,color="black",shape="box"];373 -> 407[label="",style="solid", color="black", weight=3]; 31.40/17.10 1072[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz34))) (numericEnumFrom (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];1072 -> 1074[label="",style="solid", color="black", weight=3]; 31.40/17.10 387[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz4000))))",fontsize=16,color="black",shape="box"];387 -> 422[label="",style="solid", color="black", weight=3]; 31.40/17.10 388[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)) GT))",fontsize=16,color="black",shape="box"];388 -> 423[label="",style="solid", color="black", weight=3]; 31.40/17.10 389[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)) GT))",fontsize=16,color="black",shape="box"];389 -> 424[label="",style="solid", color="black", weight=3]; 31.40/17.10 390[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (Pos vz400)) GT)))",fontsize=16,color="black",shape="box"];390 -> 425[label="",style="solid", color="black", weight=3]; 31.40/17.10 1073[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg (Succ vz39))) (numericEnumFrom (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];1073 -> 1075[label="",style="solid", color="black", weight=3]; 31.40/17.10 404[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)))",fontsize=16,color="black",shape="box"];404 -> 438[label="",style="solid", color="black", weight=3]; 31.40/17.10 405[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz4000))) GT))",fontsize=16,color="black",shape="box"];405 -> 439[label="",style="solid", color="black", weight=3]; 31.40/17.10 406[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)) GT))",fontsize=16,color="black",shape="box"];406 -> 440[label="",style="solid", color="black", weight=3]; 31.40/17.10 407[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)) GT))",fontsize=16,color="black",shape="box"];407 -> 441[label="",style="solid", color="black", weight=3]; 31.40/17.10 1074[label="map toEnumChar (takeWhile (flip ltEsMyInt (Pos (Succ vz34))) (Cons (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];1074 -> 1076[label="",style="solid", color="black", weight=3]; 31.40/17.10 422[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz4000))) GT))",fontsize=16,color="black",shape="box"];422 -> 459[label="",style="solid", color="black", weight=3]; 31.40/17.10 423[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];423 -> 460[label="",style="solid", color="black", weight=3]; 31.40/17.10 424[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];424 -> 461[label="",style="solid", color="black", weight=3]; 31.40/17.10 425[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (Pos vz400)) GT)))",fontsize=16,color="black",shape="box"];425 -> 462[label="",style="solid", color="black", weight=3]; 31.40/17.10 1075[label="map toEnumChar (takeWhile (flip ltEsMyInt (Neg (Succ vz39))) (Cons (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];1075 -> 1077[label="",style="solid", color="black", weight=3]; 31.40/17.10 438[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)) GT))",fontsize=16,color="black",shape="box"];438 -> 479[label="",style="solid", color="black", weight=3]; 31.40/17.10 439[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];439 -> 480[label="",style="solid", color="black", weight=3]; 31.40/17.10 440[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];440 -> 481[label="",style="solid", color="black", weight=3]; 31.40/17.10 441[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];441 -> 482[label="",style="solid", color="black", weight=3]; 31.40/17.10 1076[label="map toEnumChar (takeWhile2 (flip ltEsMyInt (Pos (Succ vz34))) (Cons (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];1076 -> 1078[label="",style="solid", color="black", weight=3]; 31.40/17.10 459[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];459 -> 498[label="",style="solid", color="black", weight=3]; 31.40/17.10 460[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];460 -> 499[label="",style="solid", color="black", weight=3]; 31.40/17.10 461[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];461 -> 500[label="",style="solid", color="black", weight=3]; 31.40/17.10 462[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (primPlusInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (Pos vz400)) GT)))",fontsize=16,color="black",shape="box"];462 -> 501[label="",style="solid", color="black", weight=3]; 31.40/17.10 1077[label="map toEnumChar (takeWhile2 (flip ltEsMyInt (Neg (Succ vz39))) (Cons (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];1077 -> 1079[label="",style="solid", color="black", weight=3]; 31.40/17.10 479[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];479 -> 517[label="",style="solid", color="black", weight=3]; 31.40/17.10 480[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];480 -> 518[label="",style="solid", color="black", weight=3]; 31.40/17.10 481[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];481 -> 519[label="",style="solid", color="black", weight=3]; 31.40/17.10 482[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];482 -> 520[label="",style="solid", color="black", weight=3]; 31.40/17.10 1078[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Pos (Succ vz34)) (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];1078 -> 1080[label="",style="solid", color="black", weight=3]; 31.40/17.10 498[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];498 -> 535[label="",style="solid", color="black", weight=3]; 31.40/17.10 499[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];499 -> 536[label="",style="solid", color="black", weight=3]; 31.40/17.10 500[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];500 -> 537[label="",style="solid", color="black", weight=3]; 31.40/17.10 501[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (primPlusInt (Neg (Succ vz3000)) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Neg (Succ vz3000)) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Neg (Succ vz3000)) (Pos (Succ Zero))) (Pos vz400)) GT)))",fontsize=16,color="black",shape="box"];501 -> 538[label="",style="solid", color="black", weight=3]; 31.40/17.10 1079[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Neg (Succ vz39)) (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];1079 -> 1081[label="",style="solid", color="black", weight=3]; 31.40/17.10 517[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];517 -> 553[label="",style="solid", color="black", weight=3]; 31.40/17.10 518[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (primPlusInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];518 -> 554[label="",style="solid", color="black", weight=3]; 31.40/17.10 519[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (primPlusInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];519 -> 555[label="",style="solid", color="black", weight=3]; 31.40/17.10 520[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (primPlusInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Neg Zero) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];520 -> 556[label="",style="solid", color="black", weight=3]; 31.40/17.10 1080[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz34))))",fontsize=16,color="black",shape="box"];1080 -> 1082[label="",style="solid", color="black", weight=3]; 31.40/17.10 535[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];535 -> 577[label="",style="solid", color="black", weight=3]; 31.40/17.10 536[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];536 -> 578[label="",style="solid", color="black", weight=3]; 31.40/17.10 537[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (primPlusInt (Pos Zero) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];537 -> 579[label="",style="solid", color="black", weight=3]; 31.40/17.10 538[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (primMinusNat (Succ Zero) (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (primMinusNat (Succ Zero) (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat (Succ Zero) (Succ vz3000)) (Pos vz400)) GT)))",fontsize=16,color="black",shape="box"];538 -> 580[label="",style="solid", color="black", weight=3]; 31.40/17.10 1081[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (Neg (Succ vz39))))",fontsize=16,color="black",shape="box"];1081 -> 1083[label="",style="solid", color="black", weight=3]; 31.40/17.10 553[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (primPlusInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Neg (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero)))) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];553 -> 599[label="",style="solid", color="black", weight=3]; 31.40/17.10 554[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (primPlusInt (Neg Zero) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Neg Zero) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Neg Zero) (Pos (Succ Zero))) (Pos (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];554 -> 600[label="",style="solid", color="black", weight=3]; 31.40/17.10 555[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (primPlusInt (Neg Zero) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Neg Zero) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Neg Zero) (Pos (Succ Zero))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];555 -> 601[label="",style="solid", color="black", weight=3]; 31.40/17.10 556[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (primPlusInt (Neg Zero) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Neg Zero) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Neg Zero) (Pos (Succ Zero))) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];556 -> 602[label="",style="solid", color="black", weight=3]; 31.40/17.10 1082[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz34))) GT))",fontsize=16,color="black",shape="box"];1082 -> 1084[label="",style="solid", color="black", weight=3]; 31.40/17.10 577[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (primPlusInt (Pos Zero) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];577 -> 619[label="",style="solid", color="black", weight=3]; 31.40/17.10 578[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (primPlusNat Zero (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (primPlusNat Zero (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat Zero (Succ Zero))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];578 -> 620[label="",style="solid", color="black", weight=3]; 31.40/17.10 579[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Pos (primPlusNat Zero (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (primPlusNat Zero (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat Zero (Succ Zero))) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];579 -> 621[label="",style="solid", color="black", weight=3]; 31.40/17.10 580[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (primMinusNat Zero vz3000) (dsEm numericEnumFrom (psMyInt (primMinusNat Zero vz3000) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat Zero vz3000) (Pos vz400)) GT)))",fontsize=16,color="burlywood",shape="box"];1153[label="vz3000/Succ vz30000",fontsize=10,color="white",style="solid",shape="box"];580 -> 1153[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1153 -> 622[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1154[label="vz3000/Zero",fontsize=10,color="white",style="solid",shape="box"];580 -> 1154[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1154 -> 623[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1083[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (Neg (Succ vz39))) GT))",fontsize=16,color="black",shape="box"];1083 -> 1085[label="",style="solid", color="black", weight=3]; 31.40/17.10 599[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (primPlusInt (Neg (Succ vz3000)) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Neg (Succ vz3000)) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Neg (Succ vz3000)) (Pos (Succ Zero))) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];599 -> 641[label="",style="solid", color="black", weight=3]; 31.40/17.10 600[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (primMinusNat (Succ Zero) Zero) (dsEm numericEnumFrom (psMyInt (primMinusNat (Succ Zero) Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat (Succ Zero) Zero) (Pos (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];600 -> 642[label="",style="solid", color="black", weight=3]; 31.40/17.10 601[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (primMinusNat (Succ Zero) Zero) (dsEm numericEnumFrom (psMyInt (primMinusNat (Succ Zero) Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat (Succ Zero) Zero) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];601 -> 643[label="",style="solid", color="black", weight=3]; 31.40/17.10 602[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (primMinusNat (Succ Zero) Zero) (dsEm numericEnumFrom (psMyInt (primMinusNat (Succ Zero) Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat (Succ Zero) Zero) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];602 -> 644[label="",style="solid", color="black", weight=3]; 31.40/17.10 1084[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz34))) GT)))",fontsize=16,color="black",shape="box"];1084 -> 1086[label="",style="solid", color="black", weight=3]; 31.40/17.10 619[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Pos (primPlusNat Zero (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (primPlusNat Zero (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat Zero (Succ Zero))) (Pos (Succ vz4000))) GT)))",fontsize=16,color="black",shape="box"];619 -> 660[label="",style="solid", color="black", weight=3]; 31.40/17.10 620 -> 32[label="",style="dashed", color="red", weight=0]; 31.40/17.10 620[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos Zero)) GT)))",fontsize=16,color="magenta"];620 -> 661[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 620 -> 662[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 621 -> 32[label="",style="dashed", color="red", weight=0]; 31.40/17.10 621[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Neg Zero)) GT)))",fontsize=16,color="magenta"];621 -> 663[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 621 -> 664[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 622[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (primMinusNat Zero (Succ vz30000)) (dsEm numericEnumFrom (psMyInt (primMinusNat Zero (Succ vz30000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat Zero (Succ vz30000)) (Pos vz400)) GT)))",fontsize=16,color="black",shape="box"];622 -> 665[label="",style="solid", color="black", weight=3]; 31.40/17.10 623[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (primMinusNat Zero Zero) (dsEm numericEnumFrom (psMyInt (primMinusNat Zero Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat Zero Zero) (Pos vz400)) GT)))",fontsize=16,color="black",shape="box"];623 -> 666[label="",style="solid", color="black", weight=3]; 31.40/17.10 1085[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (Neg (Succ vz39))) GT)))",fontsize=16,color="black",shape="box"];1085 -> 1087[label="",style="solid", color="black", weight=3]; 31.40/17.10 641[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (primMinusNat (Succ Zero) (Succ vz3000)) (dsEm numericEnumFrom (psMyInt (primMinusNat (Succ Zero) (Succ vz3000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat (Succ Zero) (Succ vz3000)) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];641 -> 683[label="",style="solid", color="black", weight=3]; 31.40/17.10 642 -> 32[label="",style="dashed", color="red", weight=0]; 31.40/17.10 642[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos (Succ vz4000))) GT)))",fontsize=16,color="magenta"];642 -> 684[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 642 -> 685[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 643 -> 32[label="",style="dashed", color="red", weight=0]; 31.40/17.10 643[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos Zero)) GT)))",fontsize=16,color="magenta"];643 -> 686[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 643 -> 687[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 644 -> 32[label="",style="dashed", color="red", weight=0]; 31.40/17.10 644[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Neg Zero)) GT)))",fontsize=16,color="magenta"];644 -> 688[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 644 -> 689[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 1086[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz34))) GT)))",fontsize=16,color="black",shape="box"];1086 -> 1088[label="",style="solid", color="black", weight=3]; 31.40/17.10 660 -> 32[label="",style="dashed", color="red", weight=0]; 31.40/17.10 660[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz4000))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos (Succ vz4000))) GT)))",fontsize=16,color="magenta"];660 -> 709[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 660 -> 710[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 661[label="Pos Zero",fontsize=16,color="green",shape="box"];662[label="Zero",fontsize=16,color="green",shape="box"];663[label="Neg Zero",fontsize=16,color="green",shape="box"];664[label="Zero",fontsize=16,color="green",shape="box"];665 -> 34[label="",style="dashed", color="red", weight=0]; 31.40/17.10 665[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (Neg (Succ vz30000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz30000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg (Succ vz30000)) (Pos vz400)) GT)))",fontsize=16,color="magenta"];665 -> 711[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 665 -> 712[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 666 -> 33[label="",style="dashed", color="red", weight=0]; 31.40/17.10 666[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos vz400)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos vz400)) GT)))",fontsize=16,color="magenta"];666 -> 713[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 1087[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (Neg (Succ vz39))) GT)))",fontsize=16,color="black",shape="box"];1087 -> 1089[label="",style="solid", color="black", weight=3]; 31.40/17.10 683[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (primMinusNat Zero vz3000) (dsEm numericEnumFrom (psMyInt (primMinusNat Zero vz3000) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat Zero vz3000) (Neg Zero)) GT)))",fontsize=16,color="burlywood",shape="box"];1155[label="vz3000/Succ vz30000",fontsize=10,color="white",style="solid",shape="box"];683 -> 1155[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1155 -> 734[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1156[label="vz3000/Zero",fontsize=10,color="white",style="solid",shape="box"];683 -> 1156[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1156 -> 735[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 684[label="Pos (Succ vz4000)",fontsize=16,color="green",shape="box"];685[label="Zero",fontsize=16,color="green",shape="box"];686[label="Pos Zero",fontsize=16,color="green",shape="box"];687[label="Zero",fontsize=16,color="green",shape="box"];688[label="Neg Zero",fontsize=16,color="green",shape="box"];689[label="Zero",fontsize=16,color="green",shape="box"];1088[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (primPlusInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos (Succ vz35)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ vz34))) GT)))",fontsize=16,color="black",shape="box"];1088 -> 1090[label="",style="solid", color="black", weight=3]; 31.40/17.10 709[label="Pos (Succ vz4000)",fontsize=16,color="green",shape="box"];710[label="Zero",fontsize=16,color="green",shape="box"];711[label="vz30000",fontsize=16,color="green",shape="box"];712[label="Pos vz400",fontsize=16,color="green",shape="box"];713[label="Pos vz400",fontsize=16,color="green",shape="box"];1089[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (primPlusInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Neg (Succ vz40)) (fromIntMyInt (Pos (Succ Zero)))) (Neg (Succ vz39))) GT)))",fontsize=16,color="black",shape="box"];1089 -> 1091[label="",style="solid", color="black", weight=3]; 31.40/17.10 734[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (primMinusNat Zero (Succ vz30000)) (dsEm numericEnumFrom (psMyInt (primMinusNat Zero (Succ vz30000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat Zero (Succ vz30000)) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];734 -> 773[label="",style="solid", color="black", weight=3]; 31.40/17.10 735[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (primMinusNat Zero Zero) (dsEm numericEnumFrom (psMyInt (primMinusNat Zero Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat Zero Zero) (Neg Zero)) GT)))",fontsize=16,color="black",shape="box"];735 -> 774[label="",style="solid", color="black", weight=3]; 31.40/17.10 1090[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (primPlusInt (Pos (Succ vz35)) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos (Succ vz35)) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos (Succ vz35)) (Pos (Succ Zero))) (Pos (Succ vz34))) GT)))",fontsize=16,color="black",shape="box"];1090 -> 1092[label="",style="solid", color="black", weight=3]; 31.40/17.10 1091[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (primPlusInt (Neg (Succ vz40)) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Neg (Succ vz40)) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Neg (Succ vz40)) (Pos (Succ Zero))) (Neg (Succ vz39))) GT)))",fontsize=16,color="black",shape="box"];1091 -> 1093[label="",style="solid", color="black", weight=3]; 31.40/17.10 773 -> 34[label="",style="dashed", color="red", weight=0]; 31.40/17.10 773[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Neg (Succ vz30000)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz30000)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg (Succ vz30000)) (Neg Zero)) GT)))",fontsize=16,color="magenta"];773 -> 809[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 773 -> 810[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 774 -> 33[label="",style="dashed", color="red", weight=0]; 31.40/17.10 774[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg Zero)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (Neg Zero)) GT)))",fontsize=16,color="magenta"];774 -> 811[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 1092[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (primPlusNat (Succ vz35) (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (primPlusNat (Succ vz35) (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat (Succ vz35) (Succ Zero))) (Pos (Succ vz34))) GT)))",fontsize=16,color="black",shape="box"];1092 -> 1094[label="",style="solid", color="black", weight=3]; 31.40/17.10 1093[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (primMinusNat (Succ Zero) (Succ vz40)) (dsEm numericEnumFrom (psMyInt (primMinusNat (Succ Zero) (Succ vz40)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat (Succ Zero) (Succ vz40)) (Neg (Succ vz39))) GT)))",fontsize=16,color="black",shape="box"];1093 -> 1095[label="",style="solid", color="black", weight=3]; 31.40/17.10 809[label="vz30000",fontsize=16,color="green",shape="box"];810[label="Neg Zero",fontsize=16,color="green",shape="box"];811[label="Neg Zero",fontsize=16,color="green",shape="box"];1094 -> 32[label="",style="dashed", color="red", weight=0]; 31.40/17.10 1094[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Pos (Succ vz34))) (Pos (Succ (Succ (primPlusNat vz35 Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat vz35 Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ (Succ (primPlusNat vz35 Zero)))) (Pos (Succ vz34))) GT)))",fontsize=16,color="magenta"];1094 -> 1096[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 1094 -> 1097[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 1095[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (primMinusNat Zero vz40) (dsEm numericEnumFrom (psMyInt (primMinusNat Zero vz40) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat Zero vz40) (Neg (Succ vz39))) GT)))",fontsize=16,color="burlywood",shape="box"];1157[label="vz40/Succ vz400",fontsize=10,color="white",style="solid",shape="box"];1095 -> 1157[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1157 -> 1098[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1158[label="vz40/Zero",fontsize=10,color="white",style="solid",shape="box"];1095 -> 1158[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1158 -> 1099[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1096[label="Pos (Succ vz34)",fontsize=16,color="green",shape="box"];1097[label="Succ (primPlusNat vz35 Zero)",fontsize=16,color="green",shape="box"];1097 -> 1100[label="",style="dashed", color="green", weight=3]; 31.40/17.10 1098[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (primMinusNat Zero (Succ vz400)) (dsEm numericEnumFrom (psMyInt (primMinusNat Zero (Succ vz400)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat Zero (Succ vz400)) (Neg (Succ vz39))) GT)))",fontsize=16,color="black",shape="box"];1098 -> 1101[label="",style="solid", color="black", weight=3]; 31.40/17.10 1099[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (primMinusNat Zero Zero) (dsEm numericEnumFrom (psMyInt (primMinusNat Zero Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primMinusNat Zero Zero) (Neg (Succ vz39))) GT)))",fontsize=16,color="black",shape="box"];1099 -> 1102[label="",style="solid", color="black", weight=3]; 31.40/17.10 1100[label="primPlusNat vz35 Zero",fontsize=16,color="burlywood",shape="box"];1159[label="vz35/Succ vz350",fontsize=10,color="white",style="solid",shape="box"];1100 -> 1159[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1159 -> 1103[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1160[label="vz35/Zero",fontsize=10,color="white",style="solid",shape="box"];1100 -> 1160[label="",style="solid", color="burlywood", weight=9]; 31.40/17.10 1160 -> 1104[label="",style="solid", color="burlywood", weight=3]; 31.40/17.10 1101 -> 34[label="",style="dashed", color="red", weight=0]; 31.40/17.10 1101[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Neg (Succ vz400)) (dsEm numericEnumFrom (psMyInt (Neg (Succ vz400)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Neg (Succ vz400)) (Neg (Succ vz39))) GT)))",fontsize=16,color="magenta"];1101 -> 1105[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 1101 -> 1106[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 1102 -> 33[label="",style="dashed", color="red", weight=0]; 31.40/17.10 1102[label="map toEnumChar (takeWhile1 (flip ltEsMyInt (Neg (Succ vz39))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (Neg (Succ vz39))) GT)))",fontsize=16,color="magenta"];1102 -> 1107[label="",style="dashed", color="magenta", weight=3]; 31.40/17.10 1103[label="primPlusNat (Succ vz350) Zero",fontsize=16,color="black",shape="box"];1103 -> 1108[label="",style="solid", color="black", weight=3]; 31.40/17.10 1104[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];1104 -> 1109[label="",style="solid", color="black", weight=3]; 31.40/17.10 1105[label="vz400",fontsize=16,color="green",shape="box"];1106[label="Neg (Succ vz39)",fontsize=16,color="green",shape="box"];1107[label="Neg (Succ vz39)",fontsize=16,color="green",shape="box"];1108[label="Succ vz350",fontsize=16,color="green",shape="box"];1109[label="Zero",fontsize=16,color="green",shape="box"];} 31.40/17.10 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (6) 31.40/17.10 Complex Obligation (AND) 31.40/17.10 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (7) 31.40/17.10 Obligation: 31.40/17.10 Q DP problem: 31.40/17.10 The TRS P consists of the following rules: 31.40/17.10 31.40/17.10 new_map1(vz34, vz35) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.10 new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> new_map(vz4000, vz3000, vz3000, vz4000) 31.40/17.10 new_map(vz34, vz35, Main.Succ(vz360), Main.Succ(vz370)) -> new_map(vz34, vz35, vz360, vz370) 31.40/17.10 new_map(vz34, vz35, Main.Zero, Main.Zero) -> new_map1(vz34, vz35) 31.40/17.10 new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.10 31.40/17.10 The TRS R consists of the following rules: 31.40/17.10 31.40/17.10 new_primPlusNat(Main.Zero) -> Main.Zero 31.40/17.10 new_primPlusNat(Main.Succ(vz350)) -> Main.Succ(vz350) 31.40/17.10 31.40/17.10 The set Q consists of the following terms: 31.40/17.10 31.40/17.10 new_primPlusNat(Main.Zero) 31.40/17.10 new_primPlusNat(Main.Succ(x0)) 31.40/17.10 31.40/17.10 We have to consider all minimal (P,Q,R)-chains. 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (8) QDPPairToRuleProof (EQUIVALENT) 31.40/17.10 The dependency pair new_map(vz34, vz35, Main.Succ(vz360), Main.Succ(vz370)) -> new_map(vz34, vz35, vz360, vz370) was transformed to the following new rules: 31.40/17.10 anew_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.10 new_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.10 new_new_map(Main.Zero, Main.Zero) -> cons_new_map(Main.Zero, Main.Zero) 31.40/17.10 new_new_map(Main.Zero, Main.Succ(vz370)) -> cons_new_map(Main.Zero, Main.Succ(vz370)) 31.40/17.10 31.40/17.10 the following new pairs maintain the fan-in: 31.40/17.10 new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> H(vz4000, vz3000, anew_new_map(vz3000, vz4000)) 31.40/17.10 31.40/17.10 the following new pairs maintain the fan-out: 31.40/17.10 H(vz34, vz35, cons_new_map(Main.Zero, Main.Zero)) -> new_map(vz34, vz35, Main.Zero, Main.Zero) 31.40/17.10 H(vz34, vz35, cons_new_map(Main.Zero, Main.Succ(vz370))) -> new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) 31.40/17.10 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (9) 31.40/17.10 Complex Obligation (AND) 31.40/17.10 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (10) 31.40/17.10 Obligation: 31.40/17.10 Q DP problem: 31.40/17.10 The TRS P consists of the following rules: 31.40/17.10 31.40/17.10 new_map1(vz34, vz35) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.10 new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> new_map(vz4000, vz3000, vz3000, vz4000) 31.40/17.10 new_map(vz34, vz35, Main.Zero, Main.Zero) -> new_map1(vz34, vz35) 31.40/17.10 new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.10 new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> H(vz4000, vz3000, anew_new_map(vz3000, vz4000)) 31.40/17.10 H(vz34, vz35, cons_new_map(Main.Zero, Main.Zero)) -> new_map(vz34, vz35, Main.Zero, Main.Zero) 31.40/17.10 H(vz34, vz35, cons_new_map(Main.Zero, Main.Succ(vz370))) -> new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) 31.40/17.10 31.40/17.10 The TRS R consists of the following rules: 31.40/17.10 31.40/17.10 new_primPlusNat(Main.Zero) -> Main.Zero 31.40/17.10 new_primPlusNat(Main.Succ(vz350)) -> Main.Succ(vz350) 31.40/17.10 anew_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.10 new_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.10 new_new_map(Main.Zero, Main.Zero) -> cons_new_map(Main.Zero, Main.Zero) 31.40/17.10 new_new_map(Main.Zero, Main.Succ(vz370)) -> cons_new_map(Main.Zero, Main.Succ(vz370)) 31.40/17.10 31.40/17.10 The set Q consists of the following terms: 31.40/17.10 31.40/17.10 new_primPlusNat(Main.Zero) 31.40/17.10 new_primPlusNat(Main.Succ(x0)) 31.40/17.10 new_new_map(Main.Succ(x0), Main.Succ(x1)) 31.40/17.10 anew_new_map(Main.Succ(x0), Main.Succ(x1)) 31.40/17.10 new_new_map(Main.Zero, Main.Zero) 31.40/17.10 new_new_map(Main.Zero, Main.Succ(x0)) 31.40/17.10 31.40/17.10 We have to consider all minimal (P,Q,R)-chains. 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (11) TransformationProof (EQUIVALENT) 31.40/17.10 By instantiating [LPAR04] the rule new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> new_map(vz4000, vz3000, vz3000, vz4000) we obtained the following new rules [LPAR04]: 31.40/17.10 31.40/17.10 (new_map0(Main.Pos(Main.Succ(z0)), Main.Succ(y_0)) -> new_map(z0, Main.Succ(y_0), Main.Succ(y_0), z0),new_map0(Main.Pos(Main.Succ(z0)), Main.Succ(y_0)) -> new_map(z0, Main.Succ(y_0), Main.Succ(y_0), z0)) 31.40/17.10 31.40/17.10 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (12) 31.40/17.10 Obligation: 31.40/17.10 Q DP problem: 31.40/17.10 The TRS P consists of the following rules: 31.40/17.10 31.40/17.10 new_map1(vz34, vz35) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.10 new_map(vz34, vz35, Main.Zero, Main.Zero) -> new_map1(vz34, vz35) 31.40/17.10 new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.10 new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> H(vz4000, vz3000, anew_new_map(vz3000, vz4000)) 31.40/17.10 H(vz34, vz35, cons_new_map(Main.Zero, Main.Zero)) -> new_map(vz34, vz35, Main.Zero, Main.Zero) 31.40/17.10 H(vz34, vz35, cons_new_map(Main.Zero, Main.Succ(vz370))) -> new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) 31.40/17.10 new_map0(Main.Pos(Main.Succ(z0)), Main.Succ(y_0)) -> new_map(z0, Main.Succ(y_0), Main.Succ(y_0), z0) 31.40/17.10 31.40/17.10 The TRS R consists of the following rules: 31.40/17.10 31.40/17.10 new_primPlusNat(Main.Zero) -> Main.Zero 31.40/17.10 new_primPlusNat(Main.Succ(vz350)) -> Main.Succ(vz350) 31.40/17.10 anew_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.10 new_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.10 new_new_map(Main.Zero, Main.Zero) -> cons_new_map(Main.Zero, Main.Zero) 31.40/17.10 new_new_map(Main.Zero, Main.Succ(vz370)) -> cons_new_map(Main.Zero, Main.Succ(vz370)) 31.40/17.10 31.40/17.10 The set Q consists of the following terms: 31.40/17.10 31.40/17.10 new_primPlusNat(Main.Zero) 31.40/17.10 new_primPlusNat(Main.Succ(x0)) 31.40/17.10 new_new_map(Main.Succ(x0), Main.Succ(x1)) 31.40/17.10 anew_new_map(Main.Succ(x0), Main.Succ(x1)) 31.40/17.10 new_new_map(Main.Zero, Main.Zero) 31.40/17.10 new_new_map(Main.Zero, Main.Succ(x0)) 31.40/17.10 31.40/17.10 We have to consider all minimal (P,Q,R)-chains. 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (13) DependencyGraphProof (EQUIVALENT) 31.40/17.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (14) 31.40/17.10 Obligation: 31.40/17.10 Q DP problem: 31.40/17.10 The TRS P consists of the following rules: 31.40/17.10 31.40/17.10 new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> H(vz4000, vz3000, anew_new_map(vz3000, vz4000)) 31.40/17.10 H(vz34, vz35, cons_new_map(Main.Zero, Main.Zero)) -> new_map(vz34, vz35, Main.Zero, Main.Zero) 31.40/17.10 new_map(vz34, vz35, Main.Zero, Main.Zero) -> new_map1(vz34, vz35) 31.40/17.10 new_map1(vz34, vz35) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.10 H(vz34, vz35, cons_new_map(Main.Zero, Main.Succ(vz370))) -> new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) 31.40/17.10 new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.10 31.40/17.10 The TRS R consists of the following rules: 31.40/17.10 31.40/17.10 new_primPlusNat(Main.Zero) -> Main.Zero 31.40/17.10 new_primPlusNat(Main.Succ(vz350)) -> Main.Succ(vz350) 31.40/17.10 anew_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.10 new_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.10 new_new_map(Main.Zero, Main.Zero) -> cons_new_map(Main.Zero, Main.Zero) 31.40/17.10 new_new_map(Main.Zero, Main.Succ(vz370)) -> cons_new_map(Main.Zero, Main.Succ(vz370)) 31.40/17.10 31.40/17.10 The set Q consists of the following terms: 31.40/17.10 31.40/17.10 new_primPlusNat(Main.Zero) 31.40/17.10 new_primPlusNat(Main.Succ(x0)) 31.40/17.10 new_new_map(Main.Succ(x0), Main.Succ(x1)) 31.40/17.10 anew_new_map(Main.Succ(x0), Main.Succ(x1)) 31.40/17.10 new_new_map(Main.Zero, Main.Zero) 31.40/17.10 new_new_map(Main.Zero, Main.Succ(x0)) 31.40/17.10 31.40/17.10 We have to consider all minimal (P,Q,R)-chains. 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (15) InductionCalculusProof (EQUIVALENT) 31.40/17.10 Note that final constraints are written in bold face. 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 For Pair new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> H(vz4000, vz3000, anew_new_map(vz3000, vz4000)) the following chains were created: 31.40/17.10 *We consider the chain new_map0(Main.Pos(Main.Succ(x2)), x3) -> H(x2, x3, anew_new_map(x3, x2)), H(x4, x5, cons_new_map(Main.Zero, Main.Zero)) -> new_map(x4, x5, Main.Zero, Main.Zero) which results in the following constraint: 31.40/17.10 31.40/17.10 (1) (H(x2, x3, anew_new_map(x3, x2))=H(x4, x5, cons_new_map(Main.Zero, Main.Zero)) ==> new_map0(Main.Pos(Main.Succ(x2)), x3)_>=_H(x2, x3, anew_new_map(x3, x2))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.10 31.40/17.10 (2) (anew_new_map(x3, x2)=cons_new_map(Main.Zero, Main.Zero) ==> new_map0(Main.Pos(Main.Succ(x2)), x3)_>=_H(x2, x3, anew_new_map(x3, x2))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_map(x3, x2)=cons_new_map(Main.Zero, Main.Zero) which results in the following new constraint: 31.40/17.10 31.40/17.10 (3) (new_new_map(x101, x100)=cons_new_map(Main.Zero, Main.Zero) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(x100))), Main.Succ(x101))_>=_H(Main.Succ(x100), Main.Succ(x101), anew_new_map(Main.Succ(x101), Main.Succ(x100)))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x101, x100)=cons_new_map(Main.Zero, Main.Zero) which results in the following new constraints: 31.40/17.10 31.40/17.10 (4) (new_new_map(x103, x102)=cons_new_map(Main.Zero, Main.Zero) & (new_new_map(x103, x102)=cons_new_map(Main.Zero, Main.Zero) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(x102))), Main.Succ(x103))_>=_H(Main.Succ(x102), Main.Succ(x103), anew_new_map(Main.Succ(x103), Main.Succ(x102)))) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x102)))), Main.Succ(Main.Succ(x103)))_>=_H(Main.Succ(Main.Succ(x102)), Main.Succ(Main.Succ(x103)), anew_new_map(Main.Succ(Main.Succ(x103)), Main.Succ(Main.Succ(x102))))) 31.40/17.10 31.40/17.10 (5) (cons_new_map(Main.Zero, Main.Zero)=cons_new_map(Main.Zero, Main.Zero) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Zero), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Zero)))) 31.40/17.10 31.40/17.10 (6) (cons_new_map(Main.Zero, Main.Succ(x104))=cons_new_map(Main.Zero, Main.Zero) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x104)))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Succ(x104)), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x104))))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (new_new_map(x103, x102)=cons_new_map(Main.Zero, Main.Zero) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(x102))), Main.Succ(x103))_>=_H(Main.Succ(x102), Main.Succ(x103), anew_new_map(Main.Succ(x103), Main.Succ(x102)))) with sigma = [ ] which results in the following new constraint: 31.40/17.10 31.40/17.10 (7) (new_map0(Main.Pos(Main.Succ(Main.Succ(x102))), Main.Succ(x103))_>=_H(Main.Succ(x102), Main.Succ(x103), anew_new_map(Main.Succ(x103), Main.Succ(x102))) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x102)))), Main.Succ(Main.Succ(x103)))_>=_H(Main.Succ(Main.Succ(x102)), Main.Succ(Main.Succ(x103)), anew_new_map(Main.Succ(Main.Succ(x103)), Main.Succ(Main.Succ(x102))))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 31.40/17.10 31.40/17.10 (8) (new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Zero), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Zero)))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We solved constraint (6) using rules (I), (II). 31.40/17.10 *We consider the chain new_map0(Main.Pos(Main.Succ(x10)), x11) -> H(x10, x11, anew_new_map(x11, x10)), H(x12, x13, cons_new_map(Main.Zero, Main.Succ(x14))) -> new_map(x12, x13, Main.Zero, Main.Succ(x14)) which results in the following constraint: 31.40/17.10 31.40/17.10 (1) (H(x10, x11, anew_new_map(x11, x10))=H(x12, x13, cons_new_map(Main.Zero, Main.Succ(x14))) ==> new_map0(Main.Pos(Main.Succ(x10)), x11)_>=_H(x10, x11, anew_new_map(x11, x10))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.10 31.40/17.10 (2) (anew_new_map(x11, x10)=cons_new_map(Main.Zero, Main.Succ(x14)) ==> new_map0(Main.Pos(Main.Succ(x10)), x11)_>=_H(x10, x11, anew_new_map(x11, x10))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_map(x11, x10)=cons_new_map(Main.Zero, Main.Succ(x14)) which results in the following new constraint: 31.40/17.10 31.40/17.10 (3) (new_new_map(x106, x105)=cons_new_map(Main.Zero, Main.Succ(x14)) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(x105))), Main.Succ(x106))_>=_H(Main.Succ(x105), Main.Succ(x106), anew_new_map(Main.Succ(x106), Main.Succ(x105)))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x106, x105)=cons_new_map(Main.Zero, Main.Succ(x14)) which results in the following new constraints: 31.40/17.10 31.40/17.10 (4) (new_new_map(x108, x107)=cons_new_map(Main.Zero, Main.Succ(x14)) & (\/x109:new_new_map(x108, x107)=cons_new_map(Main.Zero, Main.Succ(x109)) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(x107))), Main.Succ(x108))_>=_H(Main.Succ(x107), Main.Succ(x108), anew_new_map(Main.Succ(x108), Main.Succ(x107)))) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x107)))), Main.Succ(Main.Succ(x108)))_>=_H(Main.Succ(Main.Succ(x107)), Main.Succ(Main.Succ(x108)), anew_new_map(Main.Succ(Main.Succ(x108)), Main.Succ(Main.Succ(x107))))) 31.40/17.10 31.40/17.10 (5) (cons_new_map(Main.Zero, Main.Zero)=cons_new_map(Main.Zero, Main.Succ(x14)) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Zero), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Zero)))) 31.40/17.10 31.40/17.10 (6) (cons_new_map(Main.Zero, Main.Succ(x110))=cons_new_map(Main.Zero, Main.Succ(x14)) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x110)))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Succ(x110)), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x110))))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x109:new_new_map(x108, x107)=cons_new_map(Main.Zero, Main.Succ(x109)) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(x107))), Main.Succ(x108))_>=_H(Main.Succ(x107), Main.Succ(x108), anew_new_map(Main.Succ(x108), Main.Succ(x107)))) with sigma = [x109 / x14] which results in the following new constraint: 31.40/17.10 31.40/17.10 (7) (new_map0(Main.Pos(Main.Succ(Main.Succ(x107))), Main.Succ(x108))_>=_H(Main.Succ(x107), Main.Succ(x108), anew_new_map(Main.Succ(x108), Main.Succ(x107))) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x107)))), Main.Succ(Main.Succ(x108)))_>=_H(Main.Succ(Main.Succ(x107)), Main.Succ(Main.Succ(x108)), anew_new_map(Main.Succ(Main.Succ(x108)), Main.Succ(Main.Succ(x107))))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.10 31.40/17.10 (8) (new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x110)))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Succ(x110)), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x110))))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 For Pair H(vz34, vz35, cons_new_map(Main.Zero, Main.Zero)) -> new_map(vz34, vz35, Main.Zero, Main.Zero) the following chains were created: 31.40/17.10 *We consider the chain H(x21, x22, cons_new_map(Main.Zero, Main.Zero)) -> new_map(x21, x22, Main.Zero, Main.Zero), new_map(x23, x24, Main.Zero, Main.Zero) -> new_map1(x23, x24) which results in the following constraint: 31.40/17.10 31.40/17.10 (1) (new_map(x21, x22, Main.Zero, Main.Zero)=new_map(x23, x24, Main.Zero, Main.Zero) ==> H(x21, x22, cons_new_map(Main.Zero, Main.Zero))_>=_new_map(x21, x22, Main.Zero, Main.Zero)) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.10 31.40/17.10 (2) (H(x21, x22, cons_new_map(Main.Zero, Main.Zero))_>=_new_map(x21, x22, Main.Zero, Main.Zero)) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 For Pair new_map(vz34, vz35, Main.Zero, Main.Zero) -> new_map1(vz34, vz35) the following chains were created: 31.40/17.10 *We consider the chain new_map(x37, x38, Main.Zero, Main.Zero) -> new_map1(x37, x38), new_map1(x39, x40) -> new_map0(Main.Pos(Main.Succ(x39)), Main.Succ(new_primPlusNat(x40))) which results in the following constraint: 31.40/17.10 31.40/17.10 (1) (new_map1(x37, x38)=new_map1(x39, x40) ==> new_map(x37, x38, Main.Zero, Main.Zero)_>=_new_map1(x37, x38)) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.10 31.40/17.10 (2) (new_map(x37, x38, Main.Zero, Main.Zero)_>=_new_map1(x37, x38)) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 For Pair new_map1(vz34, vz35) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) the following chains were created: 31.40/17.10 *We consider the chain new_map1(x45, x46) -> new_map0(Main.Pos(Main.Succ(x45)), Main.Succ(new_primPlusNat(x46))), new_map0(Main.Pos(Main.Succ(x47)), x48) -> H(x47, x48, anew_new_map(x48, x47)) which results in the following constraint: 31.40/17.10 31.40/17.10 (1) (new_map0(Main.Pos(Main.Succ(x45)), Main.Succ(new_primPlusNat(x46)))=new_map0(Main.Pos(Main.Succ(x47)), x48) ==> new_map1(x45, x46)_>=_new_map0(Main.Pos(Main.Succ(x45)), Main.Succ(new_primPlusNat(x46)))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.10 31.40/17.10 (2) (new_map1(x45, x46)_>=_new_map0(Main.Pos(Main.Succ(x45)), Main.Succ(new_primPlusNat(x46)))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 For Pair H(vz34, vz35, cons_new_map(Main.Zero, Main.Succ(vz370))) -> new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) the following chains were created: 31.40/17.10 *We consider the chain H(x74, x75, cons_new_map(Main.Zero, Main.Succ(x76))) -> new_map(x74, x75, Main.Zero, Main.Succ(x76)), new_map(x77, x78, Main.Zero, Main.Succ(x79)) -> new_map0(Main.Pos(Main.Succ(x77)), Main.Succ(new_primPlusNat(x78))) which results in the following constraint: 31.40/17.10 31.40/17.10 (1) (new_map(x74, x75, Main.Zero, Main.Succ(x76))=new_map(x77, x78, Main.Zero, Main.Succ(x79)) ==> H(x74, x75, cons_new_map(Main.Zero, Main.Succ(x76)))_>=_new_map(x74, x75, Main.Zero, Main.Succ(x76))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.10 31.40/17.10 (2) (H(x74, x75, cons_new_map(Main.Zero, Main.Succ(x76)))_>=_new_map(x74, x75, Main.Zero, Main.Succ(x76))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 For Pair new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) the following chains were created: 31.40/17.10 *We consider the chain new_map(x80, x81, Main.Zero, Main.Succ(x82)) -> new_map0(Main.Pos(Main.Succ(x80)), Main.Succ(new_primPlusNat(x81))), new_map0(Main.Pos(Main.Succ(x83)), x84) -> H(x83, x84, anew_new_map(x84, x83)) which results in the following constraint: 31.40/17.10 31.40/17.10 (1) (new_map0(Main.Pos(Main.Succ(x80)), Main.Succ(new_primPlusNat(x81)))=new_map0(Main.Pos(Main.Succ(x83)), x84) ==> new_map(x80, x81, Main.Zero, Main.Succ(x82))_>=_new_map0(Main.Pos(Main.Succ(x80)), Main.Succ(new_primPlusNat(x81)))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.10 31.40/17.10 (2) (new_map(x80, x81, Main.Zero, Main.Succ(x82))_>=_new_map0(Main.Pos(Main.Succ(x80)), Main.Succ(new_primPlusNat(x81)))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 To summarize, we get the following constraints P__>=_ for the following pairs. 31.40/17.10 31.40/17.10 *new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> H(vz4000, vz3000, anew_new_map(vz3000, vz4000)) 31.40/17.10 31.40/17.10 *(new_map0(Main.Pos(Main.Succ(Main.Succ(x102))), Main.Succ(x103))_>=_H(Main.Succ(x102), Main.Succ(x103), anew_new_map(Main.Succ(x103), Main.Succ(x102))) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x102)))), Main.Succ(Main.Succ(x103)))_>=_H(Main.Succ(Main.Succ(x102)), Main.Succ(Main.Succ(x103)), anew_new_map(Main.Succ(Main.Succ(x103)), Main.Succ(Main.Succ(x102))))) 31.40/17.10 31.40/17.10 31.40/17.10 *(new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Zero), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Zero)))) 31.40/17.10 31.40/17.10 31.40/17.10 *(new_map0(Main.Pos(Main.Succ(Main.Succ(x107))), Main.Succ(x108))_>=_H(Main.Succ(x107), Main.Succ(x108), anew_new_map(Main.Succ(x108), Main.Succ(x107))) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x107)))), Main.Succ(Main.Succ(x108)))_>=_H(Main.Succ(Main.Succ(x107)), Main.Succ(Main.Succ(x108)), anew_new_map(Main.Succ(Main.Succ(x108)), Main.Succ(Main.Succ(x107))))) 31.40/17.10 31.40/17.10 31.40/17.10 *(new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x110)))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Succ(x110)), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x110))))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 *H(vz34, vz35, cons_new_map(Main.Zero, Main.Zero)) -> new_map(vz34, vz35, Main.Zero, Main.Zero) 31.40/17.10 31.40/17.10 *(H(x21, x22, cons_new_map(Main.Zero, Main.Zero))_>=_new_map(x21, x22, Main.Zero, Main.Zero)) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 *new_map(vz34, vz35, Main.Zero, Main.Zero) -> new_map1(vz34, vz35) 31.40/17.10 31.40/17.10 *(new_map(x37, x38, Main.Zero, Main.Zero)_>=_new_map1(x37, x38)) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 *new_map1(vz34, vz35) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.10 31.40/17.10 *(new_map1(x45, x46)_>=_new_map0(Main.Pos(Main.Succ(x45)), Main.Succ(new_primPlusNat(x46)))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 *H(vz34, vz35, cons_new_map(Main.Zero, Main.Succ(vz370))) -> new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) 31.40/17.10 31.40/17.10 *(H(x74, x75, cons_new_map(Main.Zero, Main.Succ(x76)))_>=_new_map(x74, x75, Main.Zero, Main.Succ(x76))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 *new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.10 31.40/17.10 *(new_map(x80, x81, Main.Zero, Main.Succ(x82))_>=_new_map0(Main.Pos(Main.Succ(x80)), Main.Succ(new_primPlusNat(x81)))) 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (16) 31.40/17.10 Obligation: 31.40/17.10 Q DP problem: 31.40/17.10 The TRS P consists of the following rules: 31.40/17.10 31.40/17.10 new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> H(vz4000, vz3000, anew_new_map(vz3000, vz4000)) 31.40/17.10 H(vz34, vz35, cons_new_map(Main.Zero, Main.Zero)) -> new_map(vz34, vz35, Main.Zero, Main.Zero) 31.40/17.10 new_map(vz34, vz35, Main.Zero, Main.Zero) -> new_map1(vz34, vz35) 31.40/17.10 new_map1(vz34, vz35) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.10 H(vz34, vz35, cons_new_map(Main.Zero, Main.Succ(vz370))) -> new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) 31.40/17.10 new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.10 31.40/17.10 The TRS R consists of the following rules: 31.40/17.10 31.40/17.10 new_primPlusNat(Main.Zero) -> Main.Zero 31.40/17.10 new_primPlusNat(Main.Succ(vz350)) -> Main.Succ(vz350) 31.40/17.10 anew_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.10 new_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.10 new_new_map(Main.Zero, Main.Zero) -> cons_new_map(Main.Zero, Main.Zero) 31.40/17.10 new_new_map(Main.Zero, Main.Succ(vz370)) -> cons_new_map(Main.Zero, Main.Succ(vz370)) 31.40/17.10 31.40/17.10 The set Q consists of the following terms: 31.40/17.10 31.40/17.10 new_primPlusNat(Main.Zero) 31.40/17.10 new_primPlusNat(Main.Succ(x0)) 31.40/17.10 new_new_map(Main.Succ(x0), Main.Succ(x1)) 31.40/17.10 anew_new_map(Main.Succ(x0), Main.Succ(x1)) 31.40/17.10 new_new_map(Main.Zero, Main.Zero) 31.40/17.10 new_new_map(Main.Zero, Main.Succ(x0)) 31.40/17.10 31.40/17.10 We have to consider all minimal (P,Q,R)-chains. 31.40/17.10 ---------------------------------------- 31.40/17.10 31.40/17.10 (17) NonInfProof (EQUIVALENT) 31.40/17.10 The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps: 31.40/17.10 31.40/17.10 Note that final constraints are written in bold face. 31.40/17.10 31.40/17.10 31.40/17.10 31.40/17.10 For Pair new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> H(vz4000, vz3000, anew_new_map(vz3000, vz4000)) the following chains were created: 31.40/17.10 *We consider the chain new_map0(Main.Pos(Main.Succ(x2)), x3) -> H(x2, x3, anew_new_map(x3, x2)), H(x4, x5, cons_new_map(Main.Zero, Main.Zero)) -> new_map(x4, x5, Main.Zero, Main.Zero) which results in the following constraint: 31.40/17.10 31.40/17.10 (1) (H(x2, x3, anew_new_map(x3, x2))=H(x4, x5, cons_new_map(Main.Zero, Main.Zero)) ==> new_map0(Main.Pos(Main.Succ(x2)), x3)_>=_H(x2, x3, anew_new_map(x3, x2))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.11 31.40/17.11 (2) (anew_new_map(x3, x2)=cons_new_map(Main.Zero, Main.Zero) ==> new_map0(Main.Pos(Main.Succ(x2)), x3)_>=_H(x2, x3, anew_new_map(x3, x2))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_map(x3, x2)=cons_new_map(Main.Zero, Main.Zero) which results in the following new constraint: 31.40/17.11 31.40/17.11 (3) (new_new_map(x101, x100)=cons_new_map(Main.Zero, Main.Zero) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(x100))), Main.Succ(x101))_>=_H(Main.Succ(x100), Main.Succ(x101), anew_new_map(Main.Succ(x101), Main.Succ(x100)))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x101, x100)=cons_new_map(Main.Zero, Main.Zero) which results in the following new constraints: 31.40/17.11 31.40/17.11 (4) (new_new_map(x103, x102)=cons_new_map(Main.Zero, Main.Zero) & (new_new_map(x103, x102)=cons_new_map(Main.Zero, Main.Zero) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(x102))), Main.Succ(x103))_>=_H(Main.Succ(x102), Main.Succ(x103), anew_new_map(Main.Succ(x103), Main.Succ(x102)))) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x102)))), Main.Succ(Main.Succ(x103)))_>=_H(Main.Succ(Main.Succ(x102)), Main.Succ(Main.Succ(x103)), anew_new_map(Main.Succ(Main.Succ(x103)), Main.Succ(Main.Succ(x102))))) 31.40/17.11 31.40/17.11 (5) (cons_new_map(Main.Zero, Main.Zero)=cons_new_map(Main.Zero, Main.Zero) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Zero), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Zero)))) 31.40/17.11 31.40/17.11 (6) (cons_new_map(Main.Zero, Main.Succ(x104))=cons_new_map(Main.Zero, Main.Zero) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x104)))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Succ(x104)), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x104))))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (new_new_map(x103, x102)=cons_new_map(Main.Zero, Main.Zero) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(x102))), Main.Succ(x103))_>=_H(Main.Succ(x102), Main.Succ(x103), anew_new_map(Main.Succ(x103), Main.Succ(x102)))) with sigma = [ ] which results in the following new constraint: 31.40/17.11 31.40/17.11 (7) (new_map0(Main.Pos(Main.Succ(Main.Succ(x102))), Main.Succ(x103))_>=_H(Main.Succ(x102), Main.Succ(x103), anew_new_map(Main.Succ(x103), Main.Succ(x102))) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x102)))), Main.Succ(Main.Succ(x103)))_>=_H(Main.Succ(Main.Succ(x102)), Main.Succ(Main.Succ(x103)), anew_new_map(Main.Succ(Main.Succ(x103)), Main.Succ(Main.Succ(x102))))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 31.40/17.11 31.40/17.11 (8) (new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Zero), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Zero)))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We solved constraint (6) using rules (I), (II). 31.40/17.11 *We consider the chain new_map0(Main.Pos(Main.Succ(x10)), x11) -> H(x10, x11, anew_new_map(x11, x10)), H(x12, x13, cons_new_map(Main.Zero, Main.Succ(x14))) -> new_map(x12, x13, Main.Zero, Main.Succ(x14)) which results in the following constraint: 31.40/17.11 31.40/17.11 (1) (H(x10, x11, anew_new_map(x11, x10))=H(x12, x13, cons_new_map(Main.Zero, Main.Succ(x14))) ==> new_map0(Main.Pos(Main.Succ(x10)), x11)_>=_H(x10, x11, anew_new_map(x11, x10))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.11 31.40/17.11 (2) (anew_new_map(x11, x10)=cons_new_map(Main.Zero, Main.Succ(x14)) ==> new_map0(Main.Pos(Main.Succ(x10)), x11)_>=_H(x10, x11, anew_new_map(x11, x10))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_map(x11, x10)=cons_new_map(Main.Zero, Main.Succ(x14)) which results in the following new constraint: 31.40/17.11 31.40/17.11 (3) (new_new_map(x106, x105)=cons_new_map(Main.Zero, Main.Succ(x14)) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(x105))), Main.Succ(x106))_>=_H(Main.Succ(x105), Main.Succ(x106), anew_new_map(Main.Succ(x106), Main.Succ(x105)))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x106, x105)=cons_new_map(Main.Zero, Main.Succ(x14)) which results in the following new constraints: 31.40/17.11 31.40/17.11 (4) (new_new_map(x108, x107)=cons_new_map(Main.Zero, Main.Succ(x14)) & (\/x109:new_new_map(x108, x107)=cons_new_map(Main.Zero, Main.Succ(x109)) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(x107))), Main.Succ(x108))_>=_H(Main.Succ(x107), Main.Succ(x108), anew_new_map(Main.Succ(x108), Main.Succ(x107)))) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x107)))), Main.Succ(Main.Succ(x108)))_>=_H(Main.Succ(Main.Succ(x107)), Main.Succ(Main.Succ(x108)), anew_new_map(Main.Succ(Main.Succ(x108)), Main.Succ(Main.Succ(x107))))) 31.40/17.11 31.40/17.11 (5) (cons_new_map(Main.Zero, Main.Zero)=cons_new_map(Main.Zero, Main.Succ(x14)) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Zero), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Zero)))) 31.40/17.11 31.40/17.11 (6) (cons_new_map(Main.Zero, Main.Succ(x110))=cons_new_map(Main.Zero, Main.Succ(x14)) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x110)))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Succ(x110)), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x110))))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x109:new_new_map(x108, x107)=cons_new_map(Main.Zero, Main.Succ(x109)) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(x107))), Main.Succ(x108))_>=_H(Main.Succ(x107), Main.Succ(x108), anew_new_map(Main.Succ(x108), Main.Succ(x107)))) with sigma = [x109 / x14] which results in the following new constraint: 31.40/17.11 31.40/17.11 (7) (new_map0(Main.Pos(Main.Succ(Main.Succ(x107))), Main.Succ(x108))_>=_H(Main.Succ(x107), Main.Succ(x108), anew_new_map(Main.Succ(x108), Main.Succ(x107))) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x107)))), Main.Succ(Main.Succ(x108)))_>=_H(Main.Succ(Main.Succ(x107)), Main.Succ(Main.Succ(x108)), anew_new_map(Main.Succ(Main.Succ(x108)), Main.Succ(Main.Succ(x107))))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.11 31.40/17.11 (8) (new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x110)))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Succ(x110)), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x110))))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 For Pair H(vz34, vz35, cons_new_map(Main.Zero, Main.Zero)) -> new_map(vz34, vz35, Main.Zero, Main.Zero) the following chains were created: 31.40/17.11 *We consider the chain H(x21, x22, cons_new_map(Main.Zero, Main.Zero)) -> new_map(x21, x22, Main.Zero, Main.Zero), new_map(x23, x24, Main.Zero, Main.Zero) -> new_map1(x23, x24) which results in the following constraint: 31.40/17.11 31.40/17.11 (1) (new_map(x21, x22, Main.Zero, Main.Zero)=new_map(x23, x24, Main.Zero, Main.Zero) ==> H(x21, x22, cons_new_map(Main.Zero, Main.Zero))_>=_new_map(x21, x22, Main.Zero, Main.Zero)) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.11 31.40/17.11 (2) (H(x21, x22, cons_new_map(Main.Zero, Main.Zero))_>=_new_map(x21, x22, Main.Zero, Main.Zero)) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 For Pair new_map(vz34, vz35, Main.Zero, Main.Zero) -> new_map1(vz34, vz35) the following chains were created: 31.40/17.11 *We consider the chain new_map(x37, x38, Main.Zero, Main.Zero) -> new_map1(x37, x38), new_map1(x39, x40) -> new_map0(Main.Pos(Main.Succ(x39)), Main.Succ(new_primPlusNat(x40))) which results in the following constraint: 31.40/17.11 31.40/17.11 (1) (new_map1(x37, x38)=new_map1(x39, x40) ==> new_map(x37, x38, Main.Zero, Main.Zero)_>=_new_map1(x37, x38)) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.11 31.40/17.11 (2) (new_map(x37, x38, Main.Zero, Main.Zero)_>=_new_map1(x37, x38)) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 For Pair new_map1(vz34, vz35) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) the following chains were created: 31.40/17.11 *We consider the chain new_map1(x45, x46) -> new_map0(Main.Pos(Main.Succ(x45)), Main.Succ(new_primPlusNat(x46))), new_map0(Main.Pos(Main.Succ(x47)), x48) -> H(x47, x48, anew_new_map(x48, x47)) which results in the following constraint: 31.40/17.11 31.40/17.11 (1) (new_map0(Main.Pos(Main.Succ(x45)), Main.Succ(new_primPlusNat(x46)))=new_map0(Main.Pos(Main.Succ(x47)), x48) ==> new_map1(x45, x46)_>=_new_map0(Main.Pos(Main.Succ(x45)), Main.Succ(new_primPlusNat(x46)))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.11 31.40/17.11 (2) (new_map1(x45, x46)_>=_new_map0(Main.Pos(Main.Succ(x45)), Main.Succ(new_primPlusNat(x46)))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 For Pair H(vz34, vz35, cons_new_map(Main.Zero, Main.Succ(vz370))) -> new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) the following chains were created: 31.40/17.11 *We consider the chain H(x74, x75, cons_new_map(Main.Zero, Main.Succ(x76))) -> new_map(x74, x75, Main.Zero, Main.Succ(x76)), new_map(x77, x78, Main.Zero, Main.Succ(x79)) -> new_map0(Main.Pos(Main.Succ(x77)), Main.Succ(new_primPlusNat(x78))) which results in the following constraint: 31.40/17.11 31.40/17.11 (1) (new_map(x74, x75, Main.Zero, Main.Succ(x76))=new_map(x77, x78, Main.Zero, Main.Succ(x79)) ==> H(x74, x75, cons_new_map(Main.Zero, Main.Succ(x76)))_>=_new_map(x74, x75, Main.Zero, Main.Succ(x76))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.11 31.40/17.11 (2) (H(x74, x75, cons_new_map(Main.Zero, Main.Succ(x76)))_>=_new_map(x74, x75, Main.Zero, Main.Succ(x76))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 For Pair new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) the following chains were created: 31.40/17.11 *We consider the chain new_map(x80, x81, Main.Zero, Main.Succ(x82)) -> new_map0(Main.Pos(Main.Succ(x80)), Main.Succ(new_primPlusNat(x81))), new_map0(Main.Pos(Main.Succ(x83)), x84) -> H(x83, x84, anew_new_map(x84, x83)) which results in the following constraint: 31.40/17.11 31.40/17.11 (1) (new_map0(Main.Pos(Main.Succ(x80)), Main.Succ(new_primPlusNat(x81)))=new_map0(Main.Pos(Main.Succ(x83)), x84) ==> new_map(x80, x81, Main.Zero, Main.Succ(x82))_>=_new_map0(Main.Pos(Main.Succ(x80)), Main.Succ(new_primPlusNat(x81)))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 31.40/17.11 31.40/17.11 (2) (new_map(x80, x81, Main.Zero, Main.Succ(x82))_>=_new_map0(Main.Pos(Main.Succ(x80)), Main.Succ(new_primPlusNat(x81)))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 To summarize, we get the following constraints P__>=_ for the following pairs. 31.40/17.11 31.40/17.11 *new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> H(vz4000, vz3000, anew_new_map(vz3000, vz4000)) 31.40/17.11 31.40/17.11 *(new_map0(Main.Pos(Main.Succ(Main.Succ(x102))), Main.Succ(x103))_>=_H(Main.Succ(x102), Main.Succ(x103), anew_new_map(Main.Succ(x103), Main.Succ(x102))) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x102)))), Main.Succ(Main.Succ(x103)))_>=_H(Main.Succ(Main.Succ(x102)), Main.Succ(Main.Succ(x103)), anew_new_map(Main.Succ(Main.Succ(x103)), Main.Succ(Main.Succ(x102))))) 31.40/17.11 31.40/17.11 31.40/17.11 *(new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Zero), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Zero)))) 31.40/17.11 31.40/17.11 31.40/17.11 *(new_map0(Main.Pos(Main.Succ(Main.Succ(x107))), Main.Succ(x108))_>=_H(Main.Succ(x107), Main.Succ(x108), anew_new_map(Main.Succ(x108), Main.Succ(x107))) ==> new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x107)))), Main.Succ(Main.Succ(x108)))_>=_H(Main.Succ(Main.Succ(x107)), Main.Succ(Main.Succ(x108)), anew_new_map(Main.Succ(Main.Succ(x108)), Main.Succ(Main.Succ(x107))))) 31.40/17.11 31.40/17.11 31.40/17.11 *(new_map0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x110)))), Main.Succ(Main.Zero))_>=_H(Main.Succ(Main.Succ(x110)), Main.Succ(Main.Zero), anew_new_map(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x110))))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 *H(vz34, vz35, cons_new_map(Main.Zero, Main.Zero)) -> new_map(vz34, vz35, Main.Zero, Main.Zero) 31.40/17.11 31.40/17.11 *(H(x21, x22, cons_new_map(Main.Zero, Main.Zero))_>=_new_map(x21, x22, Main.Zero, Main.Zero)) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 *new_map(vz34, vz35, Main.Zero, Main.Zero) -> new_map1(vz34, vz35) 31.40/17.11 31.40/17.11 *(new_map(x37, x38, Main.Zero, Main.Zero)_>=_new_map1(x37, x38)) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 *new_map1(vz34, vz35) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.11 31.40/17.11 *(new_map1(x45, x46)_>=_new_map0(Main.Pos(Main.Succ(x45)), Main.Succ(new_primPlusNat(x46)))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 *H(vz34, vz35, cons_new_map(Main.Zero, Main.Succ(vz370))) -> new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) 31.40/17.11 31.40/17.11 *(H(x74, x75, cons_new_map(Main.Zero, Main.Succ(x76)))_>=_new_map(x74, x75, Main.Zero, Main.Succ(x76))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 *new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.11 31.40/17.11 *(new_map(x80, x81, Main.Zero, Main.Succ(x82))_>=_new_map0(Main.Pos(Main.Succ(x80)), Main.Succ(new_primPlusNat(x81)))) 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 31.40/17.11 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 31.40/17.11 31.40/17.11 Using the following integer polynomial ordering the resulting constraints can be solved 31.40/17.11 31.40/17.11 Polynomial interpretation [NONINF]: 31.40/17.11 31.40/17.11 POL(H(x_1, x_2, x_3)) = x_1 - x_2 - x_3 31.40/17.11 POL(Main.Pos(x_1)) = x_1 31.40/17.11 POL(Main.Succ(x_1)) = 1 + x_1 31.40/17.11 POL(Main.Zero) = 0 31.40/17.11 POL(anew_new_map(x_1, x_2)) = 0 31.40/17.11 POL(c) = -1 31.40/17.11 POL(cons_new_map(x_1, x_2)) = 0 31.40/17.11 POL(new_map(x_1, x_2, x_3, x_4)) = -1 + x_1 - x_2 + x_3 31.40/17.11 POL(new_map0(x_1, x_2)) = -1 + x_1 - x_2 31.40/17.11 POL(new_map1(x_1, x_2)) = -1 + x_1 - x_2 31.40/17.11 POL(new_new_map(x_1, x_2)) = 0 31.40/17.11 POL(new_primPlusNat(x_1)) = x_1 31.40/17.11 31.40/17.11 31.40/17.11 The following pairs are in P_>: 31.40/17.11 H(vz34, vz35, cons_new_map(Main.Zero, Main.Zero)) -> new_map(vz34, vz35, Main.Zero, Main.Zero) 31.40/17.11 H(vz34, vz35, cons_new_map(Main.Zero, Main.Succ(vz370))) -> new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) 31.40/17.11 The following pairs are in P_bound: 31.40/17.11 new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> H(vz4000, vz3000, anew_new_map(vz3000, vz4000)) 31.40/17.11 The following rules are usable: 31.40/17.11 new_new_map(vz360, vz370) -> anew_new_map(Main.Succ(vz360), Main.Succ(vz370)) 31.40/17.11 Main.Zero -> new_primPlusNat(Main.Zero) 31.40/17.11 Main.Succ(vz350) -> new_primPlusNat(Main.Succ(vz350)) 31.40/17.11 new_new_map(vz360, vz370) -> new_new_map(Main.Succ(vz360), Main.Succ(vz370)) 31.40/17.11 cons_new_map(Main.Zero, Main.Zero) -> new_new_map(Main.Zero, Main.Zero) 31.40/17.11 cons_new_map(Main.Zero, Main.Succ(vz370)) -> new_new_map(Main.Zero, Main.Succ(vz370)) 31.40/17.11 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (18) 31.40/17.11 Complex Obligation (AND) 31.40/17.11 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (19) 31.40/17.11 Obligation: 31.40/17.11 Q DP problem: 31.40/17.11 The TRS P consists of the following rules: 31.40/17.11 31.40/17.11 new_map0(Main.Pos(Main.Succ(vz4000)), vz3000) -> H(vz4000, vz3000, anew_new_map(vz3000, vz4000)) 31.40/17.11 new_map(vz34, vz35, Main.Zero, Main.Zero) -> new_map1(vz34, vz35) 31.40/17.11 new_map1(vz34, vz35) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.11 new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.11 31.40/17.11 The TRS R consists of the following rules: 31.40/17.11 31.40/17.11 new_primPlusNat(Main.Zero) -> Main.Zero 31.40/17.11 new_primPlusNat(Main.Succ(vz350)) -> Main.Succ(vz350) 31.40/17.11 anew_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.11 new_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.11 new_new_map(Main.Zero, Main.Zero) -> cons_new_map(Main.Zero, Main.Zero) 31.40/17.11 new_new_map(Main.Zero, Main.Succ(vz370)) -> cons_new_map(Main.Zero, Main.Succ(vz370)) 31.40/17.11 31.40/17.11 The set Q consists of the following terms: 31.40/17.11 31.40/17.11 new_primPlusNat(Main.Zero) 31.40/17.11 new_primPlusNat(Main.Succ(x0)) 31.40/17.11 new_new_map(Main.Succ(x0), Main.Succ(x1)) 31.40/17.11 anew_new_map(Main.Succ(x0), Main.Succ(x1)) 31.40/17.11 new_new_map(Main.Zero, Main.Zero) 31.40/17.11 new_new_map(Main.Zero, Main.Succ(x0)) 31.40/17.11 31.40/17.11 We have to consider all minimal (P,Q,R)-chains. 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (20) DependencyGraphProof (EQUIVALENT) 31.40/17.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 4 less nodes. 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (21) 31.40/17.11 TRUE 31.40/17.11 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (22) 31.40/17.11 Obligation: 31.40/17.11 Q DP problem: 31.40/17.11 The TRS P consists of the following rules: 31.40/17.11 31.40/17.11 H(vz34, vz35, cons_new_map(Main.Zero, Main.Zero)) -> new_map(vz34, vz35, Main.Zero, Main.Zero) 31.40/17.11 new_map(vz34, vz35, Main.Zero, Main.Zero) -> new_map1(vz34, vz35) 31.40/17.11 new_map1(vz34, vz35) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.11 H(vz34, vz35, cons_new_map(Main.Zero, Main.Succ(vz370))) -> new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) 31.40/17.11 new_map(vz34, vz35, Main.Zero, Main.Succ(vz370)) -> new_map0(Main.Pos(Main.Succ(vz34)), Main.Succ(new_primPlusNat(vz35))) 31.40/17.11 31.40/17.11 The TRS R consists of the following rules: 31.40/17.11 31.40/17.11 new_primPlusNat(Main.Zero) -> Main.Zero 31.40/17.11 new_primPlusNat(Main.Succ(vz350)) -> Main.Succ(vz350) 31.40/17.11 anew_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.11 new_new_map(Main.Succ(vz360), Main.Succ(vz370)) -> new_new_map(vz360, vz370) 31.40/17.11 new_new_map(Main.Zero, Main.Zero) -> cons_new_map(Main.Zero, Main.Zero) 31.40/17.11 new_new_map(Main.Zero, Main.Succ(vz370)) -> cons_new_map(Main.Zero, Main.Succ(vz370)) 31.40/17.11 31.40/17.11 The set Q consists of the following terms: 31.40/17.11 31.40/17.11 new_primPlusNat(Main.Zero) 31.40/17.11 new_primPlusNat(Main.Succ(x0)) 31.40/17.11 new_new_map(Main.Succ(x0), Main.Succ(x1)) 31.40/17.11 anew_new_map(Main.Succ(x0), Main.Succ(x1)) 31.40/17.11 new_new_map(Main.Zero, Main.Zero) 31.40/17.11 new_new_map(Main.Zero, Main.Succ(x0)) 31.40/17.11 31.40/17.11 We have to consider all minimal (P,Q,R)-chains. 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (23) DependencyGraphProof (EQUIVALENT) 31.40/17.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 5 less nodes. 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (24) 31.40/17.11 TRUE 31.40/17.11 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (25) 31.40/17.11 Obligation: 31.40/17.11 Q DP problem: 31.40/17.11 The TRS P consists of the following rules: 31.40/17.11 31.40/17.11 new_map(vz34, vz35, Main.Succ(vz360), Main.Succ(vz370)) -> new_map(vz34, vz35, vz360, vz370) 31.40/17.11 31.40/17.11 R is empty. 31.40/17.11 Q is empty. 31.40/17.11 We have to consider all minimal (P,Q,R)-chains. 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (26) QDPSizeChangeProof (EQUIVALENT) 31.40/17.11 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. 31.40/17.11 31.40/17.11 From the DPs we obtained the following set of size-change graphs: 31.40/17.11 *new_map(vz34, vz35, Main.Succ(vz360), Main.Succ(vz370)) -> new_map(vz34, vz35, vz360, vz370) 31.40/17.11 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 31.40/17.11 31.40/17.11 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (27) 31.40/17.11 YES 31.40/17.11 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (28) 31.40/17.11 Obligation: 31.40/17.11 Q DP problem: 31.40/17.11 The TRS P consists of the following rules: 31.40/17.11 31.40/17.11 new_map3(vz39, vz40, Main.Zero, Main.Zero) -> new_map4(vz39, vz40) 31.40/17.11 new_map2(Main.Neg(Main.Succ(vz4000)), vz3000) -> new_map3(vz4000, vz3000, vz4000, vz3000) 31.40/17.11 new_map4(vz39, Main.Succ(vz400)) -> new_map2(Main.Neg(Main.Succ(vz39)), vz400) 31.40/17.11 new_map3(vz39, vz40, Main.Succ(vz410), Main.Succ(vz420)) -> new_map3(vz39, vz40, vz410, vz420) 31.40/17.11 new_map2(Main.Pos(vz400), Main.Succ(vz30000)) -> new_map2(Main.Pos(vz400), vz30000) 31.40/17.11 new_map2(Main.Neg(Main.Zero), Main.Succ(vz30000)) -> new_map2(Main.Neg(Main.Zero), vz30000) 31.40/17.11 new_map3(vz39, Main.Succ(vz400), Main.Zero, Main.Succ(vz420)) -> new_map2(Main.Neg(Main.Succ(vz39)), vz400) 31.40/17.11 31.40/17.11 R is empty. 31.40/17.11 Q is empty. 31.40/17.11 We have to consider all minimal (P,Q,R)-chains. 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (29) DependencyGraphProof (EQUIVALENT) 31.40/17.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs. 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (30) 31.40/17.11 Complex Obligation (AND) 31.40/17.11 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (31) 31.40/17.11 Obligation: 31.40/17.11 Q DP problem: 31.40/17.11 The TRS P consists of the following rules: 31.40/17.11 31.40/17.11 new_map2(Main.Neg(Main.Zero), Main.Succ(vz30000)) -> new_map2(Main.Neg(Main.Zero), vz30000) 31.40/17.11 31.40/17.11 R is empty. 31.40/17.11 Q is empty. 31.40/17.11 We have to consider all minimal (P,Q,R)-chains. 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (32) QDPSizeChangeProof (EQUIVALENT) 31.40/17.11 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. 31.40/17.11 31.40/17.11 From the DPs we obtained the following set of size-change graphs: 31.40/17.11 *new_map2(Main.Neg(Main.Zero), Main.Succ(vz30000)) -> new_map2(Main.Neg(Main.Zero), vz30000) 31.40/17.11 The graph contains the following edges 1 >= 1, 2 > 2 31.40/17.11 31.40/17.11 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (33) 31.40/17.11 YES 31.40/17.11 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (34) 31.40/17.11 Obligation: 31.40/17.11 Q DP problem: 31.40/17.11 The TRS P consists of the following rules: 31.40/17.11 31.40/17.11 new_map2(Main.Pos(vz400), Main.Succ(vz30000)) -> new_map2(Main.Pos(vz400), vz30000) 31.40/17.11 31.40/17.11 R is empty. 31.40/17.11 Q is empty. 31.40/17.11 We have to consider all minimal (P,Q,R)-chains. 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (35) QDPSizeChangeProof (EQUIVALENT) 31.40/17.11 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. 31.40/17.11 31.40/17.11 From the DPs we obtained the following set of size-change graphs: 31.40/17.11 *new_map2(Main.Pos(vz400), Main.Succ(vz30000)) -> new_map2(Main.Pos(vz400), vz30000) 31.40/17.11 The graph contains the following edges 1 >= 1, 2 > 2 31.40/17.11 31.40/17.11 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (36) 31.40/17.11 YES 31.40/17.11 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (37) 31.40/17.11 Obligation: 31.40/17.11 Q DP problem: 31.40/17.11 The TRS P consists of the following rules: 31.40/17.11 31.40/17.11 new_map4(vz39, Main.Succ(vz400)) -> new_map2(Main.Neg(Main.Succ(vz39)), vz400) 31.40/17.11 new_map2(Main.Neg(Main.Succ(vz4000)), vz3000) -> new_map3(vz4000, vz3000, vz4000, vz3000) 31.40/17.11 new_map3(vz39, vz40, Main.Zero, Main.Zero) -> new_map4(vz39, vz40) 31.40/17.11 new_map3(vz39, vz40, Main.Succ(vz410), Main.Succ(vz420)) -> new_map3(vz39, vz40, vz410, vz420) 31.40/17.11 new_map3(vz39, Main.Succ(vz400), Main.Zero, Main.Succ(vz420)) -> new_map2(Main.Neg(Main.Succ(vz39)), vz400) 31.40/17.11 31.40/17.11 R is empty. 31.40/17.11 Q is empty. 31.40/17.11 We have to consider all minimal (P,Q,R)-chains. 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (38) QDPSizeChangeProof (EQUIVALENT) 31.40/17.11 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. 31.40/17.11 31.40/17.11 From the DPs we obtained the following set of size-change graphs: 31.40/17.11 *new_map2(Main.Neg(Main.Succ(vz4000)), vz3000) -> new_map3(vz4000, vz3000, vz4000, vz3000) 31.40/17.11 The graph contains the following edges 1 > 1, 2 >= 2, 1 > 3, 2 >= 4 31.40/17.11 31.40/17.11 31.40/17.11 *new_map3(vz39, vz40, Main.Zero, Main.Zero) -> new_map4(vz39, vz40) 31.40/17.11 The graph contains the following edges 1 >= 1, 2 >= 2 31.40/17.11 31.40/17.11 31.40/17.11 *new_map3(vz39, Main.Succ(vz400), Main.Zero, Main.Succ(vz420)) -> new_map2(Main.Neg(Main.Succ(vz39)), vz400) 31.40/17.11 The graph contains the following edges 2 > 2 31.40/17.11 31.40/17.11 31.40/17.11 *new_map3(vz39, vz40, Main.Succ(vz410), Main.Succ(vz420)) -> new_map3(vz39, vz40, vz410, vz420) 31.40/17.11 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 31.40/17.11 31.40/17.11 31.40/17.11 *new_map4(vz39, Main.Succ(vz400)) -> new_map2(Main.Neg(Main.Succ(vz39)), vz400) 31.40/17.11 The graph contains the following edges 2 > 2 31.40/17.11 31.40/17.11 31.40/17.11 ---------------------------------------- 31.40/17.11 31.40/17.11 (39) 31.40/17.11 YES 31.40/17.13 EOF