/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty H-Termination with start terms of the given HASKELL could be proven: (0) HASKELL (1) BR [EQUIVALENT, 0 ms] (2) HASKELL (3) COR [EQUIVALENT, 0 ms] (4) HASKELL (5) Narrow [SOUND, 0 ms] (6) AND (7) QDP (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] (9) YES (10) QDP (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] (12) YES (13) QDP (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] (15) YES (16) QDP (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] (18) YES (19) QDP (20) QDPSizeChangeProof [EQUIVALENT, 0 ms] (21) YES (22) QDP (23) QDPSizeChangeProof [EQUIVALENT, 0 ms] (24) YES (25) QDP (26) QDPSizeChangeProof [EQUIVALENT, 0 ms] (27) YES (28) QDP (29) QDPSizeChangeProof [EQUIVALENT, 0 ms] (30) YES ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; data Main.Char = Char MyInt ; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; asAs :: MyBool -> MyBool -> MyBool; asAs MyFalse x = MyFalse; asAs MyTrue x = x; compareChar :: Main.Char -> Main.Char -> Ordering; compareChar = primCmpChar; digitToInt :: Main.Char -> MyInt; digitToInt c = digitToInt4 c; digitToInt0 c MyTrue = Main.error; 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))))))))))); digitToInt1 c MyFalse = digitToInt0 c otherwise; 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))))))))))); 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 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))))))))))))))))))))))))))))))))))))))))))))))))))); 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); digitToInt4 c = digitToInt3 c (isDigit c); error :: a; error = stop MyTrue; esEsOrdering :: Ordering -> Ordering -> MyBool; esEsOrdering LT LT = MyTrue; esEsOrdering LT EQ = MyFalse; esEsOrdering LT GT = MyFalse; esEsOrdering EQ LT = MyFalse; esEsOrdering EQ EQ = MyTrue; esEsOrdering EQ GT = MyFalse; esEsOrdering GT LT = MyFalse; esEsOrdering GT EQ = MyFalse; esEsOrdering GT GT = MyTrue; fromEnumChar :: Main.Char -> MyInt; fromEnumChar = primCharToInt; fsEsOrdering :: Ordering -> Ordering -> MyBool; fsEsOrdering x y = not (esEsOrdering x y); gtEsChar :: Main.Char -> Main.Char -> MyBool; gtEsChar x y = fsEsOrdering (compareChar x y) LT; isDigit :: Main.Char -> MyBool; 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); ltEsChar :: Main.Char -> Main.Char -> MyBool; ltEsChar x y = fsEsOrdering (compareChar x y) GT; msMyInt :: MyInt -> MyInt -> MyInt; msMyInt = primMinusInt; not :: MyBool -> MyBool; not MyTrue = MyFalse; not MyFalse = MyTrue; otherwise :: MyBool; otherwise = MyTrue; primCharToInt :: Main.Char -> MyInt; primCharToInt (Main.Char x) = x; primCmpChar :: Main.Char -> Main.Char -> Ordering; primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; primCmpInt :: MyInt -> MyInt -> Ordering; primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; primCmpInt (Main.Pos x) (Main.Neg y) = GT; primCmpInt (Main.Neg x) (Main.Pos y) = LT; primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; primCmpNat :: Main.Nat -> Main.Nat -> Ordering; primCmpNat Main.Zero Main.Zero = EQ; primCmpNat Main.Zero (Main.Succ y) = LT; primCmpNat (Main.Succ x) Main.Zero = GT; primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; primMinusInt :: MyInt -> MyInt -> MyInt; primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; primPlusInt :: MyInt -> MyInt -> MyInt; primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); psMyInt :: MyInt -> MyInt -> MyInt; psMyInt = primPlusInt; stop :: MyBool -> a; stop MyFalse = stop MyFalse; } ---------------------------------------- (1) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; data Main.Char = Char MyInt ; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; asAs :: MyBool -> MyBool -> MyBool; asAs MyFalse x = MyFalse; asAs MyTrue x = x; compareChar :: Main.Char -> Main.Char -> Ordering; compareChar = primCmpChar; digitToInt :: Main.Char -> MyInt; digitToInt c = digitToInt4 c; digitToInt0 c MyTrue = Main.error; 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))))))))))); digitToInt1 c MyFalse = digitToInt0 c otherwise; 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))))))))))); 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 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))))))))))))))))))))))))))))))))))))))))))))))))))); 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); digitToInt4 c = digitToInt3 c (isDigit c); error :: a; error = stop MyTrue; esEsOrdering :: Ordering -> Ordering -> MyBool; esEsOrdering LT LT = MyTrue; esEsOrdering LT EQ = MyFalse; esEsOrdering LT GT = MyFalse; esEsOrdering EQ LT = MyFalse; esEsOrdering EQ EQ = MyTrue; esEsOrdering EQ GT = MyFalse; esEsOrdering GT LT = MyFalse; esEsOrdering GT EQ = MyFalse; esEsOrdering GT GT = MyTrue; fromEnumChar :: Main.Char -> MyInt; fromEnumChar = primCharToInt; fsEsOrdering :: Ordering -> Ordering -> MyBool; fsEsOrdering x y = not (esEsOrdering x y); gtEsChar :: Main.Char -> Main.Char -> MyBool; gtEsChar x y = fsEsOrdering (compareChar x y) LT; isDigit :: Main.Char -> MyBool; 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); ltEsChar :: Main.Char -> Main.Char -> MyBool; ltEsChar x y = fsEsOrdering (compareChar x y) GT; msMyInt :: MyInt -> MyInt -> MyInt; msMyInt = primMinusInt; not :: MyBool -> MyBool; not MyTrue = MyFalse; not MyFalse = MyTrue; otherwise :: MyBool; otherwise = MyTrue; primCharToInt :: Main.Char -> MyInt; primCharToInt (Main.Char x) = x; primCmpChar :: Main.Char -> Main.Char -> Ordering; primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; primCmpInt :: MyInt -> MyInt -> Ordering; primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; primCmpInt (Main.Pos x) (Main.Neg y) = GT; primCmpInt (Main.Neg x) (Main.Pos y) = LT; primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; primCmpNat :: Main.Nat -> Main.Nat -> Ordering; primCmpNat Main.Zero Main.Zero = EQ; primCmpNat Main.Zero (Main.Succ y) = LT; primCmpNat (Main.Succ x) Main.Zero = GT; primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; primMinusInt :: MyInt -> MyInt -> MyInt; primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; primPlusInt :: MyInt -> MyInt -> MyInt; primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); psMyInt :: MyInt -> MyInt -> MyInt; psMyInt = primPlusInt; stop :: MyBool -> a; stop MyFalse = stop MyFalse; } ---------------------------------------- (3) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; data Main.Char = Char MyInt ; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; asAs :: MyBool -> MyBool -> MyBool; asAs MyFalse x = MyFalse; asAs MyTrue x = x; compareChar :: Main.Char -> Main.Char -> Ordering; compareChar = primCmpChar; digitToInt :: Main.Char -> MyInt; digitToInt c = digitToInt4 c; digitToInt0 c MyTrue = Main.error; 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))))))))))); digitToInt1 c MyFalse = digitToInt0 c otherwise; 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))))))))))); 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 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))))))))))))))))))))))))))))))))))))))))))))))))))); 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); digitToInt4 c = digitToInt3 c (isDigit c); error :: a; error = stop MyTrue; esEsOrdering :: Ordering -> Ordering -> MyBool; esEsOrdering LT LT = MyTrue; esEsOrdering LT EQ = MyFalse; esEsOrdering LT GT = MyFalse; esEsOrdering EQ LT = MyFalse; esEsOrdering EQ EQ = MyTrue; esEsOrdering EQ GT = MyFalse; esEsOrdering GT LT = MyFalse; esEsOrdering GT EQ = MyFalse; esEsOrdering GT GT = MyTrue; fromEnumChar :: Main.Char -> MyInt; fromEnumChar = primCharToInt; fsEsOrdering :: Ordering -> Ordering -> MyBool; fsEsOrdering x y = not (esEsOrdering x y); gtEsChar :: Main.Char -> Main.Char -> MyBool; gtEsChar x y = fsEsOrdering (compareChar x y) LT; isDigit :: Main.Char -> MyBool; 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); ltEsChar :: Main.Char -> Main.Char -> MyBool; ltEsChar x y = fsEsOrdering (compareChar x y) GT; msMyInt :: MyInt -> MyInt -> MyInt; msMyInt = primMinusInt; not :: MyBool -> MyBool; not MyTrue = MyFalse; not MyFalse = MyTrue; otherwise :: MyBool; otherwise = MyTrue; primCharToInt :: Main.Char -> MyInt; primCharToInt (Main.Char x) = x; primCmpChar :: Main.Char -> Main.Char -> Ordering; primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; primCmpInt :: MyInt -> MyInt -> Ordering; primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; primCmpInt (Main.Pos x) (Main.Neg y) = GT; primCmpInt (Main.Neg x) (Main.Pos y) = LT; primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; primCmpNat :: Main.Nat -> Main.Nat -> Ordering; primCmpNat Main.Zero Main.Zero = EQ; primCmpNat Main.Zero (Main.Succ y) = LT; primCmpNat (Main.Succ x) Main.Zero = GT; primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; primMinusInt :: MyInt -> MyInt -> MyInt; primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; primPlusInt :: MyInt -> MyInt -> MyInt; primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); psMyInt :: MyInt -> MyInt -> MyInt; psMyInt = primPlusInt; stop :: MyBool -> a; stop MyFalse = stop MyFalse; } ---------------------------------------- (5) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="digitToInt",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="digitToInt vx3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 4[label="digitToInt4 vx3",fontsize=16,color="black",shape="box"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="digitToInt3 vx3 (isDigit vx3)",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6 -> 10[label="",style="dashed", color="red", weight=0]; 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]; 6 -> 12[label="",style="dashed", color="magenta", weight=3]; 6 -> 13[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 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]; 1408 -> 20[label="",style="solid", color="burlywood", weight=3]; 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]; 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]; 1409 -> 22[label="",style="solid", color="burlywood", weight=3]; 1410[label="vx80/Neg vx800",fontsize=10,color="white",style="solid",shape="box"];21 -> 1410[label="",style="solid", color="burlywood", weight=9]; 1410 -> 23[label="",style="solid", color="burlywood", weight=3]; 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]; 1411 -> 24[label="",style="solid", color="burlywood", weight=3]; 1412[label="vx800/Zero",fontsize=10,color="white",style="solid",shape="box"];22 -> 1412[label="",style="solid", color="burlywood", weight=9]; 1412 -> 25[label="",style="solid", color="burlywood", weight=3]; 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]; 1413 -> 26[label="",style="solid", color="burlywood", weight=3]; 1414[label="vx800/Zero",fontsize=10,color="white",style="solid",shape="box"];23 -> 1414[label="",style="solid", color="burlywood", weight=9]; 1414 -> 27[label="",style="solid", color="burlywood", weight=3]; 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]; 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]; 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]; 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]; 28 -> 462[label="",style="dashed", color="red", weight=0]; 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]; 28 -> 464[label="",style="dashed", color="magenta", weight=3]; 28 -> 465[label="",style="dashed", color="magenta", weight=3]; 28 -> 466[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 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]; 1415 -> 503[label="",style="solid", color="burlywood", weight=3]; 1416[label="vx87/Zero",fontsize=10,color="white",style="solid",shape="box"];462 -> 1416[label="",style="solid", color="burlywood", weight=9]; 1416 -> 504[label="",style="solid", color="burlywood", weight=3]; 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]; 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]; 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]; 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]; 1417 -> 508[label="",style="solid", color="burlywood", weight=3]; 1418[label="vx88/Zero",fontsize=10,color="white",style="solid",shape="box"];503 -> 1418[label="",style="solid", color="burlywood", weight=9]; 1418 -> 509[label="",style="solid", color="burlywood", weight=3]; 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]; 1419 -> 510[label="",style="solid", color="burlywood", weight=3]; 1420[label="vx88/Zero",fontsize=10,color="white",style="solid",shape="box"];504 -> 1420[label="",style="solid", color="burlywood", weight=9]; 1420 -> 511[label="",style="solid", color="burlywood", weight=3]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 46[label="digitToInt3 (Char (Neg (Succ vx8000))) MyFalse",fontsize=16,color="black",shape="box"];46 -> 53[label="",style="solid", color="black", weight=3]; 47[label="digitToInt3 (Char (Neg Zero)) MyFalse",fontsize=16,color="black",shape="box"];47 -> 54[label="",style="solid", color="black", weight=3]; 514 -> 462[label="",style="dashed", color="red", weight=0]; 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]; 514 -> 521[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 52[label="digitToInt3 (Char (Pos Zero)) MyFalse",fontsize=16,color="black",shape="box"];52 -> 60[label="",style="solid", color="black", weight=3]; 53 -> 75[label="",style="dashed", color="red", weight=0]; 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]; 53 -> 77[label="",style="dashed", color="magenta", weight=3]; 53 -> 78[label="",style="dashed", color="magenta", weight=3]; 54 -> 83[label="",style="dashed", color="red", weight=0]; 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]; 54 -> 85[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 524 -> 522[label="",style="dashed", color="red", weight=0]; 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]; 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]; 60 -> 98[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 529[label="digitToInt3 (Char (Pos (Succ vx86))) MyFalse",fontsize=16,color="black",shape="triangle"];529 -> 531[label="",style="solid", color="black", weight=3]; 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]; 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]; 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]; 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]; 531 -> 537[label="",style="dashed", color="red", weight=0]; 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]; 531 -> 539[label="",style="dashed", color="magenta", weight=3]; 531 -> 540[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 547 -> 753[label="",style="dashed", color="red", weight=0]; 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]; 547 -> 755[label="",style="dashed", color="magenta", weight=3]; 547 -> 756[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 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]; 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]; 1421 -> 775[label="",style="solid", color="burlywood", weight=3]; 1422[label="vx115/Zero",fontsize=10,color="white",style="solid",shape="box"];753 -> 1422[label="",style="solid", color="burlywood", weight=9]; 1422 -> 776[label="",style="solid", color="burlywood", weight=3]; 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]; 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]; 185[label="digitToInt2 (Char (Neg (Succ vx19))) MyFalse",fontsize=16,color="black",shape="box"];185 -> 200[label="",style="solid", color="black", weight=3]; 186[label="digitToInt2 (Char (Neg Zero)) MyFalse",fontsize=16,color="black",shape="box"];186 -> 201[label="",style="solid", color="black", weight=3]; 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]; 1423 -> 785[label="",style="solid", color="burlywood", weight=3]; 1424[label="vx116/Zero",fontsize=10,color="white",style="solid",shape="box"];775 -> 1424[label="",style="solid", color="burlywood", weight=9]; 1424 -> 786[label="",style="solid", color="burlywood", weight=3]; 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]; 1425 -> 787[label="",style="solid", color="burlywood", weight=3]; 1426[label="vx116/Zero",fontsize=10,color="white",style="solid",shape="box"];776 -> 1426[label="",style="solid", color="burlywood", weight=9]; 1426 -> 788[label="",style="solid", color="burlywood", weight=3]; 553 -> 818[label="",style="dashed", color="red", weight=0]; 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]; 553 -> 820[label="",style="dashed", color="magenta", weight=3]; 553 -> 821[label="",style="dashed", color="magenta", weight=3]; 553 -> 822[label="",style="dashed", color="magenta", weight=3]; 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]; 200 -> 242[label="",style="dashed", color="red", weight=0]; 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]; 200 -> 244[label="",style="dashed", color="magenta", weight=3]; 200 -> 245[label="",style="dashed", color="magenta", weight=3]; 201 -> 250[label="",style="dashed", color="red", weight=0]; 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]; 201 -> 252[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 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]; 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]; 1427 -> 847[label="",style="solid", color="burlywood", weight=3]; 1428[label="vx124/Zero",fontsize=10,color="white",style="solid",shape="box"];818 -> 1428[label="",style="solid", color="burlywood", weight=9]; 1428 -> 848[label="",style="solid", color="burlywood", weight=3]; 216[label="digitToInt2 (Char (Pos Zero)) MyFalse",fontsize=16,color="black",shape="box"];216 -> 241[label="",style="solid", color="black", weight=3]; 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]; 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]; 805 -> 753[label="",style="dashed", color="red", weight=0]; 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]; 805 -> 850[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 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]; 1429 -> 854[label="",style="solid", color="burlywood", weight=3]; 1430[label="vx125/Zero",fontsize=10,color="white",style="solid",shape="box"];847 -> 1430[label="",style="solid", color="burlywood", weight=9]; 1430 -> 855[label="",style="solid", color="burlywood", weight=3]; 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]; 1431 -> 856[label="",style="solid", color="burlywood", weight=3]; 1432[label="vx125/Zero",fontsize=10,color="white",style="solid",shape="box"];848 -> 1432[label="",style="solid", color="burlywood", weight=9]; 1432 -> 857[label="",style="solid", color="burlywood", weight=3]; 241 -> 294[label="",style="dashed", color="red", weight=0]; 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]; 241 -> 296[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 852[label="digitToInt3 (Char (Pos (Succ vx114))) (not MyFalse)",fontsize=16,color="black",shape="triangle"];852 -> 859[label="",style="solid", color="black", weight=3]; 853 -> 852[label="",style="dashed", color="red", weight=0]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 858 -> 529[label="",style="dashed", color="red", weight=0]; 858[label="digitToInt3 (Char (Pos (Succ vx114))) MyFalse",fontsize=16,color="magenta"];858 -> 864[label="",style="dashed", color="magenta", weight=3]; 859[label="digitToInt3 (Char (Pos (Succ vx114))) MyTrue",fontsize=16,color="black",shape="box"];859 -> 865[label="",style="solid", color="black", weight=3]; 860 -> 818[label="",style="dashed", color="red", weight=0]; 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]; 860 -> 867[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 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]; 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]; 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]; 864[label="vx114",fontsize=16,color="green",shape="box"];865 -> 871[label="",style="dashed", color="red", weight=0]; 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]; 865 -> 873[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 870 -> 868[label="",style="dashed", color="red", weight=0]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 878[label="digitToInt2 (Char (Pos (Succ vx123))) MyFalse",fontsize=16,color="black",shape="triangle"];878 -> 881[label="",style="solid", color="black", weight=3]; 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]; 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]; 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]; 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]; 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]; 881 -> 889[label="",style="dashed", color="red", weight=0]; 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]; 881 -> 891[label="",style="dashed", color="magenta", weight=3]; 881 -> 892[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 419[label="digitToInt1 (Char (Neg (Succ vx49))) MyFalse",fontsize=16,color="black",shape="box"];419 -> 434[label="",style="solid", color="black", weight=3]; 420[label="digitToInt1 (Char (Neg Zero)) MyFalse",fontsize=16,color="black",shape="box"];420 -> 435[label="",style="solid", color="black", weight=3]; 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]; 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]; 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]; 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]; 434[label="digitToInt0 (Char (Neg (Succ vx49))) otherwise",fontsize=16,color="black",shape="box"];434 -> 460[label="",style="solid", color="black", weight=3]; 435[label="digitToInt0 (Char (Neg Zero)) otherwise",fontsize=16,color="black",shape="box"];435 -> 461[label="",style="solid", color="black", weight=3]; 897[label="primMinusInt (Pos (Succ vx128)) (Pos (Succ vx129))",fontsize=16,color="black",shape="box"];897 -> 900[label="",style="solid", color="black", weight=3]; 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]; 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]; 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]; 460[label="digitToInt0 (Char (Neg (Succ vx49))) MyTrue",fontsize=16,color="black",shape="box"];460 -> 506[label="",style="solid", color="black", weight=3]; 461[label="digitToInt0 (Char (Neg Zero)) MyTrue",fontsize=16,color="black",shape="box"];461 -> 507[label="",style="solid", color="black", weight=3]; 900[label="primMinusNat (Succ vx128) (Succ vx129)",fontsize=16,color="black",shape="box"];900 -> 903[label="",style="solid", color="black", weight=3]; 901 -> 1117[label="",style="dashed", color="red", weight=0]; 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]; 901 -> 1119[label="",style="dashed", color="magenta", weight=3]; 901 -> 1120[label="",style="dashed", color="magenta", weight=3]; 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]; 505[label="digitToInt1 (Char (Pos Zero)) MyFalse",fontsize=16,color="black",shape="box"];505 -> 512[label="",style="solid", color="black", weight=3]; 506[label="error",fontsize=16,color="black",shape="triangle"];506 -> 513[label="",style="solid", color="black", weight=3]; 507 -> 506[label="",style="dashed", color="red", weight=0]; 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]; 1433 -> 906[label="",style="solid", color="burlywood", weight=3]; 1434[label="vx128/Zero",fontsize=10,color="white",style="solid",shape="box"];903 -> 1434[label="",style="solid", color="burlywood", weight=9]; 1434 -> 907[label="",style="solid", color="burlywood", weight=3]; 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]; 1435 -> 1139[label="",style="solid", color="burlywood", weight=3]; 1436[label="vx145/Zero",fontsize=10,color="white",style="solid",shape="box"];1117 -> 1436[label="",style="solid", color="burlywood", weight=9]; 1436 -> 1140[label="",style="solid", color="burlywood", weight=3]; 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]; 512[label="digitToInt0 (Char (Pos Zero)) otherwise",fontsize=16,color="black",shape="box"];512 -> 518[label="",style="solid", color="black", weight=3]; 513[label="stop MyTrue",fontsize=16,color="black",shape="box"];513 -> 519[label="",style="solid", color="black", weight=3]; 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]; 1437 -> 911[label="",style="solid", color="burlywood", weight=3]; 1438[label="vx129/Zero",fontsize=10,color="white",style="solid",shape="box"];906 -> 1438[label="",style="solid", color="burlywood", weight=9]; 1438 -> 912[label="",style="solid", color="burlywood", weight=3]; 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]; 1439 -> 913[label="",style="solid", color="burlywood", weight=3]; 1440[label="vx129/Zero",fontsize=10,color="white",style="solid",shape="box"];907 -> 1440[label="",style="solid", color="burlywood", weight=9]; 1440 -> 914[label="",style="solid", color="burlywood", weight=3]; 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]; 1441 -> 1152[label="",style="solid", color="burlywood", weight=3]; 1442[label="vx146/Zero",fontsize=10,color="white",style="solid",shape="box"];1139 -> 1442[label="",style="solid", color="burlywood", weight=9]; 1442 -> 1153[label="",style="solid", color="burlywood", weight=3]; 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]; 1443 -> 1154[label="",style="solid", color="burlywood", weight=3]; 1444[label="vx146/Zero",fontsize=10,color="white",style="solid",shape="box"];1140 -> 1444[label="",style="solid", color="burlywood", weight=9]; 1444 -> 1155[label="",style="solid", color="burlywood", weight=3]; 910 -> 1171[label="",style="dashed", color="red", weight=0]; 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]; 910 -> 1173[label="",style="dashed", color="magenta", weight=3]; 910 -> 1174[label="",style="dashed", color="magenta", weight=3]; 910 -> 1175[label="",style="dashed", color="magenta", weight=3]; 518[label="digitToInt0 (Char (Pos Zero)) MyTrue",fontsize=16,color="black",shape="box"];518 -> 525[label="",style="solid", color="black", weight=3]; 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]; 912[label="primMinusNat (Succ vx1280) Zero",fontsize=16,color="black",shape="box"];912 -> 921[label="",style="solid", color="black", weight=3]; 913[label="primMinusNat Zero (Succ vx1290)",fontsize=16,color="black",shape="box"];913 -> 922[label="",style="solid", color="black", weight=3]; 914[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];914 -> 923[label="",style="solid", color="black", weight=3]; 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]; 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]; 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]; 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]; 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]; 1445 -> 1200[label="",style="solid", color="burlywood", weight=3]; 1446[label="vx149/Zero",fontsize=10,color="white",style="solid",shape="box"];1171 -> 1446[label="",style="solid", color="burlywood", weight=9]; 1446 -> 1201[label="",style="solid", color="burlywood", weight=3]; 525 -> 506[label="",style="dashed", color="red", weight=0]; 525[label="error",fontsize=16,color="magenta"];920 -> 903[label="",style="dashed", color="red", weight=0]; 920[label="primMinusNat vx1280 vx1290",fontsize=16,color="magenta"];920 -> 930[label="",style="dashed", color="magenta", weight=3]; 920 -> 931[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 1167 -> 1203[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 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]; 1447 -> 1207[label="",style="solid", color="burlywood", weight=3]; 1448[label="vx150/Zero",fontsize=10,color="white",style="solid",shape="box"];1200 -> 1448[label="",style="solid", color="burlywood", weight=9]; 1448 -> 1208[label="",style="solid", color="burlywood", weight=3]; 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]; 1449 -> 1209[label="",style="solid", color="burlywood", weight=3]; 1450[label="vx150/Zero",fontsize=10,color="white",style="solid",shape="box"];1201 -> 1450[label="",style="solid", color="burlywood", weight=9]; 1450 -> 1210[label="",style="solid", color="burlywood", weight=3]; 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]; 1205[label="digitToInt2 (Char (Pos (Succ vx144))) (not MyFalse)",fontsize=16,color="black",shape="triangle"];1205 -> 1212[label="",style="solid", color="black", weight=3]; 1206 -> 1205[label="",style="dashed", color="red", weight=0]; 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]; 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]; 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]; 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]; 1211 -> 878[label="",style="dashed", color="red", weight=0]; 1211[label="digitToInt2 (Char (Pos (Succ vx144))) MyFalse",fontsize=16,color="magenta"];1211 -> 1217[label="",style="dashed", color="magenta", weight=3]; 1212[label="digitToInt2 (Char (Pos (Succ vx144))) MyTrue",fontsize=16,color="black",shape="box"];1212 -> 1218[label="",style="solid", color="black", weight=3]; 1213 -> 1171[label="",style="dashed", color="red", weight=0]; 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]; 1213 -> 1220[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 1217[label="vx144",fontsize=16,color="green",shape="box"];1218 -> 1236[label="",style="dashed", color="red", weight=0]; 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]; 1218 -> 1238[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 1223 -> 1221[label="",style="dashed", color="red", weight=0]; 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]; 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]; 1237 -> 1241[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 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]; 1451 -> 1245[label="",style="solid", color="burlywood", weight=3]; 1452[label="vx159/Neg vx1590",fontsize=10,color="white",style="solid",shape="box"];1242 -> 1452[label="",style="solid", color="burlywood", weight=9]; 1452 -> 1246[label="",style="solid", color="burlywood", weight=3]; 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]; 1244[label="digitToInt1 (Char (Pos (Succ vx148))) MyFalse",fontsize=16,color="black",shape="triangle"];1244 -> 1248[label="",style="solid", color="black", weight=3]; 1245[label="primPlusInt (Pos vx1590) (Pos (Succ vx158))",fontsize=16,color="black",shape="box"];1245 -> 1249[label="",style="solid", color="black", weight=3]; 1246[label="primPlusInt (Neg vx1590) (Pos (Succ vx158))",fontsize=16,color="black",shape="box"];1246 -> 1250[label="",style="solid", color="black", weight=3]; 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]; 1248[label="digitToInt0 (Char (Pos (Succ vx148))) otherwise",fontsize=16,color="black",shape="box"];1248 -> 1252[label="",style="solid", color="black", weight=3]; 1249[label="Pos (primPlusNat vx1590 (Succ vx158))",fontsize=16,color="green",shape="box"];1249 -> 1253[label="",style="dashed", color="green", weight=3]; 1250 -> 903[label="",style="dashed", color="red", weight=0]; 1250[label="primMinusNat (Succ vx158) vx1590",fontsize=16,color="magenta"];1250 -> 1254[label="",style="dashed", color="magenta", weight=3]; 1250 -> 1255[label="",style="dashed", color="magenta", weight=3]; 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]; 1252[label="digitToInt0 (Char (Pos (Succ vx148))) MyTrue",fontsize=16,color="black",shape="box"];1252 -> 1257[label="",style="solid", color="black", weight=3]; 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]; 1453 -> 1258[label="",style="solid", color="burlywood", weight=3]; 1454[label="vx1590/Zero",fontsize=10,color="white",style="solid",shape="box"];1253 -> 1454[label="",style="solid", color="burlywood", weight=9]; 1454 -> 1259[label="",style="solid", color="burlywood", weight=3]; 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]; 1257 -> 506[label="",style="dashed", color="red", weight=0]; 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]; 1259[label="primPlusNat Zero (Succ vx158)",fontsize=16,color="black",shape="box"];1259 -> 1262[label="",style="solid", color="black", weight=3]; 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]; 1261[label="Succ (Succ (primPlusNat vx15900 vx158))",fontsize=16,color="green",shape="box"];1261 -> 1264[label="",style="dashed", color="green", weight=3]; 1262[label="Succ vx158",fontsize=16,color="green",shape="box"];1263 -> 1363[label="",style="dashed", color="red", weight=0]; 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]; 1263 -> 1365[label="",style="dashed", color="magenta", weight=3]; 1263 -> 1366[label="",style="dashed", color="magenta", weight=3]; 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]; 1455 -> 1266[label="",style="solid", color="burlywood", weight=3]; 1456[label="vx15900/Zero",fontsize=10,color="white",style="solid",shape="box"];1264 -> 1456[label="",style="solid", color="burlywood", weight=9]; 1456 -> 1267[label="",style="solid", color="burlywood", weight=3]; 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]; 1457 -> 1385[label="",style="solid", color="burlywood", weight=3]; 1458[label="vx162/Zero",fontsize=10,color="white",style="solid",shape="box"];1363 -> 1458[label="",style="solid", color="burlywood", weight=9]; 1458 -> 1386[label="",style="solid", color="burlywood", weight=3]; 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]; 1459 -> 1270[label="",style="solid", color="burlywood", weight=3]; 1460[label="vx158/Zero",fontsize=10,color="white",style="solid",shape="box"];1266 -> 1460[label="",style="solid", color="burlywood", weight=9]; 1460 -> 1271[label="",style="solid", color="burlywood", weight=3]; 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]; 1461 -> 1272[label="",style="solid", color="burlywood", weight=3]; 1462[label="vx158/Zero",fontsize=10,color="white",style="solid",shape="box"];1267 -> 1462[label="",style="solid", color="burlywood", weight=9]; 1462 -> 1273[label="",style="solid", color="burlywood", weight=3]; 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]; 1463 -> 1387[label="",style="solid", color="burlywood", weight=3]; 1464[label="vx163/Zero",fontsize=10,color="white",style="solid",shape="box"];1385 -> 1464[label="",style="solid", color="burlywood", weight=9]; 1464 -> 1388[label="",style="solid", color="burlywood", weight=3]; 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]; 1465 -> 1389[label="",style="solid", color="burlywood", weight=3]; 1466[label="vx163/Zero",fontsize=10,color="white",style="solid",shape="box"];1386 -> 1466[label="",style="solid", color="burlywood", weight=9]; 1466 -> 1390[label="",style="solid", color="burlywood", weight=3]; 1270[label="primPlusNat (Succ vx159000) (Succ vx1580)",fontsize=16,color="black",shape="box"];1270 -> 1278[label="",style="solid", color="black", weight=3]; 1271[label="primPlusNat (Succ vx159000) Zero",fontsize=16,color="black",shape="box"];1271 -> 1279[label="",style="solid", color="black", weight=3]; 1272[label="primPlusNat Zero (Succ vx1580)",fontsize=16,color="black",shape="box"];1272 -> 1280[label="",style="solid", color="black", weight=3]; 1273[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];1273 -> 1281[label="",style="solid", color="black", weight=3]; 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]; 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]; 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]; 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]; 1278[label="Succ (Succ (primPlusNat vx159000 vx1580))",fontsize=16,color="green",shape="box"];1278 -> 1286[label="",style="dashed", color="green", weight=3]; 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]; 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]; 1391 -> 1396[label="",style="dashed", color="magenta", weight=3]; 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]; 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]; 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]; 1286 -> 1264[label="",style="dashed", color="red", weight=0]; 1286[label="primPlusNat vx159000 vx1580",fontsize=16,color="magenta"];1286 -> 1292[label="",style="dashed", color="magenta", weight=3]; 1286 -> 1293[label="",style="dashed", color="magenta", weight=3]; 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]; 1398[label="digitToInt1 (Char (Pos (Succ vx161))) (not MyFalse)",fontsize=16,color="black",shape="triangle"];1398 -> 1401[label="",style="solid", color="black", weight=3]; 1399 -> 1398[label="",style="dashed", color="red", weight=0]; 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]; 1400[label="digitToInt1 (Char (Pos (Succ vx161))) MyFalse",fontsize=16,color="magenta"];1400 -> 1402[label="",style="dashed", color="magenta", weight=3]; 1401[label="digitToInt1 (Char (Pos (Succ vx161))) MyTrue",fontsize=16,color="black",shape="box"];1401 -> 1403[label="",style="solid", color="black", weight=3]; 1402[label="vx161",fontsize=16,color="green",shape="box"];1403 -> 1236[label="",style="dashed", color="red", weight=0]; 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]; 1403 -> 1405[label="",style="dashed", color="magenta", weight=3]; 1404 -> 871[label="",style="dashed", color="red", weight=0]; 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]; 1404 -> 1407[label="",style="dashed", color="magenta", weight=3]; 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"];} ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: Q DP problem: The TRS P consists of the following rules: new_digitToInt2(vx144, Main.Succ(vx1450), Main.Succ(vx1460)) -> new_digitToInt2(vx144, vx1450, vx1460) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (8) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_digitToInt2(vx144, Main.Succ(vx1450), Main.Succ(vx1460)) -> new_digitToInt2(vx144, vx1450, vx1460) The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 ---------------------------------------- (9) YES ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: new_digitToInt10(vx148, Main.Succ(vx1490), Main.Succ(vx1500), vx151) -> new_digitToInt10(vx148, vx1490, vx1500, vx151) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (11) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_digitToInt10(vx148, Main.Succ(vx1490), Main.Succ(vx1500), vx151) -> new_digitToInt10(vx148, vx1490, vx1500, vx151) The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 4 >= 4 ---------------------------------------- (12) YES ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_digitToInt3(vx114, Main.Succ(vx1150), Main.Succ(vx1160)) -> new_digitToInt3(vx114, vx1150, vx1160) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_digitToInt3(vx114, Main.Succ(vx1150), Main.Succ(vx1160)) -> new_digitToInt3(vx114, vx1150, vx1160) The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 ---------------------------------------- (15) YES ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNat(Main.Succ(vx1280), Main.Succ(vx1290)) -> new_primMinusNat(vx1280, vx1290) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_primMinusNat(Main.Succ(vx1280), Main.Succ(vx1290)) -> new_primMinusNat(vx1280, vx1290) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (18) YES ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Main.Succ(vx159000), Main.Succ(vx1580)) -> new_primPlusNat(vx159000, vx1580) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (20) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_primPlusNat(Main.Succ(vx159000), Main.Succ(vx1580)) -> new_primPlusNat(vx159000, vx1580) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (21) YES ---------------------------------------- (22) Obligation: Q DP problem: The TRS P consists of the following rules: new_digitToInt20(vx123, Main.Succ(vx1240), Main.Succ(vx1250), vx126) -> new_digitToInt20(vx123, vx1240, vx1250, vx126) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (23) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_digitToInt20(vx123, Main.Succ(vx1240), Main.Succ(vx1250), vx126) -> new_digitToInt20(vx123, vx1240, vx1250, vx126) The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 4 >= 4 ---------------------------------------- (24) YES ---------------------------------------- (25) Obligation: Q DP problem: The TRS P consists of the following rules: new_digitToInt30(vx86, Main.Succ(vx870), Main.Succ(vx880), vx89) -> new_digitToInt30(vx86, vx870, vx880, vx89) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_digitToInt30(vx86, Main.Succ(vx870), Main.Succ(vx880), vx89) -> new_digitToInt30(vx86, vx870, vx880, vx89) The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 4 >= 4 ---------------------------------------- (27) YES ---------------------------------------- (28) Obligation: Q DP problem: The TRS P consists of the following rules: new_digitToInt1(vx161, Main.Succ(vx1620), Main.Succ(vx1630)) -> new_digitToInt1(vx161, vx1620, vx1630) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_digitToInt1(vx161, Main.Succ(vx1620), Main.Succ(vx1630)) -> new_digitToInt1(vx161, vx1620, vx1630) The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 ---------------------------------------- (30) YES