13.02/5.02 YES 15.94/5.77 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 15.94/5.77 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 15.94/5.77 15.94/5.77 15.94/5.77 H-Termination with start terms of the given HASKELL could be proven: 15.94/5.77 15.94/5.77 (0) HASKELL 15.94/5.77 (1) BR [EQUIVALENT, 0 ms] 15.94/5.77 (2) HASKELL 15.94/5.77 (3) COR [EQUIVALENT, 0 ms] 15.94/5.77 (4) HASKELL 15.94/5.77 (5) Narrow [SOUND, 0 ms] 15.94/5.77 (6) AND 15.94/5.77 (7) QDP 15.94/5.77 (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] 15.94/5.77 (9) YES 15.94/5.77 (10) QDP 15.94/5.77 (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] 15.94/5.77 (12) YES 15.94/5.77 (13) QDP 15.94/5.77 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 15.94/5.77 (15) YES 15.94/5.77 (16) QDP 15.94/5.77 (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] 15.94/5.77 (18) YES 15.94/5.77 (19) QDP 15.94/5.77 (20) QDPSizeChangeProof [EQUIVALENT, 0 ms] 15.94/5.77 (21) YES 15.94/5.77 (22) QDP 15.94/5.77 (23) QDPSizeChangeProof [EQUIVALENT, 0 ms] 15.94/5.77 (24) YES 15.94/5.77 (25) QDP 15.94/5.77 (26) QDPSizeChangeProof [EQUIVALENT, 0 ms] 15.94/5.77 (27) YES 15.94/5.77 (28) QDP 15.94/5.77 (29) QDPSizeChangeProof [EQUIVALENT, 0 ms] 15.94/5.77 (30) YES 15.94/5.77 15.94/5.77 15.94/5.77 ---------------------------------------- 15.94/5.77 15.94/5.77 (0) 15.94/5.77 Obligation: 15.94/5.77 mainModule Main 15.94/5.77 module Main where { 15.94/5.77 import qualified Prelude; 15.94/5.77 data Main.Char = Char MyInt ; 15.94/5.77 15.94/5.77 data MyBool = MyTrue | MyFalse ; 15.94/5.77 15.94/5.77 data MyInt = Pos Main.Nat | Neg Main.Nat ; 15.94/5.77 15.94/5.77 data Main.Nat = Succ Main.Nat | Zero ; 15.94/5.77 15.94/5.77 data Ordering = LT | EQ | GT ; 15.94/5.77 15.94/5.77 asAs :: MyBool -> MyBool -> MyBool; 15.94/5.77 asAs MyFalse x = MyFalse; 15.94/5.77 asAs MyTrue x = x; 15.94/5.77 15.94/5.77 compareChar :: Main.Char -> Main.Char -> Ordering; 15.94/5.77 compareChar = primCmpChar; 15.94/5.77 15.94/5.77 digitToInt :: Main.Char -> MyInt; 15.94/5.77 digitToInt c = digitToInt4 c; 15.94/5.77 15.94/5.77 digitToInt0 c MyTrue = Main.error; 15.94/5.77 15.94/5.77 digitToInt1 c MyTrue = psMyInt (msMyInt (fromEnumChar c) (fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))); 15.94/5.77 digitToInt1 c MyFalse = digitToInt0 c otherwise; 15.94/5.77 15.94/5.77 digitToInt2 c MyTrue = psMyInt (msMyInt (fromEnumChar c) (fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))); 15.94/5.77 digitToInt2 c MyFalse = digitToInt1 c (asAs (gtEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 15.94/5.77 15.94/5.77 digitToInt3 c MyTrue = msMyInt (fromEnumChar c) (fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))); 15.94/5.77 digitToInt3 c MyFalse = digitToInt2 c (asAs (gtEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 15.94/5.77 15.94/5.77 digitToInt4 c = digitToInt3 c (isDigit c); 15.94/5.77 15.94/5.77 error :: a; 15.94/5.77 error = stop MyTrue; 15.94/5.77 15.94/5.77 esEsOrdering :: Ordering -> Ordering -> MyBool; 15.94/5.77 esEsOrdering LT LT = MyTrue; 15.94/5.77 esEsOrdering LT EQ = MyFalse; 15.94/5.77 esEsOrdering LT GT = MyFalse; 15.94/5.77 esEsOrdering EQ LT = MyFalse; 15.94/5.77 esEsOrdering EQ EQ = MyTrue; 15.94/5.77 esEsOrdering EQ GT = MyFalse; 15.94/5.77 esEsOrdering GT LT = MyFalse; 15.94/5.77 esEsOrdering GT EQ = MyFalse; 15.94/5.77 esEsOrdering GT GT = MyTrue; 15.94/5.77 15.94/5.77 fromEnumChar :: Main.Char -> MyInt; 15.94/5.77 fromEnumChar = primCharToInt; 15.94/5.77 15.94/5.77 fsEsOrdering :: Ordering -> Ordering -> MyBool; 15.94/5.77 fsEsOrdering x y = not (esEsOrdering x y); 15.94/5.77 15.94/5.77 gtEsChar :: Main.Char -> Main.Char -> MyBool; 15.94/5.77 gtEsChar x y = fsEsOrdering (compareChar x y) LT; 15.94/5.77 15.94/5.77 isDigit :: Main.Char -> MyBool; 15.94/5.77 isDigit c = asAs (gtEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 15.94/5.77 15.94/5.77 ltEsChar :: Main.Char -> Main.Char -> MyBool; 15.94/5.77 ltEsChar x y = fsEsOrdering (compareChar x y) GT; 15.94/5.77 15.94/5.77 msMyInt :: MyInt -> MyInt -> MyInt; 15.94/5.77 msMyInt = primMinusInt; 15.94/5.77 15.94/5.77 not :: MyBool -> MyBool; 15.94/5.77 not MyTrue = MyFalse; 15.94/5.77 not MyFalse = MyTrue; 15.94/5.77 15.94/5.77 otherwise :: MyBool; 15.94/5.77 otherwise = MyTrue; 15.94/5.77 15.94/5.77 primCharToInt :: Main.Char -> MyInt; 15.94/5.77 primCharToInt (Main.Char x) = x; 15.94/5.77 15.94/5.77 primCmpChar :: Main.Char -> Main.Char -> Ordering; 15.94/5.77 primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; 15.94/5.77 15.94/5.77 primCmpInt :: MyInt -> MyInt -> Ordering; 15.94/5.77 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 15.94/5.77 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 15.94/5.77 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 15.94/5.77 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 15.94/5.77 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 15.94/5.77 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 15.94/5.77 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 15.94/5.77 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 15.94/5.77 15.94/5.77 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 15.94/5.77 primCmpNat Main.Zero Main.Zero = EQ; 15.94/5.77 primCmpNat Main.Zero (Main.Succ y) = LT; 15.94/5.77 primCmpNat (Main.Succ x) Main.Zero = GT; 15.94/5.77 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 15.94/5.77 15.94/5.77 primMinusInt :: MyInt -> MyInt -> MyInt; 15.94/5.77 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 15.94/5.77 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 15.94/5.77 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 15.94/5.77 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 15.94/5.77 15.94/5.77 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 15.94/5.77 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 15.94/5.77 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 15.94/5.77 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 15.94/5.77 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 15.94/5.77 15.94/5.77 primPlusInt :: MyInt -> MyInt -> MyInt; 15.94/5.77 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 15.94/5.77 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 15.94/5.77 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 15.94/5.77 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 15.94/5.77 15.94/5.77 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 15.94/5.77 primPlusNat Main.Zero Main.Zero = Main.Zero; 15.94/5.77 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 15.94/5.77 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 15.94/5.77 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 15.94/5.77 15.94/5.77 psMyInt :: MyInt -> MyInt -> MyInt; 15.94/5.77 psMyInt = primPlusInt; 15.94/5.77 15.94/5.77 stop :: MyBool -> a; 15.94/5.77 stop MyFalse = stop MyFalse; 15.94/5.77 15.94/5.77 } 15.94/5.77 15.94/5.77 ---------------------------------------- 15.94/5.77 15.94/5.77 (1) BR (EQUIVALENT) 15.94/5.77 Replaced joker patterns by fresh variables and removed binding patterns. 15.94/5.77 ---------------------------------------- 15.94/5.77 15.94/5.77 (2) 15.94/5.77 Obligation: 15.94/5.77 mainModule Main 15.94/5.77 module Main where { 15.94/5.77 import qualified Prelude; 15.94/5.77 data Main.Char = Char MyInt ; 15.94/5.77 15.94/5.77 data MyBool = MyTrue | MyFalse ; 15.94/5.77 15.94/5.77 data MyInt = Pos Main.Nat | Neg Main.Nat ; 15.94/5.77 15.94/5.77 data Main.Nat = Succ Main.Nat | Zero ; 15.94/5.77 15.94/5.77 data Ordering = LT | EQ | GT ; 15.94/5.77 15.94/5.77 asAs :: MyBool -> MyBool -> MyBool; 15.94/5.77 asAs MyFalse x = MyFalse; 15.94/5.77 asAs MyTrue x = x; 15.94/5.77 15.94/5.77 compareChar :: Main.Char -> Main.Char -> Ordering; 15.94/5.77 compareChar = primCmpChar; 15.94/5.77 15.94/5.77 digitToInt :: Main.Char -> MyInt; 15.94/5.77 digitToInt c = digitToInt4 c; 15.94/5.77 15.94/5.77 digitToInt0 c MyTrue = Main.error; 15.94/5.77 15.94/5.77 digitToInt1 c MyTrue = psMyInt (msMyInt (fromEnumChar c) (fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))); 15.94/5.77 digitToInt1 c MyFalse = digitToInt0 c otherwise; 15.94/5.77 15.94/5.77 digitToInt2 c MyTrue = psMyInt (msMyInt (fromEnumChar c) (fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))); 15.94/5.77 digitToInt2 c MyFalse = digitToInt1 c (asAs (gtEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 15.94/5.77 15.94/5.77 digitToInt3 c MyTrue = msMyInt (fromEnumChar c) (fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))); 15.94/5.77 digitToInt3 c MyFalse = digitToInt2 c (asAs (gtEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 15.94/5.77 15.94/5.77 digitToInt4 c = digitToInt3 c (isDigit c); 15.94/5.77 15.94/5.77 error :: a; 15.94/5.77 error = stop MyTrue; 15.94/5.77 15.94/5.77 esEsOrdering :: Ordering -> Ordering -> MyBool; 15.94/5.77 esEsOrdering LT LT = MyTrue; 15.94/5.77 esEsOrdering LT EQ = MyFalse; 15.94/5.77 esEsOrdering LT GT = MyFalse; 15.94/5.77 esEsOrdering EQ LT = MyFalse; 15.94/5.77 esEsOrdering EQ EQ = MyTrue; 15.94/5.77 esEsOrdering EQ GT = MyFalse; 15.94/5.77 esEsOrdering GT LT = MyFalse; 15.94/5.77 esEsOrdering GT EQ = MyFalse; 15.94/5.77 esEsOrdering GT GT = MyTrue; 15.94/5.77 15.94/5.77 fromEnumChar :: Main.Char -> MyInt; 15.94/5.77 fromEnumChar = primCharToInt; 15.94/5.77 15.94/5.77 fsEsOrdering :: Ordering -> Ordering -> MyBool; 15.94/5.77 fsEsOrdering x y = not (esEsOrdering x y); 15.94/5.77 15.94/5.77 gtEsChar :: Main.Char -> Main.Char -> MyBool; 15.94/5.77 gtEsChar x y = fsEsOrdering (compareChar x y) LT; 15.94/5.77 15.94/5.77 isDigit :: Main.Char -> MyBool; 15.94/5.77 isDigit c = asAs (gtEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 15.94/5.77 15.94/5.77 ltEsChar :: Main.Char -> Main.Char -> MyBool; 15.94/5.77 ltEsChar x y = fsEsOrdering (compareChar x y) GT; 15.94/5.77 15.94/5.77 msMyInt :: MyInt -> MyInt -> MyInt; 15.94/5.77 msMyInt = primMinusInt; 15.94/5.77 15.94/5.77 not :: MyBool -> MyBool; 15.94/5.77 not MyTrue = MyFalse; 15.94/5.77 not MyFalse = MyTrue; 15.94/5.77 15.94/5.77 otherwise :: MyBool; 15.94/5.77 otherwise = MyTrue; 15.94/5.77 15.94/5.77 primCharToInt :: Main.Char -> MyInt; 15.94/5.77 primCharToInt (Main.Char x) = x; 15.94/5.77 15.94/5.77 primCmpChar :: Main.Char -> Main.Char -> Ordering; 15.94/5.77 primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; 15.94/5.77 15.94/5.77 primCmpInt :: MyInt -> MyInt -> Ordering; 15.94/5.77 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 15.94/5.77 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 15.94/5.77 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 15.94/5.77 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 15.94/5.77 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 15.94/5.77 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 15.94/5.77 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 15.94/5.77 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 15.94/5.77 15.94/5.77 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 15.94/5.77 primCmpNat Main.Zero Main.Zero = EQ; 15.94/5.77 primCmpNat Main.Zero (Main.Succ y) = LT; 15.94/5.77 primCmpNat (Main.Succ x) Main.Zero = GT; 15.94/5.77 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 15.94/5.77 15.94/5.77 primMinusInt :: MyInt -> MyInt -> MyInt; 15.94/5.77 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 15.94/5.77 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 15.94/5.77 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 15.94/5.77 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 15.94/5.77 15.94/5.77 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 15.94/5.77 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 15.94/5.77 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 15.94/5.77 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 15.94/5.77 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 15.94/5.77 15.94/5.77 primPlusInt :: MyInt -> MyInt -> MyInt; 15.94/5.77 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 15.94/5.77 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 15.94/5.77 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 15.94/5.77 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 15.94/5.77 15.94/5.77 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 15.94/5.77 primPlusNat Main.Zero Main.Zero = Main.Zero; 15.94/5.77 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 15.94/5.77 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 15.94/5.77 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 15.94/5.77 15.94/5.77 psMyInt :: MyInt -> MyInt -> MyInt; 15.94/5.77 psMyInt = primPlusInt; 15.94/5.77 15.94/5.77 stop :: MyBool -> a; 15.94/5.77 stop MyFalse = stop MyFalse; 15.94/5.77 15.94/5.77 } 15.94/5.77 15.94/5.77 ---------------------------------------- 15.94/5.77 15.94/5.77 (3) COR (EQUIVALENT) 15.94/5.77 Cond Reductions: 15.94/5.77 The following Function with conditions 15.94/5.77 "undefined |Falseundefined; 15.94/5.77 " 15.94/5.77 is transformed to 15.94/5.77 "undefined = undefined1; 15.94/5.77 " 15.94/5.77 "undefined0 True = undefined; 15.94/5.77 " 15.94/5.77 "undefined1 = undefined0 False; 15.94/5.77 " 15.94/5.77 15.94/5.77 ---------------------------------------- 15.94/5.77 15.94/5.77 (4) 15.94/5.77 Obligation: 15.94/5.77 mainModule Main 15.94/5.77 module Main where { 15.94/5.77 import qualified Prelude; 15.94/5.77 data Main.Char = Char MyInt ; 15.94/5.77 15.94/5.77 data MyBool = MyTrue | MyFalse ; 15.94/5.77 15.94/5.77 data MyInt = Pos Main.Nat | Neg Main.Nat ; 15.94/5.77 15.94/5.77 data Main.Nat = Succ Main.Nat | Zero ; 15.94/5.77 15.94/5.77 data Ordering = LT | EQ | GT ; 15.94/5.77 15.94/5.77 asAs :: MyBool -> MyBool -> MyBool; 15.94/5.77 asAs MyFalse x = MyFalse; 15.94/5.77 asAs MyTrue x = x; 15.94/5.77 15.94/5.77 compareChar :: Main.Char -> Main.Char -> Ordering; 15.94/5.77 compareChar = primCmpChar; 15.94/5.77 15.94/5.77 digitToInt :: Main.Char -> MyInt; 15.94/5.77 digitToInt c = digitToInt4 c; 15.94/5.77 15.94/5.77 digitToInt0 c MyTrue = Main.error; 15.94/5.77 15.94/5.77 digitToInt1 c MyTrue = psMyInt (msMyInt (fromEnumChar c) (fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))); 15.94/5.77 digitToInt1 c MyFalse = digitToInt0 c otherwise; 15.94/5.77 15.94/5.77 digitToInt2 c MyTrue = psMyInt (msMyInt (fromEnumChar c) (fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))); 15.94/5.77 digitToInt2 c MyFalse = digitToInt1 c (asAs (gtEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 15.94/5.77 15.94/5.77 digitToInt3 c MyTrue = msMyInt (fromEnumChar c) (fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))); 15.94/5.77 digitToInt3 c MyFalse = digitToInt2 c (asAs (gtEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 15.94/5.77 15.94/5.77 digitToInt4 c = digitToInt3 c (isDigit c); 15.94/5.77 15.94/5.77 error :: a; 15.94/5.77 error = stop MyTrue; 15.94/5.77 15.94/5.77 esEsOrdering :: Ordering -> Ordering -> MyBool; 15.94/5.77 esEsOrdering LT LT = MyTrue; 15.94/5.77 esEsOrdering LT EQ = MyFalse; 15.94/5.77 esEsOrdering LT GT = MyFalse; 15.94/5.77 esEsOrdering EQ LT = MyFalse; 15.94/5.77 esEsOrdering EQ EQ = MyTrue; 15.94/5.77 esEsOrdering EQ GT = MyFalse; 15.94/5.77 esEsOrdering GT LT = MyFalse; 15.94/5.77 esEsOrdering GT EQ = MyFalse; 15.94/5.77 esEsOrdering GT GT = MyTrue; 15.94/5.77 15.94/5.77 fromEnumChar :: Main.Char -> MyInt; 15.94/5.77 fromEnumChar = primCharToInt; 15.94/5.77 15.94/5.77 fsEsOrdering :: Ordering -> Ordering -> MyBool; 15.94/5.77 fsEsOrdering x y = not (esEsOrdering x y); 15.94/5.77 15.94/5.77 gtEsChar :: Main.Char -> Main.Char -> MyBool; 15.94/5.77 gtEsChar x y = fsEsOrdering (compareChar x y) LT; 15.94/5.77 15.94/5.77 isDigit :: Main.Char -> MyBool; 15.94/5.77 isDigit c = asAs (gtEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 15.94/5.77 15.94/5.77 ltEsChar :: Main.Char -> Main.Char -> MyBool; 15.94/5.77 ltEsChar x y = fsEsOrdering (compareChar x y) GT; 15.94/5.77 15.94/5.77 msMyInt :: MyInt -> MyInt -> MyInt; 15.94/5.77 msMyInt = primMinusInt; 15.94/5.77 15.94/5.77 not :: MyBool -> MyBool; 15.94/5.77 not MyTrue = MyFalse; 15.94/5.77 not MyFalse = MyTrue; 15.94/5.77 15.94/5.77 otherwise :: MyBool; 15.94/5.77 otherwise = MyTrue; 15.94/5.77 15.94/5.77 primCharToInt :: Main.Char -> MyInt; 15.94/5.77 primCharToInt (Main.Char x) = x; 15.94/5.77 15.94/5.77 primCmpChar :: Main.Char -> Main.Char -> Ordering; 15.94/5.77 primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; 15.94/5.77 15.94/5.77 primCmpInt :: MyInt -> MyInt -> Ordering; 15.94/5.77 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 15.94/5.77 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 15.94/5.77 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 15.94/5.77 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 15.94/5.77 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 15.94/5.77 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 15.94/5.77 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 15.94/5.77 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 15.94/5.77 15.94/5.77 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 15.94/5.77 primCmpNat Main.Zero Main.Zero = EQ; 15.94/5.77 primCmpNat Main.Zero (Main.Succ y) = LT; 15.94/5.77 primCmpNat (Main.Succ x) Main.Zero = GT; 15.94/5.77 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 15.94/5.77 15.94/5.77 primMinusInt :: MyInt -> MyInt -> MyInt; 15.94/5.77 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 15.94/5.77 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 15.94/5.77 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 15.94/5.77 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 15.94/5.77 15.94/5.77 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 15.94/5.77 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 15.94/5.77 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 15.94/5.77 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 15.94/5.77 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 15.94/5.77 15.94/5.77 primPlusInt :: MyInt -> MyInt -> MyInt; 15.94/5.77 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 15.94/5.77 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 15.94/5.77 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 15.94/5.77 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 15.94/5.77 15.94/5.77 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 15.94/5.77 primPlusNat Main.Zero Main.Zero = Main.Zero; 15.94/5.77 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 15.94/5.77 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 15.94/5.77 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 15.94/5.77 15.94/5.77 psMyInt :: MyInt -> MyInt -> MyInt; 15.94/5.77 psMyInt = primPlusInt; 15.94/5.77 15.94/5.77 stop :: MyBool -> a; 15.94/5.77 stop MyFalse = stop MyFalse; 15.94/5.77 15.94/5.77 } 15.94/5.77 15.94/5.77 ---------------------------------------- 15.94/5.77 15.94/5.77 (5) Narrow (SOUND) 15.94/5.77 Haskell To QDPs 15.94/5.77 15.94/5.77 digraph dp_graph { 15.94/5.77 node [outthreshold=100, inthreshold=100];1[label="digitToInt",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 15.94/5.77 3[label="digitToInt vx3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 15.94/5.77 4[label="digitToInt4 vx3",fontsize=16,color="black",shape="box"];4 -> 5[label="",style="solid", color="black", weight=3]; 15.94/5.77 5[label="digitToInt3 vx3 (isDigit vx3)",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 15.94/5.77 6 -> 10[label="",style="dashed", color="red", weight=0]; 15.94/5.77 6[label="digitToInt3 vx3 (asAs (gtEsChar vx3 (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar vx3 (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];6 -> 11[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 6 -> 12[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 6 -> 13[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 11[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];12[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];13[label="vx3",fontsize=16,color="green",shape="box"];10[label="digitToInt3 vx8 (asAs (gtEsChar vx8 (Char (Pos (Succ vx9)))) (ltEsChar vx8 (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="triangle"];10 -> 17[label="",style="solid", color="black", weight=3]; 15.94/5.77 17[label="digitToInt3 vx8 (asAs (fsEsOrdering (compareChar vx8 (Char (Pos (Succ vx9)))) LT) (ltEsChar vx8 (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];17 -> 18[label="",style="solid", color="black", weight=3]; 15.94/5.77 18[label="digitToInt3 vx8 (asAs (not (esEsOrdering (compareChar vx8 (Char (Pos (Succ vx9)))) LT)) (ltEsChar vx8 (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];18 -> 19[label="",style="solid", color="black", weight=3]; 15.94/5.77 19[label="digitToInt3 vx8 (asAs (not (esEsOrdering (primCmpChar vx8 (Char (Pos (Succ vx9)))) LT)) (ltEsChar vx8 (Char (Pos (Succ vx10)))))",fontsize=16,color="burlywood",shape="box"];1408[label="vx8/Char vx80",fontsize=10,color="white",style="solid",shape="box"];19 -> 1408[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1408 -> 20[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 20[label="digitToInt3 (Char vx80) (asAs (not (esEsOrdering (primCmpChar (Char vx80) (Char (Pos (Succ vx9)))) LT)) (ltEsChar (Char vx80) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];20 -> 21[label="",style="solid", color="black", weight=3]; 15.94/5.77 21[label="digitToInt3 (Char vx80) (asAs (not (esEsOrdering (primCmpInt vx80 (Pos (Succ vx9))) LT)) (ltEsChar (Char vx80) (Char (Pos (Succ vx10)))))",fontsize=16,color="burlywood",shape="box"];1409[label="vx80/Pos vx800",fontsize=10,color="white",style="solid",shape="box"];21 -> 1409[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1409 -> 22[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1410[label="vx80/Neg vx800",fontsize=10,color="white",style="solid",shape="box"];21 -> 1410[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1410 -> 23[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 22[label="digitToInt3 (Char (Pos vx800)) (asAs (not (esEsOrdering (primCmpInt (Pos vx800) (Pos (Succ vx9))) LT)) (ltEsChar (Char (Pos vx800)) (Char (Pos (Succ vx10)))))",fontsize=16,color="burlywood",shape="box"];1411[label="vx800/Succ vx8000",fontsize=10,color="white",style="solid",shape="box"];22 -> 1411[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1411 -> 24[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1412[label="vx800/Zero",fontsize=10,color="white",style="solid",shape="box"];22 -> 1412[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1412 -> 25[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 23[label="digitToInt3 (Char (Neg vx800)) (asAs (not (esEsOrdering (primCmpInt (Neg vx800) (Pos (Succ vx9))) LT)) (ltEsChar (Char (Neg vx800)) (Char (Pos (Succ vx10)))))",fontsize=16,color="burlywood",shape="box"];1413[label="vx800/Succ vx8000",fontsize=10,color="white",style="solid",shape="box"];23 -> 1413[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1413 -> 26[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1414[label="vx800/Zero",fontsize=10,color="white",style="solid",shape="box"];23 -> 1414[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1414 -> 27[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 24[label="digitToInt3 (Char (Pos (Succ vx8000))) (asAs (not (esEsOrdering (primCmpInt (Pos (Succ vx8000)) (Pos (Succ vx9))) LT)) (ltEsChar (Char (Pos (Succ vx8000))) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 15.94/5.77 25[label="digitToInt3 (Char (Pos Zero)) (asAs (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ vx9))) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];25 -> 29[label="",style="solid", color="black", weight=3]; 15.94/5.77 26[label="digitToInt3 (Char (Neg (Succ vx8000))) (asAs (not (esEsOrdering (primCmpInt (Neg (Succ vx8000)) (Pos (Succ vx9))) LT)) (ltEsChar (Char (Neg (Succ vx8000))) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 15.94/5.77 27[label="digitToInt3 (Char (Neg Zero)) (asAs (not (esEsOrdering (primCmpInt (Neg Zero) (Pos (Succ vx9))) LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 15.94/5.77 28 -> 462[label="",style="dashed", color="red", weight=0]; 15.94/5.77 28[label="digitToInt3 (Char (Pos (Succ vx8000))) (asAs (not (esEsOrdering (primCmpNat (Succ vx8000) (Succ vx9)) LT)) (ltEsChar (Char (Pos (Succ vx8000))) (Char (Pos (Succ vx10)))))",fontsize=16,color="magenta"];28 -> 463[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 28 -> 464[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 28 -> 465[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 28 -> 466[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 29[label="digitToInt3 (Char (Pos Zero)) (asAs (not (esEsOrdering (primCmpNat Zero (Succ vx9)) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 15.94/5.77 30[label="digitToInt3 (Char (Neg (Succ vx8000))) (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Neg (Succ vx8000))) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 15.94/5.77 31[label="digitToInt3 (Char (Neg Zero)) (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 15.94/5.77 463[label="vx10",fontsize=16,color="green",shape="box"];464[label="Succ vx8000",fontsize=16,color="green",shape="box"];465[label="vx8000",fontsize=16,color="green",shape="box"];466[label="Succ vx9",fontsize=16,color="green",shape="box"];462[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not (esEsOrdering (primCmpNat vx87 vx88) LT)) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="burlywood",shape="triangle"];1415[label="vx87/Succ vx870",fontsize=10,color="white",style="solid",shape="box"];462 -> 1415[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1415 -> 503[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1416[label="vx87/Zero",fontsize=10,color="white",style="solid",shape="box"];462 -> 1416[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1416 -> 504[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 33[label="digitToInt3 (Char (Pos Zero)) (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];33 -> 38[label="",style="solid", color="black", weight=3]; 15.94/5.77 34[label="digitToInt3 (Char (Neg (Succ vx8000))) (asAs (not MyTrue) (ltEsChar (Char (Neg (Succ vx8000))) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];34 -> 39[label="",style="solid", color="black", weight=3]; 15.94/5.77 35[label="digitToInt3 (Char (Neg Zero)) (asAs (not MyTrue) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];35 -> 40[label="",style="solid", color="black", weight=3]; 15.94/5.77 503[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not (esEsOrdering (primCmpNat (Succ vx870) vx88) LT)) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="burlywood",shape="box"];1417[label="vx88/Succ vx880",fontsize=10,color="white",style="solid",shape="box"];503 -> 1417[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1417 -> 508[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1418[label="vx88/Zero",fontsize=10,color="white",style="solid",shape="box"];503 -> 1418[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1418 -> 509[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 504[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not (esEsOrdering (primCmpNat Zero vx88) LT)) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="burlywood",shape="box"];1419[label="vx88/Succ vx880",fontsize=10,color="white",style="solid",shape="box"];504 -> 1419[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1419 -> 510[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1420[label="vx88/Zero",fontsize=10,color="white",style="solid",shape="box"];504 -> 1420[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1420 -> 511[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 38[label="digitToInt3 (Char (Pos Zero)) (asAs (not MyTrue) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];38 -> 45[label="",style="solid", color="black", weight=3]; 15.94/5.77 39[label="digitToInt3 (Char (Neg (Succ vx8000))) (asAs MyFalse (ltEsChar (Char (Neg (Succ vx8000))) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];39 -> 46[label="",style="solid", color="black", weight=3]; 15.94/5.77 40[label="digitToInt3 (Char (Neg Zero)) (asAs MyFalse (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];40 -> 47[label="",style="solid", color="black", weight=3]; 15.94/5.77 508[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not (esEsOrdering (primCmpNat (Succ vx870) (Succ vx880)) LT)) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="black",shape="box"];508 -> 514[label="",style="solid", color="black", weight=3]; 15.94/5.77 509[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not (esEsOrdering (primCmpNat (Succ vx870) Zero) LT)) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="black",shape="box"];509 -> 515[label="",style="solid", color="black", weight=3]; 15.94/5.77 510[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not (esEsOrdering (primCmpNat Zero (Succ vx880)) LT)) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="black",shape="box"];510 -> 516[label="",style="solid", color="black", weight=3]; 15.94/5.77 511[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not (esEsOrdering (primCmpNat Zero Zero) LT)) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="black",shape="box"];511 -> 517[label="",style="solid", color="black", weight=3]; 15.94/5.77 45[label="digitToInt3 (Char (Pos Zero)) (asAs MyFalse (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx10)))))",fontsize=16,color="black",shape="box"];45 -> 52[label="",style="solid", color="black", weight=3]; 15.94/5.77 46[label="digitToInt3 (Char (Neg (Succ vx8000))) MyFalse",fontsize=16,color="black",shape="box"];46 -> 53[label="",style="solid", color="black", weight=3]; 15.94/5.77 47[label="digitToInt3 (Char (Neg Zero)) MyFalse",fontsize=16,color="black",shape="box"];47 -> 54[label="",style="solid", color="black", weight=3]; 15.94/5.77 514 -> 462[label="",style="dashed", color="red", weight=0]; 15.94/5.77 514[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not (esEsOrdering (primCmpNat vx870 vx880) LT)) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="magenta"];514 -> 520[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 514 -> 521[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 515[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not (esEsOrdering GT LT)) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="black",shape="box"];515 -> 522[label="",style="solid", color="black", weight=3]; 15.94/5.77 516[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="black",shape="box"];516 -> 523[label="",style="solid", color="black", weight=3]; 15.94/5.77 517[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not (esEsOrdering EQ LT)) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="black",shape="box"];517 -> 524[label="",style="solid", color="black", weight=3]; 15.94/5.77 52[label="digitToInt3 (Char (Pos Zero)) MyFalse",fontsize=16,color="black",shape="box"];52 -> 60[label="",style="solid", color="black", weight=3]; 15.94/5.77 53 -> 75[label="",style="dashed", color="red", weight=0]; 15.94/5.77 53[label="digitToInt2 (Char (Neg (Succ vx8000))) (asAs (gtEsChar (Char (Neg (Succ vx8000))) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar (Char (Neg (Succ vx8000))) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];53 -> 76[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 53 -> 77[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 53 -> 78[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 54 -> 83[label="",style="dashed", color="red", weight=0]; 15.94/5.77 54[label="digitToInt2 (Char (Neg Zero)) (asAs (gtEsChar (Char (Neg Zero)) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];54 -> 84[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 54 -> 85[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 520[label="vx870",fontsize=16,color="green",shape="box"];521[label="vx880",fontsize=16,color="green",shape="box"];522[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not MyFalse) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="black",shape="triangle"];522 -> 526[label="",style="solid", color="black", weight=3]; 15.94/5.77 523[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not MyTrue) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="black",shape="box"];523 -> 527[label="",style="solid", color="black", weight=3]; 15.94/5.77 524 -> 522[label="",style="dashed", color="red", weight=0]; 15.94/5.77 524[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs (not MyFalse) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="magenta"];60 -> 96[label="",style="dashed", color="red", weight=0]; 15.94/5.77 60[label="digitToInt2 (Char (Pos Zero)) (asAs (gtEsChar (Char (Pos Zero)) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];60 -> 97[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 60 -> 98[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 76[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];77[label="vx8000",fontsize=16,color="green",shape="box"];78[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];75[label="digitToInt2 (Char (Neg (Succ vx19))) (asAs (gtEsChar (Char (Neg (Succ vx19))) (Char (Pos (Succ vx20)))) (ltEsChar (Char (Neg (Succ vx19))) (Char (Pos (Succ vx21)))))",fontsize=16,color="black",shape="triangle"];75 -> 82[label="",style="solid", color="black", weight=3]; 15.94/5.77 84[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];85[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];83[label="digitToInt2 (Char (Neg Zero)) (asAs (gtEsChar (Char (Neg Zero)) (Char (Pos (Succ vx23)))) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx24)))))",fontsize=16,color="black",shape="triangle"];83 -> 88[label="",style="solid", color="black", weight=3]; 15.94/5.77 526[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs MyTrue (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="black",shape="box"];526 -> 528[label="",style="solid", color="black", weight=3]; 15.94/5.77 527[label="digitToInt3 (Char (Pos (Succ vx86))) (asAs MyFalse (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))))",fontsize=16,color="black",shape="box"];527 -> 529[label="",style="solid", color="black", weight=3]; 15.94/5.77 97[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];98[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];96[label="digitToInt2 (Char (Pos Zero)) (asAs (gtEsChar (Char (Pos Zero)) (Char (Pos (Succ vx26)))) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx27)))))",fontsize=16,color="black",shape="triangle"];96 -> 101[label="",style="solid", color="black", weight=3]; 15.94/5.77 82[label="digitToInt2 (Char (Neg (Succ vx19))) (asAs (fsEsOrdering (compareChar (Char (Neg (Succ vx19))) (Char (Pos (Succ vx20)))) LT) (ltEsChar (Char (Neg (Succ vx19))) (Char (Pos (Succ vx21)))))",fontsize=16,color="black",shape="box"];82 -> 102[label="",style="solid", color="black", weight=3]; 15.94/5.77 88[label="digitToInt2 (Char (Neg Zero)) (asAs (fsEsOrdering (compareChar (Char (Neg Zero)) (Char (Pos (Succ vx23)))) LT) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx24)))))",fontsize=16,color="black",shape="box"];88 -> 103[label="",style="solid", color="black", weight=3]; 15.94/5.77 528[label="digitToInt3 (Char (Pos (Succ vx86))) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89))))",fontsize=16,color="black",shape="box"];528 -> 530[label="",style="solid", color="black", weight=3]; 15.94/5.77 529[label="digitToInt3 (Char (Pos (Succ vx86))) MyFalse",fontsize=16,color="black",shape="triangle"];529 -> 531[label="",style="solid", color="black", weight=3]; 15.94/5.77 101[label="digitToInt2 (Char (Pos Zero)) (asAs (fsEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx26)))) LT) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx27)))))",fontsize=16,color="black",shape="box"];101 -> 112[label="",style="solid", color="black", weight=3]; 15.94/5.77 102[label="digitToInt2 (Char (Neg (Succ vx19))) (asAs (not (esEsOrdering (compareChar (Char (Neg (Succ vx19))) (Char (Pos (Succ vx20)))) LT)) (ltEsChar (Char (Neg (Succ vx19))) (Char (Pos (Succ vx21)))))",fontsize=16,color="black",shape="box"];102 -> 113[label="",style="solid", color="black", weight=3]; 15.94/5.77 103[label="digitToInt2 (Char (Neg Zero)) (asAs (not (esEsOrdering (compareChar (Char (Neg Zero)) (Char (Pos (Succ vx23)))) LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx24)))))",fontsize=16,color="black",shape="box"];103 -> 114[label="",style="solid", color="black", weight=3]; 15.94/5.77 530[label="digitToInt3 (Char (Pos (Succ vx86))) (fsEsOrdering (compareChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))) GT)",fontsize=16,color="black",shape="box"];530 -> 532[label="",style="solid", color="black", weight=3]; 15.94/5.77 531 -> 537[label="",style="dashed", color="red", weight=0]; 15.94/5.77 531[label="digitToInt2 (Char (Pos (Succ vx86))) (asAs (gtEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar (Char (Pos (Succ vx86))) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];531 -> 538[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 531 -> 539[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 531 -> 540[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 112[label="digitToInt2 (Char (Pos Zero)) (asAs (not (esEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx26)))) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx27)))))",fontsize=16,color="black",shape="box"];112 -> 125[label="",style="solid", color="black", weight=3]; 15.94/5.77 113[label="digitToInt2 (Char (Neg (Succ vx19))) (asAs (not (esEsOrdering (primCmpChar (Char (Neg (Succ vx19))) (Char (Pos (Succ vx20)))) LT)) (ltEsChar (Char (Neg (Succ vx19))) (Char (Pos (Succ vx21)))))",fontsize=16,color="black",shape="box"];113 -> 126[label="",style="solid", color="black", weight=3]; 15.94/5.77 114[label="digitToInt2 (Char (Neg Zero)) (asAs (not (esEsOrdering (primCmpChar (Char (Neg Zero)) (Char (Pos (Succ vx23)))) LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx24)))))",fontsize=16,color="black",shape="box"];114 -> 127[label="",style="solid", color="black", weight=3]; 15.94/5.77 532[label="digitToInt3 (Char (Pos (Succ vx86))) (not (esEsOrdering (compareChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))) GT))",fontsize=16,color="black",shape="box"];532 -> 536[label="",style="solid", color="black", weight=3]; 15.94/5.77 538[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];539[label="vx86",fontsize=16,color="green",shape="box"];540[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];537[label="digitToInt2 (Char (Pos (Succ vx94))) (asAs (gtEsChar (Char (Pos (Succ vx94))) (Char (Pos (Succ vx95)))) (ltEsChar (Char (Pos (Succ vx94))) (Char (Pos (Succ vx96)))))",fontsize=16,color="black",shape="triangle"];537 -> 544[label="",style="solid", color="black", weight=3]; 15.94/5.77 125[label="digitToInt2 (Char (Pos Zero)) (asAs (not (esEsOrdering (primCmpChar (Char (Pos Zero)) (Char (Pos (Succ vx26)))) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx27)))))",fontsize=16,color="black",shape="box"];125 -> 141[label="",style="solid", color="black", weight=3]; 15.94/5.77 126[label="digitToInt2 (Char (Neg (Succ vx19))) (asAs (not (esEsOrdering (primCmpInt (Neg (Succ vx19)) (Pos (Succ vx20))) LT)) (ltEsChar (Char (Neg (Succ vx19))) (Char (Pos (Succ vx21)))))",fontsize=16,color="black",shape="box"];126 -> 142[label="",style="solid", color="black", weight=3]; 15.94/5.77 127[label="digitToInt2 (Char (Neg Zero)) (asAs (not (esEsOrdering (primCmpInt (Neg Zero) (Pos (Succ vx23))) LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx24)))))",fontsize=16,color="black",shape="box"];127 -> 143[label="",style="solid", color="black", weight=3]; 15.94/5.77 536[label="digitToInt3 (Char (Pos (Succ vx86))) (not (esEsOrdering (primCmpChar (Char (Pos (Succ vx86))) (Char (Pos (Succ vx89)))) GT))",fontsize=16,color="black",shape="box"];536 -> 545[label="",style="solid", color="black", weight=3]; 15.94/5.77 544[label="digitToInt2 (Char (Pos (Succ vx94))) (asAs (fsEsOrdering (compareChar (Char (Pos (Succ vx94))) (Char (Pos (Succ vx95)))) LT) (ltEsChar (Char (Pos (Succ vx94))) (Char (Pos (Succ vx96)))))",fontsize=16,color="black",shape="box"];544 -> 546[label="",style="solid", color="black", weight=3]; 15.94/5.77 141[label="digitToInt2 (Char (Pos Zero)) (asAs (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ vx26))) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx27)))))",fontsize=16,color="black",shape="box"];141 -> 153[label="",style="solid", color="black", weight=3]; 15.94/5.77 142[label="digitToInt2 (Char (Neg (Succ vx19))) (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Neg (Succ vx19))) (Char (Pos (Succ vx21)))))",fontsize=16,color="black",shape="box"];142 -> 154[label="",style="solid", color="black", weight=3]; 15.94/5.77 143[label="digitToInt2 (Char (Neg Zero)) (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx24)))))",fontsize=16,color="black",shape="box"];143 -> 155[label="",style="solid", color="black", weight=3]; 15.94/5.77 545[label="digitToInt3 (Char (Pos (Succ vx86))) (not (esEsOrdering (primCmpInt (Pos (Succ vx86)) (Pos (Succ vx89))) GT))",fontsize=16,color="black",shape="box"];545 -> 547[label="",style="solid", color="black", weight=3]; 15.94/5.77 546[label="digitToInt2 (Char (Pos (Succ vx94))) (asAs (not (esEsOrdering (compareChar (Char (Pos (Succ vx94))) (Char (Pos (Succ vx95)))) LT)) (ltEsChar (Char (Pos (Succ vx94))) (Char (Pos (Succ vx96)))))",fontsize=16,color="black",shape="box"];546 -> 548[label="",style="solid", color="black", weight=3]; 15.94/5.77 153[label="digitToInt2 (Char (Pos Zero)) (asAs (not (esEsOrdering (primCmpNat Zero (Succ vx26)) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx27)))))",fontsize=16,color="black",shape="box"];153 -> 167[label="",style="solid", color="black", weight=3]; 15.94/5.77 154[label="digitToInt2 (Char (Neg (Succ vx19))) (asAs (not MyTrue) (ltEsChar (Char (Neg (Succ vx19))) (Char (Pos (Succ vx21)))))",fontsize=16,color="black",shape="box"];154 -> 168[label="",style="solid", color="black", weight=3]; 15.94/5.77 155[label="digitToInt2 (Char (Neg Zero)) (asAs (not MyTrue) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx24)))))",fontsize=16,color="black",shape="box"];155 -> 169[label="",style="solid", color="black", weight=3]; 15.94/5.77 547 -> 753[label="",style="dashed", color="red", weight=0]; 15.94/5.77 547[label="digitToInt3 (Char (Pos (Succ vx86))) (not (esEsOrdering (primCmpNat (Succ vx86) (Succ vx89)) GT))",fontsize=16,color="magenta"];547 -> 754[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 547 -> 755[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 547 -> 756[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 548[label="digitToInt2 (Char (Pos (Succ vx94))) (asAs (not (esEsOrdering (primCmpChar (Char (Pos (Succ vx94))) (Char (Pos (Succ vx95)))) LT)) (ltEsChar (Char (Pos (Succ vx94))) (Char (Pos (Succ vx96)))))",fontsize=16,color="black",shape="box"];548 -> 550[label="",style="solid", color="black", weight=3]; 15.94/5.77 167[label="digitToInt2 (Char (Pos Zero)) (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx27)))))",fontsize=16,color="black",shape="box"];167 -> 184[label="",style="solid", color="black", weight=3]; 15.94/5.77 168[label="digitToInt2 (Char (Neg (Succ vx19))) (asAs MyFalse (ltEsChar (Char (Neg (Succ vx19))) (Char (Pos (Succ vx21)))))",fontsize=16,color="black",shape="box"];168 -> 185[label="",style="solid", color="black", weight=3]; 15.94/5.77 169[label="digitToInt2 (Char (Neg Zero)) (asAs MyFalse (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx24)))))",fontsize=16,color="black",shape="box"];169 -> 186[label="",style="solid", color="black", weight=3]; 15.94/5.77 754[label="vx86",fontsize=16,color="green",shape="box"];755[label="Succ vx86",fontsize=16,color="green",shape="box"];756[label="Succ vx89",fontsize=16,color="green",shape="box"];753[label="digitToInt3 (Char (Pos (Succ vx114))) (not (esEsOrdering (primCmpNat vx115 vx116) GT))",fontsize=16,color="burlywood",shape="triangle"];1421[label="vx115/Succ vx1150",fontsize=10,color="white",style="solid",shape="box"];753 -> 1421[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1421 -> 775[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1422[label="vx115/Zero",fontsize=10,color="white",style="solid",shape="box"];753 -> 1422[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1422 -> 776[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 550[label="digitToInt2 (Char (Pos (Succ vx94))) (asAs (not (esEsOrdering (primCmpInt (Pos (Succ vx94)) (Pos (Succ vx95))) LT)) (ltEsChar (Char (Pos (Succ vx94))) (Char (Pos (Succ vx96)))))",fontsize=16,color="black",shape="box"];550 -> 553[label="",style="solid", color="black", weight=3]; 15.94/5.77 184[label="digitToInt2 (Char (Pos Zero)) (asAs (not MyTrue) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx27)))))",fontsize=16,color="black",shape="box"];184 -> 199[label="",style="solid", color="black", weight=3]; 15.94/5.77 185[label="digitToInt2 (Char (Neg (Succ vx19))) MyFalse",fontsize=16,color="black",shape="box"];185 -> 200[label="",style="solid", color="black", weight=3]; 15.94/5.77 186[label="digitToInt2 (Char (Neg Zero)) MyFalse",fontsize=16,color="black",shape="box"];186 -> 201[label="",style="solid", color="black", weight=3]; 15.94/5.77 775[label="digitToInt3 (Char (Pos (Succ vx114))) (not (esEsOrdering (primCmpNat (Succ vx1150) vx116) GT))",fontsize=16,color="burlywood",shape="box"];1423[label="vx116/Succ vx1160",fontsize=10,color="white",style="solid",shape="box"];775 -> 1423[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1423 -> 785[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1424[label="vx116/Zero",fontsize=10,color="white",style="solid",shape="box"];775 -> 1424[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1424 -> 786[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 776[label="digitToInt3 (Char (Pos (Succ vx114))) (not (esEsOrdering (primCmpNat Zero vx116) GT))",fontsize=16,color="burlywood",shape="box"];1425[label="vx116/Succ vx1160",fontsize=10,color="white",style="solid",shape="box"];776 -> 1425[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1425 -> 787[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1426[label="vx116/Zero",fontsize=10,color="white",style="solid",shape="box"];776 -> 1426[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1426 -> 788[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 553 -> 818[label="",style="dashed", color="red", weight=0]; 15.94/5.77 553[label="digitToInt2 (Char (Pos (Succ vx94))) (asAs (not (esEsOrdering (primCmpNat (Succ vx94) (Succ vx95)) LT)) (ltEsChar (Char (Pos (Succ vx94))) (Char (Pos (Succ vx96)))))",fontsize=16,color="magenta"];553 -> 819[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 553 -> 820[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 553 -> 821[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 553 -> 822[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 199[label="digitToInt2 (Char (Pos Zero)) (asAs MyFalse (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx27)))))",fontsize=16,color="black",shape="box"];199 -> 216[label="",style="solid", color="black", weight=3]; 15.94/5.77 200 -> 242[label="",style="dashed", color="red", weight=0]; 15.94/5.77 200[label="digitToInt1 (Char (Neg (Succ vx19))) (asAs (gtEsChar (Char (Neg (Succ vx19))) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar (Char (Neg (Succ vx19))) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];200 -> 243[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 200 -> 244[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 200 -> 245[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 201 -> 250[label="",style="dashed", color="red", weight=0]; 15.94/5.77 201[label="digitToInt1 (Char (Neg Zero)) (asAs (gtEsChar (Char (Neg Zero)) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];201 -> 251[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 201 -> 252[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 785[label="digitToInt3 (Char (Pos (Succ vx114))) (not (esEsOrdering (primCmpNat (Succ vx1150) (Succ vx1160)) GT))",fontsize=16,color="black",shape="box"];785 -> 805[label="",style="solid", color="black", weight=3]; 15.94/5.77 786[label="digitToInt3 (Char (Pos (Succ vx114))) (not (esEsOrdering (primCmpNat (Succ vx1150) Zero) GT))",fontsize=16,color="black",shape="box"];786 -> 806[label="",style="solid", color="black", weight=3]; 15.94/5.77 787[label="digitToInt3 (Char (Pos (Succ vx114))) (not (esEsOrdering (primCmpNat Zero (Succ vx1160)) GT))",fontsize=16,color="black",shape="box"];787 -> 807[label="",style="solid", color="black", weight=3]; 15.94/5.77 788[label="digitToInt3 (Char (Pos (Succ vx114))) (not (esEsOrdering (primCmpNat Zero Zero) GT))",fontsize=16,color="black",shape="box"];788 -> 808[label="",style="solid", color="black", weight=3]; 15.94/5.77 819[label="Succ vx95",fontsize=16,color="green",shape="box"];820[label="vx96",fontsize=16,color="green",shape="box"];821[label="vx94",fontsize=16,color="green",shape="box"];822[label="Succ vx94",fontsize=16,color="green",shape="box"];818[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not (esEsOrdering (primCmpNat vx124 vx125) LT)) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="burlywood",shape="triangle"];1427[label="vx124/Succ vx1240",fontsize=10,color="white",style="solid",shape="box"];818 -> 1427[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1427 -> 847[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1428[label="vx124/Zero",fontsize=10,color="white",style="solid",shape="box"];818 -> 1428[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1428 -> 848[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 216[label="digitToInt2 (Char (Pos Zero)) MyFalse",fontsize=16,color="black",shape="box"];216 -> 241[label="",style="solid", color="black", weight=3]; 15.94/5.77 243[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];244[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];245[label="vx19",fontsize=16,color="green",shape="box"];242[label="digitToInt1 (Char (Neg (Succ vx49))) (asAs (gtEsChar (Char (Neg (Succ vx49))) (Char (Pos (Succ vx50)))) (ltEsChar (Char (Neg (Succ vx49))) (Char (Pos (Succ vx51)))))",fontsize=16,color="black",shape="triangle"];242 -> 249[label="",style="solid", color="black", weight=3]; 15.94/5.77 251[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];252[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];250[label="digitToInt1 (Char (Neg Zero)) (asAs (gtEsChar (Char (Neg Zero)) (Char (Pos (Succ vx53)))) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx54)))))",fontsize=16,color="black",shape="triangle"];250 -> 255[label="",style="solid", color="black", weight=3]; 15.94/5.77 805 -> 753[label="",style="dashed", color="red", weight=0]; 15.94/5.77 805[label="digitToInt3 (Char (Pos (Succ vx114))) (not (esEsOrdering (primCmpNat vx1150 vx1160) GT))",fontsize=16,color="magenta"];805 -> 849[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 805 -> 850[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 806[label="digitToInt3 (Char (Pos (Succ vx114))) (not (esEsOrdering GT GT))",fontsize=16,color="black",shape="box"];806 -> 851[label="",style="solid", color="black", weight=3]; 15.94/5.77 807[label="digitToInt3 (Char (Pos (Succ vx114))) (not (esEsOrdering LT GT))",fontsize=16,color="black",shape="box"];807 -> 852[label="",style="solid", color="black", weight=3]; 15.94/5.77 808[label="digitToInt3 (Char (Pos (Succ vx114))) (not (esEsOrdering EQ GT))",fontsize=16,color="black",shape="box"];808 -> 853[label="",style="solid", color="black", weight=3]; 15.94/5.77 847[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not (esEsOrdering (primCmpNat (Succ vx1240) vx125) LT)) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="burlywood",shape="box"];1429[label="vx125/Succ vx1250",fontsize=10,color="white",style="solid",shape="box"];847 -> 1429[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1429 -> 854[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1430[label="vx125/Zero",fontsize=10,color="white",style="solid",shape="box"];847 -> 1430[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1430 -> 855[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 848[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not (esEsOrdering (primCmpNat Zero vx125) LT)) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="burlywood",shape="box"];1431[label="vx125/Succ vx1250",fontsize=10,color="white",style="solid",shape="box"];848 -> 1431[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1431 -> 856[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1432[label="vx125/Zero",fontsize=10,color="white",style="solid",shape="box"];848 -> 1432[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1432 -> 857[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 241 -> 294[label="",style="dashed", color="red", weight=0]; 15.94/5.77 241[label="digitToInt1 (Char (Pos Zero)) (asAs (gtEsChar (Char (Pos Zero)) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];241 -> 295[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 241 -> 296[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 249[label="digitToInt1 (Char (Neg (Succ vx49))) (asAs (fsEsOrdering (compareChar (Char (Neg (Succ vx49))) (Char (Pos (Succ vx50)))) LT) (ltEsChar (Char (Neg (Succ vx49))) (Char (Pos (Succ vx51)))))",fontsize=16,color="black",shape="box"];249 -> 281[label="",style="solid", color="black", weight=3]; 15.94/5.77 255[label="digitToInt1 (Char (Neg Zero)) (asAs (fsEsOrdering (compareChar (Char (Neg Zero)) (Char (Pos (Succ vx53)))) LT) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx54)))))",fontsize=16,color="black",shape="box"];255 -> 282[label="",style="solid", color="black", weight=3]; 15.94/5.77 849[label="vx1150",fontsize=16,color="green",shape="box"];850[label="vx1160",fontsize=16,color="green",shape="box"];851[label="digitToInt3 (Char (Pos (Succ vx114))) (not MyTrue)",fontsize=16,color="black",shape="box"];851 -> 858[label="",style="solid", color="black", weight=3]; 15.94/5.77 852[label="digitToInt3 (Char (Pos (Succ vx114))) (not MyFalse)",fontsize=16,color="black",shape="triangle"];852 -> 859[label="",style="solid", color="black", weight=3]; 15.94/5.77 853 -> 852[label="",style="dashed", color="red", weight=0]; 15.94/5.77 853[label="digitToInt3 (Char (Pos (Succ vx114))) (not MyFalse)",fontsize=16,color="magenta"];854[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not (esEsOrdering (primCmpNat (Succ vx1240) (Succ vx1250)) LT)) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="black",shape="box"];854 -> 860[label="",style="solid", color="black", weight=3]; 15.94/5.77 855[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not (esEsOrdering (primCmpNat (Succ vx1240) Zero) LT)) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="black",shape="box"];855 -> 861[label="",style="solid", color="black", weight=3]; 15.94/5.77 856[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not (esEsOrdering (primCmpNat Zero (Succ vx1250)) LT)) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="black",shape="box"];856 -> 862[label="",style="solid", color="black", weight=3]; 15.94/5.77 857[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not (esEsOrdering (primCmpNat Zero Zero) LT)) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="black",shape="box"];857 -> 863[label="",style="solid", color="black", weight=3]; 15.94/5.77 295[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];296[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];294[label="digitToInt1 (Char (Pos Zero)) (asAs (gtEsChar (Char (Pos Zero)) (Char (Pos (Succ vx61)))) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx62)))))",fontsize=16,color="black",shape="triangle"];294 -> 300[label="",style="solid", color="black", weight=3]; 15.94/5.77 281[label="digitToInt1 (Char (Neg (Succ vx49))) (asAs (not (esEsOrdering (compareChar (Char (Neg (Succ vx49))) (Char (Pos (Succ vx50)))) LT)) (ltEsChar (Char (Neg (Succ vx49))) (Char (Pos (Succ vx51)))))",fontsize=16,color="black",shape="box"];281 -> 301[label="",style="solid", color="black", weight=3]; 15.94/5.77 282[label="digitToInt1 (Char (Neg Zero)) (asAs (not (esEsOrdering (compareChar (Char (Neg Zero)) (Char (Pos (Succ vx53)))) LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx54)))))",fontsize=16,color="black",shape="box"];282 -> 302[label="",style="solid", color="black", weight=3]; 15.94/5.77 858 -> 529[label="",style="dashed", color="red", weight=0]; 15.94/5.77 858[label="digitToInt3 (Char (Pos (Succ vx114))) MyFalse",fontsize=16,color="magenta"];858 -> 864[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 859[label="digitToInt3 (Char (Pos (Succ vx114))) MyTrue",fontsize=16,color="black",shape="box"];859 -> 865[label="",style="solid", color="black", weight=3]; 15.94/5.77 860 -> 818[label="",style="dashed", color="red", weight=0]; 15.94/5.77 860[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not (esEsOrdering (primCmpNat vx1240 vx1250) LT)) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="magenta"];860 -> 866[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 860 -> 867[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 861[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not (esEsOrdering GT LT)) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="black",shape="box"];861 -> 868[label="",style="solid", color="black", weight=3]; 15.94/5.77 862[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="black",shape="box"];862 -> 869[label="",style="solid", color="black", weight=3]; 15.94/5.77 863[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not (esEsOrdering EQ LT)) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="black",shape="box"];863 -> 870[label="",style="solid", color="black", weight=3]; 15.94/5.77 300[label="digitToInt1 (Char (Pos Zero)) (asAs (fsEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx61)))) LT) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx62)))))",fontsize=16,color="black",shape="box"];300 -> 336[label="",style="solid", color="black", weight=3]; 15.94/5.77 301[label="digitToInt1 (Char (Neg (Succ vx49))) (asAs (not (esEsOrdering (primCmpChar (Char (Neg (Succ vx49))) (Char (Pos (Succ vx50)))) LT)) (ltEsChar (Char (Neg (Succ vx49))) (Char (Pos (Succ vx51)))))",fontsize=16,color="black",shape="box"];301 -> 337[label="",style="solid", color="black", weight=3]; 15.94/5.77 302[label="digitToInt1 (Char (Neg Zero)) (asAs (not (esEsOrdering (primCmpChar (Char (Neg Zero)) (Char (Pos (Succ vx53)))) LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx54)))))",fontsize=16,color="black",shape="box"];302 -> 338[label="",style="solid", color="black", weight=3]; 15.94/5.77 864[label="vx114",fontsize=16,color="green",shape="box"];865 -> 871[label="",style="dashed", color="red", weight=0]; 15.94/5.77 865[label="msMyInt (fromEnumChar (Char (Pos (Succ vx114)))) (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];865 -> 872[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 865 -> 873[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 866[label="vx1250",fontsize=16,color="green",shape="box"];867[label="vx1240",fontsize=16,color="green",shape="box"];868[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not MyFalse) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="black",shape="triangle"];868 -> 874[label="",style="solid", color="black", weight=3]; 15.94/5.77 869[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not MyTrue) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="black",shape="box"];869 -> 875[label="",style="solid", color="black", weight=3]; 15.94/5.77 870 -> 868[label="",style="dashed", color="red", weight=0]; 15.94/5.77 870[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs (not MyFalse) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="magenta"];336[label="digitToInt1 (Char (Pos Zero)) (asAs (not (esEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx61)))) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx62)))))",fontsize=16,color="black",shape="box"];336 -> 364[label="",style="solid", color="black", weight=3]; 15.94/5.77 337[label="digitToInt1 (Char (Neg (Succ vx49))) (asAs (not (esEsOrdering (primCmpInt (Neg (Succ vx49)) (Pos (Succ vx50))) LT)) (ltEsChar (Char (Neg (Succ vx49))) (Char (Pos (Succ vx51)))))",fontsize=16,color="black",shape="box"];337 -> 365[label="",style="solid", color="black", weight=3]; 15.94/5.77 338[label="digitToInt1 (Char (Neg Zero)) (asAs (not (esEsOrdering (primCmpInt (Neg Zero) (Pos (Succ vx53))) LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx54)))))",fontsize=16,color="black",shape="box"];338 -> 366[label="",style="solid", color="black", weight=3]; 15.94/5.77 872[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];873[label="vx114",fontsize=16,color="green",shape="box"];871[label="msMyInt (fromEnumChar (Char (Pos (Succ vx128)))) (fromEnumChar (Char (Pos (Succ vx129))))",fontsize=16,color="black",shape="triangle"];871 -> 876[label="",style="solid", color="black", weight=3]; 15.94/5.77 874[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs MyTrue (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="black",shape="box"];874 -> 877[label="",style="solid", color="black", weight=3]; 15.94/5.77 875[label="digitToInt2 (Char (Pos (Succ vx123))) (asAs MyFalse (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))))",fontsize=16,color="black",shape="box"];875 -> 878[label="",style="solid", color="black", weight=3]; 15.94/5.77 364[label="digitToInt1 (Char (Pos Zero)) (asAs (not (esEsOrdering (primCmpChar (Char (Pos Zero)) (Char (Pos (Succ vx61)))) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx62)))))",fontsize=16,color="black",shape="box"];364 -> 378[label="",style="solid", color="black", weight=3]; 15.94/5.77 365[label="digitToInt1 (Char (Neg (Succ vx49))) (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Neg (Succ vx49))) (Char (Pos (Succ vx51)))))",fontsize=16,color="black",shape="box"];365 -> 379[label="",style="solid", color="black", weight=3]; 15.94/5.77 366[label="digitToInt1 (Char (Neg Zero)) (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx54)))))",fontsize=16,color="black",shape="box"];366 -> 380[label="",style="solid", color="black", weight=3]; 15.94/5.77 876[label="primMinusInt (fromEnumChar (Char (Pos (Succ vx128)))) (fromEnumChar (Char (Pos (Succ vx129))))",fontsize=16,color="black",shape="box"];876 -> 879[label="",style="solid", color="black", weight=3]; 15.94/5.77 877[label="digitToInt2 (Char (Pos (Succ vx123))) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126))))",fontsize=16,color="black",shape="box"];877 -> 880[label="",style="solid", color="black", weight=3]; 15.94/5.77 878[label="digitToInt2 (Char (Pos (Succ vx123))) MyFalse",fontsize=16,color="black",shape="triangle"];878 -> 881[label="",style="solid", color="black", weight=3]; 15.94/5.77 378[label="digitToInt1 (Char (Pos Zero)) (asAs (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ vx61))) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx62)))))",fontsize=16,color="black",shape="box"];378 -> 396[label="",style="solid", color="black", weight=3]; 15.94/5.77 379[label="digitToInt1 (Char (Neg (Succ vx49))) (asAs (not MyTrue) (ltEsChar (Char (Neg (Succ vx49))) (Char (Pos (Succ vx51)))))",fontsize=16,color="black",shape="box"];379 -> 397[label="",style="solid", color="black", weight=3]; 15.94/5.77 380[label="digitToInt1 (Char (Neg Zero)) (asAs (not MyTrue) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx54)))))",fontsize=16,color="black",shape="box"];380 -> 398[label="",style="solid", color="black", weight=3]; 15.94/5.77 879[label="primMinusInt (primCharToInt (Char (Pos (Succ vx128)))) (fromEnumChar (Char (Pos (Succ vx129))))",fontsize=16,color="black",shape="box"];879 -> 882[label="",style="solid", color="black", weight=3]; 15.94/5.77 880[label="digitToInt2 (Char (Pos (Succ vx123))) (fsEsOrdering (compareChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))) GT)",fontsize=16,color="black",shape="box"];880 -> 883[label="",style="solid", color="black", weight=3]; 15.94/5.77 881 -> 889[label="",style="dashed", color="red", weight=0]; 15.94/5.77 881[label="digitToInt1 (Char (Pos (Succ vx123))) (asAs (gtEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar (Char (Pos (Succ vx123))) (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];881 -> 890[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 881 -> 891[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 881 -> 892[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 396[label="digitToInt1 (Char (Pos Zero)) (asAs (not (esEsOrdering (primCmpNat Zero (Succ vx61)) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx62)))))",fontsize=16,color="black",shape="box"];396 -> 418[label="",style="solid", color="black", weight=3]; 15.94/5.77 397[label="digitToInt1 (Char (Neg (Succ vx49))) (asAs MyFalse (ltEsChar (Char (Neg (Succ vx49))) (Char (Pos (Succ vx51)))))",fontsize=16,color="black",shape="box"];397 -> 419[label="",style="solid", color="black", weight=3]; 15.94/5.77 398[label="digitToInt1 (Char (Neg Zero)) (asAs MyFalse (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx54)))))",fontsize=16,color="black",shape="box"];398 -> 420[label="",style="solid", color="black", weight=3]; 15.94/5.77 882[label="primMinusInt (Pos (Succ vx128)) (fromEnumChar (Char (Pos (Succ vx129))))",fontsize=16,color="black",shape="box"];882 -> 887[label="",style="solid", color="black", weight=3]; 15.94/5.77 883[label="digitToInt2 (Char (Pos (Succ vx123))) (not (esEsOrdering (compareChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))) GT))",fontsize=16,color="black",shape="box"];883 -> 888[label="",style="solid", color="black", weight=3]; 15.94/5.77 890[label="vx123",fontsize=16,color="green",shape="box"];891[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];892[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];889[label="digitToInt1 (Char (Pos (Succ vx134))) (asAs (gtEsChar (Char (Pos (Succ vx134))) (Char (Pos (Succ vx135)))) (ltEsChar (Char (Pos (Succ vx134))) (Char (Pos (Succ vx136)))))",fontsize=16,color="black",shape="triangle"];889 -> 896[label="",style="solid", color="black", weight=3]; 15.94/5.77 418[label="digitToInt1 (Char (Pos Zero)) (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx62)))))",fontsize=16,color="black",shape="box"];418 -> 433[label="",style="solid", color="black", weight=3]; 15.94/5.77 419[label="digitToInt1 (Char (Neg (Succ vx49))) MyFalse",fontsize=16,color="black",shape="box"];419 -> 434[label="",style="solid", color="black", weight=3]; 15.94/5.77 420[label="digitToInt1 (Char (Neg Zero)) MyFalse",fontsize=16,color="black",shape="box"];420 -> 435[label="",style="solid", color="black", weight=3]; 15.94/5.77 887[label="primMinusInt (Pos (Succ vx128)) (primCharToInt (Char (Pos (Succ vx129))))",fontsize=16,color="black",shape="box"];887 -> 897[label="",style="solid", color="black", weight=3]; 15.94/5.77 888[label="digitToInt2 (Char (Pos (Succ vx123))) (not (esEsOrdering (primCmpChar (Char (Pos (Succ vx123))) (Char (Pos (Succ vx126)))) GT))",fontsize=16,color="black",shape="box"];888 -> 898[label="",style="solid", color="black", weight=3]; 15.94/5.77 896[label="digitToInt1 (Char (Pos (Succ vx134))) (asAs (fsEsOrdering (compareChar (Char (Pos (Succ vx134))) (Char (Pos (Succ vx135)))) LT) (ltEsChar (Char (Pos (Succ vx134))) (Char (Pos (Succ vx136)))))",fontsize=16,color="black",shape="box"];896 -> 899[label="",style="solid", color="black", weight=3]; 15.94/5.77 433[label="digitToInt1 (Char (Pos Zero)) (asAs (not MyTrue) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx62)))))",fontsize=16,color="black",shape="box"];433 -> 459[label="",style="solid", color="black", weight=3]; 15.94/5.77 434[label="digitToInt0 (Char (Neg (Succ vx49))) otherwise",fontsize=16,color="black",shape="box"];434 -> 460[label="",style="solid", color="black", weight=3]; 15.94/5.77 435[label="digitToInt0 (Char (Neg Zero)) otherwise",fontsize=16,color="black",shape="box"];435 -> 461[label="",style="solid", color="black", weight=3]; 15.94/5.77 897[label="primMinusInt (Pos (Succ vx128)) (Pos (Succ vx129))",fontsize=16,color="black",shape="box"];897 -> 900[label="",style="solid", color="black", weight=3]; 15.94/5.77 898[label="digitToInt2 (Char (Pos (Succ vx123))) (not (esEsOrdering (primCmpInt (Pos (Succ vx123)) (Pos (Succ vx126))) GT))",fontsize=16,color="black",shape="box"];898 -> 901[label="",style="solid", color="black", weight=3]; 15.94/5.77 899[label="digitToInt1 (Char (Pos (Succ vx134))) (asAs (not (esEsOrdering (compareChar (Char (Pos (Succ vx134))) (Char (Pos (Succ vx135)))) LT)) (ltEsChar (Char (Pos (Succ vx134))) (Char (Pos (Succ vx136)))))",fontsize=16,color="black",shape="box"];899 -> 902[label="",style="solid", color="black", weight=3]; 15.94/5.77 459[label="digitToInt1 (Char (Pos Zero)) (asAs MyFalse (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx62)))))",fontsize=16,color="black",shape="box"];459 -> 505[label="",style="solid", color="black", weight=3]; 15.94/5.77 460[label="digitToInt0 (Char (Neg (Succ vx49))) MyTrue",fontsize=16,color="black",shape="box"];460 -> 506[label="",style="solid", color="black", weight=3]; 15.94/5.77 461[label="digitToInt0 (Char (Neg Zero)) MyTrue",fontsize=16,color="black",shape="box"];461 -> 507[label="",style="solid", color="black", weight=3]; 15.94/5.77 900[label="primMinusNat (Succ vx128) (Succ vx129)",fontsize=16,color="black",shape="box"];900 -> 903[label="",style="solid", color="black", weight=3]; 15.94/5.77 901 -> 1117[label="",style="dashed", color="red", weight=0]; 15.94/5.77 901[label="digitToInt2 (Char (Pos (Succ vx123))) (not (esEsOrdering (primCmpNat (Succ vx123) (Succ vx126)) GT))",fontsize=16,color="magenta"];901 -> 1118[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 901 -> 1119[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 901 -> 1120[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 902[label="digitToInt1 (Char (Pos (Succ vx134))) (asAs (not (esEsOrdering (primCmpChar (Char (Pos (Succ vx134))) (Char (Pos (Succ vx135)))) LT)) (ltEsChar (Char (Pos (Succ vx134))) (Char (Pos (Succ vx136)))))",fontsize=16,color="black",shape="box"];902 -> 905[label="",style="solid", color="black", weight=3]; 15.94/5.77 505[label="digitToInt1 (Char (Pos Zero)) MyFalse",fontsize=16,color="black",shape="box"];505 -> 512[label="",style="solid", color="black", weight=3]; 15.94/5.77 506[label="error",fontsize=16,color="black",shape="triangle"];506 -> 513[label="",style="solid", color="black", weight=3]; 15.94/5.77 507 -> 506[label="",style="dashed", color="red", weight=0]; 15.94/5.77 507[label="error",fontsize=16,color="magenta"];903[label="primMinusNat vx128 vx129",fontsize=16,color="burlywood",shape="triangle"];1433[label="vx128/Succ vx1280",fontsize=10,color="white",style="solid",shape="box"];903 -> 1433[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1433 -> 906[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1434[label="vx128/Zero",fontsize=10,color="white",style="solid",shape="box"];903 -> 1434[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1434 -> 907[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1118[label="Succ vx126",fontsize=16,color="green",shape="box"];1119[label="vx123",fontsize=16,color="green",shape="box"];1120[label="Succ vx123",fontsize=16,color="green",shape="box"];1117[label="digitToInt2 (Char (Pos (Succ vx144))) (not (esEsOrdering (primCmpNat vx145 vx146) GT))",fontsize=16,color="burlywood",shape="triangle"];1435[label="vx145/Succ vx1450",fontsize=10,color="white",style="solid",shape="box"];1117 -> 1435[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1435 -> 1139[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1436[label="vx145/Zero",fontsize=10,color="white",style="solid",shape="box"];1117 -> 1436[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1436 -> 1140[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 905[label="digitToInt1 (Char (Pos (Succ vx134))) (asAs (not (esEsOrdering (primCmpInt (Pos (Succ vx134)) (Pos (Succ vx135))) LT)) (ltEsChar (Char (Pos (Succ vx134))) (Char (Pos (Succ vx136)))))",fontsize=16,color="black",shape="box"];905 -> 910[label="",style="solid", color="black", weight=3]; 15.94/5.77 512[label="digitToInt0 (Char (Pos Zero)) otherwise",fontsize=16,color="black",shape="box"];512 -> 518[label="",style="solid", color="black", weight=3]; 15.94/5.77 513[label="stop MyTrue",fontsize=16,color="black",shape="box"];513 -> 519[label="",style="solid", color="black", weight=3]; 15.94/5.77 906[label="primMinusNat (Succ vx1280) vx129",fontsize=16,color="burlywood",shape="box"];1437[label="vx129/Succ vx1290",fontsize=10,color="white",style="solid",shape="box"];906 -> 1437[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1437 -> 911[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1438[label="vx129/Zero",fontsize=10,color="white",style="solid",shape="box"];906 -> 1438[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1438 -> 912[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 907[label="primMinusNat Zero vx129",fontsize=16,color="burlywood",shape="box"];1439[label="vx129/Succ vx1290",fontsize=10,color="white",style="solid",shape="box"];907 -> 1439[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1439 -> 913[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1440[label="vx129/Zero",fontsize=10,color="white",style="solid",shape="box"];907 -> 1440[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1440 -> 914[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1139[label="digitToInt2 (Char (Pos (Succ vx144))) (not (esEsOrdering (primCmpNat (Succ vx1450) vx146) GT))",fontsize=16,color="burlywood",shape="box"];1441[label="vx146/Succ vx1460",fontsize=10,color="white",style="solid",shape="box"];1139 -> 1441[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1441 -> 1152[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1442[label="vx146/Zero",fontsize=10,color="white",style="solid",shape="box"];1139 -> 1442[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1442 -> 1153[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1140[label="digitToInt2 (Char (Pos (Succ vx144))) (not (esEsOrdering (primCmpNat Zero vx146) GT))",fontsize=16,color="burlywood",shape="box"];1443[label="vx146/Succ vx1460",fontsize=10,color="white",style="solid",shape="box"];1140 -> 1443[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1443 -> 1154[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1444[label="vx146/Zero",fontsize=10,color="white",style="solid",shape="box"];1140 -> 1444[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1444 -> 1155[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 910 -> 1171[label="",style="dashed", color="red", weight=0]; 15.94/5.77 910[label="digitToInt1 (Char (Pos (Succ vx134))) (asAs (not (esEsOrdering (primCmpNat (Succ vx134) (Succ vx135)) LT)) (ltEsChar (Char (Pos (Succ vx134))) (Char (Pos (Succ vx136)))))",fontsize=16,color="magenta"];910 -> 1172[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 910 -> 1173[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 910 -> 1174[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 910 -> 1175[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 518[label="digitToInt0 (Char (Pos Zero)) MyTrue",fontsize=16,color="black",shape="box"];518 -> 525[label="",style="solid", color="black", weight=3]; 15.94/5.77 519[label="error []",fontsize=16,color="red",shape="box"];911[label="primMinusNat (Succ vx1280) (Succ vx1290)",fontsize=16,color="black",shape="box"];911 -> 920[label="",style="solid", color="black", weight=3]; 15.94/5.77 912[label="primMinusNat (Succ vx1280) Zero",fontsize=16,color="black",shape="box"];912 -> 921[label="",style="solid", color="black", weight=3]; 15.94/5.77 913[label="primMinusNat Zero (Succ vx1290)",fontsize=16,color="black",shape="box"];913 -> 922[label="",style="solid", color="black", weight=3]; 15.94/5.77 914[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];914 -> 923[label="",style="solid", color="black", weight=3]; 15.94/5.77 1152[label="digitToInt2 (Char (Pos (Succ vx144))) (not (esEsOrdering (primCmpNat (Succ vx1450) (Succ vx1460)) GT))",fontsize=16,color="black",shape="box"];1152 -> 1167[label="",style="solid", color="black", weight=3]; 15.94/5.77 1153[label="digitToInt2 (Char (Pos (Succ vx144))) (not (esEsOrdering (primCmpNat (Succ vx1450) Zero) GT))",fontsize=16,color="black",shape="box"];1153 -> 1168[label="",style="solid", color="black", weight=3]; 15.94/5.77 1154[label="digitToInt2 (Char (Pos (Succ vx144))) (not (esEsOrdering (primCmpNat Zero (Succ vx1460)) GT))",fontsize=16,color="black",shape="box"];1154 -> 1169[label="",style="solid", color="black", weight=3]; 15.94/5.77 1155[label="digitToInt2 (Char (Pos (Succ vx144))) (not (esEsOrdering (primCmpNat Zero Zero) GT))",fontsize=16,color="black",shape="box"];1155 -> 1170[label="",style="solid", color="black", weight=3]; 15.94/5.77 1172[label="vx134",fontsize=16,color="green",shape="box"];1173[label="Succ vx135",fontsize=16,color="green",shape="box"];1174[label="Succ vx134",fontsize=16,color="green",shape="box"];1175[label="vx136",fontsize=16,color="green",shape="box"];1171[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not (esEsOrdering (primCmpNat vx149 vx150) LT)) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="burlywood",shape="triangle"];1445[label="vx149/Succ vx1490",fontsize=10,color="white",style="solid",shape="box"];1171 -> 1445[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1445 -> 1200[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1446[label="vx149/Zero",fontsize=10,color="white",style="solid",shape="box"];1171 -> 1446[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1446 -> 1201[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 525 -> 506[label="",style="dashed", color="red", weight=0]; 15.94/5.77 525[label="error",fontsize=16,color="magenta"];920 -> 903[label="",style="dashed", color="red", weight=0]; 15.94/5.77 920[label="primMinusNat vx1280 vx1290",fontsize=16,color="magenta"];920 -> 930[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 920 -> 931[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 921[label="Pos (Succ vx1280)",fontsize=16,color="green",shape="box"];922[label="Neg (Succ vx1290)",fontsize=16,color="green",shape="box"];923[label="Pos Zero",fontsize=16,color="green",shape="box"];1167 -> 1117[label="",style="dashed", color="red", weight=0]; 15.94/5.77 1167[label="digitToInt2 (Char (Pos (Succ vx144))) (not (esEsOrdering (primCmpNat vx1450 vx1460) GT))",fontsize=16,color="magenta"];1167 -> 1202[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 1167 -> 1203[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 1168[label="digitToInt2 (Char (Pos (Succ vx144))) (not (esEsOrdering GT GT))",fontsize=16,color="black",shape="box"];1168 -> 1204[label="",style="solid", color="black", weight=3]; 15.94/5.77 1169[label="digitToInt2 (Char (Pos (Succ vx144))) (not (esEsOrdering LT GT))",fontsize=16,color="black",shape="box"];1169 -> 1205[label="",style="solid", color="black", weight=3]; 15.94/5.77 1170[label="digitToInt2 (Char (Pos (Succ vx144))) (not (esEsOrdering EQ GT))",fontsize=16,color="black",shape="box"];1170 -> 1206[label="",style="solid", color="black", weight=3]; 15.94/5.77 1200[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not (esEsOrdering (primCmpNat (Succ vx1490) vx150) LT)) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="burlywood",shape="box"];1447[label="vx150/Succ vx1500",fontsize=10,color="white",style="solid",shape="box"];1200 -> 1447[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1447 -> 1207[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1448[label="vx150/Zero",fontsize=10,color="white",style="solid",shape="box"];1200 -> 1448[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1448 -> 1208[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1201[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not (esEsOrdering (primCmpNat Zero vx150) LT)) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="burlywood",shape="box"];1449[label="vx150/Succ vx1500",fontsize=10,color="white",style="solid",shape="box"];1201 -> 1449[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1449 -> 1209[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1450[label="vx150/Zero",fontsize=10,color="white",style="solid",shape="box"];1201 -> 1450[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1450 -> 1210[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 930[label="vx1290",fontsize=16,color="green",shape="box"];931[label="vx1280",fontsize=16,color="green",shape="box"];1202[label="vx1460",fontsize=16,color="green",shape="box"];1203[label="vx1450",fontsize=16,color="green",shape="box"];1204[label="digitToInt2 (Char (Pos (Succ vx144))) (not MyTrue)",fontsize=16,color="black",shape="box"];1204 -> 1211[label="",style="solid", color="black", weight=3]; 15.94/5.77 1205[label="digitToInt2 (Char (Pos (Succ vx144))) (not MyFalse)",fontsize=16,color="black",shape="triangle"];1205 -> 1212[label="",style="solid", color="black", weight=3]; 15.94/5.77 1206 -> 1205[label="",style="dashed", color="red", weight=0]; 15.94/5.77 1206[label="digitToInt2 (Char (Pos (Succ vx144))) (not MyFalse)",fontsize=16,color="magenta"];1207[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not (esEsOrdering (primCmpNat (Succ vx1490) (Succ vx1500)) LT)) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="black",shape="box"];1207 -> 1213[label="",style="solid", color="black", weight=3]; 15.94/5.77 1208[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not (esEsOrdering (primCmpNat (Succ vx1490) Zero) LT)) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="black",shape="box"];1208 -> 1214[label="",style="solid", color="black", weight=3]; 15.94/5.77 1209[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not (esEsOrdering (primCmpNat Zero (Succ vx1500)) LT)) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="black",shape="box"];1209 -> 1215[label="",style="solid", color="black", weight=3]; 15.94/5.77 1210[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not (esEsOrdering (primCmpNat Zero Zero) LT)) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="black",shape="box"];1210 -> 1216[label="",style="solid", color="black", weight=3]; 15.94/5.77 1211 -> 878[label="",style="dashed", color="red", weight=0]; 15.94/5.77 1211[label="digitToInt2 (Char (Pos (Succ vx144))) MyFalse",fontsize=16,color="magenta"];1211 -> 1217[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 1212[label="digitToInt2 (Char (Pos (Succ vx144))) MyTrue",fontsize=16,color="black",shape="box"];1212 -> 1218[label="",style="solid", color="black", weight=3]; 15.94/5.77 1213 -> 1171[label="",style="dashed", color="red", weight=0]; 15.94/5.77 1213[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not (esEsOrdering (primCmpNat vx1490 vx1500) LT)) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="magenta"];1213 -> 1219[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 1213 -> 1220[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 1214[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not (esEsOrdering GT LT)) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="black",shape="box"];1214 -> 1221[label="",style="solid", color="black", weight=3]; 15.94/5.77 1215[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not (esEsOrdering LT LT)) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="black",shape="box"];1215 -> 1222[label="",style="solid", color="black", weight=3]; 15.94/5.77 1216[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not (esEsOrdering EQ LT)) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="black",shape="box"];1216 -> 1223[label="",style="solid", color="black", weight=3]; 15.94/5.77 1217[label="vx144",fontsize=16,color="green",shape="box"];1218 -> 1236[label="",style="dashed", color="red", weight=0]; 15.94/5.77 1218[label="psMyInt (msMyInt (fromEnumChar (Char (Pos (Succ vx144)))) (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="magenta"];1218 -> 1237[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 1218 -> 1238[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 1219[label="vx1500",fontsize=16,color="green",shape="box"];1220[label="vx1490",fontsize=16,color="green",shape="box"];1221[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not MyFalse) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="black",shape="triangle"];1221 -> 1227[label="",style="solid", color="black", weight=3]; 15.94/5.77 1222[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not MyTrue) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="black",shape="box"];1222 -> 1228[label="",style="solid", color="black", weight=3]; 15.94/5.77 1223 -> 1221[label="",style="dashed", color="red", weight=0]; 15.94/5.77 1223[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs (not MyFalse) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="magenta"];1237 -> 871[label="",style="dashed", color="red", weight=0]; 15.94/5.77 1237[label="msMyInt (fromEnumChar (Char (Pos (Succ vx144)))) (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];1237 -> 1240[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 1237 -> 1241[label="",style="dashed", color="magenta", weight=3]; 15.94/5.77 1238[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];1236[label="psMyInt vx159 (Pos (Succ vx158))",fontsize=16,color="black",shape="triangle"];1236 -> 1242[label="",style="solid", color="black", weight=3]; 15.94/5.77 1227[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs MyTrue (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="black",shape="box"];1227 -> 1243[label="",style="solid", color="black", weight=3]; 15.94/5.77 1228[label="digitToInt1 (Char (Pos (Succ vx148))) (asAs MyFalse (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))))",fontsize=16,color="black",shape="box"];1228 -> 1244[label="",style="solid", color="black", weight=3]; 15.94/5.77 1240[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];1241[label="vx144",fontsize=16,color="green",shape="box"];1242[label="primPlusInt vx159 (Pos (Succ vx158))",fontsize=16,color="burlywood",shape="box"];1451[label="vx159/Pos vx1590",fontsize=10,color="white",style="solid",shape="box"];1242 -> 1451[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1451 -> 1245[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1452[label="vx159/Neg vx1590",fontsize=10,color="white",style="solid",shape="box"];1242 -> 1452[label="",style="solid", color="burlywood", weight=9]; 15.94/5.77 1452 -> 1246[label="",style="solid", color="burlywood", weight=3]; 15.94/5.77 1243[label="digitToInt1 (Char (Pos (Succ vx148))) (ltEsChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151))))",fontsize=16,color="black",shape="box"];1243 -> 1247[label="",style="solid", color="black", weight=3]; 15.94/5.77 1244[label="digitToInt1 (Char (Pos (Succ vx148))) MyFalse",fontsize=16,color="black",shape="triangle"];1244 -> 1248[label="",style="solid", color="black", weight=3]; 15.94/5.77 1245[label="primPlusInt (Pos vx1590) (Pos (Succ vx158))",fontsize=16,color="black",shape="box"];1245 -> 1249[label="",style="solid", color="black", weight=3]; 15.94/5.77 1246[label="primPlusInt (Neg vx1590) (Pos (Succ vx158))",fontsize=16,color="black",shape="box"];1246 -> 1250[label="",style="solid", color="black", weight=3]; 15.94/5.77 1247[label="digitToInt1 (Char (Pos (Succ vx148))) (fsEsOrdering (compareChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))) GT)",fontsize=16,color="black",shape="box"];1247 -> 1251[label="",style="solid", color="black", weight=3]; 15.94/5.77 1248[label="digitToInt0 (Char (Pos (Succ vx148))) otherwise",fontsize=16,color="black",shape="box"];1248 -> 1252[label="",style="solid", color="black", weight=3]; 15.94/5.77 1249[label="Pos (primPlusNat vx1590 (Succ vx158))",fontsize=16,color="green",shape="box"];1249 -> 1253[label="",style="dashed", color="green", weight=3]; 15.94/5.78 1250 -> 903[label="",style="dashed", color="red", weight=0]; 15.94/5.78 1250[label="primMinusNat (Succ vx158) vx1590",fontsize=16,color="magenta"];1250 -> 1254[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1250 -> 1255[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1251[label="digitToInt1 (Char (Pos (Succ vx148))) (not (esEsOrdering (compareChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))) GT))",fontsize=16,color="black",shape="box"];1251 -> 1256[label="",style="solid", color="black", weight=3]; 15.94/5.78 1252[label="digitToInt0 (Char (Pos (Succ vx148))) MyTrue",fontsize=16,color="black",shape="box"];1252 -> 1257[label="",style="solid", color="black", weight=3]; 15.94/5.78 1253[label="primPlusNat vx1590 (Succ vx158)",fontsize=16,color="burlywood",shape="box"];1453[label="vx1590/Succ vx15900",fontsize=10,color="white",style="solid",shape="box"];1253 -> 1453[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1453 -> 1258[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1454[label="vx1590/Zero",fontsize=10,color="white",style="solid",shape="box"];1253 -> 1454[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1454 -> 1259[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1254[label="vx1590",fontsize=16,color="green",shape="box"];1255[label="Succ vx158",fontsize=16,color="green",shape="box"];1256[label="digitToInt1 (Char (Pos (Succ vx148))) (not (esEsOrdering (primCmpChar (Char (Pos (Succ vx148))) (Char (Pos (Succ vx151)))) GT))",fontsize=16,color="black",shape="box"];1256 -> 1260[label="",style="solid", color="black", weight=3]; 15.94/5.78 1257 -> 506[label="",style="dashed", color="red", weight=0]; 15.94/5.78 1257[label="error",fontsize=16,color="magenta"];1258[label="primPlusNat (Succ vx15900) (Succ vx158)",fontsize=16,color="black",shape="box"];1258 -> 1261[label="",style="solid", color="black", weight=3]; 15.94/5.78 1259[label="primPlusNat Zero (Succ vx158)",fontsize=16,color="black",shape="box"];1259 -> 1262[label="",style="solid", color="black", weight=3]; 15.94/5.78 1260[label="digitToInt1 (Char (Pos (Succ vx148))) (not (esEsOrdering (primCmpInt (Pos (Succ vx148)) (Pos (Succ vx151))) GT))",fontsize=16,color="black",shape="box"];1260 -> 1263[label="",style="solid", color="black", weight=3]; 15.94/5.78 1261[label="Succ (Succ (primPlusNat vx15900 vx158))",fontsize=16,color="green",shape="box"];1261 -> 1264[label="",style="dashed", color="green", weight=3]; 15.94/5.78 1262[label="Succ vx158",fontsize=16,color="green",shape="box"];1263 -> 1363[label="",style="dashed", color="red", weight=0]; 15.94/5.78 1263[label="digitToInt1 (Char (Pos (Succ vx148))) (not (esEsOrdering (primCmpNat (Succ vx148) (Succ vx151)) GT))",fontsize=16,color="magenta"];1263 -> 1364[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1263 -> 1365[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1263 -> 1366[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1264[label="primPlusNat vx15900 vx158",fontsize=16,color="burlywood",shape="triangle"];1455[label="vx15900/Succ vx159000",fontsize=10,color="white",style="solid",shape="box"];1264 -> 1455[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1455 -> 1266[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1456[label="vx15900/Zero",fontsize=10,color="white",style="solid",shape="box"];1264 -> 1456[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1456 -> 1267[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1364[label="vx148",fontsize=16,color="green",shape="box"];1365[label="Succ vx151",fontsize=16,color="green",shape="box"];1366[label="Succ vx148",fontsize=16,color="green",shape="box"];1363[label="digitToInt1 (Char (Pos (Succ vx161))) (not (esEsOrdering (primCmpNat vx162 vx163) GT))",fontsize=16,color="burlywood",shape="triangle"];1457[label="vx162/Succ vx1620",fontsize=10,color="white",style="solid",shape="box"];1363 -> 1457[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1457 -> 1385[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1458[label="vx162/Zero",fontsize=10,color="white",style="solid",shape="box"];1363 -> 1458[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1458 -> 1386[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1266[label="primPlusNat (Succ vx159000) vx158",fontsize=16,color="burlywood",shape="box"];1459[label="vx158/Succ vx1580",fontsize=10,color="white",style="solid",shape="box"];1266 -> 1459[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1459 -> 1270[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1460[label="vx158/Zero",fontsize=10,color="white",style="solid",shape="box"];1266 -> 1460[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1460 -> 1271[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1267[label="primPlusNat Zero vx158",fontsize=16,color="burlywood",shape="box"];1461[label="vx158/Succ vx1580",fontsize=10,color="white",style="solid",shape="box"];1267 -> 1461[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1461 -> 1272[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1462[label="vx158/Zero",fontsize=10,color="white",style="solid",shape="box"];1267 -> 1462[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1462 -> 1273[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1385[label="digitToInt1 (Char (Pos (Succ vx161))) (not (esEsOrdering (primCmpNat (Succ vx1620) vx163) GT))",fontsize=16,color="burlywood",shape="box"];1463[label="vx163/Succ vx1630",fontsize=10,color="white",style="solid",shape="box"];1385 -> 1463[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1463 -> 1387[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1464[label="vx163/Zero",fontsize=10,color="white",style="solid",shape="box"];1385 -> 1464[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1464 -> 1388[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1386[label="digitToInt1 (Char (Pos (Succ vx161))) (not (esEsOrdering (primCmpNat Zero vx163) GT))",fontsize=16,color="burlywood",shape="box"];1465[label="vx163/Succ vx1630",fontsize=10,color="white",style="solid",shape="box"];1386 -> 1465[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1465 -> 1389[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1466[label="vx163/Zero",fontsize=10,color="white",style="solid",shape="box"];1386 -> 1466[label="",style="solid", color="burlywood", weight=9]; 15.94/5.78 1466 -> 1390[label="",style="solid", color="burlywood", weight=3]; 15.94/5.78 1270[label="primPlusNat (Succ vx159000) (Succ vx1580)",fontsize=16,color="black",shape="box"];1270 -> 1278[label="",style="solid", color="black", weight=3]; 15.94/5.78 1271[label="primPlusNat (Succ vx159000) Zero",fontsize=16,color="black",shape="box"];1271 -> 1279[label="",style="solid", color="black", weight=3]; 15.94/5.78 1272[label="primPlusNat Zero (Succ vx1580)",fontsize=16,color="black",shape="box"];1272 -> 1280[label="",style="solid", color="black", weight=3]; 15.94/5.78 1273[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];1273 -> 1281[label="",style="solid", color="black", weight=3]; 15.94/5.78 1387[label="digitToInt1 (Char (Pos (Succ vx161))) (not (esEsOrdering (primCmpNat (Succ vx1620) (Succ vx1630)) GT))",fontsize=16,color="black",shape="box"];1387 -> 1391[label="",style="solid", color="black", weight=3]; 15.94/5.78 1388[label="digitToInt1 (Char (Pos (Succ vx161))) (not (esEsOrdering (primCmpNat (Succ vx1620) Zero) GT))",fontsize=16,color="black",shape="box"];1388 -> 1392[label="",style="solid", color="black", weight=3]; 15.94/5.78 1389[label="digitToInt1 (Char (Pos (Succ vx161))) (not (esEsOrdering (primCmpNat Zero (Succ vx1630)) GT))",fontsize=16,color="black",shape="box"];1389 -> 1393[label="",style="solid", color="black", weight=3]; 15.94/5.78 1390[label="digitToInt1 (Char (Pos (Succ vx161))) (not (esEsOrdering (primCmpNat Zero Zero) GT))",fontsize=16,color="black",shape="box"];1390 -> 1394[label="",style="solid", color="black", weight=3]; 15.94/5.78 1278[label="Succ (Succ (primPlusNat vx159000 vx1580))",fontsize=16,color="green",shape="box"];1278 -> 1286[label="",style="dashed", color="green", weight=3]; 15.94/5.78 1279[label="Succ vx159000",fontsize=16,color="green",shape="box"];1280[label="Succ vx1580",fontsize=16,color="green",shape="box"];1281[label="Zero",fontsize=16,color="green",shape="box"];1391 -> 1363[label="",style="dashed", color="red", weight=0]; 15.94/5.78 1391[label="digitToInt1 (Char (Pos (Succ vx161))) (not (esEsOrdering (primCmpNat vx1620 vx1630) GT))",fontsize=16,color="magenta"];1391 -> 1395[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1391 -> 1396[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1392[label="digitToInt1 (Char (Pos (Succ vx161))) (not (esEsOrdering GT GT))",fontsize=16,color="black",shape="box"];1392 -> 1397[label="",style="solid", color="black", weight=3]; 15.94/5.78 1393[label="digitToInt1 (Char (Pos (Succ vx161))) (not (esEsOrdering LT GT))",fontsize=16,color="black",shape="box"];1393 -> 1398[label="",style="solid", color="black", weight=3]; 15.94/5.78 1394[label="digitToInt1 (Char (Pos (Succ vx161))) (not (esEsOrdering EQ GT))",fontsize=16,color="black",shape="box"];1394 -> 1399[label="",style="solid", color="black", weight=3]; 15.94/5.78 1286 -> 1264[label="",style="dashed", color="red", weight=0]; 15.94/5.78 1286[label="primPlusNat vx159000 vx1580",fontsize=16,color="magenta"];1286 -> 1292[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1286 -> 1293[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1395[label="vx1630",fontsize=16,color="green",shape="box"];1396[label="vx1620",fontsize=16,color="green",shape="box"];1397[label="digitToInt1 (Char (Pos (Succ vx161))) (not MyTrue)",fontsize=16,color="black",shape="box"];1397 -> 1400[label="",style="solid", color="black", weight=3]; 15.94/5.78 1398[label="digitToInt1 (Char (Pos (Succ vx161))) (not MyFalse)",fontsize=16,color="black",shape="triangle"];1398 -> 1401[label="",style="solid", color="black", weight=3]; 15.94/5.78 1399 -> 1398[label="",style="dashed", color="red", weight=0]; 15.94/5.78 1399[label="digitToInt1 (Char (Pos (Succ vx161))) (not MyFalse)",fontsize=16,color="magenta"];1292[label="vx159000",fontsize=16,color="green",shape="box"];1293[label="vx1580",fontsize=16,color="green",shape="box"];1400 -> 1244[label="",style="dashed", color="red", weight=0]; 15.94/5.78 1400[label="digitToInt1 (Char (Pos (Succ vx161))) MyFalse",fontsize=16,color="magenta"];1400 -> 1402[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1401[label="digitToInt1 (Char (Pos (Succ vx161))) MyTrue",fontsize=16,color="black",shape="box"];1401 -> 1403[label="",style="solid", color="black", weight=3]; 15.94/5.78 1402[label="vx161",fontsize=16,color="green",shape="box"];1403 -> 1236[label="",style="dashed", color="red", weight=0]; 15.94/5.78 1403[label="psMyInt (msMyInt (fromEnumChar (Char (Pos (Succ vx161)))) (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="magenta"];1403 -> 1404[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1403 -> 1405[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1404 -> 871[label="",style="dashed", color="red", weight=0]; 15.94/5.78 1404[label="msMyInt (fromEnumChar (Char (Pos (Succ vx161)))) (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];1404 -> 1406[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1404 -> 1407[label="",style="dashed", color="magenta", weight=3]; 15.94/5.78 1405[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];1406[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];1407[label="vx161",fontsize=16,color="green",shape="box"];} 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (6) 15.94/5.78 Complex Obligation (AND) 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (7) 15.94/5.78 Obligation: 15.94/5.78 Q DP problem: 15.94/5.78 The TRS P consists of the following rules: 15.94/5.78 15.94/5.78 new_digitToInt2(vx144, Main.Succ(vx1450), Main.Succ(vx1460)) -> new_digitToInt2(vx144, vx1450, vx1460) 15.94/5.78 15.94/5.78 R is empty. 15.94/5.78 Q is empty. 15.94/5.78 We have to consider all minimal (P,Q,R)-chains. 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (8) QDPSizeChangeProof (EQUIVALENT) 15.94/5.78 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 15.94/5.78 15.94/5.78 From the DPs we obtained the following set of size-change graphs: 15.94/5.78 *new_digitToInt2(vx144, Main.Succ(vx1450), Main.Succ(vx1460)) -> new_digitToInt2(vx144, vx1450, vx1460) 15.94/5.78 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 15.94/5.78 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (9) 15.94/5.78 YES 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (10) 15.94/5.78 Obligation: 15.94/5.78 Q DP problem: 15.94/5.78 The TRS P consists of the following rules: 15.94/5.78 15.94/5.78 new_digitToInt10(vx148, Main.Succ(vx1490), Main.Succ(vx1500), vx151) -> new_digitToInt10(vx148, vx1490, vx1500, vx151) 15.94/5.78 15.94/5.78 R is empty. 15.94/5.78 Q is empty. 15.94/5.78 We have to consider all minimal (P,Q,R)-chains. 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (11) QDPSizeChangeProof (EQUIVALENT) 15.94/5.78 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 15.94/5.78 15.94/5.78 From the DPs we obtained the following set of size-change graphs: 15.94/5.78 *new_digitToInt10(vx148, Main.Succ(vx1490), Main.Succ(vx1500), vx151) -> new_digitToInt10(vx148, vx1490, vx1500, vx151) 15.94/5.78 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 4 >= 4 15.94/5.78 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (12) 15.94/5.78 YES 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (13) 15.94/5.78 Obligation: 15.94/5.78 Q DP problem: 15.94/5.78 The TRS P consists of the following rules: 15.94/5.78 15.94/5.78 new_digitToInt3(vx114, Main.Succ(vx1150), Main.Succ(vx1160)) -> new_digitToInt3(vx114, vx1150, vx1160) 15.94/5.78 15.94/5.78 R is empty. 15.94/5.78 Q is empty. 15.94/5.78 We have to consider all minimal (P,Q,R)-chains. 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (14) QDPSizeChangeProof (EQUIVALENT) 15.94/5.78 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 15.94/5.78 15.94/5.78 From the DPs we obtained the following set of size-change graphs: 15.94/5.78 *new_digitToInt3(vx114, Main.Succ(vx1150), Main.Succ(vx1160)) -> new_digitToInt3(vx114, vx1150, vx1160) 15.94/5.78 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 15.94/5.78 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (15) 15.94/5.78 YES 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (16) 15.94/5.78 Obligation: 15.94/5.78 Q DP problem: 15.94/5.78 The TRS P consists of the following rules: 15.94/5.78 15.94/5.78 new_primMinusNat(Main.Succ(vx1280), Main.Succ(vx1290)) -> new_primMinusNat(vx1280, vx1290) 15.94/5.78 15.94/5.78 R is empty. 15.94/5.78 Q is empty. 15.94/5.78 We have to consider all minimal (P,Q,R)-chains. 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (17) QDPSizeChangeProof (EQUIVALENT) 15.94/5.78 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 15.94/5.78 15.94/5.78 From the DPs we obtained the following set of size-change graphs: 15.94/5.78 *new_primMinusNat(Main.Succ(vx1280), Main.Succ(vx1290)) -> new_primMinusNat(vx1280, vx1290) 15.94/5.78 The graph contains the following edges 1 > 1, 2 > 2 15.94/5.78 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (18) 15.94/5.78 YES 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (19) 15.94/5.78 Obligation: 15.94/5.78 Q DP problem: 15.94/5.78 The TRS P consists of the following rules: 15.94/5.78 15.94/5.78 new_primPlusNat(Main.Succ(vx159000), Main.Succ(vx1580)) -> new_primPlusNat(vx159000, vx1580) 15.94/5.78 15.94/5.78 R is empty. 15.94/5.78 Q is empty. 15.94/5.78 We have to consider all minimal (P,Q,R)-chains. 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (20) QDPSizeChangeProof (EQUIVALENT) 15.94/5.78 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 15.94/5.78 15.94/5.78 From the DPs we obtained the following set of size-change graphs: 15.94/5.78 *new_primPlusNat(Main.Succ(vx159000), Main.Succ(vx1580)) -> new_primPlusNat(vx159000, vx1580) 15.94/5.78 The graph contains the following edges 1 > 1, 2 > 2 15.94/5.78 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (21) 15.94/5.78 YES 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (22) 15.94/5.78 Obligation: 15.94/5.78 Q DP problem: 15.94/5.78 The TRS P consists of the following rules: 15.94/5.78 15.94/5.78 new_digitToInt20(vx123, Main.Succ(vx1240), Main.Succ(vx1250), vx126) -> new_digitToInt20(vx123, vx1240, vx1250, vx126) 15.94/5.78 15.94/5.78 R is empty. 15.94/5.78 Q is empty. 15.94/5.78 We have to consider all minimal (P,Q,R)-chains. 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (23) QDPSizeChangeProof (EQUIVALENT) 15.94/5.78 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 15.94/5.78 15.94/5.78 From the DPs we obtained the following set of size-change graphs: 15.94/5.78 *new_digitToInt20(vx123, Main.Succ(vx1240), Main.Succ(vx1250), vx126) -> new_digitToInt20(vx123, vx1240, vx1250, vx126) 15.94/5.78 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 4 >= 4 15.94/5.78 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (24) 15.94/5.78 YES 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (25) 15.94/5.78 Obligation: 15.94/5.78 Q DP problem: 15.94/5.78 The TRS P consists of the following rules: 15.94/5.78 15.94/5.78 new_digitToInt30(vx86, Main.Succ(vx870), Main.Succ(vx880), vx89) -> new_digitToInt30(vx86, vx870, vx880, vx89) 15.94/5.78 15.94/5.78 R is empty. 15.94/5.78 Q is empty. 15.94/5.78 We have to consider all minimal (P,Q,R)-chains. 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (26) QDPSizeChangeProof (EQUIVALENT) 15.94/5.78 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 15.94/5.78 15.94/5.78 From the DPs we obtained the following set of size-change graphs: 15.94/5.78 *new_digitToInt30(vx86, Main.Succ(vx870), Main.Succ(vx880), vx89) -> new_digitToInt30(vx86, vx870, vx880, vx89) 15.94/5.78 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 4 >= 4 15.94/5.78 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (27) 15.94/5.78 YES 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (28) 15.94/5.78 Obligation: 15.94/5.78 Q DP problem: 15.94/5.78 The TRS P consists of the following rules: 15.94/5.78 15.94/5.78 new_digitToInt1(vx161, Main.Succ(vx1620), Main.Succ(vx1630)) -> new_digitToInt1(vx161, vx1620, vx1630) 15.94/5.78 15.94/5.78 R is empty. 15.94/5.78 Q is empty. 15.94/5.78 We have to consider all minimal (P,Q,R)-chains. 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (29) QDPSizeChangeProof (EQUIVALENT) 15.94/5.78 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 15.94/5.78 15.94/5.78 From the DPs we obtained the following set of size-change graphs: 15.94/5.78 *new_digitToInt1(vx161, Main.Succ(vx1620), Main.Succ(vx1630)) -> new_digitToInt1(vx161, vx1620, vx1630) 15.94/5.78 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 15.94/5.78 15.94/5.78 15.94/5.78 ---------------------------------------- 15.94/5.78 15.94/5.78 (30) 15.94/5.78 YES 16.14/8.64 EOF