9.32/4.09 NO 11.51/4.73 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 11.51/4.73 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 11.51/4.73 11.51/4.73 11.51/4.73 H-Termination with start terms of the given HASKELL could be disproven: 11.51/4.73 11.51/4.73 (0) HASKELL 11.51/4.73 (1) BR [EQUIVALENT, 0 ms] 11.51/4.73 (2) HASKELL 11.51/4.73 (3) COR [EQUIVALENT, 0 ms] 11.51/4.73 (4) HASKELL 11.51/4.73 (5) Narrow [COMPLETE, 0 ms] 11.51/4.73 (6) AND 11.51/4.73 (7) QDP 11.51/4.73 (8) PisEmptyProof [EQUIVALENT, 0 ms] 11.51/4.73 (9) YES 11.51/4.73 (10) QDP 11.51/4.73 (11) NonTerminationLoopProof [COMPLETE, 0 ms] 11.51/4.73 (12) NO 11.51/4.73 (13) QDP 11.51/4.73 11.51/4.73 11.51/4.73 ---------------------------------------- 11.51/4.73 11.51/4.73 (0) 11.51/4.73 Obligation: 11.51/4.73 mainModule Main 11.51/4.73 module Main where { 11.51/4.73 import qualified Prelude; 11.51/4.73 data List a = Cons a (List a) | Nil ; 11.51/4.73 11.51/4.73 data MyBool = MyTrue | MyFalse ; 11.51/4.73 11.51/4.73 data MyInt = Pos Main.Nat | Neg Main.Nat ; 11.51/4.73 11.51/4.73 data Main.Nat = Succ Main.Nat | Zero ; 11.51/4.73 11.51/4.73 data Ordering = LT | EQ | GT ; 11.51/4.73 11.51/4.73 compareMyInt :: MyInt -> MyInt -> Ordering; 11.51/4.73 compareMyInt = primCmpInt; 11.51/4.73 11.51/4.73 enumFromThenMyBool :: MyBool -> MyBool -> List MyBool; 11.51/4.73 enumFromThenMyBool x y = enumFromThenToMyBool x y MyTrue; 11.51/4.73 11.51/4.73 enumFromThenToMyBool :: MyBool -> MyBool -> MyBool -> List MyBool; 11.51/4.73 enumFromThenToMyBool x y z = map toEnumMyBool (enumFromThenToMyInt (fromEnumMyBool x) (fromEnumMyBool y) (fromEnumMyBool z)); 11.51/4.73 11.51/4.73 enumFromThenToMyInt :: MyInt -> MyInt -> MyInt -> List MyInt; 11.51/4.73 enumFromThenToMyInt = numericEnumFromThenTo; 11.51/4.73 11.51/4.73 esEsMyInt :: MyInt -> MyInt -> MyBool; 11.51/4.73 esEsMyInt = primEqInt; 11.51/4.73 11.51/4.73 esEsOrdering :: Ordering -> Ordering -> MyBool; 11.51/4.73 esEsOrdering LT LT = MyTrue; 11.51/4.73 esEsOrdering LT EQ = MyFalse; 11.51/4.73 esEsOrdering LT GT = MyFalse; 11.51/4.73 esEsOrdering EQ LT = MyFalse; 11.51/4.73 esEsOrdering EQ EQ = MyTrue; 11.51/4.73 esEsOrdering EQ GT = MyFalse; 11.51/4.73 esEsOrdering GT LT = MyFalse; 11.51/4.73 esEsOrdering GT EQ = MyFalse; 11.51/4.73 esEsOrdering GT GT = MyTrue; 11.51/4.73 11.51/4.73 flip :: (b -> a -> c) -> a -> b -> c; 11.51/4.73 flip f x y = f y x; 11.51/4.73 11.51/4.73 fromEnumMyBool :: MyBool -> MyInt; 11.51/4.73 fromEnumMyBool MyFalse = Main.Pos Main.Zero; 11.51/4.73 fromEnumMyBool MyTrue = Main.Pos (Main.Succ Main.Zero); 11.51/4.73 11.51/4.73 fsEsOrdering :: Ordering -> Ordering -> MyBool; 11.51/4.73 fsEsOrdering x y = not (esEsOrdering x y); 11.51/4.73 11.51/4.73 gtEsMyInt :: MyInt -> MyInt -> MyBool; 11.51/4.73 gtEsMyInt x y = fsEsOrdering (compareMyInt x y) LT; 11.51/4.73 11.51/4.73 iterate :: (a -> a) -> a -> List a; 11.51/4.73 iterate f x = Cons x (iterate f (f x)); 11.51/4.73 11.51/4.73 ltEsMyInt :: MyInt -> MyInt -> MyBool; 11.51/4.73 ltEsMyInt x y = fsEsOrdering (compareMyInt x y) GT; 11.51/4.73 11.51/4.73 map :: (a -> b) -> List a -> List b; 11.51/4.73 map f Nil = Nil; 11.51/4.73 map f (Cons x xs) = Cons (f x) (map f xs); 11.51/4.73 11.51/4.73 msMyInt :: MyInt -> MyInt -> MyInt; 11.51/4.73 msMyInt = primMinusInt; 11.51/4.73 11.51/4.73 not :: MyBool -> MyBool; 11.51/4.73 not MyTrue = MyFalse; 11.51/4.73 not MyFalse = MyTrue; 11.51/4.73 11.51/4.73 numericEnumFromThen n m = iterate (psMyInt (msMyInt m n)) n; 11.51/4.73 11.51/4.73 numericEnumFromThenTo n n' m = takeWhile (numericEnumFromThenToP m n' n) (numericEnumFromThen n n'); 11.51/4.73 11.51/4.73 numericEnumFromThenToP xu xv xw = numericEnumFromThenToP2 xu xv xw; 11.51/4.73 11.51/4.73 numericEnumFromThenToP0 xu xv xw MyTrue = flip gtEsMyInt xu; 11.51/4.73 11.51/4.73 numericEnumFromThenToP1 xu xv xw MyTrue = flip ltEsMyInt xu; 11.51/4.73 numericEnumFromThenToP1 xu xv xw MyFalse = numericEnumFromThenToP0 xu xv xw otherwise; 11.51/4.73 11.51/4.73 numericEnumFromThenToP2 xu xv xw = numericEnumFromThenToP1 xu xv xw (gtEsMyInt xv xw); 11.51/4.73 11.51/4.73 otherwise :: MyBool; 11.51/4.73 otherwise = MyTrue; 11.51/4.73 11.51/4.73 primCmpInt :: MyInt -> MyInt -> Ordering; 11.51/4.73 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 11.51/4.73 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 11.51/4.73 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 11.51/4.73 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 11.51/4.73 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 11.51/4.73 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 11.51/4.73 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 11.51/4.73 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 11.51/4.73 11.51/4.73 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 11.51/4.73 primCmpNat Main.Zero Main.Zero = EQ; 11.51/4.73 primCmpNat Main.Zero (Main.Succ y) = LT; 11.51/4.73 primCmpNat (Main.Succ x) Main.Zero = GT; 11.51/4.73 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 11.51/4.73 11.51/4.73 primEqInt :: MyInt -> MyInt -> MyBool; 11.51/4.73 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 11.51/4.73 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 11.51/4.73 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 11.51/4.73 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 11.51/4.73 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 11.51/4.73 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 11.51/4.73 primEqInt vv vw = MyFalse; 11.51/4.73 11.51/4.73 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 11.51/4.73 primEqNat Main.Zero Main.Zero = MyTrue; 11.51/4.73 primEqNat Main.Zero (Main.Succ y) = MyFalse; 11.51/4.73 primEqNat (Main.Succ x) Main.Zero = MyFalse; 11.51/4.73 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 11.51/4.73 11.51/4.73 primMinusInt :: MyInt -> MyInt -> MyInt; 11.51/4.73 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 11.51/4.73 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 11.51/4.73 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 11.51/4.73 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 11.51/4.73 11.51/4.73 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 11.51/4.73 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 11.51/4.73 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 11.51/4.73 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 11.51/4.73 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 11.51/4.73 11.51/4.73 primPlusInt :: MyInt -> MyInt -> MyInt; 11.51/4.73 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 11.51/4.73 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 11.51/4.73 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 11.51/4.73 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 11.51/4.73 11.51/4.73 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 11.51/4.73 primPlusNat Main.Zero Main.Zero = Main.Zero; 11.51/4.73 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 11.51/4.73 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 11.51/4.73 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 11.51/4.73 11.51/4.73 psMyInt :: MyInt -> MyInt -> MyInt; 11.51/4.73 psMyInt = primPlusInt; 11.51/4.73 11.51/4.73 takeWhile :: (a -> MyBool) -> List a -> List a; 11.51/4.73 takeWhile p Nil = takeWhile3 p Nil; 11.51/4.73 takeWhile p (Cons x xs) = takeWhile2 p (Cons x xs); 11.51/4.73 11.51/4.73 takeWhile0 p x xs MyTrue = Nil; 11.51/4.73 11.51/4.73 takeWhile1 p x xs MyTrue = Cons x (takeWhile p xs); 11.51/4.73 takeWhile1 p x xs MyFalse = takeWhile0 p x xs otherwise; 11.51/4.73 11.51/4.73 takeWhile2 p (Cons x xs) = takeWhile1 p x xs (p x); 11.51/4.73 11.51/4.73 takeWhile3 p Nil = Nil; 11.51/4.73 takeWhile3 wy wz = takeWhile2 wy wz; 11.51/4.73 11.51/4.73 toEnum0 MyTrue vx = MyTrue; 11.51/4.73 11.51/4.73 toEnum1 vx = toEnum0 (esEsMyInt vx (Main.Pos (Main.Succ Main.Zero))) vx; 11.51/4.73 11.51/4.73 toEnum2 MyTrue vy = MyFalse; 11.51/4.73 toEnum2 vz wu = toEnum1 wu; 11.51/4.73 11.51/4.73 toEnum3 vy = toEnum2 (esEsMyInt vy (Main.Pos Main.Zero)) vy; 11.51/4.73 toEnum3 wv = toEnum1 wv; 11.51/4.73 11.51/4.73 toEnumMyBool :: MyInt -> MyBool; 11.51/4.73 toEnumMyBool vy = toEnum3 vy; 11.51/4.73 toEnumMyBool vx = toEnum1 vx; 11.51/4.73 11.51/4.73 } 11.51/4.73 11.51/4.73 ---------------------------------------- 11.51/4.73 11.51/4.73 (1) BR (EQUIVALENT) 11.51/4.73 Replaced joker patterns by fresh variables and removed binding patterns. 11.51/4.73 ---------------------------------------- 11.51/4.73 11.51/4.73 (2) 11.51/4.73 Obligation: 11.51/4.73 mainModule Main 11.51/4.73 module Main where { 11.51/4.73 import qualified Prelude; 11.51/4.73 data List a = Cons a (List a) | Nil ; 11.51/4.73 11.51/4.73 data MyBool = MyTrue | MyFalse ; 11.51/4.73 11.51/4.73 data MyInt = Pos Main.Nat | Neg Main.Nat ; 11.51/4.73 11.51/4.73 data Main.Nat = Succ Main.Nat | Zero ; 11.51/4.73 11.51/4.73 data Ordering = LT | EQ | GT ; 11.51/4.73 11.51/4.73 compareMyInt :: MyInt -> MyInt -> Ordering; 11.51/4.73 compareMyInt = primCmpInt; 11.51/4.73 11.51/4.73 enumFromThenMyBool :: MyBool -> MyBool -> List MyBool; 11.51/4.73 enumFromThenMyBool x y = enumFromThenToMyBool x y MyTrue; 11.51/4.74 11.51/4.74 enumFromThenToMyBool :: MyBool -> MyBool -> MyBool -> List MyBool; 11.51/4.74 enumFromThenToMyBool x y z = map toEnumMyBool (enumFromThenToMyInt (fromEnumMyBool x) (fromEnumMyBool y) (fromEnumMyBool z)); 11.51/4.74 11.51/4.74 enumFromThenToMyInt :: MyInt -> MyInt -> MyInt -> List MyInt; 11.51/4.74 enumFromThenToMyInt = numericEnumFromThenTo; 11.51/4.74 11.51/4.74 esEsMyInt :: MyInt -> MyInt -> MyBool; 11.51/4.74 esEsMyInt = primEqInt; 11.51/4.74 11.51/4.74 esEsOrdering :: Ordering -> Ordering -> MyBool; 11.51/4.74 esEsOrdering LT LT = MyTrue; 11.51/4.74 esEsOrdering LT EQ = MyFalse; 11.51/4.74 esEsOrdering LT GT = MyFalse; 11.51/4.74 esEsOrdering EQ LT = MyFalse; 11.51/4.74 esEsOrdering EQ EQ = MyTrue; 11.51/4.74 esEsOrdering EQ GT = MyFalse; 11.51/4.74 esEsOrdering GT LT = MyFalse; 11.51/4.74 esEsOrdering GT EQ = MyFalse; 11.51/4.74 esEsOrdering GT GT = MyTrue; 11.51/4.74 11.51/4.74 flip :: (c -> a -> b) -> a -> c -> b; 11.51/4.74 flip f x y = f y x; 11.51/4.74 11.51/4.74 fromEnumMyBool :: MyBool -> MyInt; 11.51/4.74 fromEnumMyBool MyFalse = Main.Pos Main.Zero; 11.51/4.74 fromEnumMyBool MyTrue = Main.Pos (Main.Succ Main.Zero); 11.51/4.74 11.51/4.74 fsEsOrdering :: Ordering -> Ordering -> MyBool; 11.51/4.74 fsEsOrdering x y = not (esEsOrdering x y); 11.51/4.74 11.51/4.74 gtEsMyInt :: MyInt -> MyInt -> MyBool; 11.51/4.74 gtEsMyInt x y = fsEsOrdering (compareMyInt x y) LT; 11.51/4.74 11.51/4.74 iterate :: (a -> a) -> a -> List a; 11.51/4.74 iterate f x = Cons x (iterate f (f x)); 11.51/4.74 11.51/4.74 ltEsMyInt :: MyInt -> MyInt -> MyBool; 11.51/4.74 ltEsMyInt x y = fsEsOrdering (compareMyInt x y) GT; 11.51/4.74 11.51/4.74 map :: (a -> b) -> List a -> List b; 11.51/4.74 map f Nil = Nil; 11.51/4.74 map f (Cons x xs) = Cons (f x) (map f xs); 11.51/4.74 11.51/4.74 msMyInt :: MyInt -> MyInt -> MyInt; 11.51/4.74 msMyInt = primMinusInt; 11.51/4.74 11.51/4.74 not :: MyBool -> MyBool; 11.51/4.74 not MyTrue = MyFalse; 11.51/4.74 not MyFalse = MyTrue; 11.51/4.74 11.51/4.74 numericEnumFromThen n m = iterate (psMyInt (msMyInt m n)) n; 11.51/4.74 11.51/4.74 numericEnumFromThenTo n n' m = takeWhile (numericEnumFromThenToP m n' n) (numericEnumFromThen n n'); 11.51/4.74 11.51/4.74 numericEnumFromThenToP xu xv xw = numericEnumFromThenToP2 xu xv xw; 11.51/4.74 11.51/4.74 numericEnumFromThenToP0 xu xv xw MyTrue = flip gtEsMyInt xu; 11.51/4.74 11.51/4.74 numericEnumFromThenToP1 xu xv xw MyTrue = flip ltEsMyInt xu; 11.51/4.74 numericEnumFromThenToP1 xu xv xw MyFalse = numericEnumFromThenToP0 xu xv xw otherwise; 11.51/4.74 11.51/4.74 numericEnumFromThenToP2 xu xv xw = numericEnumFromThenToP1 xu xv xw (gtEsMyInt xv xw); 11.51/4.74 11.51/4.74 otherwise :: MyBool; 11.51/4.74 otherwise = MyTrue; 11.51/4.74 11.51/4.74 primCmpInt :: MyInt -> MyInt -> Ordering; 11.51/4.74 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 11.51/4.74 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 11.51/4.74 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 11.51/4.74 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 11.51/4.74 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 11.51/4.74 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 11.51/4.74 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 11.51/4.74 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 11.51/4.74 11.51/4.74 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 11.51/4.74 primCmpNat Main.Zero Main.Zero = EQ; 11.51/4.74 primCmpNat Main.Zero (Main.Succ y) = LT; 11.51/4.74 primCmpNat (Main.Succ x) Main.Zero = GT; 11.51/4.74 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 11.51/4.74 11.51/4.74 primEqInt :: MyInt -> MyInt -> MyBool; 11.51/4.74 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 11.51/4.74 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 11.51/4.74 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 11.51/4.74 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 11.51/4.74 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 11.51/4.74 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 11.51/4.74 primEqInt vv vw = MyFalse; 11.51/4.74 11.51/4.74 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 11.51/4.74 primEqNat Main.Zero Main.Zero = MyTrue; 11.51/4.74 primEqNat Main.Zero (Main.Succ y) = MyFalse; 11.51/4.74 primEqNat (Main.Succ x) Main.Zero = MyFalse; 11.51/4.74 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 11.51/4.74 11.51/4.74 primMinusInt :: MyInt -> MyInt -> MyInt; 11.51/4.74 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 11.51/4.74 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 11.51/4.74 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 11.51/4.74 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 11.51/4.74 11.51/4.74 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 11.51/4.74 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 11.51/4.74 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 11.51/4.74 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 11.51/4.74 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 11.51/4.74 11.51/4.74 primPlusInt :: MyInt -> MyInt -> MyInt; 11.51/4.74 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 11.51/4.74 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 11.51/4.74 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 11.51/4.74 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 11.51/4.74 11.51/4.74 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 11.51/4.74 primPlusNat Main.Zero Main.Zero = Main.Zero; 11.51/4.74 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 11.51/4.74 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 11.51/4.74 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 11.51/4.74 11.51/4.74 psMyInt :: MyInt -> MyInt -> MyInt; 11.51/4.74 psMyInt = primPlusInt; 11.51/4.74 11.51/4.74 takeWhile :: (a -> MyBool) -> List a -> List a; 11.51/4.74 takeWhile p Nil = takeWhile3 p Nil; 11.51/4.74 takeWhile p (Cons x xs) = takeWhile2 p (Cons x xs); 11.51/4.74 11.51/4.74 takeWhile0 p x xs MyTrue = Nil; 11.51/4.74 11.51/4.74 takeWhile1 p x xs MyTrue = Cons x (takeWhile p xs); 11.51/4.74 takeWhile1 p x xs MyFalse = takeWhile0 p x xs otherwise; 11.51/4.74 11.51/4.74 takeWhile2 p (Cons x xs) = takeWhile1 p x xs (p x); 11.51/4.74 11.51/4.74 takeWhile3 p Nil = Nil; 11.51/4.74 takeWhile3 wy wz = takeWhile2 wy wz; 11.51/4.74 11.51/4.74 toEnum0 MyTrue vx = MyTrue; 11.51/4.74 11.51/4.74 toEnum1 vx = toEnum0 (esEsMyInt vx (Main.Pos (Main.Succ Main.Zero))) vx; 11.51/4.74 11.51/4.74 toEnum2 MyTrue vy = MyFalse; 11.51/4.74 toEnum2 vz wu = toEnum1 wu; 11.51/4.74 11.51/4.74 toEnum3 vy = toEnum2 (esEsMyInt vy (Main.Pos Main.Zero)) vy; 11.51/4.74 toEnum3 wv = toEnum1 wv; 11.51/4.74 11.51/4.74 toEnumMyBool :: MyInt -> MyBool; 11.51/4.74 toEnumMyBool vy = toEnum3 vy; 11.51/4.74 toEnumMyBool vx = toEnum1 vx; 11.51/4.74 11.51/4.74 } 11.51/4.74 11.51/4.74 ---------------------------------------- 11.51/4.74 11.51/4.74 (3) COR (EQUIVALENT) 11.51/4.74 Cond Reductions: 11.51/4.74 The following Function with conditions 11.51/4.74 "undefined |Falseundefined; 11.51/4.74 " 11.51/4.74 is transformed to 11.51/4.74 "undefined = undefined1; 11.51/4.74 " 11.51/4.74 "undefined0 True = undefined; 11.51/4.74 " 11.51/4.74 "undefined1 = undefined0 False; 11.51/4.74 " 11.51/4.74 11.51/4.74 ---------------------------------------- 11.51/4.74 11.51/4.74 (4) 11.51/4.74 Obligation: 11.51/4.74 mainModule Main 11.51/4.74 module Main where { 11.51/4.74 import qualified Prelude; 11.51/4.74 data List a = Cons a (List a) | Nil ; 11.51/4.74 11.51/4.74 data MyBool = MyTrue | MyFalse ; 11.51/4.74 11.51/4.74 data MyInt = Pos Main.Nat | Neg Main.Nat ; 11.51/4.74 11.51/4.74 data Main.Nat = Succ Main.Nat | Zero ; 11.51/4.74 11.51/4.74 data Ordering = LT | EQ | GT ; 11.51/4.74 11.51/4.74 compareMyInt :: MyInt -> MyInt -> Ordering; 11.51/4.74 compareMyInt = primCmpInt; 11.51/4.74 11.51/4.74 enumFromThenMyBool :: MyBool -> MyBool -> List MyBool; 11.51/4.74 enumFromThenMyBool x y = enumFromThenToMyBool x y MyTrue; 11.51/4.74 11.51/4.74 enumFromThenToMyBool :: MyBool -> MyBool -> MyBool -> List MyBool; 11.51/4.74 enumFromThenToMyBool x y z = map toEnumMyBool (enumFromThenToMyInt (fromEnumMyBool x) (fromEnumMyBool y) (fromEnumMyBool z)); 11.51/4.74 11.51/4.74 enumFromThenToMyInt :: MyInt -> MyInt -> MyInt -> List MyInt; 11.51/4.74 enumFromThenToMyInt = numericEnumFromThenTo; 11.51/4.74 11.51/4.74 esEsMyInt :: MyInt -> MyInt -> MyBool; 11.51/4.74 esEsMyInt = primEqInt; 11.51/4.74 11.51/4.74 esEsOrdering :: Ordering -> Ordering -> MyBool; 11.51/4.74 esEsOrdering LT LT = MyTrue; 11.51/4.74 esEsOrdering LT EQ = MyFalse; 11.51/4.74 esEsOrdering LT GT = MyFalse; 11.51/4.74 esEsOrdering EQ LT = MyFalse; 11.51/4.74 esEsOrdering EQ EQ = MyTrue; 11.51/4.74 esEsOrdering EQ GT = MyFalse; 11.51/4.74 esEsOrdering GT LT = MyFalse; 11.51/4.74 esEsOrdering GT EQ = MyFalse; 11.51/4.74 esEsOrdering GT GT = MyTrue; 11.51/4.74 11.51/4.74 flip :: (c -> a -> b) -> a -> c -> b; 11.51/4.74 flip f x y = f y x; 11.51/4.74 11.51/4.74 fromEnumMyBool :: MyBool -> MyInt; 11.51/4.74 fromEnumMyBool MyFalse = Main.Pos Main.Zero; 11.51/4.74 fromEnumMyBool MyTrue = Main.Pos (Main.Succ Main.Zero); 11.51/4.74 11.51/4.74 fsEsOrdering :: Ordering -> Ordering -> MyBool; 11.51/4.74 fsEsOrdering x y = not (esEsOrdering x y); 11.51/4.74 11.51/4.74 gtEsMyInt :: MyInt -> MyInt -> MyBool; 11.51/4.74 gtEsMyInt x y = fsEsOrdering (compareMyInt x y) LT; 11.51/4.74 11.51/4.74 iterate :: (a -> a) -> a -> List a; 11.51/4.74 iterate f x = Cons x (iterate f (f x)); 11.51/4.74 11.51/4.74 ltEsMyInt :: MyInt -> MyInt -> MyBool; 11.51/4.74 ltEsMyInt x y = fsEsOrdering (compareMyInt x y) GT; 11.51/4.74 11.51/4.74 map :: (b -> a) -> List b -> List a; 11.51/4.74 map f Nil = Nil; 11.51/4.74 map f (Cons x xs) = Cons (f x) (map f xs); 11.51/4.74 11.51/4.74 msMyInt :: MyInt -> MyInt -> MyInt; 11.51/4.74 msMyInt = primMinusInt; 11.51/4.74 11.51/4.74 not :: MyBool -> MyBool; 11.51/4.74 not MyTrue = MyFalse; 11.51/4.74 not MyFalse = MyTrue; 11.51/4.74 11.51/4.74 numericEnumFromThen n m = iterate (psMyInt (msMyInt m n)) n; 11.51/4.74 11.51/4.74 numericEnumFromThenTo n n' m = takeWhile (numericEnumFromThenToP m n' n) (numericEnumFromThen n n'); 11.51/4.74 11.51/4.74 numericEnumFromThenToP xu xv xw = numericEnumFromThenToP2 xu xv xw; 11.51/4.74 11.51/4.74 numericEnumFromThenToP0 xu xv xw MyTrue = flip gtEsMyInt xu; 11.51/4.74 11.51/4.74 numericEnumFromThenToP1 xu xv xw MyTrue = flip ltEsMyInt xu; 11.51/4.74 numericEnumFromThenToP1 xu xv xw MyFalse = numericEnumFromThenToP0 xu xv xw otherwise; 11.51/4.74 11.51/4.74 numericEnumFromThenToP2 xu xv xw = numericEnumFromThenToP1 xu xv xw (gtEsMyInt xv xw); 11.51/4.74 11.51/4.74 otherwise :: MyBool; 11.51/4.74 otherwise = MyTrue; 11.51/4.74 11.51/4.74 primCmpInt :: MyInt -> MyInt -> Ordering; 11.51/4.74 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 11.51/4.74 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 11.51/4.74 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 11.51/4.74 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 11.51/4.74 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 11.51/4.74 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 11.51/4.74 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 11.51/4.74 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 11.51/4.74 11.51/4.74 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 11.51/4.74 primCmpNat Main.Zero Main.Zero = EQ; 11.51/4.74 primCmpNat Main.Zero (Main.Succ y) = LT; 11.51/4.74 primCmpNat (Main.Succ x) Main.Zero = GT; 11.51/4.74 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 11.51/4.74 11.51/4.74 primEqInt :: MyInt -> MyInt -> MyBool; 11.51/4.74 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 11.51/4.74 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 11.51/4.74 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 11.51/4.74 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 11.51/4.74 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 11.51/4.74 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 11.51/4.74 primEqInt vv vw = MyFalse; 11.51/4.74 11.51/4.74 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 11.51/4.74 primEqNat Main.Zero Main.Zero = MyTrue; 11.51/4.74 primEqNat Main.Zero (Main.Succ y) = MyFalse; 11.51/4.74 primEqNat (Main.Succ x) Main.Zero = MyFalse; 11.51/4.74 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 11.51/4.74 11.51/4.74 primMinusInt :: MyInt -> MyInt -> MyInt; 11.51/4.74 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 11.51/4.74 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 11.51/4.74 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 11.51/4.74 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 11.51/4.74 11.51/4.74 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 11.51/4.74 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 11.51/4.74 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 11.51/4.74 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 11.51/4.74 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 11.51/4.74 11.51/4.74 primPlusInt :: MyInt -> MyInt -> MyInt; 11.51/4.74 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 11.51/4.74 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 11.51/4.74 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 11.51/4.74 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 11.51/4.74 11.51/4.74 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 11.51/4.74 primPlusNat Main.Zero Main.Zero = Main.Zero; 11.51/4.74 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 11.51/4.74 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 11.51/4.74 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 11.51/4.74 11.51/4.74 psMyInt :: MyInt -> MyInt -> MyInt; 11.51/4.74 psMyInt = primPlusInt; 11.51/4.74 11.51/4.74 takeWhile :: (a -> MyBool) -> List a -> List a; 11.51/4.74 takeWhile p Nil = takeWhile3 p Nil; 11.51/4.74 takeWhile p (Cons x xs) = takeWhile2 p (Cons x xs); 11.51/4.74 11.51/4.74 takeWhile0 p x xs MyTrue = Nil; 11.51/4.74 11.51/4.74 takeWhile1 p x xs MyTrue = Cons x (takeWhile p xs); 11.51/4.74 takeWhile1 p x xs MyFalse = takeWhile0 p x xs otherwise; 11.51/4.74 11.51/4.74 takeWhile2 p (Cons x xs) = takeWhile1 p x xs (p x); 11.51/4.74 11.51/4.74 takeWhile3 p Nil = Nil; 11.51/4.74 takeWhile3 wy wz = takeWhile2 wy wz; 11.51/4.74 11.51/4.74 toEnum0 MyTrue vx = MyTrue; 11.51/4.74 11.51/4.74 toEnum1 vx = toEnum0 (esEsMyInt vx (Main.Pos (Main.Succ Main.Zero))) vx; 11.51/4.74 11.51/4.74 toEnum2 MyTrue vy = MyFalse; 11.51/4.74 toEnum2 vz wu = toEnum1 wu; 11.51/4.74 11.51/4.74 toEnum3 vy = toEnum2 (esEsMyInt vy (Main.Pos Main.Zero)) vy; 11.51/4.74 toEnum3 wv = toEnum1 wv; 11.51/4.74 11.51/4.74 toEnumMyBool :: MyInt -> MyBool; 11.51/4.74 toEnumMyBool vy = toEnum3 vy; 11.51/4.74 toEnumMyBool vx = toEnum1 vx; 11.51/4.74 11.51/4.74 } 11.51/4.74 11.51/4.74 ---------------------------------------- 11.51/4.74 11.51/4.74 (5) Narrow (COMPLETE) 11.51/4.74 Haskell To QDPs 11.51/4.74 11.51/4.74 digraph dp_graph { 11.51/4.74 node [outthreshold=100, inthreshold=100];1[label="enumFromThenMyBool",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 11.51/4.74 3[label="enumFromThenMyBool xx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 11.51/4.74 4[label="enumFromThenMyBool xx3 xx4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 11.51/4.74 5[label="enumFromThenToMyBool xx3 xx4 MyTrue",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 11.51/4.74 6[label="map toEnumMyBool (enumFromThenToMyInt (fromEnumMyBool xx3) (fromEnumMyBool xx4) (fromEnumMyBool MyTrue))",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 11.51/4.74 7[label="map toEnumMyBool (numericEnumFromThenTo (fromEnumMyBool xx3) (fromEnumMyBool xx4) (fromEnumMyBool MyTrue))",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 11.51/4.74 8[label="map toEnumMyBool (takeWhile (numericEnumFromThenToP (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (numericEnumFromThen (fromEnumMyBool xx3) (fromEnumMyBool xx4)))",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 11.51/4.74 9[label="map toEnumMyBool (takeWhile (numericEnumFromThenToP (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (iterate (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3))) (fromEnumMyBool xx3)))",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 11.51/4.74 10[label="map toEnumMyBool (takeWhile (numericEnumFromThenToP (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (Cons (fromEnumMyBool xx3) (iterate (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3))) (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (fromEnumMyBool xx3)))))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 11.51/4.74 11[label="map toEnumMyBool (takeWhile2 (numericEnumFromThenToP (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (Cons (fromEnumMyBool xx3) (iterate (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3))) (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (fromEnumMyBool xx3)))))",fontsize=16,color="black",shape="box"];11 -> 12[label="",style="solid", color="black", weight=3]; 11.51/4.74 12[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (fromEnumMyBool xx3) (iterate (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3))) (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (fromEnumMyBool xx3))) (numericEnumFromThenToP (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3) (fromEnumMyBool xx3)))",fontsize=16,color="black",shape="box"];12 -> 13[label="",style="solid", color="black", weight=3]; 11.51/4.74 13[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP2 (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (fromEnumMyBool xx3) (iterate (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3))) (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (fromEnumMyBool xx3))) (numericEnumFromThenToP2 (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3) (fromEnumMyBool xx3)))",fontsize=16,color="black",shape="box"];13 -> 14[label="",style="solid", color="black", weight=3]; 11.51/4.74 14[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3) (gtEsMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3))) (fromEnumMyBool xx3) (iterate (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3))) (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (fromEnumMyBool xx3))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3) (gtEsMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (fromEnumMyBool xx3)))",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 11.51/4.74 15[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3) (fsEsOrdering (compareMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) LT)) (fromEnumMyBool xx3) (iterate (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3))) (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (fromEnumMyBool xx3))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3) (fsEsOrdering (compareMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) LT) (fromEnumMyBool xx3)))",fontsize=16,color="black",shape="box"];15 -> 16[label="",style="solid", color="black", weight=3]; 11.51/4.74 16[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3) (not (esEsOrdering (compareMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) LT))) (fromEnumMyBool xx3) (iterate (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3))) (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (fromEnumMyBool xx3))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3) (not (esEsOrdering (compareMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) LT)) (fromEnumMyBool xx3)))",fontsize=16,color="black",shape="box"];16 -> 17[label="",style="solid", color="black", weight=3]; 11.51/4.74 17[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3) (not (esEsOrdering (primCmpInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) LT))) (fromEnumMyBool xx3) (iterate (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3))) (psMyInt (msMyInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) (fromEnumMyBool xx3))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (fromEnumMyBool xx4) (fromEnumMyBool xx3) (not (esEsOrdering (primCmpInt (fromEnumMyBool xx4) (fromEnumMyBool xx3)) LT)) (fromEnumMyBool xx3)))",fontsize=16,color="burlywood",shape="box"];240[label="xx4/MyTrue",fontsize=10,color="white",style="solid",shape="box"];17 -> 240[label="",style="solid", color="burlywood", weight=9]; 11.51/4.74 240 -> 18[label="",style="solid", color="burlywood", weight=3]; 11.51/4.74 241[label="xx4/MyFalse",fontsize=10,color="white",style="solid",shape="box"];17 -> 241[label="",style="solid", color="burlywood", weight=9]; 11.51/4.74 241 -> 19[label="",style="solid", color="burlywood", weight=3]; 11.51/4.74 18[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (fromEnumMyBool MyTrue) (fromEnumMyBool xx3) (not (esEsOrdering (primCmpInt (fromEnumMyBool MyTrue) (fromEnumMyBool xx3)) LT))) (fromEnumMyBool xx3) (iterate (psMyInt (msMyInt (fromEnumMyBool MyTrue) (fromEnumMyBool xx3))) (psMyInt (msMyInt (fromEnumMyBool MyTrue) (fromEnumMyBool xx3)) (fromEnumMyBool xx3))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (fromEnumMyBool MyTrue) (fromEnumMyBool xx3) (not (esEsOrdering (primCmpInt (fromEnumMyBool MyTrue) (fromEnumMyBool xx3)) LT)) (fromEnumMyBool xx3)))",fontsize=16,color="black",shape="box"];18 -> 20[label="",style="solid", color="black", weight=3]; 11.51/4.74 19[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (fromEnumMyBool MyFalse) (fromEnumMyBool xx3) (not (esEsOrdering (primCmpInt (fromEnumMyBool MyFalse) (fromEnumMyBool xx3)) LT))) (fromEnumMyBool xx3) (iterate (psMyInt (msMyInt (fromEnumMyBool MyFalse) (fromEnumMyBool xx3))) (psMyInt (msMyInt (fromEnumMyBool MyFalse) (fromEnumMyBool xx3)) (fromEnumMyBool xx3))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (fromEnumMyBool MyFalse) (fromEnumMyBool xx3) (not (esEsOrdering (primCmpInt (fromEnumMyBool MyFalse) (fromEnumMyBool xx3)) LT)) (fromEnumMyBool xx3)))",fontsize=16,color="black",shape="box"];19 -> 21[label="",style="solid", color="black", weight=3]; 11.51/4.74 20[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (fromEnumMyBool xx3) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (fromEnumMyBool xx3)) LT))) (fromEnumMyBool xx3) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (fromEnumMyBool xx3))) (psMyInt (msMyInt (Pos (Succ Zero)) (fromEnumMyBool xx3)) (fromEnumMyBool xx3))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (fromEnumMyBool xx3) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (fromEnumMyBool xx3)) LT)) (fromEnumMyBool xx3)))",fontsize=16,color="burlywood",shape="box"];242[label="xx3/MyTrue",fontsize=10,color="white",style="solid",shape="box"];20 -> 242[label="",style="solid", color="burlywood", weight=9]; 11.51/4.74 242 -> 22[label="",style="solid", color="burlywood", weight=3]; 11.51/4.74 243[label="xx3/MyFalse",fontsize=10,color="white",style="solid",shape="box"];20 -> 243[label="",style="solid", color="burlywood", weight=9]; 11.51/4.74 243 -> 23[label="",style="solid", color="burlywood", weight=3]; 11.51/4.74 21[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (fromEnumMyBool xx3) (not (esEsOrdering (primCmpInt (Pos Zero) (fromEnumMyBool xx3)) LT))) (fromEnumMyBool xx3) (iterate (psMyInt (msMyInt (Pos Zero) (fromEnumMyBool xx3))) (psMyInt (msMyInt (Pos Zero) (fromEnumMyBool xx3)) (fromEnumMyBool xx3))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (fromEnumMyBool xx3) (not (esEsOrdering (primCmpInt (Pos Zero) (fromEnumMyBool xx3)) LT)) (fromEnumMyBool xx3)))",fontsize=16,color="burlywood",shape="box"];244[label="xx3/MyTrue",fontsize=10,color="white",style="solid",shape="box"];21 -> 244[label="",style="solid", color="burlywood", weight=9]; 11.51/4.74 244 -> 24[label="",style="solid", color="burlywood", weight=3]; 11.51/4.74 245[label="xx3/MyFalse",fontsize=10,color="white",style="solid",shape="box"];21 -> 245[label="",style="solid", color="burlywood", weight=9]; 11.51/4.74 245 -> 25[label="",style="solid", color="burlywood", weight=3]; 11.51/4.74 22[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (fromEnumMyBool MyTrue) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (fromEnumMyBool MyTrue)) LT))) (fromEnumMyBool MyTrue) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (fromEnumMyBool MyTrue))) (psMyInt (msMyInt (Pos (Succ Zero)) (fromEnumMyBool MyTrue)) (fromEnumMyBool MyTrue))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (fromEnumMyBool MyTrue) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (fromEnumMyBool MyTrue)) LT)) (fromEnumMyBool MyTrue)))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 11.51/4.74 23[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (fromEnumMyBool MyFalse) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (fromEnumMyBool MyFalse)) LT))) (fromEnumMyBool MyFalse) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (fromEnumMyBool MyFalse))) (psMyInt (msMyInt (Pos (Succ Zero)) (fromEnumMyBool MyFalse)) (fromEnumMyBool MyFalse))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (fromEnumMyBool MyFalse) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (fromEnumMyBool MyFalse)) LT)) (fromEnumMyBool MyFalse)))",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 11.51/4.74 24[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (fromEnumMyBool MyTrue) (not (esEsOrdering (primCmpInt (Pos Zero) (fromEnumMyBool MyTrue)) LT))) (fromEnumMyBool MyTrue) (iterate (psMyInt (msMyInt (Pos Zero) (fromEnumMyBool MyTrue))) (psMyInt (msMyInt (Pos Zero) (fromEnumMyBool MyTrue)) (fromEnumMyBool MyTrue))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (fromEnumMyBool MyTrue) (not (esEsOrdering (primCmpInt (Pos Zero) (fromEnumMyBool MyTrue)) LT)) (fromEnumMyBool MyTrue)))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 11.51/4.74 25[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (fromEnumMyBool MyFalse) (not (esEsOrdering (primCmpInt (Pos Zero) (fromEnumMyBool MyFalse)) LT))) (fromEnumMyBool MyFalse) (iterate (psMyInt (msMyInt (Pos Zero) (fromEnumMyBool MyFalse))) (psMyInt (msMyInt (Pos Zero) (fromEnumMyBool MyFalse)) (fromEnumMyBool MyFalse))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (fromEnumMyBool MyFalse) (not (esEsOrdering (primCmpInt (Pos Zero) (fromEnumMyBool MyFalse)) LT)) (fromEnumMyBool MyFalse)))",fontsize=16,color="black",shape="box"];25 -> 29[label="",style="solid", color="black", weight=3]; 11.51/4.74 26[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos (Succ Zero)) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos (Succ Zero))) LT))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos (Succ Zero)) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos (Succ Zero))) LT)) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 11.51/4.74 27[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos Zero) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos Zero)) LT))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos Zero) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos Zero)) LT)) (Pos Zero)))",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 11.51/4.74 28[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ Zero))) LT))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ Zero))) LT)) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 11.51/4.74 29[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos Zero) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos Zero)) LT))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos Zero) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos Zero)) LT)) (Pos Zero)))",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 11.51/4.74 30[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos (Succ Zero)) (not (esEsOrdering (primCmpNat (Succ Zero) (Succ Zero)) LT))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos (Succ Zero)) (not (esEsOrdering (primCmpNat (Succ Zero) (Succ Zero)) LT)) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 11.51/4.74 31[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos Zero) (not (esEsOrdering (primCmpNat (Succ Zero) Zero) LT))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos Zero) (not (esEsOrdering (primCmpNat (Succ Zero) Zero) LT)) (Pos Zero)))",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 11.51/4.74 32[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) (not (esEsOrdering (primCmpNat Zero (Succ Zero)) LT))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) (not (esEsOrdering (primCmpNat Zero (Succ Zero)) LT)) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 11.51/4.74 33[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos Zero) (not (esEsOrdering EQ LT))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos Zero) (not (esEsOrdering EQ LT)) (Pos Zero)))",fontsize=16,color="black",shape="box"];33 -> 37[label="",style="solid", color="black", weight=3]; 11.51/4.74 34[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos (Succ Zero)) (not (esEsOrdering (primCmpNat Zero Zero) LT))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos (Succ Zero)) (not (esEsOrdering (primCmpNat Zero Zero) LT)) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];34 -> 38[label="",style="solid", color="black", weight=3]; 11.51/4.74 35[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos Zero) (not (esEsOrdering GT LT))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos Zero) (not (esEsOrdering GT LT)) (Pos Zero)))",fontsize=16,color="black",shape="box"];35 -> 39[label="",style="solid", color="black", weight=3]; 11.51/4.74 36[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) (not (esEsOrdering LT LT))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) (not (esEsOrdering LT LT)) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];36 -> 40[label="",style="solid", color="black", weight=3]; 11.51/4.74 37[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos Zero) (not MyFalse)) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos Zero) (not MyFalse) (Pos Zero)))",fontsize=16,color="black",shape="box"];37 -> 41[label="",style="solid", color="black", weight=3]; 11.51/4.74 38[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos (Succ Zero)) (not (esEsOrdering EQ LT))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos (Succ Zero)) (not (esEsOrdering EQ LT)) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];38 -> 42[label="",style="solid", color="black", weight=3]; 11.51/4.74 39[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos Zero) (not MyFalse)) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos Zero) (not MyFalse) (Pos Zero)))",fontsize=16,color="black",shape="box"];39 -> 43[label="",style="solid", color="black", weight=3]; 11.51/4.74 40[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) (not MyTrue)) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) (not MyTrue) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];40 -> 44[label="",style="solid", color="black", weight=3]; 11.51/4.74 41[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos Zero) MyTrue) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos Zero) MyTrue (Pos Zero)))",fontsize=16,color="black",shape="box"];41 -> 45[label="",style="solid", color="black", weight=3]; 11.51/4.74 42[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos (Succ Zero)) (not MyFalse)) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos (Succ Zero)) (not MyFalse) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];42 -> 46[label="",style="solid", color="black", weight=3]; 11.51/4.74 43[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos Zero) MyTrue) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos Zero) MyTrue (Pos Zero)))",fontsize=16,color="black",shape="box"];43 -> 47[label="",style="solid", color="black", weight=3]; 11.51/4.74 44[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) MyFalse) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) MyFalse (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];44 -> 48[label="",style="solid", color="black", weight=3]; 11.51/4.74 45[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) (flip ltEsMyInt (fromEnumMyBool MyTrue) (Pos Zero)))",fontsize=16,color="black",shape="box"];45 -> 49[label="",style="solid", color="black", weight=3]; 11.51/4.74 46[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos (Succ Zero)) MyTrue) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (numericEnumFromThenToP1 (fromEnumMyBool MyTrue) (Pos (Succ Zero)) (Pos (Succ Zero)) MyTrue (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];46 -> 50[label="",style="solid", color="black", weight=3]; 11.51/4.74 47[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (flip ltEsMyInt (fromEnumMyBool MyTrue) (Pos Zero)))",fontsize=16,color="black",shape="box"];47 -> 51[label="",style="solid", color="black", weight=3]; 11.51/4.74 48[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP0 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) otherwise) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (numericEnumFromThenToP0 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) otherwise (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];48 -> 52[label="",style="solid", color="black", weight=3]; 11.51/4.74 49[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) (ltEsMyInt (Pos Zero) (fromEnumMyBool MyTrue)))",fontsize=16,color="black",shape="box"];49 -> 53[label="",style="solid", color="black", weight=3]; 11.51/4.74 50[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (flip ltEsMyInt (fromEnumMyBool MyTrue) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];50 -> 54[label="",style="solid", color="black", weight=3]; 11.51/4.74 51[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (ltEsMyInt (Pos Zero) (fromEnumMyBool MyTrue)))",fontsize=16,color="black",shape="box"];51 -> 55[label="",style="solid", color="black", weight=3]; 11.51/4.74 52[label="map toEnumMyBool (takeWhile1 (numericEnumFromThenToP0 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) MyTrue) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (numericEnumFromThenToP0 (fromEnumMyBool MyTrue) (Pos Zero) (Pos (Succ Zero)) MyTrue (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];52 -> 56[label="",style="solid", color="black", weight=3]; 11.51/4.74 53[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) (fsEsOrdering (compareMyInt (Pos Zero) (fromEnumMyBool MyTrue)) GT))",fontsize=16,color="black",shape="box"];53 -> 57[label="",style="solid", color="black", weight=3]; 11.51/4.74 54[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (ltEsMyInt (Pos (Succ Zero)) (fromEnumMyBool MyTrue)))",fontsize=16,color="black",shape="box"];54 -> 58[label="",style="solid", color="black", weight=3]; 11.51/4.74 55[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (fsEsOrdering (compareMyInt (Pos Zero) (fromEnumMyBool MyTrue)) GT))",fontsize=16,color="black",shape="box"];55 -> 59[label="",style="solid", color="black", weight=3]; 11.51/4.74 56[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (fromEnumMyBool MyTrue)) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (flip gtEsMyInt (fromEnumMyBool MyTrue) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];56 -> 60[label="",style="solid", color="black", weight=3]; 11.51/4.74 57[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) (not (esEsOrdering (compareMyInt (Pos Zero) (fromEnumMyBool MyTrue)) GT)))",fontsize=16,color="black",shape="box"];57 -> 61[label="",style="solid", color="black", weight=3]; 11.51/4.74 58[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (fsEsOrdering (compareMyInt (Pos (Succ Zero)) (fromEnumMyBool MyTrue)) GT))",fontsize=16,color="black",shape="box"];58 -> 62[label="",style="solid", color="black", weight=3]; 11.51/4.74 59[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (not (esEsOrdering (compareMyInt (Pos Zero) (fromEnumMyBool MyTrue)) GT)))",fontsize=16,color="black",shape="box"];59 -> 63[label="",style="solid", color="black", weight=3]; 11.51/4.74 60[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (fromEnumMyBool MyTrue)) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (gtEsMyInt (Pos (Succ Zero)) (fromEnumMyBool MyTrue)))",fontsize=16,color="black",shape="box"];60 -> 64[label="",style="solid", color="black", weight=3]; 11.51/4.74 61[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) (not (esEsOrdering (primCmpInt (Pos Zero) (fromEnumMyBool MyTrue)) GT)))",fontsize=16,color="black",shape="box"];61 -> 65[label="",style="solid", color="black", weight=3]; 11.51/4.74 62[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not (esEsOrdering (compareMyInt (Pos (Succ Zero)) (fromEnumMyBool MyTrue)) GT)))",fontsize=16,color="black",shape="box"];62 -> 66[label="",style="solid", color="black", weight=3]; 11.51/4.74 63[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (not (esEsOrdering (primCmpInt (Pos Zero) (fromEnumMyBool MyTrue)) GT)))",fontsize=16,color="black",shape="box"];63 -> 67[label="",style="solid", color="black", weight=3]; 11.51/4.74 64[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (fromEnumMyBool MyTrue)) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (fsEsOrdering (compareMyInt (Pos (Succ Zero)) (fromEnumMyBool MyTrue)) LT))",fontsize=16,color="black",shape="box"];64 -> 68[label="",style="solid", color="black", weight=3]; 11.51/4.74 65[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];65 -> 69[label="",style="solid", color="black", weight=3]; 11.51/4.74 66[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (fromEnumMyBool MyTrue)) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (fromEnumMyBool MyTrue)) GT)))",fontsize=16,color="black",shape="box"];66 -> 70[label="",style="solid", color="black", weight=3]; 11.51/4.74 67[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];67 -> 71[label="",style="solid", color="black", weight=3]; 11.51/4.74 68[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (fromEnumMyBool MyTrue)) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not (esEsOrdering (compareMyInt (Pos (Succ Zero)) (fromEnumMyBool MyTrue)) LT)))",fontsize=16,color="black",shape="box"];68 -> 72[label="",style="solid", color="black", weight=3]; 11.51/4.74 69[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) (not (esEsOrdering (primCmpNat Zero (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];69 -> 73[label="",style="solid", color="black", weight=3]; 11.51/4.74 70[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];70 -> 74[label="",style="solid", color="black", weight=3]; 11.51/4.74 71[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (not (esEsOrdering (primCmpNat Zero (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];71 -> 75[label="",style="solid", color="black", weight=3]; 11.51/4.74 72[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (fromEnumMyBool MyTrue)) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (fromEnumMyBool MyTrue)) LT)))",fontsize=16,color="black",shape="box"];72 -> 76[label="",style="solid", color="black", weight=3]; 11.51/4.74 73[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) (not (esEsOrdering LT GT)))",fontsize=16,color="black",shape="box"];73 -> 77[label="",style="solid", color="black", weight=3]; 11.51/4.74 74[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpNat (Succ Zero) (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];74 -> 78[label="",style="solid", color="black", weight=3]; 11.51/4.74 75[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (not (esEsOrdering LT GT)))",fontsize=16,color="black",shape="box"];75 -> 79[label="",style="solid", color="black", weight=3]; 11.51/4.74 76[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos (Succ Zero))) LT)))",fontsize=16,color="black",shape="box"];76 -> 80[label="",style="solid", color="black", weight=3]; 11.51/4.74 77[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) (not MyFalse))",fontsize=16,color="black",shape="box"];77 -> 81[label="",style="solid", color="black", weight=3]; 11.51/4.74 78[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpNat Zero Zero) GT)))",fontsize=16,color="black",shape="box"];78 -> 82[label="",style="solid", color="black", weight=3]; 11.51/4.74 79[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) (not MyFalse))",fontsize=16,color="black",shape="box"];79 -> 83[label="",style="solid", color="black", weight=3]; 11.51/4.74 80[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpNat (Succ Zero) (Succ Zero)) LT)))",fontsize=16,color="black",shape="box"];80 -> 84[label="",style="solid", color="black", weight=3]; 11.51/4.74 81[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))) MyTrue)",fontsize=16,color="black",shape="box"];81 -> 85[label="",style="solid", color="black", weight=3]; 11.51/4.74 82[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not (esEsOrdering EQ GT)))",fontsize=16,color="black",shape="box"];82 -> 86[label="",style="solid", color="black", weight=3]; 11.51/4.74 83[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))) MyTrue)",fontsize=16,color="black",shape="box"];83 -> 87[label="",style="solid", color="black", weight=3]; 11.51/4.74 84[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpNat Zero Zero) LT)))",fontsize=16,color="black",shape="box"];84 -> 88[label="",style="solid", color="black", weight=3]; 11.51/4.74 85[label="map toEnumMyBool (Cons (Pos Zero) (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)))))",fontsize=16,color="black",shape="box"];85 -> 89[label="",style="solid", color="black", weight=3]; 11.51/4.74 86[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not MyFalse))",fontsize=16,color="black",shape="box"];86 -> 90[label="",style="solid", color="black", weight=3]; 11.51/4.74 87[label="map toEnumMyBool (Cons (Pos Zero) (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)))))",fontsize=16,color="black",shape="box"];87 -> 91[label="",style="solid", color="black", weight=3]; 11.51/4.74 88[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not (esEsOrdering EQ LT)))",fontsize=16,color="black",shape="box"];88 -> 92[label="",style="solid", color="black", weight=3]; 11.51/4.74 89[label="Cons (toEnumMyBool (Pos Zero)) (map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)))))",fontsize=16,color="green",shape="box"];89 -> 93[label="",style="dashed", color="green", weight=3]; 11.51/4.74 89 -> 94[label="",style="dashed", color="green", weight=3]; 11.51/4.74 90[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))) MyTrue)",fontsize=16,color="black",shape="box"];90 -> 95[label="",style="solid", color="black", weight=3]; 11.51/4.74 91[label="Cons (toEnumMyBool (Pos Zero)) (map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)))))",fontsize=16,color="green",shape="box"];91 -> 96[label="",style="dashed", color="green", weight=3]; 11.51/4.74 91 -> 97[label="",style="dashed", color="green", weight=3]; 11.51/4.74 92[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) (not MyFalse))",fontsize=16,color="black",shape="box"];92 -> 98[label="",style="solid", color="black", weight=3]; 11.51/4.74 93[label="toEnumMyBool (Pos Zero)",fontsize=16,color="black",shape="triangle"];93 -> 99[label="",style="solid", color="black", weight=3]; 11.51/4.74 94[label="map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))))",fontsize=16,color="black",shape="box"];94 -> 100[label="",style="solid", color="black", weight=3]; 11.51/4.74 95[label="map toEnumMyBool (Cons (Pos (Succ Zero)) (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];95 -> 101[label="",style="solid", color="black", weight=3]; 11.51/4.74 96 -> 93[label="",style="dashed", color="red", weight=0]; 11.51/4.74 96[label="toEnumMyBool (Pos Zero)",fontsize=16,color="magenta"];97[label="map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))))",fontsize=16,color="black",shape="box"];97 -> 102[label="",style="solid", color="black", weight=3]; 11.51/4.74 98[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))) MyTrue)",fontsize=16,color="black",shape="box"];98 -> 103[label="",style="solid", color="black", weight=3]; 11.51/4.74 99[label="toEnum3 (Pos Zero)",fontsize=16,color="black",shape="box"];99 -> 104[label="",style="solid", color="black", weight=3]; 11.51/4.74 100[label="map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (Cons (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))))))",fontsize=16,color="black",shape="box"];100 -> 105[label="",style="solid", color="black", weight=3]; 11.51/4.74 101[label="Cons (toEnumMyBool (Pos (Succ Zero))) (map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))))))",fontsize=16,color="green",shape="box"];101 -> 106[label="",style="dashed", color="green", weight=3]; 11.51/4.74 101 -> 107[label="",style="dashed", color="green", weight=3]; 11.51/4.74 102[label="map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (Cons (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))))))",fontsize=16,color="black",shape="box"];102 -> 108[label="",style="solid", color="black", weight=3]; 11.51/4.74 103[label="map toEnumMyBool (Cons (Pos (Succ Zero)) (takeWhile (flip gtEsMyInt (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];103 -> 109[label="",style="solid", color="black", weight=3]; 11.51/4.74 104[label="toEnum2 (esEsMyInt (Pos Zero) (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];104 -> 110[label="",style="solid", color="black", weight=3]; 11.51/4.74 105[label="map toEnumMyBool (takeWhile2 (flip ltEsMyInt (Pos (Succ Zero))) (Cons (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))))))",fontsize=16,color="black",shape="box"];105 -> 111[label="",style="solid", color="black", weight=3]; 11.51/4.74 106[label="toEnumMyBool (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];106 -> 112[label="",style="solid", color="black", weight=3]; 11.51/4.74 107[label="map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];107 -> 113[label="",style="solid", color="black", weight=3]; 11.51/4.74 108[label="map toEnumMyBool (takeWhile2 (flip ltEsMyInt (Pos (Succ Zero))) (Cons (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))))))",fontsize=16,color="black",shape="box"];108 -> 114[label="",style="solid", color="black", weight=3]; 11.51/4.74 109[label="Cons (toEnumMyBool (Pos (Succ Zero))) (map toEnumMyBool (takeWhile (flip gtEsMyInt (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))))))",fontsize=16,color="green",shape="box"];109 -> 115[label="",style="dashed", color="green", weight=3]; 11.51/4.74 109 -> 116[label="",style="dashed", color="green", weight=3]; 11.51/4.74 110[label="toEnum2 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];110 -> 117[label="",style="solid", color="black", weight=3]; 11.51/4.74 111[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)))) (flip ltEsMyInt (Pos (Succ Zero)) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero))))",fontsize=16,color="black",shape="box"];111 -> 118[label="",style="solid", color="black", weight=3]; 11.51/4.74 112[label="toEnum3 (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];112 -> 119[label="",style="solid", color="black", weight=3]; 11.51/4.74 113[label="map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (Cons (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];113 -> 120[label="",style="solid", color="black", weight=3]; 11.51/4.74 114[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)))) (flip ltEsMyInt (Pos (Succ Zero)) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero))))",fontsize=16,color="black",shape="box"];114 -> 121[label="",style="solid", color="black", weight=3]; 11.77/4.74 115 -> 106[label="",style="dashed", color="red", weight=0]; 11.77/4.74 115[label="toEnumMyBool (Pos (Succ Zero))",fontsize=16,color="magenta"];116[label="map toEnumMyBool (takeWhile (flip gtEsMyInt (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];116 -> 122[label="",style="solid", color="black", weight=3]; 11.77/4.74 117[label="toEnum2 MyTrue (Pos Zero)",fontsize=16,color="black",shape="box"];117 -> 123[label="",style="solid", color="black", weight=3]; 11.77/4.74 118[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)))) (ltEsMyInt (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];118 -> 124[label="",style="solid", color="black", weight=3]; 11.77/4.74 119[label="toEnum2 (esEsMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];119 -> 125[label="",style="solid", color="black", weight=3]; 11.77/4.74 120[label="map toEnumMyBool (takeWhile2 (flip ltEsMyInt (Pos (Succ Zero))) (Cons (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];120 -> 126[label="",style="solid", color="black", weight=3]; 11.77/4.74 121[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)))) (ltEsMyInt (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];121 -> 127[label="",style="solid", color="black", weight=3]; 11.77/4.74 122[label="map toEnumMyBool (takeWhile (flip gtEsMyInt (Pos (Succ Zero))) (Cons (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];122 -> 128[label="",style="solid", color="black", weight=3]; 11.77/4.74 123[label="MyFalse",fontsize=16,color="green",shape="box"];124[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)))) (fsEsOrdering (compareMyInt (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)) (Pos (Succ Zero))) GT))",fontsize=16,color="black",shape="box"];124 -> 129[label="",style="solid", color="black", weight=3]; 11.77/4.74 125[label="toEnum2 (primEqInt (Pos (Succ Zero)) (Pos Zero)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];125 -> 130[label="",style="solid", color="black", weight=3]; 11.77/4.74 126[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))))) (flip ltEsMyInt (Pos (Succ Zero)) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];126 -> 131[label="",style="solid", color="black", weight=3]; 11.77/4.74 127[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)))) (fsEsOrdering (compareMyInt (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (Pos (Succ Zero))) GT))",fontsize=16,color="black",shape="box"];127 -> 132[label="",style="solid", color="black", weight=3]; 11.77/4.74 128[label="map toEnumMyBool (takeWhile2 (flip gtEsMyInt (Pos (Succ Zero))) (Cons (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];128 -> 133[label="",style="solid", color="black", weight=3]; 11.77/4.74 129[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)))) (not (esEsOrdering (compareMyInt (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];129 -> 134[label="",style="solid", color="black", weight=3]; 11.77/4.74 130[label="toEnum2 MyFalse (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];130 -> 135[label="",style="solid", color="black", weight=3]; 11.77/4.74 131[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];131 -> 136[label="",style="solid", color="black", weight=3]; 11.77/4.74 132[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)))) (not (esEsOrdering (compareMyInt (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];132 -> 137[label="",style="solid", color="black", weight=3]; 11.77/4.74 133[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))))) (flip gtEsMyInt (Pos (Succ Zero)) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];133 -> 138[label="",style="solid", color="black", weight=3]; 11.77/4.74 134[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos Zero) (Pos Zero))) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)))) (not (esEsOrdering (primCmpInt (psMyInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];134 -> 139[label="",style="solid", color="black", weight=3]; 11.77/4.74 135[label="toEnum1 (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];135 -> 140[label="",style="solid", color="black", weight=3]; 11.77/4.74 136[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ Zero))) GT))",fontsize=16,color="black",shape="box"];136 -> 141[label="",style="solid", color="black", weight=3]; 11.77/4.74 137[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)))) (not (esEsOrdering (primCmpInt (psMyInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];137 -> 142[label="",style="solid", color="black", weight=3]; 11.77/4.74 138[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))))) (gtEsMyInt (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];138 -> 143[label="",style="solid", color="black", weight=3]; 11.77/4.74 139[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)) (iterate (primPlusInt (msMyInt (Pos Zero) (Pos Zero))) (primPlusInt (msMyInt (Pos Zero) (Pos Zero)) (primPlusInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)))) (not (esEsOrdering (primCmpInt (primPlusInt (msMyInt (Pos Zero) (Pos Zero)) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];139 -> 144[label="",style="solid", color="black", weight=3]; 11.77/4.74 140[label="toEnum0 (esEsMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];140 -> 145[label="",style="solid", color="black", weight=3]; 11.77/4.74 141[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];141 -> 146[label="",style="solid", color="black", weight=3]; 11.77/4.74 142[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (iterate (primPlusInt (msMyInt (Pos (Succ Zero)) (Pos Zero))) (primPlusInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (primPlusInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)))) (not (esEsOrdering (primCmpInt (primPlusInt (msMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];142 -> 147[label="",style="solid", color="black", weight=3]; 11.77/4.74 143[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ Zero))) LT))",fontsize=16,color="black",shape="box"];143 -> 148[label="",style="solid", color="black", weight=3]; 11.77/4.74 144[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (primMinusInt (Pos Zero) (Pos Zero)) (Pos Zero)) (iterate (primPlusInt (primMinusInt (Pos Zero) (Pos Zero))) (primPlusInt (primMinusInt (Pos Zero) (Pos Zero)) (primPlusInt (primMinusInt (Pos Zero) (Pos Zero)) (Pos Zero)))) (not (esEsOrdering (primCmpInt (primPlusInt (primMinusInt (Pos Zero) (Pos Zero)) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];144 -> 149[label="",style="solid", color="black", weight=3]; 11.77/4.74 145[label="toEnum0 (primEqInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];145 -> 150[label="",style="solid", color="black", weight=3]; 11.77/4.74 146[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];146 -> 151[label="",style="solid", color="black", weight=3]; 11.77/4.74 147[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (primMinusInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (iterate (primPlusInt (primMinusInt (Pos (Succ Zero)) (Pos Zero))) (primPlusInt (primMinusInt (Pos (Succ Zero)) (Pos Zero)) (primPlusInt (primMinusInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)))) (not (esEsOrdering (primCmpInt (primPlusInt (primMinusInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];147 -> 152[label="",style="solid", color="black", weight=3]; 11.77/4.74 148[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ Zero))) LT)))",fontsize=16,color="black",shape="box"];148 -> 153[label="",style="solid", color="black", weight=3]; 11.77/4.74 149[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (primMinusNat Zero Zero) (Pos Zero)) (iterate (primPlusInt (primMinusNat Zero Zero)) (primPlusInt (primMinusNat Zero Zero) (primPlusInt (primMinusNat Zero Zero) (Pos Zero)))) (not (esEsOrdering (primCmpInt (primPlusInt (primMinusNat Zero Zero) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];149 -> 154[label="",style="solid", color="black", weight=3]; 11.77/4.74 150[label="toEnum0 (primEqNat Zero Zero) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];150 -> 155[label="",style="solid", color="black", weight=3]; 11.77/4.74 151[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (primPlusInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (primPlusInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (primPlusInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (msMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];151 -> 156[label="",style="solid", color="black", weight=3]; 11.77/4.74 152[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (primMinusNat (Succ Zero) Zero) (Pos Zero)) (iterate (primPlusInt (primMinusNat (Succ Zero) Zero)) (primPlusInt (primMinusNat (Succ Zero) Zero) (primPlusInt (primMinusNat (Succ Zero) Zero) (Pos Zero)))) (not (esEsOrdering (primCmpInt (primPlusInt (primMinusNat (Succ Zero) Zero) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];152 -> 157[label="",style="solid", color="black", weight=3]; 11.77/4.74 153[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ Zero))) LT)))",fontsize=16,color="black",shape="box"];153 -> 158[label="",style="solid", color="black", weight=3]; 11.77/4.74 154[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (Pos Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos Zero)))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="triangle"];154 -> 159[label="",style="solid", color="black", weight=3]; 11.77/4.74 155[label="toEnum0 MyTrue (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];155 -> 160[label="",style="solid", color="black", weight=3]; 11.77/4.74 156[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (primMinusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (primPlusInt (primMinusInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (primPlusInt (primMinusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (primPlusInt (primMinusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (primMinusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];156 -> 161[label="",style="solid", color="black", weight=3]; 11.77/4.74 157[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos Zero)) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (primPlusInt (Pos (Succ Zero)) (Pos Zero)))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos (Succ Zero)) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];157 -> 162[label="",style="solid", color="black", weight=3]; 11.77/4.74 158[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (primPlusInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (primPlusInt (msMyInt (Pos Zero) (Pos (Succ Zero)))) (primPlusInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (primPlusInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (msMyInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ Zero))) LT)))",fontsize=16,color="black",shape="box"];158 -> 163[label="",style="solid", color="black", weight=3]; 11.77/4.74 159[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (primPlusNat Zero Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos (primPlusNat Zero Zero)))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat Zero Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];159 -> 164[label="",style="solid", color="black", weight=3]; 11.77/4.74 160[label="MyTrue",fontsize=16,color="green",shape="box"];161[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (primMinusNat (Succ Zero) (Succ Zero)) (Pos (Succ Zero))) (iterate (primPlusInt (primMinusNat (Succ Zero) (Succ Zero))) (primPlusInt (primMinusNat (Succ Zero) (Succ Zero)) (primPlusInt (primMinusNat (Succ Zero) (Succ Zero)) (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (primMinusNat (Succ Zero) (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];161 -> 165[label="",style="solid", color="black", weight=3]; 11.77/4.74 162[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (primPlusNat (Succ Zero) Zero)) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (primPlusNat (Succ Zero) Zero)))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat (Succ Zero) Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];162 -> 166[label="",style="solid", color="black", weight=3]; 11.77/4.74 163[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (primPlusInt (primMinusInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (iterate (primPlusInt (primMinusInt (Pos Zero) (Pos (Succ Zero)))) (primPlusInt (primMinusInt (Pos Zero) (Pos (Succ Zero))) (primPlusInt (primMinusInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (primMinusInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ Zero))) LT)))",fontsize=16,color="black",shape="box"];163 -> 167[label="",style="solid", color="black", weight=3]; 11.77/4.74 164[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos Zero))) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];164 -> 168[label="",style="solid", color="black", weight=3]; 11.77/4.74 165[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (primMinusNat Zero Zero) (Pos (Succ Zero))) (iterate (primPlusInt (primMinusNat Zero Zero)) (primPlusInt (primMinusNat Zero Zero) (primPlusInt (primMinusNat Zero Zero) (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (primMinusNat Zero Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];165 -> 169[label="",style="solid", color="black", weight=3]; 11.77/4.74 166[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];166 -> 170[label="",style="solid", color="black", weight=3]; 11.77/4.74 167[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (primPlusInt (primMinusNat Zero (Succ Zero)) (Pos (Succ Zero))) (iterate (primPlusInt (primMinusNat Zero (Succ Zero))) (primPlusInt (primMinusNat Zero (Succ Zero)) (primPlusInt (primMinusNat Zero (Succ Zero)) (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (primMinusNat Zero (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) LT)))",fontsize=16,color="black",shape="box"];167 -> 171[label="",style="solid", color="black", weight=3]; 11.77/4.74 168[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos Zero))) (not (esEsOrdering (primCmpNat Zero (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];168 -> 172[label="",style="solid", color="black", weight=3]; 11.77/4.74 169[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="triangle"];169 -> 173[label="",style="solid", color="black", weight=3]; 11.77/4.74 170[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpNat (Succ Zero) (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];170 -> 174[label="",style="solid", color="black", weight=3]; 11.77/4.74 171[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (primPlusInt (Neg (Succ Zero)) (Pos (Succ Zero))) (iterate (primPlusInt (Neg (Succ Zero))) (primPlusInt (Neg (Succ Zero)) (primPlusInt (Neg (Succ Zero)) (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Neg (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) LT)))",fontsize=16,color="black",shape="box"];171 -> 175[label="",style="solid", color="black", weight=3]; 11.77/4.74 172[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos Zero))) (not (esEsOrdering LT GT)))",fontsize=16,color="black",shape="box"];172 -> 176[label="",style="solid", color="black", weight=3]; 11.77/4.74 173[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (primPlusNat Zero (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos (primPlusNat Zero (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat Zero (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];173 -> 177[label="",style="solid", color="black", weight=3]; 11.77/4.74 174[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpNat Zero Zero) GT)))",fontsize=16,color="black",shape="box"];174 -> 178[label="",style="solid", color="black", weight=3]; 11.77/4.74 175[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (primMinusNat (Succ Zero) (Succ Zero)) (iterate (primPlusInt (Neg (Succ Zero))) (primPlusInt (Neg (Succ Zero)) (primMinusNat (Succ Zero) (Succ Zero)))) (not (esEsOrdering (primCmpInt (primMinusNat (Succ Zero) (Succ Zero)) (Pos (Succ Zero))) LT)))",fontsize=16,color="black",shape="box"];175 -> 179[label="",style="solid", color="black", weight=3]; 11.77/4.74 176[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos Zero))) (not MyFalse))",fontsize=16,color="black",shape="box"];176 -> 180[label="",style="solid", color="black", weight=3]; 11.77/4.74 177[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];177 -> 181[label="",style="solid", color="black", weight=3]; 11.77/4.74 178[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (not (esEsOrdering EQ GT)))",fontsize=16,color="black",shape="box"];178 -> 182[label="",style="solid", color="black", weight=3]; 11.77/4.74 179[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (primMinusNat Zero Zero) (iterate (primPlusInt (Neg (Succ Zero))) (primPlusInt (Neg (Succ Zero)) (primMinusNat Zero Zero))) (not (esEsOrdering (primCmpInt (primMinusNat Zero Zero) (Pos (Succ Zero))) LT)))",fontsize=16,color="black",shape="box"];179 -> 183[label="",style="solid", color="black", weight=3]; 11.77/4.74 180[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos Zero))) MyTrue)",fontsize=16,color="black",shape="box"];180 -> 184[label="",style="solid", color="black", weight=3]; 11.77/4.74 181[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpNat (Succ Zero) (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];181 -> 185[label="",style="solid", color="black", weight=3]; 11.77/4.74 182[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero)))) (not MyFalse))",fontsize=16,color="black",shape="box"];182 -> 186[label="",style="solid", color="black", weight=3]; 11.77/4.74 183[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (primPlusInt (Neg (Succ Zero))) (primPlusInt (Neg (Succ Zero)) (Pos Zero))) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ Zero))) LT)))",fontsize=16,color="black",shape="box"];183 -> 187[label="",style="solid", color="black", weight=3]; 11.77/4.74 184[label="map toEnumMyBool (Cons (Pos Zero) (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos Zero)))))",fontsize=16,color="black",shape="box"];184 -> 188[label="",style="solid", color="black", weight=3]; 11.77/4.74 185[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (not (esEsOrdering (primCmpNat Zero Zero) GT)))",fontsize=16,color="black",shape="box"];185 -> 189[label="",style="solid", color="black", weight=3]; 11.77/4.74 186[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero)))) MyTrue)",fontsize=16,color="black",shape="box"];186 -> 190[label="",style="solid", color="black", weight=3]; 11.77/4.74 187[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (primPlusInt (Neg (Succ Zero))) (primPlusInt (Neg (Succ Zero)) (Pos Zero))) (not (esEsOrdering (primCmpNat Zero (Succ Zero)) LT)))",fontsize=16,color="black",shape="box"];187 -> 191[label="",style="solid", color="black", weight=3]; 11.77/4.74 188[label="Cons (toEnumMyBool (Pos Zero)) (map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos Zero)))))",fontsize=16,color="green",shape="box"];188 -> 192[label="",style="dashed", color="green", weight=3]; 11.77/4.74 188 -> 193[label="",style="dashed", color="green", weight=3]; 11.77/4.74 189[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (not (esEsOrdering EQ GT)))",fontsize=16,color="black",shape="box"];189 -> 194[label="",style="solid", color="black", weight=3]; 11.77/4.74 190[label="map toEnumMyBool (Cons (Pos (Succ Zero)) (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];190 -> 195[label="",style="solid", color="black", weight=3]; 11.77/4.74 191[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (primPlusInt (Neg (Succ Zero))) (primPlusInt (Neg (Succ Zero)) (Pos Zero))) (not (esEsOrdering LT LT)))",fontsize=16,color="black",shape="box"];191 -> 196[label="",style="solid", color="black", weight=3]; 11.77/4.74 192 -> 93[label="",style="dashed", color="red", weight=0]; 11.77/4.74 192[label="toEnumMyBool (Pos Zero)",fontsize=16,color="magenta"];193[label="map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos Zero))))",fontsize=16,color="black",shape="box"];193 -> 197[label="",style="solid", color="black", weight=3]; 11.77/4.74 194[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (not MyFalse))",fontsize=16,color="black",shape="box"];194 -> 198[label="",style="solid", color="black", weight=3]; 11.77/4.74 195[label="Cons (toEnumMyBool (Pos (Succ Zero))) (map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))))))",fontsize=16,color="green",shape="box"];195 -> 199[label="",style="dashed", color="green", weight=3]; 11.77/4.74 195 -> 200[label="",style="dashed", color="green", weight=3]; 11.77/4.74 196[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (primPlusInt (Neg (Succ Zero))) (primPlusInt (Neg (Succ Zero)) (Pos Zero))) (not MyTrue))",fontsize=16,color="black",shape="box"];196 -> 201[label="",style="solid", color="black", weight=3]; 11.77/4.74 197[label="map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (Cons (primPlusInt (Pos Zero) (Pos Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos Zero))))))",fontsize=16,color="black",shape="box"];197 -> 202[label="",style="solid", color="black", weight=3]; 11.77/4.74 198[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos (Succ Zero)))) MyTrue)",fontsize=16,color="black",shape="box"];198 -> 203[label="",style="solid", color="black", weight=3]; 11.77/4.74 199 -> 106[label="",style="dashed", color="red", weight=0]; 11.77/4.74 199[label="toEnumMyBool (Pos (Succ Zero))",fontsize=16,color="magenta"];200[label="map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];200 -> 204[label="",style="solid", color="black", weight=3]; 11.77/4.74 201[label="map toEnumMyBool (takeWhile1 (flip gtEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (primPlusInt (Neg (Succ Zero))) (primPlusInt (Neg (Succ Zero)) (Pos Zero))) MyFalse)",fontsize=16,color="black",shape="box"];201 -> 205[label="",style="solid", color="black", weight=3]; 11.77/4.74 202[label="map toEnumMyBool (takeWhile2 (flip ltEsMyInt (Pos (Succ Zero))) (Cons (primPlusInt (Pos Zero) (Pos Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos Zero))))))",fontsize=16,color="black",shape="box"];202 -> 206[label="",style="solid", color="black", weight=3]; 11.77/4.74 203[label="map toEnumMyBool (Cons (Pos (Succ Zero)) (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];203 -> 207[label="",style="solid", color="black", weight=3]; 11.77/4.74 204[label="map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (Cons (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];204 -> 208[label="",style="solid", color="black", weight=3]; 11.77/4.74 205[label="map toEnumMyBool (takeWhile0 (flip gtEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (primPlusInt (Neg (Succ Zero))) (primPlusInt (Neg (Succ Zero)) (Pos Zero))) otherwise)",fontsize=16,color="black",shape="box"];205 -> 209[label="",style="solid", color="black", weight=3]; 11.77/4.74 206[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (Pos Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos Zero)))) (flip ltEsMyInt (Pos (Succ Zero)) (primPlusInt (Pos Zero) (Pos Zero))))",fontsize=16,color="black",shape="box"];206 -> 210[label="",style="solid", color="black", weight=3]; 11.77/4.74 207[label="Cons (toEnumMyBool (Pos (Succ Zero))) (map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="green",shape="box"];207 -> 211[label="",style="dashed", color="green", weight=3]; 11.77/4.74 207 -> 212[label="",style="dashed", color="green", weight=3]; 11.77/4.74 208[label="map toEnumMyBool (takeWhile2 (flip ltEsMyInt (Pos (Succ Zero))) (Cons (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];208 -> 213[label="",style="solid", color="black", weight=3]; 11.77/4.74 209[label="map toEnumMyBool (takeWhile0 (flip gtEsMyInt (Pos (Succ Zero))) (Pos Zero) (iterate (primPlusInt (Neg (Succ Zero))) (primPlusInt (Neg (Succ Zero)) (Pos Zero))) MyTrue)",fontsize=16,color="black",shape="box"];209 -> 214[label="",style="solid", color="black", weight=3]; 11.77/4.74 210[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (Pos Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos Zero)))) (ltEsMyInt (primPlusInt (Pos Zero) (Pos Zero)) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];210 -> 215[label="",style="solid", color="black", weight=3]; 11.77/4.74 211 -> 106[label="",style="dashed", color="red", weight=0]; 11.77/4.74 211[label="toEnumMyBool (Pos (Succ Zero))",fontsize=16,color="magenta"];212[label="map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];212 -> 216[label="",style="solid", color="black", weight=3]; 11.77/4.74 213[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))))) (flip ltEsMyInt (Pos (Succ Zero)) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];213 -> 217[label="",style="solid", color="black", weight=3]; 11.77/4.74 214[label="map toEnumMyBool Nil",fontsize=16,color="black",shape="triangle"];214 -> 218[label="",style="solid", color="black", weight=3]; 11.77/4.74 215[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (Pos Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos Zero)))) (fsEsOrdering (compareMyInt (primPlusInt (Pos Zero) (Pos Zero)) (Pos (Succ Zero))) GT))",fontsize=16,color="black",shape="box"];215 -> 219[label="",style="solid", color="black", weight=3]; 11.77/4.74 216[label="map toEnumMyBool (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (Cons (primPlusInt (Pos Zero) (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];216 -> 220[label="",style="solid", color="black", weight=3]; 11.77/4.74 217[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))))) (ltEsMyInt (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];217 -> 221[label="",style="solid", color="black", weight=3]; 11.77/4.74 218[label="Nil",fontsize=16,color="green",shape="box"];219[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (Pos Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos Zero)))) (not (esEsOrdering (compareMyInt (primPlusInt (Pos Zero) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];219 -> 222[label="",style="solid", color="black", weight=3]; 11.77/4.74 220[label="map toEnumMyBool (takeWhile2 (flip ltEsMyInt (Pos (Succ Zero))) (Cons (primPlusInt (Pos Zero) (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];220 -> 223[label="",style="solid", color="black", weight=3]; 11.77/4.74 221[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) GT))",fontsize=16,color="black",shape="box"];221 -> 224[label="",style="solid", color="black", weight=3]; 11.77/4.74 222 -> 154[label="",style="dashed", color="red", weight=0]; 11.77/4.74 222[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (Pos Zero)) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos Zero)))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (Pos Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="magenta"];223[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (flip ltEsMyInt (Pos (Succ Zero)) (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];223 -> 225[label="",style="solid", color="black", weight=3]; 11.77/4.74 224[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];224 -> 226[label="",style="solid", color="black", weight=3]; 11.77/4.74 225[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (ltEsMyInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];225 -> 227[label="",style="solid", color="black", weight=3]; 11.77/4.74 226[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];226 -> 228[label="",style="solid", color="black", weight=3]; 11.77/4.74 227[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) GT))",fontsize=16,color="black",shape="box"];227 -> 229[label="",style="solid", color="black", weight=3]; 11.77/4.74 228[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (primPlusNat (Succ Zero) (Succ Zero))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (primPlusNat (Succ Zero) (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat (Succ Zero) (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];228 -> 230[label="",style="solid", color="black", weight=3]; 11.77/4.74 229[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];229 -> 231[label="",style="solid", color="black", weight=3]; 11.77/4.74 230[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ (Succ (primPlusNat Zero Zero)))))) (not (esEsOrdering (primCmpInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];230 -> 232[label="",style="solid", color="black", weight=3]; 11.77/4.74 231 -> 169[label="",style="dashed", color="red", weight=0]; 11.77/4.74 231[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (Pos (Succ Zero))) (iterate (primPlusInt (Pos Zero)) (primPlusInt (Pos Zero) (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="magenta"];232[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ (Succ (primPlusNat Zero Zero)))))) (not (esEsOrdering (primCmpNat (Succ (Succ (primPlusNat Zero Zero))) (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];232 -> 233[label="",style="solid", color="black", weight=3]; 11.77/4.74 233[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ (Succ (primPlusNat Zero Zero)))))) (not (esEsOrdering (primCmpNat (Succ (primPlusNat Zero Zero)) Zero) GT)))",fontsize=16,color="black",shape="box"];233 -> 234[label="",style="solid", color="black", weight=3]; 11.77/4.74 234[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ (Succ (primPlusNat Zero Zero)))))) (not (esEsOrdering GT GT)))",fontsize=16,color="black",shape="box"];234 -> 235[label="",style="solid", color="black", weight=3]; 11.77/4.74 235[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ (Succ (primPlusNat Zero Zero)))))) (not MyTrue))",fontsize=16,color="black",shape="box"];235 -> 236[label="",style="solid", color="black", weight=3]; 11.77/4.74 236[label="map toEnumMyBool (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ (Succ (primPlusNat Zero Zero)))))) MyFalse)",fontsize=16,color="black",shape="box"];236 -> 237[label="",style="solid", color="black", weight=3]; 11.77/4.74 237[label="map toEnumMyBool (takeWhile0 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ (Succ (primPlusNat Zero Zero)))))) otherwise)",fontsize=16,color="black",shape="box"];237 -> 238[label="",style="solid", color="black", weight=3]; 11.77/4.74 238[label="map toEnumMyBool (takeWhile0 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (iterate (primPlusInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ (Succ (primPlusNat Zero Zero)))))) MyTrue)",fontsize=16,color="black",shape="box"];238 -> 239[label="",style="solid", color="black", weight=3]; 11.77/4.74 239 -> 214[label="",style="dashed", color="red", weight=0]; 11.77/4.74 239[label="map toEnumMyBool Nil",fontsize=16,color="magenta"];} 11.77/4.74 11.77/4.74 ---------------------------------------- 11.77/4.74 11.77/4.74 (6) 11.77/4.74 Complex Obligation (AND) 11.77/4.74 11.77/4.74 ---------------------------------------- 11.77/4.74 11.77/4.74 (7) 11.77/4.74 Obligation: 11.77/4.74 Q DP problem: 11.77/4.74 P is empty. 11.77/4.74 R is empty. 11.77/4.74 Q is empty. 11.77/4.74 We have to consider all (P,Q,R)-chains. 11.77/4.74 ---------------------------------------- 11.77/4.74 11.77/4.74 (8) PisEmptyProof (EQUIVALENT) 11.77/4.74 The TRS P is empty. Hence, there is no (P,Q,R) chain. 11.77/4.74 ---------------------------------------- 11.77/4.74 11.77/4.74 (9) 11.77/4.74 YES 11.77/4.74 11.77/4.74 ---------------------------------------- 11.77/4.74 11.77/4.74 (10) 11.77/4.74 Obligation: 11.77/4.74 Q DP problem: 11.77/4.74 The TRS P consists of the following rules: 11.77/4.74 11.77/4.74 new_map0([]) -> new_map0([]) 11.77/4.74 11.77/4.74 R is empty. 11.77/4.74 Q is empty. 11.77/4.74 We have to consider all (P,Q,R)-chains. 11.77/4.74 ---------------------------------------- 11.77/4.74 11.77/4.74 (11) NonTerminationLoopProof (COMPLETE) 11.77/4.74 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 11.77/4.74 Found a loop by semiunifying a rule from P directly. 11.77/4.74 11.77/4.74 s = new_map0([]) evaluates to t =new_map0([]) 11.77/4.74 11.77/4.74 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 11.77/4.74 * Matcher: [ ] 11.77/4.74 * Semiunifier: [ ] 11.77/4.74 11.77/4.74 -------------------------------------------------------------------------------- 11.77/4.74 Rewriting sequence 11.77/4.74 11.77/4.74 The DP semiunifies directly so there is only one rewrite step from new_map0([]) to new_map0([]). 11.77/4.74 11.77/4.74 11.77/4.74 11.77/4.74 11.77/4.74 ---------------------------------------- 11.77/4.74 11.77/4.74 (12) 11.77/4.74 NO 11.77/4.74 11.77/4.74 ---------------------------------------- 11.77/4.74 11.77/4.74 (13) 11.77/4.74 Obligation: 11.77/4.74 Q DP problem: 11.77/4.74 The TRS P consists of the following rules: 11.77/4.74 11.77/4.74 new_map([]) -> new_map([]) 11.77/4.74 11.77/4.74 R is empty. 11.77/4.74 Q is empty. 11.77/4.74 We have to consider all (P,Q,R)-chains. 11.82/4.78 EOF