8.79/3.91 YES 11.20/4.58 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 11.20/4.58 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 11.20/4.58 11.20/4.58 11.20/4.58 H-Termination with start terms of the given HASKELL could be proven: 11.20/4.58 11.20/4.58 (0) HASKELL 11.20/4.58 (1) BR [EQUIVALENT, 0 ms] 11.20/4.58 (2) HASKELL 11.20/4.58 (3) COR [EQUIVALENT, 0 ms] 11.20/4.58 (4) HASKELL 11.20/4.58 (5) Narrow [EQUIVALENT, 202 ms] 11.20/4.58 (6) YES 11.20/4.58 11.20/4.58 11.20/4.58 ---------------------------------------- 11.20/4.58 11.20/4.58 (0) 11.20/4.58 Obligation: 11.20/4.58 mainModule Main 11.20/4.58 module Main where { 11.20/4.58 import qualified Prelude; 11.20/4.58 data List a = Cons a (List a) | Nil ; 11.20/4.58 11.20/4.58 data MyBool = MyTrue | MyFalse ; 11.20/4.58 11.20/4.58 data MyInt = Pos Main.Nat | Neg Main.Nat ; 11.20/4.58 11.20/4.58 data Main.Nat = Succ Main.Nat | Zero ; 11.20/4.58 11.20/4.58 data Ordering = LT | EQ | GT ; 11.20/4.58 11.20/4.58 data Main.WHNF a = WHNF a ; 11.20/4.58 11.20/4.58 compareMyInt :: MyInt -> MyInt -> Ordering; 11.20/4.58 compareMyInt = primCmpInt; 11.20/4.58 11.20/4.58 dsEm :: (a -> b) -> a -> b; 11.20/4.58 dsEm f x = Main.seq x (f x); 11.20/4.58 11.20/4.58 enforceWHNF :: Main.WHNF a -> b -> b; 11.20/4.58 enforceWHNF (Main.WHNF x) y = y; 11.20/4.58 11.20/4.58 enumFromToMyInt :: MyInt -> MyInt -> List MyInt; 11.20/4.58 enumFromToMyInt = numericEnumFromTo; 11.20/4.58 11.20/4.58 enumFromToOrdering :: Ordering -> Ordering -> List Ordering; 11.20/4.58 enumFromToOrdering x y = map toEnumOrdering (enumFromToMyInt (fromEnumOrdering x) (fromEnumOrdering y)); 11.20/4.58 11.20/4.58 esEsMyInt :: MyInt -> MyInt -> MyBool; 11.20/4.58 esEsMyInt = primEqInt; 11.20/4.58 11.20/4.58 esEsOrdering :: Ordering -> Ordering -> MyBool; 11.20/4.58 esEsOrdering LT LT = MyTrue; 11.20/4.58 esEsOrdering LT EQ = MyFalse; 11.20/4.58 esEsOrdering LT GT = MyFalse; 11.20/4.58 esEsOrdering EQ LT = MyFalse; 11.20/4.58 esEsOrdering EQ EQ = MyTrue; 11.20/4.58 esEsOrdering EQ GT = MyFalse; 11.20/4.58 esEsOrdering GT LT = MyFalse; 11.20/4.58 esEsOrdering GT EQ = MyFalse; 11.20/4.58 esEsOrdering GT GT = MyTrue; 11.20/4.58 11.20/4.58 flip :: (b -> c -> a) -> c -> b -> a; 11.20/4.58 flip f x y = f y x; 11.20/4.58 11.20/4.58 fromEnumOrdering :: Ordering -> MyInt; 11.20/4.58 fromEnumOrdering LT = Main.Pos Main.Zero; 11.20/4.58 fromEnumOrdering EQ = Main.Pos (Main.Succ Main.Zero); 11.20/4.58 fromEnumOrdering GT = Main.Pos (Main.Succ (Main.Succ Main.Zero)); 11.20/4.58 11.20/4.58 fromIntMyInt :: MyInt -> MyInt; 11.20/4.58 fromIntMyInt x = x; 11.20/4.58 11.20/4.58 fsEsOrdering :: Ordering -> Ordering -> MyBool; 11.20/4.58 fsEsOrdering x y = not (esEsOrdering x y); 11.20/4.58 11.20/4.58 ltEsMyInt :: MyInt -> MyInt -> MyBool; 11.20/4.58 ltEsMyInt x y = fsEsOrdering (compareMyInt x y) GT; 11.20/4.58 11.20/4.58 map :: (a -> b) -> List a -> List b; 11.20/4.58 map f Nil = Nil; 11.20/4.58 map f (Cons x xs) = Cons (f x) (map f xs); 11.20/4.58 11.20/4.58 not :: MyBool -> MyBool; 11.20/4.58 not MyTrue = MyFalse; 11.20/4.58 not MyFalse = MyTrue; 11.20/4.58 11.20/4.58 numericEnumFrom n = Cons n (dsEm numericEnumFrom (psMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero))))); 11.20/4.58 11.20/4.58 numericEnumFromTo n m = takeWhile (flip ltEsMyInt m) (numericEnumFrom n); 11.20/4.58 11.20/4.58 otherwise :: MyBool; 11.20/4.58 otherwise = MyTrue; 11.20/4.58 11.20/4.58 primCmpInt :: MyInt -> MyInt -> Ordering; 11.20/4.58 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 11.20/4.58 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 11.20/4.58 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 11.20/4.58 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 11.20/4.58 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 11.20/4.58 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 11.20/4.58 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 11.20/4.58 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 11.20/4.58 11.20/4.58 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 11.20/4.58 primCmpNat Main.Zero Main.Zero = EQ; 11.20/4.58 primCmpNat Main.Zero (Main.Succ y) = LT; 11.20/4.58 primCmpNat (Main.Succ x) Main.Zero = GT; 11.20/4.58 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 11.20/4.58 11.20/4.58 primEqInt :: MyInt -> MyInt -> MyBool; 11.20/4.58 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 11.20/4.58 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 11.20/4.58 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 11.20/4.58 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 11.20/4.58 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 11.20/4.58 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 11.20/4.58 primEqInt vv vw = MyFalse; 11.20/4.58 11.20/4.58 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 11.20/4.58 primEqNat Main.Zero Main.Zero = MyTrue; 11.20/4.58 primEqNat Main.Zero (Main.Succ y) = MyFalse; 11.20/4.58 primEqNat (Main.Succ x) Main.Zero = MyFalse; 11.20/4.58 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 11.20/4.58 11.20/4.58 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 11.20/4.58 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 11.20/4.58 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 11.20/4.58 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 11.20/4.58 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 11.20/4.58 11.20/4.58 primPlusInt :: MyInt -> MyInt -> MyInt; 11.20/4.58 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 11.20/4.58 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 11.20/4.58 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 11.20/4.58 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 11.20/4.58 11.20/4.58 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 11.20/4.58 primPlusNat Main.Zero Main.Zero = Main.Zero; 11.20/4.58 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 11.20/4.58 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 11.20/4.58 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 11.20/4.58 11.20/4.58 psMyInt :: MyInt -> MyInt -> MyInt; 11.20/4.58 psMyInt = primPlusInt; 11.20/4.58 11.20/4.58 seq :: a -> b -> b; 11.20/4.58 seq x y = Main.enforceWHNF (Main.WHNF x) y; 11.20/4.58 11.20/4.58 takeWhile :: (a -> MyBool) -> List a -> List a; 11.20/4.58 takeWhile p Nil = takeWhile3 p Nil; 11.20/4.58 takeWhile p (Cons x xs) = takeWhile2 p (Cons x xs); 11.20/4.58 11.20/4.58 takeWhile0 p x xs MyTrue = Nil; 11.20/4.58 11.20/4.58 takeWhile1 p x xs MyTrue = Cons x (takeWhile p xs); 11.20/4.58 takeWhile1 p x xs MyFalse = takeWhile0 p x xs otherwise; 11.20/4.58 11.20/4.58 takeWhile2 p (Cons x xs) = takeWhile1 p x xs (p x); 11.20/4.58 11.20/4.58 takeWhile3 p Nil = Nil; 11.20/4.58 takeWhile3 xw xx = takeWhile2 xw xx; 11.20/4.58 11.20/4.58 toEnum0 MyTrue vx = GT; 11.20/4.58 11.20/4.58 toEnum1 vx = toEnum0 (esEsMyInt vx (Main.Pos (Main.Succ (Main.Succ Main.Zero)))) vx; 11.20/4.58 11.20/4.58 toEnum2 MyTrue vy = EQ; 11.20/4.58 toEnum2 vz wu = toEnum1 wu; 11.20/4.58 11.20/4.58 toEnum3 vy = toEnum2 (esEsMyInt vy (Main.Pos (Main.Succ Main.Zero))) vy; 11.20/4.58 toEnum3 wv = toEnum1 wv; 11.20/4.58 11.20/4.58 toEnum4 MyTrue ww = LT; 11.20/4.58 toEnum4 wx wy = toEnum3 wy; 11.20/4.58 11.20/4.58 toEnum5 ww = toEnum4 (esEsMyInt ww (Main.Pos Main.Zero)) ww; 11.20/4.58 toEnum5 wz = toEnum3 wz; 11.20/4.58 11.20/4.58 toEnumOrdering :: MyInt -> Ordering; 11.20/4.58 toEnumOrdering ww = toEnum5 ww; 11.20/4.58 toEnumOrdering vy = toEnum3 vy; 11.20/4.58 toEnumOrdering vx = toEnum1 vx; 11.20/4.58 11.20/4.58 } 11.20/4.58 11.20/4.58 ---------------------------------------- 11.20/4.58 11.20/4.58 (1) BR (EQUIVALENT) 11.20/4.58 Replaced joker patterns by fresh variables and removed binding patterns. 11.20/4.58 ---------------------------------------- 11.20/4.58 11.20/4.58 (2) 11.20/4.58 Obligation: 11.20/4.58 mainModule Main 11.20/4.58 module Main where { 11.20/4.58 import qualified Prelude; 11.20/4.58 data List a = Cons a (List a) | Nil ; 11.20/4.58 11.20/4.58 data MyBool = MyTrue | MyFalse ; 11.20/4.58 11.20/4.58 data MyInt = Pos Main.Nat | Neg Main.Nat ; 11.20/4.58 11.20/4.58 data Main.Nat = Succ Main.Nat | Zero ; 11.20/4.58 11.20/4.58 data Ordering = LT | EQ | GT ; 11.20/4.58 11.20/4.58 data Main.WHNF a = WHNF a ; 11.20/4.58 11.20/4.58 compareMyInt :: MyInt -> MyInt -> Ordering; 11.20/4.58 compareMyInt = primCmpInt; 11.20/4.58 11.20/4.58 dsEm :: (a -> b) -> a -> b; 11.20/4.58 dsEm f x = Main.seq x (f x); 11.20/4.58 11.20/4.58 enforceWHNF :: Main.WHNF b -> a -> a; 11.20/4.58 enforceWHNF (Main.WHNF x) y = y; 11.20/4.58 11.20/4.58 enumFromToMyInt :: MyInt -> MyInt -> List MyInt; 11.20/4.58 enumFromToMyInt = numericEnumFromTo; 11.20/4.58 11.20/4.58 enumFromToOrdering :: Ordering -> Ordering -> List Ordering; 11.20/4.58 enumFromToOrdering x y = map toEnumOrdering (enumFromToMyInt (fromEnumOrdering x) (fromEnumOrdering y)); 11.20/4.58 11.20/4.58 esEsMyInt :: MyInt -> MyInt -> MyBool; 11.20/4.58 esEsMyInt = primEqInt; 11.20/4.58 11.20/4.58 esEsOrdering :: Ordering -> Ordering -> MyBool; 11.20/4.58 esEsOrdering LT LT = MyTrue; 11.20/4.58 esEsOrdering LT EQ = MyFalse; 11.20/4.58 esEsOrdering LT GT = MyFalse; 11.20/4.58 esEsOrdering EQ LT = MyFalse; 11.20/4.58 esEsOrdering EQ EQ = MyTrue; 11.20/4.58 esEsOrdering EQ GT = MyFalse; 11.20/4.58 esEsOrdering GT LT = MyFalse; 11.20/4.58 esEsOrdering GT EQ = MyFalse; 11.20/4.58 esEsOrdering GT GT = MyTrue; 11.20/4.58 11.20/4.58 flip :: (b -> c -> a) -> c -> b -> a; 11.20/4.58 flip f x y = f y x; 11.20/4.58 11.20/4.58 fromEnumOrdering :: Ordering -> MyInt; 11.20/4.58 fromEnumOrdering LT = Main.Pos Main.Zero; 11.20/4.58 fromEnumOrdering EQ = Main.Pos (Main.Succ Main.Zero); 11.20/4.58 fromEnumOrdering GT = Main.Pos (Main.Succ (Main.Succ Main.Zero)); 11.20/4.58 11.20/4.58 fromIntMyInt :: MyInt -> MyInt; 11.20/4.58 fromIntMyInt x = x; 11.20/4.58 11.20/4.58 fsEsOrdering :: Ordering -> Ordering -> MyBool; 11.20/4.58 fsEsOrdering x y = not (esEsOrdering x y); 11.20/4.58 11.20/4.58 ltEsMyInt :: MyInt -> MyInt -> MyBool; 11.20/4.58 ltEsMyInt x y = fsEsOrdering (compareMyInt x y) GT; 11.20/4.58 11.20/4.58 map :: (a -> b) -> List a -> List b; 11.20/4.58 map f Nil = Nil; 11.20/4.58 map f (Cons x xs) = Cons (f x) (map f xs); 11.20/4.58 11.20/4.58 not :: MyBool -> MyBool; 11.20/4.58 not MyTrue = MyFalse; 11.20/4.58 not MyFalse = MyTrue; 11.20/4.58 11.20/4.58 numericEnumFrom n = Cons n (dsEm numericEnumFrom (psMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero))))); 11.20/4.58 11.20/4.58 numericEnumFromTo n m = takeWhile (flip ltEsMyInt m) (numericEnumFrom n); 11.20/4.58 11.20/4.58 otherwise :: MyBool; 11.20/4.58 otherwise = MyTrue; 11.20/4.58 11.20/4.58 primCmpInt :: MyInt -> MyInt -> Ordering; 11.20/4.58 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 11.20/4.58 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 11.20/4.58 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 11.20/4.58 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 11.20/4.58 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 11.20/4.58 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 11.20/4.58 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 11.20/4.58 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 11.20/4.58 11.20/4.58 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 11.20/4.58 primCmpNat Main.Zero Main.Zero = EQ; 11.20/4.58 primCmpNat Main.Zero (Main.Succ y) = LT; 11.20/4.58 primCmpNat (Main.Succ x) Main.Zero = GT; 11.20/4.58 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 11.20/4.58 11.20/4.58 primEqInt :: MyInt -> MyInt -> MyBool; 11.20/4.58 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 11.20/4.58 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 11.20/4.58 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 11.20/4.58 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 11.20/4.58 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 11.20/4.58 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 11.20/4.58 primEqInt vv vw = MyFalse; 11.20/4.58 11.20/4.58 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 11.20/4.58 primEqNat Main.Zero Main.Zero = MyTrue; 11.20/4.58 primEqNat Main.Zero (Main.Succ y) = MyFalse; 11.20/4.58 primEqNat (Main.Succ x) Main.Zero = MyFalse; 11.20/4.58 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 11.20/4.58 11.20/4.58 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 11.20/4.58 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 11.20/4.58 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 11.20/4.58 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 11.20/4.58 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 11.20/4.58 11.20/4.58 primPlusInt :: MyInt -> MyInt -> MyInt; 11.20/4.58 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 11.20/4.58 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 11.20/4.58 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 11.20/4.58 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 11.20/4.58 11.20/4.58 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 11.20/4.58 primPlusNat Main.Zero Main.Zero = Main.Zero; 11.20/4.58 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 11.20/4.59 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 11.20/4.59 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 11.20/4.59 11.20/4.59 psMyInt :: MyInt -> MyInt -> MyInt; 11.20/4.59 psMyInt = primPlusInt; 11.20/4.59 11.20/4.59 seq :: b -> a -> a; 11.20/4.59 seq x y = Main.enforceWHNF (Main.WHNF x) y; 11.20/4.59 11.20/4.59 takeWhile :: (a -> MyBool) -> List a -> List a; 11.20/4.59 takeWhile p Nil = takeWhile3 p Nil; 11.20/4.59 takeWhile p (Cons x xs) = takeWhile2 p (Cons x xs); 11.20/4.59 11.20/4.59 takeWhile0 p x xs MyTrue = Nil; 11.20/4.59 11.20/4.59 takeWhile1 p x xs MyTrue = Cons x (takeWhile p xs); 11.20/4.59 takeWhile1 p x xs MyFalse = takeWhile0 p x xs otherwise; 11.20/4.59 11.20/4.59 takeWhile2 p (Cons x xs) = takeWhile1 p x xs (p x); 11.20/4.59 11.20/4.59 takeWhile3 p Nil = Nil; 11.20/4.59 takeWhile3 xw xx = takeWhile2 xw xx; 11.20/4.59 11.20/4.59 toEnum0 MyTrue vx = GT; 11.20/4.59 11.20/4.59 toEnum1 vx = toEnum0 (esEsMyInt vx (Main.Pos (Main.Succ (Main.Succ Main.Zero)))) vx; 11.20/4.59 11.20/4.59 toEnum2 MyTrue vy = EQ; 11.20/4.59 toEnum2 vz wu = toEnum1 wu; 11.20/4.59 11.20/4.59 toEnum3 vy = toEnum2 (esEsMyInt vy (Main.Pos (Main.Succ Main.Zero))) vy; 11.20/4.59 toEnum3 wv = toEnum1 wv; 11.20/4.59 11.20/4.59 toEnum4 MyTrue ww = LT; 11.20/4.59 toEnum4 wx wy = toEnum3 wy; 11.20/4.59 11.20/4.59 toEnum5 ww = toEnum4 (esEsMyInt ww (Main.Pos Main.Zero)) ww; 11.20/4.59 toEnum5 wz = toEnum3 wz; 11.20/4.59 11.20/4.59 toEnumOrdering :: MyInt -> Ordering; 11.20/4.59 toEnumOrdering ww = toEnum5 ww; 11.20/4.59 toEnumOrdering vy = toEnum3 vy; 11.20/4.59 toEnumOrdering vx = toEnum1 vx; 11.20/4.59 11.20/4.59 } 11.20/4.59 11.20/4.59 ---------------------------------------- 11.20/4.59 11.20/4.59 (3) COR (EQUIVALENT) 11.20/4.59 Cond Reductions: 11.20/4.59 The following Function with conditions 11.20/4.59 "undefined |Falseundefined; 11.20/4.59 " 11.20/4.59 is transformed to 11.20/4.59 "undefined = undefined1; 11.20/4.59 " 11.20/4.59 "undefined0 True = undefined; 11.20/4.59 " 11.20/4.59 "undefined1 = undefined0 False; 11.20/4.59 " 11.20/4.59 11.20/4.59 ---------------------------------------- 11.20/4.59 11.20/4.59 (4) 11.20/4.59 Obligation: 11.20/4.59 mainModule Main 11.20/4.59 module Main where { 11.20/4.59 import qualified Prelude; 11.20/4.59 data List a = Cons a (List a) | Nil ; 11.20/4.59 11.20/4.59 data MyBool = MyTrue | MyFalse ; 11.20/4.59 11.20/4.59 data MyInt = Pos Main.Nat | Neg Main.Nat ; 11.20/4.59 11.20/4.59 data Main.Nat = Succ Main.Nat | Zero ; 11.20/4.59 11.20/4.59 data Ordering = LT | EQ | GT ; 11.20/4.59 11.20/4.59 data Main.WHNF a = WHNF a ; 11.20/4.59 11.20/4.59 compareMyInt :: MyInt -> MyInt -> Ordering; 11.20/4.59 compareMyInt = primCmpInt; 11.20/4.59 11.20/4.59 dsEm :: (b -> a) -> b -> a; 11.20/4.59 dsEm f x = Main.seq x (f x); 11.20/4.59 11.20/4.59 enforceWHNF :: Main.WHNF b -> a -> a; 11.20/4.59 enforceWHNF (Main.WHNF x) y = y; 11.20/4.59 11.20/4.59 enumFromToMyInt :: MyInt -> MyInt -> List MyInt; 11.20/4.59 enumFromToMyInt = numericEnumFromTo; 11.20/4.59 11.20/4.59 enumFromToOrdering :: Ordering -> Ordering -> List Ordering; 11.20/4.59 enumFromToOrdering x y = map toEnumOrdering (enumFromToMyInt (fromEnumOrdering x) (fromEnumOrdering y)); 11.20/4.59 11.20/4.59 esEsMyInt :: MyInt -> MyInt -> MyBool; 11.20/4.59 esEsMyInt = primEqInt; 11.20/4.59 11.20/4.59 esEsOrdering :: Ordering -> Ordering -> MyBool; 11.20/4.59 esEsOrdering LT LT = MyTrue; 11.20/4.59 esEsOrdering LT EQ = MyFalse; 11.20/4.59 esEsOrdering LT GT = MyFalse; 11.20/4.59 esEsOrdering EQ LT = MyFalse; 11.20/4.59 esEsOrdering EQ EQ = MyTrue; 11.20/4.59 esEsOrdering EQ GT = MyFalse; 11.20/4.59 esEsOrdering GT LT = MyFalse; 11.20/4.59 esEsOrdering GT EQ = MyFalse; 11.20/4.59 esEsOrdering GT GT = MyTrue; 11.20/4.59 11.20/4.59 flip :: (b -> c -> a) -> c -> b -> a; 11.20/4.59 flip f x y = f y x; 11.20/4.59 11.20/4.59 fromEnumOrdering :: Ordering -> MyInt; 11.20/4.59 fromEnumOrdering LT = Main.Pos Main.Zero; 11.20/4.59 fromEnumOrdering EQ = Main.Pos (Main.Succ Main.Zero); 11.20/4.59 fromEnumOrdering GT = Main.Pos (Main.Succ (Main.Succ Main.Zero)); 11.20/4.59 11.20/4.59 fromIntMyInt :: MyInt -> MyInt; 11.20/4.59 fromIntMyInt x = x; 11.20/4.59 11.20/4.59 fsEsOrdering :: Ordering -> Ordering -> MyBool; 11.20/4.59 fsEsOrdering x y = not (esEsOrdering x y); 11.20/4.59 11.20/4.59 ltEsMyInt :: MyInt -> MyInt -> MyBool; 11.20/4.59 ltEsMyInt x y = fsEsOrdering (compareMyInt x y) GT; 11.20/4.59 11.20/4.59 map :: (a -> b) -> List a -> List b; 11.20/4.59 map f Nil = Nil; 11.20/4.59 map f (Cons x xs) = Cons (f x) (map f xs); 11.20/4.59 11.20/4.59 not :: MyBool -> MyBool; 11.20/4.59 not MyTrue = MyFalse; 11.20/4.59 not MyFalse = MyTrue; 11.20/4.59 11.20/4.59 numericEnumFrom n = Cons n (dsEm numericEnumFrom (psMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero))))); 11.20/4.59 11.20/4.59 numericEnumFromTo n m = takeWhile (flip ltEsMyInt m) (numericEnumFrom n); 11.20/4.59 11.20/4.59 otherwise :: MyBool; 11.20/4.59 otherwise = MyTrue; 11.20/4.59 11.20/4.59 primCmpInt :: MyInt -> MyInt -> Ordering; 11.20/4.59 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 11.20/4.59 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 11.20/4.59 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 11.20/4.59 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 11.20/4.59 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 11.20/4.59 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 11.20/4.59 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 11.20/4.59 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 11.20/4.59 11.20/4.59 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 11.20/4.59 primCmpNat Main.Zero Main.Zero = EQ; 11.20/4.59 primCmpNat Main.Zero (Main.Succ y) = LT; 11.20/4.59 primCmpNat (Main.Succ x) Main.Zero = GT; 11.20/4.59 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 11.20/4.59 11.20/4.59 primEqInt :: MyInt -> MyInt -> MyBool; 11.20/4.59 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 11.20/4.59 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 11.20/4.59 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 11.20/4.59 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 11.20/4.59 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 11.20/4.59 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 11.20/4.59 primEqInt vv vw = MyFalse; 11.20/4.59 11.20/4.59 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 11.20/4.59 primEqNat Main.Zero Main.Zero = MyTrue; 11.20/4.59 primEqNat Main.Zero (Main.Succ y) = MyFalse; 11.20/4.59 primEqNat (Main.Succ x) Main.Zero = MyFalse; 11.20/4.59 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 11.20/4.59 11.20/4.59 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 11.20/4.59 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 11.20/4.59 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 11.20/4.59 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 11.20/4.59 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 11.20/4.59 11.20/4.59 primPlusInt :: MyInt -> MyInt -> MyInt; 11.20/4.59 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 11.20/4.59 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 11.20/4.59 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 11.20/4.59 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 11.20/4.59 11.20/4.59 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 11.20/4.59 primPlusNat Main.Zero Main.Zero = Main.Zero; 11.20/4.59 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 11.20/4.59 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 11.20/4.59 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 11.20/4.59 11.20/4.59 psMyInt :: MyInt -> MyInt -> MyInt; 11.20/4.59 psMyInt = primPlusInt; 11.20/4.59 11.20/4.59 seq :: b -> a -> a; 11.20/4.59 seq x y = Main.enforceWHNF (Main.WHNF x) y; 11.20/4.59 11.20/4.59 takeWhile :: (a -> MyBool) -> List a -> List a; 11.20/4.59 takeWhile p Nil = takeWhile3 p Nil; 11.20/4.59 takeWhile p (Cons x xs) = takeWhile2 p (Cons x xs); 11.20/4.59 11.20/4.59 takeWhile0 p x xs MyTrue = Nil; 11.20/4.59 11.20/4.59 takeWhile1 p x xs MyTrue = Cons x (takeWhile p xs); 11.20/4.59 takeWhile1 p x xs MyFalse = takeWhile0 p x xs otherwise; 11.20/4.59 11.20/4.59 takeWhile2 p (Cons x xs) = takeWhile1 p x xs (p x); 11.20/4.59 11.20/4.59 takeWhile3 p Nil = Nil; 11.20/4.59 takeWhile3 xw xx = takeWhile2 xw xx; 11.20/4.59 11.20/4.59 toEnum0 MyTrue vx = GT; 11.20/4.59 11.20/4.59 toEnum1 vx = toEnum0 (esEsMyInt vx (Main.Pos (Main.Succ (Main.Succ Main.Zero)))) vx; 11.20/4.59 11.20/4.59 toEnum2 MyTrue vy = EQ; 11.20/4.59 toEnum2 vz wu = toEnum1 wu; 11.20/4.59 11.20/4.59 toEnum3 vy = toEnum2 (esEsMyInt vy (Main.Pos (Main.Succ Main.Zero))) vy; 11.20/4.59 toEnum3 wv = toEnum1 wv; 11.20/4.59 11.20/4.59 toEnum4 MyTrue ww = LT; 11.20/4.59 toEnum4 wx wy = toEnum3 wy; 11.20/4.59 11.20/4.59 toEnum5 ww = toEnum4 (esEsMyInt ww (Main.Pos Main.Zero)) ww; 11.20/4.59 toEnum5 wz = toEnum3 wz; 11.20/4.59 11.20/4.59 toEnumOrdering :: MyInt -> Ordering; 11.20/4.59 toEnumOrdering ww = toEnum5 ww; 11.20/4.59 toEnumOrdering vy = toEnum3 vy; 11.20/4.59 toEnumOrdering vx = toEnum1 vx; 11.20/4.59 11.20/4.59 } 11.20/4.59 11.20/4.59 ---------------------------------------- 11.20/4.59 11.20/4.59 (5) Narrow (EQUIVALENT) 11.20/4.59 Haskell To QDPs 11.20/4.59 11.20/4.59 digraph dp_graph { 11.20/4.59 node [outthreshold=100, inthreshold=100];1[label="enumFromToOrdering",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 11.20/4.59 3[label="enumFromToOrdering xy3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 11.20/4.59 4[label="enumFromToOrdering xy3 xy4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 11.20/4.59 5[label="map toEnumOrdering (enumFromToMyInt (fromEnumOrdering xy3) (fromEnumOrdering xy4))",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 11.20/4.59 6[label="map toEnumOrdering (numericEnumFromTo (fromEnumOrdering xy3) (fromEnumOrdering xy4))",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 11.20/4.59 7[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (fromEnumOrdering xy4)) (numericEnumFrom (fromEnumOrdering xy3)))",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 11.20/4.59 8[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (fromEnumOrdering xy4)) (Cons (fromEnumOrdering xy3) (dsEm numericEnumFrom (psMyInt (fromEnumOrdering xy3) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 11.20/4.59 9[label="map toEnumOrdering (takeWhile2 (flip ltEsMyInt (fromEnumOrdering xy4)) (Cons (fromEnumOrdering xy3) (dsEm numericEnumFrom (psMyInt (fromEnumOrdering xy3) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 11.20/4.59 10[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering xy4)) (fromEnumOrdering xy3) (dsEm numericEnumFrom (psMyInt (fromEnumOrdering xy3) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (fromEnumOrdering xy4) (fromEnumOrdering xy3)))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 11.20/4.59 11[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering xy4)) (fromEnumOrdering xy3) (dsEm numericEnumFrom (psMyInt (fromEnumOrdering xy3) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (fromEnumOrdering xy3) (fromEnumOrdering xy4)))",fontsize=16,color="black",shape="box"];11 -> 12[label="",style="solid", color="black", weight=3]; 11.20/4.59 12[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering xy4)) (fromEnumOrdering xy3) (dsEm numericEnumFrom (psMyInt (fromEnumOrdering xy3) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (fromEnumOrdering xy3) (fromEnumOrdering xy4)) GT))",fontsize=16,color="black",shape="box"];12 -> 13[label="",style="solid", color="black", weight=3]; 11.20/4.59 13[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering xy4)) (fromEnumOrdering xy3) (dsEm numericEnumFrom (psMyInt (fromEnumOrdering xy3) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (fromEnumOrdering xy3) (fromEnumOrdering xy4)) GT)))",fontsize=16,color="black",shape="box"];13 -> 14[label="",style="solid", color="black", weight=3]; 11.20/4.59 14[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering xy4)) (fromEnumOrdering xy3) (dsEm numericEnumFrom (psMyInt (fromEnumOrdering xy3) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (fromEnumOrdering xy3) (fromEnumOrdering xy4)) GT)))",fontsize=16,color="burlywood",shape="box"];250[label="xy3/LT",fontsize=10,color="white",style="solid",shape="box"];14 -> 250[label="",style="solid", color="burlywood", weight=9]; 11.20/4.59 250 -> 15[label="",style="solid", color="burlywood", weight=3]; 11.20/4.59 251[label="xy3/EQ",fontsize=10,color="white",style="solid",shape="box"];14 -> 251[label="",style="solid", color="burlywood", weight=9]; 11.20/4.59 251 -> 16[label="",style="solid", color="burlywood", weight=3]; 11.20/4.59 252[label="xy3/GT",fontsize=10,color="white",style="solid",shape="box"];14 -> 252[label="",style="solid", color="burlywood", weight=9]; 11.20/4.59 252 -> 17[label="",style="solid", color="burlywood", weight=3]; 11.20/4.59 15[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering xy4)) (fromEnumOrdering LT) (dsEm numericEnumFrom (psMyInt (fromEnumOrdering LT) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (fromEnumOrdering LT) (fromEnumOrdering xy4)) GT)))",fontsize=16,color="black",shape="box"];15 -> 18[label="",style="solid", color="black", weight=3]; 11.20/4.59 16[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering xy4)) (fromEnumOrdering EQ) (dsEm numericEnumFrom (psMyInt (fromEnumOrdering EQ) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (fromEnumOrdering EQ) (fromEnumOrdering xy4)) GT)))",fontsize=16,color="black",shape="box"];16 -> 19[label="",style="solid", color="black", weight=3]; 11.20/4.59 17[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering xy4)) (fromEnumOrdering GT) (dsEm numericEnumFrom (psMyInt (fromEnumOrdering GT) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (fromEnumOrdering GT) (fromEnumOrdering xy4)) GT)))",fontsize=16,color="black",shape="box"];17 -> 20[label="",style="solid", color="black", weight=3]; 11.20/4.59 18[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering xy4)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (fromEnumOrdering xy4)) GT)))",fontsize=16,color="burlywood",shape="box"];253[label="xy4/LT",fontsize=10,color="white",style="solid",shape="box"];18 -> 253[label="",style="solid", color="burlywood", weight=9]; 11.20/4.59 253 -> 21[label="",style="solid", color="burlywood", weight=3]; 11.20/4.59 254[label="xy4/EQ",fontsize=10,color="white",style="solid",shape="box"];18 -> 254[label="",style="solid", color="burlywood", weight=9]; 11.20/4.59 254 -> 22[label="",style="solid", color="burlywood", weight=3]; 11.20/4.59 255[label="xy4/GT",fontsize=10,color="white",style="solid",shape="box"];18 -> 255[label="",style="solid", color="burlywood", weight=9]; 11.20/4.59 255 -> 23[label="",style="solid", color="burlywood", weight=3]; 11.20/4.59 19[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering xy4)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (fromEnumOrdering xy4)) GT)))",fontsize=16,color="burlywood",shape="box"];256[label="xy4/LT",fontsize=10,color="white",style="solid",shape="box"];19 -> 256[label="",style="solid", color="burlywood", weight=9]; 11.20/4.59 256 -> 24[label="",style="solid", color="burlywood", weight=3]; 11.20/4.59 257[label="xy4/EQ",fontsize=10,color="white",style="solid",shape="box"];19 -> 257[label="",style="solid", color="burlywood", weight=9]; 11.20/4.59 257 -> 25[label="",style="solid", color="burlywood", weight=3]; 11.20/4.59 258[label="xy4/GT",fontsize=10,color="white",style="solid",shape="box"];19 -> 258[label="",style="solid", color="burlywood", weight=9]; 11.20/4.59 258 -> 26[label="",style="solid", color="burlywood", weight=3]; 11.20/4.59 20[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering xy4)) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ (Succ Zero))) (fromEnumOrdering xy4)) GT)))",fontsize=16,color="burlywood",shape="box"];259[label="xy4/LT",fontsize=10,color="white",style="solid",shape="box"];20 -> 259[label="",style="solid", color="burlywood", weight=9]; 11.20/4.59 259 -> 27[label="",style="solid", color="burlywood", weight=3]; 11.20/4.59 260[label="xy4/EQ",fontsize=10,color="white",style="solid",shape="box"];20 -> 260[label="",style="solid", color="burlywood", weight=9]; 11.20/4.59 260 -> 28[label="",style="solid", color="burlywood", weight=3]; 11.20/4.59 261[label="xy4/GT",fontsize=10,color="white",style="solid",shape="box"];20 -> 261[label="",style="solid", color="burlywood", weight=9]; 11.20/4.59 261 -> 29[label="",style="solid", color="burlywood", weight=3]; 11.20/4.59 21[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering LT)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (fromEnumOrdering LT)) GT)))",fontsize=16,color="black",shape="box"];21 -> 30[label="",style="solid", color="black", weight=3]; 11.20/4.59 22[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering EQ)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (fromEnumOrdering EQ)) GT)))",fontsize=16,color="black",shape="box"];22 -> 31[label="",style="solid", color="black", weight=3]; 11.20/4.59 23[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering GT)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (fromEnumOrdering GT)) GT)))",fontsize=16,color="black",shape="box"];23 -> 32[label="",style="solid", color="black", weight=3]; 11.20/4.59 24[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering LT)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (fromEnumOrdering LT)) GT)))",fontsize=16,color="black",shape="box"];24 -> 33[label="",style="solid", color="black", weight=3]; 11.20/4.59 25[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering EQ)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (fromEnumOrdering EQ)) GT)))",fontsize=16,color="black",shape="box"];25 -> 34[label="",style="solid", color="black", weight=3]; 11.20/4.59 26[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering GT)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (fromEnumOrdering GT)) GT)))",fontsize=16,color="black",shape="box"];26 -> 35[label="",style="solid", color="black", weight=3]; 11.20/4.59 27[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering LT)) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ (Succ Zero))) (fromEnumOrdering LT)) GT)))",fontsize=16,color="black",shape="box"];27 -> 36[label="",style="solid", color="black", weight=3]; 11.20/4.59 28[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering EQ)) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ (Succ Zero))) (fromEnumOrdering EQ)) GT)))",fontsize=16,color="black",shape="box"];28 -> 37[label="",style="solid", color="black", weight=3]; 11.20/4.59 29[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (fromEnumOrdering GT)) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ (Succ Zero))) (fromEnumOrdering GT)) GT)))",fontsize=16,color="black",shape="box"];29 -> 38[label="",style="solid", color="black", weight=3]; 11.20/4.59 30[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];30 -> 39[label="",style="solid", color="black", weight=3]; 11.20/4.59 31[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];31 -> 40[label="",style="solid", color="black", weight=3]; 11.20/4.59 32[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];32 -> 41[label="",style="solid", color="black", weight=3]; 11.20/4.59 33[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos Zero)) GT)))",fontsize=16,color="black",shape="triangle"];33 -> 42[label="",style="solid", color="black", weight=3]; 11.20/4.59 34[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="triangle"];34 -> 43[label="",style="solid", color="black", weight=3]; 11.20/4.59 35[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="triangle"];35 -> 44[label="",style="solid", color="black", weight=3]; 11.20/4.59 36[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ (Succ Zero))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];36 -> 45[label="",style="solid", color="black", weight=3]; 11.20/4.59 37[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];37 -> 46[label="",style="solid", color="black", weight=3]; 11.20/4.59 38[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ (Succ Zero))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];38 -> 47[label="",style="solid", color="black", weight=3]; 11.20/4.59 39[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering EQ GT)))",fontsize=16,color="black",shape="box"];39 -> 48[label="",style="solid", color="black", weight=3]; 11.20/4.59 40[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];40 -> 49[label="",style="solid", color="black", weight=3]; 11.20/4.59 41[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero (Succ (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];41 -> 50[label="",style="solid", color="black", weight=3]; 11.20/4.59 42[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ Zero) Zero) GT)))",fontsize=16,color="black",shape="box"];42 -> 51[label="",style="solid", color="black", weight=3]; 11.20/4.59 43[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ Zero) (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];43 -> 52[label="",style="solid", color="black", weight=3]; 11.20/4.59 44[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ Zero) (Succ (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];44 -> 53[label="",style="solid", color="black", weight=3]; 11.20/4.59 45[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ (Succ Zero)) Zero) GT)))",fontsize=16,color="black",shape="box"];45 -> 54[label="",style="solid", color="black", weight=3]; 11.20/4.59 46[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ (Succ Zero)) (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];46 -> 55[label="",style="solid", color="black", weight=3]; 11.20/4.59 47[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ (Succ Zero)) (Succ (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];47 -> 56[label="",style="solid", color="black", weight=3]; 11.20/4.59 48[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];48 -> 57[label="",style="solid", color="black", weight=3]; 11.20/4.59 49[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering LT GT)))",fontsize=16,color="black",shape="box"];49 -> 58[label="",style="solid", color="black", weight=3]; 11.20/4.59 50[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering LT GT)))",fontsize=16,color="black",shape="box"];50 -> 59[label="",style="solid", color="black", weight=3]; 11.20/4.59 51[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering GT GT)))",fontsize=16,color="black",shape="box"];51 -> 60[label="",style="solid", color="black", weight=3]; 11.20/4.59 52[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero Zero) GT)))",fontsize=16,color="black",shape="box"];52 -> 61[label="",style="solid", color="black", weight=3]; 11.20/4.59 53[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];53 -> 62[label="",style="solid", color="black", weight=3]; 11.20/4.59 54[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering GT GT)))",fontsize=16,color="black",shape="box"];54 -> 63[label="",style="solid", color="black", weight=3]; 11.20/4.59 55[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ Zero) Zero) GT)))",fontsize=16,color="black",shape="box"];55 -> 64[label="",style="solid", color="black", weight=3]; 11.20/4.59 56[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ Zero) (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];56 -> 65[label="",style="solid", color="black", weight=3]; 11.20/4.59 57[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];57 -> 66[label="",style="solid", color="black", weight=3]; 11.20/4.59 58[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];58 -> 67[label="",style="solid", color="black", weight=3]; 11.20/4.59 59[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];59 -> 68[label="",style="solid", color="black", weight=3]; 11.20/4.59 60[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not MyTrue))",fontsize=16,color="black",shape="box"];60 -> 69[label="",style="solid", color="black", weight=3]; 11.20/4.59 61[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering EQ GT)))",fontsize=16,color="black",shape="box"];61 -> 70[label="",style="solid", color="black", weight=3]; 11.20/4.59 62[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering LT GT)))",fontsize=16,color="black",shape="box"];62 -> 71[label="",style="solid", color="black", weight=3]; 11.20/4.59 63[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not MyTrue))",fontsize=16,color="black",shape="box"];63 -> 72[label="",style="solid", color="black", weight=3]; 11.20/4.59 64[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering GT GT)))",fontsize=16,color="black",shape="box"];64 -> 73[label="",style="solid", color="black", weight=3]; 11.20/4.59 65[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero Zero) GT)))",fontsize=16,color="black",shape="triangle"];65 -> 74[label="",style="solid", color="black", weight=3]; 11.20/4.59 66[label="map toEnumOrdering (Cons (Pos Zero) (takeWhile (flip ltEsMyInt (Pos Zero)) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];66 -> 75[label="",style="solid", color="black", weight=3]; 11.20/4.59 67[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];67 -> 76[label="",style="solid", color="black", weight=3]; 11.20/4.59 68[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos Zero) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];68 -> 77[label="",style="solid", color="black", weight=3]; 11.20/4.59 69[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) MyFalse)",fontsize=16,color="black",shape="box"];69 -> 78[label="",style="solid", color="black", weight=3]; 11.20/4.59 70[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];70 -> 79[label="",style="solid", color="black", weight=3]; 11.20/4.59 71[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];71 -> 80[label="",style="solid", color="black", weight=3]; 11.20/4.59 72[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) MyFalse)",fontsize=16,color="black",shape="box"];72 -> 81[label="",style="solid", color="black", weight=3]; 11.20/4.59 73[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not MyTrue))",fontsize=16,color="black",shape="box"];73 -> 82[label="",style="solid", color="black", weight=3]; 11.20/4.59 74[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering EQ GT)))",fontsize=16,color="black",shape="box"];74 -> 83[label="",style="solid", color="black", weight=3]; 11.20/4.59 75[label="Cons (toEnumOrdering (Pos Zero)) (map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos Zero)) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];75 -> 84[label="",style="dashed", color="green", weight=3]; 11.20/4.59 75 -> 85[label="",style="dashed", color="green", weight=3]; 11.20/4.59 76[label="map toEnumOrdering (Cons (Pos Zero) (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];76 -> 86[label="",style="solid", color="black", weight=3]; 11.20/4.59 77[label="map toEnumOrdering (Cons (Pos Zero) (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];77 -> 87[label="",style="solid", color="black", weight=3]; 11.20/4.59 78[label="map toEnumOrdering (takeWhile0 (flip ltEsMyInt (Pos Zero)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) otherwise)",fontsize=16,color="black",shape="box"];78 -> 88[label="",style="solid", color="black", weight=3]; 11.20/4.59 79[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];79 -> 89[label="",style="solid", color="black", weight=3]; 11.20/4.59 80[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];80 -> 90[label="",style="solid", color="black", weight=3]; 11.20/4.59 81[label="map toEnumOrdering (takeWhile0 (flip ltEsMyInt (Pos Zero)) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) otherwise)",fontsize=16,color="black",shape="box"];81 -> 91[label="",style="solid", color="black", weight=3]; 11.20/4.59 82[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) MyFalse)",fontsize=16,color="black",shape="box"];82 -> 92[label="",style="solid", color="black", weight=3]; 11.20/4.59 83[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not MyFalse))",fontsize=16,color="black",shape="box"];83 -> 93[label="",style="solid", color="black", weight=3]; 11.20/4.59 84[label="toEnumOrdering (Pos Zero)",fontsize=16,color="black",shape="triangle"];84 -> 94[label="",style="solid", color="black", weight=3]; 11.20/4.59 85[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos Zero)) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];85 -> 95[label="",style="solid", color="black", weight=3]; 11.20/4.59 86[label="Cons (toEnumOrdering (Pos Zero)) (map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];86 -> 96[label="",style="dashed", color="green", weight=3]; 11.20/4.59 86 -> 97[label="",style="dashed", color="green", weight=3]; 11.20/4.59 87[label="Cons (toEnumOrdering (Pos Zero)) (map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];87 -> 98[label="",style="dashed", color="green", weight=3]; 11.20/4.59 87 -> 99[label="",style="dashed", color="green", weight=3]; 11.20/4.59 88[label="map toEnumOrdering (takeWhile0 (flip ltEsMyInt (Pos Zero)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];88 -> 100[label="",style="solid", color="black", weight=3]; 11.20/4.59 89[label="map toEnumOrdering (Cons (Pos (Succ Zero)) (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];89 -> 101[label="",style="solid", color="black", weight=3]; 11.20/4.59 90[label="map toEnumOrdering (Cons (Pos (Succ Zero)) (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];90 -> 102[label="",style="solid", color="black", weight=3]; 11.20/4.59 91[label="map toEnumOrdering (takeWhile0 (flip ltEsMyInt (Pos Zero)) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];91 -> 103[label="",style="solid", color="black", weight=3]; 11.20/4.59 92[label="map toEnumOrdering (takeWhile0 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) otherwise)",fontsize=16,color="black",shape="box"];92 -> 104[label="",style="solid", color="black", weight=3]; 11.20/4.59 93[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];93 -> 105[label="",style="solid", color="black", weight=3]; 11.20/4.59 94[label="toEnum5 (Pos Zero)",fontsize=16,color="black",shape="box"];94 -> 106[label="",style="solid", color="black", weight=3]; 11.20/4.59 95[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos Zero)) (seq (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];95 -> 107[label="",style="solid", color="black", weight=3]; 11.20/4.59 96 -> 84[label="",style="dashed", color="red", weight=0]; 11.20/4.59 96[label="toEnumOrdering (Pos Zero)",fontsize=16,color="magenta"];97[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];97 -> 108[label="",style="solid", color="black", weight=3]; 11.20/4.59 98 -> 84[label="",style="dashed", color="red", weight=0]; 11.20/4.59 98[label="toEnumOrdering (Pos Zero)",fontsize=16,color="magenta"];99[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];99 -> 109[label="",style="solid", color="black", weight=3]; 11.20/4.59 100[label="map toEnumOrdering Nil",fontsize=16,color="black",shape="triangle"];100 -> 110[label="",style="solid", color="black", weight=3]; 11.20/4.59 101[label="Cons (toEnumOrdering (Pos (Succ Zero))) (map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];101 -> 111[label="",style="dashed", color="green", weight=3]; 11.20/4.59 101 -> 112[label="",style="dashed", color="green", weight=3]; 11.20/4.59 102[label="Cons (toEnumOrdering (Pos (Succ Zero))) (map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];102 -> 113[label="",style="dashed", color="green", weight=3]; 11.20/4.59 102 -> 114[label="",style="dashed", color="green", weight=3]; 11.20/4.59 103 -> 100[label="",style="dashed", color="red", weight=0]; 11.20/4.59 103[label="map toEnumOrdering Nil",fontsize=16,color="magenta"];104[label="map toEnumOrdering (takeWhile0 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];104 -> 115[label="",style="solid", color="black", weight=3]; 11.20/4.59 105[label="map toEnumOrdering (Cons (Pos (Succ (Succ Zero))) (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];105 -> 116[label="",style="solid", color="black", weight=3]; 11.20/4.59 106[label="toEnum4 (esEsMyInt (Pos Zero) (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];106 -> 117[label="",style="solid", color="black", weight=3]; 11.20/4.59 107[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos Zero)) (enforceWHNF (WHNF (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];107 -> 118[label="",style="solid", color="black", weight=3]; 11.20/4.59 108[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (seq (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];108 -> 119[label="",style="solid", color="black", weight=3]; 11.20/4.59 109[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (seq (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];109 -> 120[label="",style="solid", color="black", weight=3]; 11.20/4.59 110[label="Nil",fontsize=16,color="green",shape="box"];111[label="toEnumOrdering (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];111 -> 121[label="",style="solid", color="black", weight=3]; 11.20/4.59 112[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];112 -> 122[label="",style="solid", color="black", weight=3]; 11.20/4.59 113 -> 111[label="",style="dashed", color="red", weight=0]; 11.20/4.59 113[label="toEnumOrdering (Pos (Succ Zero))",fontsize=16,color="magenta"];114[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];114 -> 123[label="",style="solid", color="black", weight=3]; 11.20/4.59 115 -> 100[label="",style="dashed", color="red", weight=0]; 11.20/4.59 115[label="map toEnumOrdering Nil",fontsize=16,color="magenta"];116[label="Cons (toEnumOrdering (Pos (Succ (Succ Zero)))) (map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="green",shape="box"];116 -> 124[label="",style="dashed", color="green", weight=3]; 11.20/4.59 116 -> 125[label="",style="dashed", color="green", weight=3]; 11.20/4.59 117[label="toEnum4 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];117 -> 126[label="",style="solid", color="black", weight=3]; 11.20/4.59 118[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos Zero)) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];118 -> 127[label="",style="solid", color="black", weight=3]; 11.20/4.59 119[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (enforceWHNF (WHNF (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];119 -> 128[label="",style="solid", color="black", weight=3]; 11.20/4.59 120[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (enforceWHNF (WHNF (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];120 -> 129[label="",style="solid", color="black", weight=3]; 11.20/4.59 121[label="toEnum5 (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];121 -> 130[label="",style="solid", color="black", weight=3]; 11.20/4.59 122[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (seq (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];122 -> 131[label="",style="solid", color="black", weight=3]; 11.20/4.59 123[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (seq (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];123 -> 132[label="",style="solid", color="black", weight=3]; 11.20/4.59 124[label="toEnumOrdering (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];124 -> 133[label="",style="solid", color="black", weight=3]; 11.20/4.59 125[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];125 -> 134[label="",style="solid", color="black", weight=3]; 11.20/4.59 126[label="toEnum4 MyTrue (Pos Zero)",fontsize=16,color="black",shape="box"];126 -> 135[label="",style="solid", color="black", weight=3]; 11.20/4.59 127[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos Zero)) (Cons (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];127 -> 136[label="",style="solid", color="black", weight=3]; 11.20/4.59 128[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];128 -> 137[label="",style="solid", color="black", weight=3]; 11.20/4.59 129[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (numericEnumFrom (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];129 -> 138[label="",style="solid", color="black", weight=3]; 11.20/4.59 130[label="toEnum4 (esEsMyInt (Pos (Succ Zero)) (Pos Zero)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];130 -> 139[label="",style="solid", color="black", weight=3]; 11.20/4.59 131[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (enforceWHNF (WHNF (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];131 -> 140[label="",style="solid", color="black", weight=3]; 11.20/4.59 132[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (enforceWHNF (WHNF (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];132 -> 141[label="",style="solid", color="black", weight=3]; 11.20/4.59 133[label="toEnum5 (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];133 -> 142[label="",style="solid", color="black", weight=3]; 11.20/4.59 134[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (seq (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];134 -> 143[label="",style="solid", color="black", weight=3]; 11.20/4.59 135[label="LT",fontsize=16,color="green",shape="box"];136[label="map toEnumOrdering (takeWhile2 (flip ltEsMyInt (Pos Zero)) (Cons (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];136 -> 144[label="",style="solid", color="black", weight=3]; 11.20/4.59 137[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (Cons (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];137 -> 145[label="",style="solid", color="black", weight=3]; 11.20/4.59 138[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Cons (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];138 -> 146[label="",style="solid", color="black", weight=3]; 11.20/4.59 139[label="toEnum4 (primEqInt (Pos (Succ Zero)) (Pos Zero)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];139 -> 147[label="",style="solid", color="black", weight=3]; 11.20/4.59 140[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];140 -> 148[label="",style="solid", color="black", weight=3]; 11.20/4.59 141[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];141 -> 149[label="",style="solid", color="black", weight=3]; 11.20/4.59 142[label="toEnum4 (esEsMyInt (Pos (Succ (Succ Zero))) (Pos Zero)) (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];142 -> 150[label="",style="solid", color="black", weight=3]; 11.20/4.59 143[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (enforceWHNF (WHNF (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];143 -> 151[label="",style="solid", color="black", weight=3]; 11.20/4.59 144[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Pos Zero) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];144 -> 152[label="",style="solid", color="black", weight=3]; 11.20/4.59 145[label="map toEnumOrdering (takeWhile2 (flip ltEsMyInt (Pos (Succ Zero))) (Cons (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];145 -> 153[label="",style="solid", color="black", weight=3]; 11.20/4.59 146[label="map toEnumOrdering (takeWhile2 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Cons (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];146 -> 154[label="",style="solid", color="black", weight=3]; 11.20/4.59 147[label="toEnum4 MyFalse (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];147 -> 155[label="",style="solid", color="black", weight=3]; 11.20/4.59 148[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ Zero))) (Cons (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];148 -> 156[label="",style="solid", color="black", weight=3]; 11.20/4.59 149[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Cons (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];149 -> 157[label="",style="solid", color="black", weight=3]; 11.20/4.59 150[label="toEnum4 (primEqInt (Pos (Succ (Succ Zero))) (Pos Zero)) (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];150 -> 158[label="",style="solid", color="black", weight=3]; 11.20/4.59 151[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];151 -> 159[label="",style="solid", color="black", weight=3]; 11.20/4.59 152[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)))",fontsize=16,color="black",shape="box"];152 -> 160[label="",style="solid", color="black", weight=3]; 11.20/4.59 153[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Pos (Succ Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];153 -> 161[label="",style="solid", color="black", weight=3]; 11.20/4.59 154[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Pos (Succ (Succ Zero))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];154 -> 162[label="",style="solid", color="black", weight=3]; 11.20/4.59 155[label="toEnum3 (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];155 -> 163[label="",style="solid", color="black", weight=3]; 11.20/4.59 156[label="map toEnumOrdering (takeWhile2 (flip ltEsMyInt (Pos (Succ Zero))) (Cons (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];156 -> 164[label="",style="solid", color="black", weight=3]; 11.20/4.59 157[label="map toEnumOrdering (takeWhile2 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Cons (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];157 -> 165[label="",style="solid", color="black", weight=3]; 11.20/4.59 158[label="toEnum4 MyFalse (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];158 -> 166[label="",style="solid", color="black", weight=3]; 11.20/4.59 159[label="map toEnumOrdering (takeWhile (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Cons (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];159 -> 167[label="",style="solid", color="black", weight=3]; 11.20/4.59 160[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)) GT))",fontsize=16,color="black",shape="box"];160 -> 168[label="",style="solid", color="black", weight=3]; 11.20/4.59 161[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];161 -> 169[label="",style="solid", color="black", weight=3]; 11.20/4.59 162[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];162 -> 170[label="",style="solid", color="black", weight=3]; 11.20/4.59 163[label="toEnum2 (esEsMyInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];163 -> 171[label="",style="solid", color="black", weight=3]; 11.20/4.59 164[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Pos (Succ Zero)) (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];164 -> 172[label="",style="solid", color="black", weight=3]; 11.20/4.59 165[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Pos (Succ (Succ Zero))) (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];165 -> 173[label="",style="solid", color="black", weight=3]; 11.20/4.59 166[label="toEnum3 (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];166 -> 174[label="",style="solid", color="black", weight=3]; 11.20/4.59 167[label="map toEnumOrdering (takeWhile2 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Cons (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];167 -> 175[label="",style="solid", color="black", weight=3]; 11.20/4.59 168[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];168 -> 176[label="",style="solid", color="black", weight=3]; 11.20/4.59 169[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ Zero))) GT))",fontsize=16,color="black",shape="box"];169 -> 177[label="",style="solid", color="black", weight=3]; 11.20/4.59 170[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))) GT))",fontsize=16,color="black",shape="box"];170 -> 178[label="",style="solid", color="black", weight=3]; 11.20/4.59 171[label="toEnum2 (primEqInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];171 -> 179[label="",style="solid", color="black", weight=3]; 11.20/4.59 172[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];172 -> 180[label="",style="solid", color="black", weight=3]; 11.20/4.59 173[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];173 -> 181[label="",style="solid", color="black", weight=3]; 11.20/4.59 174[label="toEnum2 (esEsMyInt (Pos (Succ (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];174 -> 182[label="",style="solid", color="black", weight=3]; 11.20/4.59 175[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (flip ltEsMyInt (Pos (Succ (Succ Zero))) (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];175 -> 183[label="",style="solid", color="black", weight=3]; 11.20/4.59 176[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];176 -> 184[label="",style="solid", color="black", weight=3]; 11.20/4.59 177[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];177 -> 185[label="",style="solid", color="black", weight=3]; 11.20/4.59 178[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];178 -> 186[label="",style="solid", color="black", weight=3]; 11.20/4.59 179[label="toEnum2 (primEqNat Zero Zero) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];179 -> 187[label="",style="solid", color="black", weight=3]; 11.20/4.59 180[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ Zero))) GT))",fontsize=16,color="black",shape="box"];180 -> 188[label="",style="solid", color="black", weight=3]; 11.20/4.59 181[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))) GT))",fontsize=16,color="black",shape="box"];181 -> 189[label="",style="solid", color="black", weight=3]; 11.20/4.59 182[label="toEnum2 (primEqInt (Pos (Succ (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];182 -> 190[label="",style="solid", color="black", weight=3]; 11.20/4.59 183[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (ltEsMyInt (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];183 -> 191[label="",style="solid", color="black", weight=3]; 11.20/4.59 184[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];184 -> 192[label="",style="solid", color="black", weight=3]; 11.20/4.59 185[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];185 -> 193[label="",style="solid", color="black", weight=3]; 11.20/4.59 186[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];186 -> 194[label="",style="solid", color="black", weight=3]; 11.20/4.59 187[label="toEnum2 MyTrue (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];187 -> 195[label="",style="solid", color="black", weight=3]; 11.20/4.59 188[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];188 -> 196[label="",style="solid", color="black", weight=3]; 11.20/4.59 189[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];189 -> 197[label="",style="solid", color="black", weight=3]; 11.20/4.59 190[label="toEnum2 (primEqNat (Succ Zero) Zero) (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];190 -> 198[label="",style="solid", color="black", weight=3]; 11.20/4.59 191[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (fsEsOrdering (compareMyInt (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))) GT))",fontsize=16,color="black",shape="box"];191 -> 199[label="",style="solid", color="black", weight=3]; 11.20/4.59 192[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (primPlusInt (Pos Zero) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];192 -> 200[label="",style="solid", color="black", weight=3]; 11.20/4.59 193[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];193 -> 201[label="",style="solid", color="black", weight=3]; 11.20/4.59 194[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];194 -> 202[label="",style="solid", color="black", weight=3]; 11.20/4.59 195[label="EQ",fontsize=16,color="green",shape="box"];196[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];196 -> 203[label="",style="solid", color="black", weight=3]; 11.20/4.59 197[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];197 -> 204[label="",style="solid", color="black", weight=3]; 11.20/4.59 198[label="toEnum2 MyFalse (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];198 -> 205[label="",style="solid", color="black", weight=3]; 11.20/4.59 199[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (compareMyInt (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];199 -> 206[label="",style="solid", color="black", weight=3]; 11.20/4.59 200[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (primPlusNat Zero (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (primPlusNat Zero (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat Zero (Succ Zero))) (Pos Zero)) GT)))",fontsize=16,color="black",shape="box"];200 -> 207[label="",style="solid", color="black", weight=3]; 11.20/4.59 201[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos Zero) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];201 -> 208[label="",style="solid", color="black", weight=3]; 11.20/4.59 202[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (primPlusInt (Pos Zero) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos Zero) (Pos (Succ Zero))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];202 -> 209[label="",style="solid", color="black", weight=3]; 11.20/4.59 203[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];203 -> 210[label="",style="solid", color="black", weight=3]; 11.20/4.59 204[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (primPlusInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];204 -> 211[label="",style="solid", color="black", weight=3]; 11.20/4.59 205[label="toEnum1 (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];205 -> 212[label="",style="solid", color="black", weight=3]; 11.20/4.59 206[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];206 -> 213[label="",style="solid", color="black", weight=3]; 11.20/4.59 207 -> 33[label="",style="dashed", color="red", weight=0]; 11.20/4.59 207[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos Zero)) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos Zero)) GT)))",fontsize=16,color="magenta"];208[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (primPlusNat Zero (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (primPlusNat Zero (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat Zero (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];208 -> 214[label="",style="solid", color="black", weight=3]; 11.20/4.59 209[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (primPlusNat Zero (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (primPlusNat Zero (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat Zero (Succ Zero))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];209 -> 215[label="",style="solid", color="black", weight=3]; 11.20/4.59 210[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];210 -> 216[label="",style="solid", color="black", weight=3]; 11.20/4.59 211[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];211 -> 217[label="",style="solid", color="black", weight=3]; 11.20/4.59 212[label="toEnum0 (esEsMyInt (Pos (Succ (Succ Zero))) (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];212 -> 218[label="",style="solid", color="black", weight=3]; 11.20/4.59 213[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (primPlusInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];213 -> 219[label="",style="solid", color="black", weight=3]; 11.20/4.59 214 -> 34[label="",style="dashed", color="red", weight=0]; 11.20/4.59 214[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos (Succ Zero))) GT)))",fontsize=16,color="magenta"];215 -> 35[label="",style="dashed", color="red", weight=0]; 11.20/4.59 215[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ Zero)) (dsEm numericEnumFrom (psMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ Zero)) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="magenta"];216[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (primPlusNat (Succ Zero) (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (primPlusNat (Succ Zero) (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat (Succ Zero) (Succ Zero))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];216 -> 220[label="",style="solid", color="black", weight=3]; 11.20/4.59 217[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (primPlusNat (Succ Zero) (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (primPlusNat (Succ Zero) (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat (Succ Zero) (Succ Zero))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];217 -> 221[label="",style="solid", color="black", weight=3]; 11.20/4.59 218[label="toEnum0 (primEqInt (Pos (Succ (Succ Zero))) (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];218 -> 222[label="",style="solid", color="black", weight=3]; 11.20/4.59 219[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (primPlusInt (Pos (Succ (Succ Zero))) (Pos (Succ Zero))) (dsEm numericEnumFrom (psMyInt (primPlusInt (Pos (Succ (Succ Zero))) (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (primPlusInt (Pos (Succ (Succ Zero))) (Pos (Succ Zero))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];219 -> 223[label="",style="solid", color="black", weight=3]; 11.20/4.59 220[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (Pos (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];220 -> 224[label="",style="solid", color="black", weight=3]; 11.20/4.59 221[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];221 -> 225[label="",style="solid", color="black", weight=3]; 11.20/4.59 222[label="toEnum0 (primEqNat (Succ Zero) (Succ Zero)) (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];222 -> 226[label="",style="solid", color="black", weight=3]; 11.20/4.59 223[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (primPlusNat (Succ (Succ Zero)) (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (primPlusNat (Succ (Succ Zero)) (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (primPlusNat (Succ (Succ Zero)) (Succ Zero))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];223 -> 227[label="",style="solid", color="black", weight=3]; 11.20/4.59 224[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ (Succ (primPlusNat Zero Zero))) (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];224 -> 228[label="",style="solid", color="black", weight=3]; 11.20/4.59 225[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ (Succ (primPlusNat Zero Zero))) (Succ (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];225 -> 229[label="",style="solid", color="black", weight=3]; 11.20/4.59 226[label="toEnum0 (primEqNat Zero Zero) (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];226 -> 230[label="",style="solid", color="black", weight=3]; 11.20/4.59 227[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (primPlusNat (Succ Zero) Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat (Succ Zero) Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpInt (Pos (Succ (Succ (primPlusNat (Succ Zero) Zero)))) (Pos (Succ (Succ Zero)))) GT)))",fontsize=16,color="black",shape="box"];227 -> 231[label="",style="solid", color="black", weight=3]; 11.20/4.59 228[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ (primPlusNat Zero Zero)) Zero) GT)))",fontsize=16,color="black",shape="box"];228 -> 232[label="",style="solid", color="black", weight=3]; 11.20/4.59 229[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ (primPlusNat Zero Zero)) (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];229 -> 233[label="",style="solid", color="black", weight=3]; 11.20/4.59 230[label="toEnum0 MyTrue (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];230 -> 234[label="",style="solid", color="black", weight=3]; 11.20/4.59 231[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (primPlusNat (Succ Zero) Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat (Succ Zero) Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ (Succ (primPlusNat (Succ Zero) Zero))) (Succ (Succ Zero))) GT)))",fontsize=16,color="black",shape="box"];231 -> 235[label="",style="solid", color="black", weight=3]; 11.20/4.59 232[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering GT GT)))",fontsize=16,color="black",shape="box"];232 -> 236[label="",style="solid", color="black", weight=3]; 11.20/4.59 233[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (primPlusNat Zero Zero) Zero) GT)))",fontsize=16,color="black",shape="box"];233 -> 237[label="",style="solid", color="black", weight=3]; 11.20/4.59 234[label="GT",fontsize=16,color="green",shape="box"];235[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (primPlusNat (Succ Zero) Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat (Succ Zero) Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ (primPlusNat (Succ Zero) Zero)) (Succ Zero)) GT)))",fontsize=16,color="black",shape="box"];235 -> 238[label="",style="solid", color="black", weight=3]; 11.20/4.59 236[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not MyTrue))",fontsize=16,color="black",shape="box"];236 -> 239[label="",style="solid", color="black", weight=3]; 11.20/4.59 237 -> 65[label="",style="dashed", color="red", weight=0]; 11.20/4.59 237[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ Zero))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ Zero))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat Zero Zero) GT)))",fontsize=16,color="magenta"];238[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (primPlusNat (Succ Zero) Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat (Succ Zero) Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (primPlusNat (Succ Zero) Zero) Zero) GT)))",fontsize=16,color="black",shape="box"];238 -> 240[label="",style="solid", color="black", weight=3]; 11.20/4.59 239[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (fromIntMyInt (Pos (Succ Zero))))) MyFalse)",fontsize=16,color="black",shape="box"];239 -> 241[label="",style="solid", color="black", weight=3]; 11.20/4.59 240[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering (primCmpNat (Succ Zero) Zero) GT)))",fontsize=16,color="black",shape="box"];240 -> 242[label="",style="solid", color="black", weight=3]; 11.20/4.59 241[label="map toEnumOrdering (takeWhile0 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (fromIntMyInt (Pos (Succ Zero))))) otherwise)",fontsize=16,color="black",shape="box"];241 -> 243[label="",style="solid", color="black", weight=3]; 11.20/4.59 242[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not (esEsOrdering GT GT)))",fontsize=16,color="black",shape="box"];242 -> 244[label="",style="solid", color="black", weight=3]; 11.20/4.59 243[label="map toEnumOrdering (takeWhile0 (flip ltEsMyInt (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];243 -> 245[label="",style="solid", color="black", weight=3]; 11.20/4.59 244[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) (not MyTrue))",fontsize=16,color="black",shape="box"];244 -> 246[label="",style="solid", color="black", weight=3]; 11.20/4.59 245 -> 100[label="",style="dashed", color="red", weight=0]; 11.20/4.59 245[label="map toEnumOrdering Nil",fontsize=16,color="magenta"];246[label="map toEnumOrdering (takeWhile1 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) MyFalse)",fontsize=16,color="black",shape="box"];246 -> 247[label="",style="solid", color="black", weight=3]; 11.20/4.59 247[label="map toEnumOrdering (takeWhile0 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) otherwise)",fontsize=16,color="black",shape="box"];247 -> 248[label="",style="solid", color="black", weight=3]; 11.20/4.59 248[label="map toEnumOrdering (takeWhile0 (flip ltEsMyInt (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ (Succ Zero)))) (dsEm numericEnumFrom (psMyInt (Pos (Succ (Succ (Succ Zero)))) (fromIntMyInt (Pos (Succ Zero))))) MyTrue)",fontsize=16,color="black",shape="box"];248 -> 249[label="",style="solid", color="black", weight=3]; 11.20/4.59 249 -> 100[label="",style="dashed", color="red", weight=0]; 11.20/4.59 249[label="map toEnumOrdering Nil",fontsize=16,color="magenta"];} 11.20/4.59 11.20/4.59 ---------------------------------------- 11.20/4.59 11.20/4.59 (6) 11.20/4.59 YES 11.43/4.65 EOF