/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.hs /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/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 [EQUIVALENT, 118 ms] (6) YES ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; data Main.Char = Char MyInt ; data List a = Cons a (List a) | Nil ; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; compareMyInt :: MyInt -> MyInt -> Ordering; compareMyInt = primCmpInt; 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; fromIntMyInt :: MyInt -> MyInt; fromIntMyInt x = x; gtMyInt :: MyInt -> MyInt -> MyBool; gtMyInt x y = esEsOrdering (compareMyInt x y) GT; ltMyInt :: MyInt -> MyInt -> MyBool; ltMyInt x y = esEsOrdering (compareMyInt x y) LT; negateMyInt :: MyInt -> MyInt; negateMyInt = primNegInt; 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; primNegInt :: MyInt -> MyInt; primNegInt (Main.Pos x) = Main.Neg x; primNegInt (Main.Neg x) = Main.Pos x; pt :: (a -> b) -> (c -> a) -> c -> b; pt f g x = f (g x); showChar :: Main.Char -> List Main.Char -> List Main.Char; showChar = Cons; showParen :: MyBool -> (List Main.Char -> List Main.Char) -> List Main.Char -> List Main.Char; showParen b p = showParen0 p b; showParen0 p MyTrue = pt (showChar (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.Zero))))))))))))))))))))))))))))))))))))))))))) (pt p (showChar (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.Zero))))))))))))))))))))))))))))))))))))))))))))); showParen0 p MyFalse = p; showSigned showPos p x = showSigned0 p showPos x (ltMyInt x (fromIntMyInt (Main.Pos Main.Zero))); showSigned0 p showPos x MyTrue = showParen (gtMyInt p (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))) (pt (showChar (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.Zero)))))))))))))))))))))))))))))))))))))))))))))))) (showPos (negateMyInt x))); showSigned0 p showPos x MyFalse = showPos x; } ---------------------------------------- (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 List a = Cons a (List a) | Nil ; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; compareMyInt :: MyInt -> MyInt -> Ordering; compareMyInt = primCmpInt; 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; fromIntMyInt :: MyInt -> MyInt; fromIntMyInt x = x; gtMyInt :: MyInt -> MyInt -> MyBool; gtMyInt x y = esEsOrdering (compareMyInt x y) GT; ltMyInt :: MyInt -> MyInt -> MyBool; ltMyInt x y = esEsOrdering (compareMyInt x y) LT; negateMyInt :: MyInt -> MyInt; negateMyInt = primNegInt; 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; primNegInt :: MyInt -> MyInt; primNegInt (Main.Pos x) = Main.Neg x; primNegInt (Main.Neg x) = Main.Pos x; pt :: (a -> b) -> (c -> a) -> c -> b; pt f g x = f (g x); showChar :: Main.Char -> List Main.Char -> List Main.Char; showChar = Cons; showParen :: MyBool -> (List Main.Char -> List Main.Char) -> List Main.Char -> List Main.Char; showParen b p = showParen0 p b; showParen0 p MyTrue = pt (showChar (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.Zero))))))))))))))))))))))))))))))))))))))))))) (pt p (showChar (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.Zero))))))))))))))))))))))))))))))))))))))))))))); showParen0 p MyFalse = p; showSigned showPos p x = showSigned0 p showPos x (ltMyInt x (fromIntMyInt (Main.Pos Main.Zero))); showSigned0 p showPos x MyTrue = showParen (gtMyInt p (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))) (pt (showChar (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.Zero)))))))))))))))))))))))))))))))))))))))))))))))) (showPos (negateMyInt x))); showSigned0 p showPos x MyFalse = showPos x; } ---------------------------------------- (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 List a = Cons a (List a) | Nil ; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; compareMyInt :: MyInt -> MyInt -> Ordering; compareMyInt = primCmpInt; 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; fromIntMyInt :: MyInt -> MyInt; fromIntMyInt x = x; gtMyInt :: MyInt -> MyInt -> MyBool; gtMyInt x y = esEsOrdering (compareMyInt x y) GT; ltMyInt :: MyInt -> MyInt -> MyBool; ltMyInt x y = esEsOrdering (compareMyInt x y) LT; negateMyInt :: MyInt -> MyInt; negateMyInt = primNegInt; 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; primNegInt :: MyInt -> MyInt; primNegInt (Main.Pos x) = Main.Neg x; primNegInt (Main.Neg x) = Main.Pos x; pt :: (a -> b) -> (c -> a) -> c -> b; pt f g x = f (g x); showChar :: Main.Char -> List Main.Char -> List Main.Char; showChar = Cons; showParen :: MyBool -> (List Main.Char -> List Main.Char) -> List Main.Char -> List Main.Char; showParen b p = showParen0 p b; showParen0 p MyTrue = pt (showChar (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.Zero))))))))))))))))))))))))))))))))))))))))))) (pt p (showChar (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.Zero))))))))))))))))))))))))))))))))))))))))))))); showParen0 p MyFalse = p; showSigned showPos p x = showSigned0 p showPos x (ltMyInt x (fromIntMyInt (Main.Pos Main.Zero))); showSigned0 p showPos x MyTrue = showParen (gtMyInt p (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))) (pt (showChar (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.Zero)))))))))))))))))))))))))))))))))))))))))))))))) (showPos (negateMyInt x))); showSigned0 p showPos x MyFalse = showPos x; } ---------------------------------------- (5) Narrow (EQUIVALENT) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="showSigned",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="showSigned vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="showSigned vx3 vx4",fontsize=16,color="grey",shape="box"];4 -> 5[label="",style="dashed", color="grey", weight=3]; 5[label="showSigned vx3 vx4 vx5",fontsize=16,color="grey",shape="box"];5 -> 6[label="",style="dashed", color="grey", weight=3]; 6[label="showSigned vx3 vx4 vx5 vx6",fontsize=16,color="black",shape="triangle"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="showSigned0 vx4 vx3 vx5 (ltMyInt vx5 (fromIntMyInt (Pos Zero))) vx6",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 8[label="showSigned0 vx4 vx3 vx5 (esEsOrdering (compareMyInt vx5 (fromIntMyInt (Pos Zero))) LT) vx6",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 9[label="showSigned0 vx4 vx3 vx5 (esEsOrdering (primCmpInt vx5 (fromIntMyInt (Pos Zero))) LT) vx6",fontsize=16,color="burlywood",shape="box"];134[label="vx5/Pos vx50",fontsize=10,color="white",style="solid",shape="box"];9 -> 134[label="",style="solid", color="burlywood", weight=9]; 134 -> 10[label="",style="solid", color="burlywood", weight=3]; 135[label="vx5/Neg vx50",fontsize=10,color="white",style="solid",shape="box"];9 -> 135[label="",style="solid", color="burlywood", weight=9]; 135 -> 11[label="",style="solid", color="burlywood", weight=3]; 10[label="showSigned0 vx4 vx3 (Pos vx50) (esEsOrdering (primCmpInt (Pos vx50) (fromIntMyInt (Pos Zero))) LT) vx6",fontsize=16,color="burlywood",shape="box"];136[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];10 -> 136[label="",style="solid", color="burlywood", weight=9]; 136 -> 12[label="",style="solid", color="burlywood", weight=3]; 137[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];10 -> 137[label="",style="solid", color="burlywood", weight=9]; 137 -> 13[label="",style="solid", color="burlywood", weight=3]; 11[label="showSigned0 vx4 vx3 (Neg vx50) (esEsOrdering (primCmpInt (Neg vx50) (fromIntMyInt (Pos Zero))) LT) vx6",fontsize=16,color="burlywood",shape="box"];138[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];11 -> 138[label="",style="solid", color="burlywood", weight=9]; 138 -> 14[label="",style="solid", color="burlywood", weight=3]; 139[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];11 -> 139[label="",style="solid", color="burlywood", weight=9]; 139 -> 15[label="",style="solid", color="burlywood", weight=3]; 12[label="showSigned0 vx4 vx3 (Pos (Succ vx500)) (esEsOrdering (primCmpInt (Pos (Succ vx500)) (fromIntMyInt (Pos Zero))) LT) vx6",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 13[label="showSigned0 vx4 vx3 (Pos Zero) (esEsOrdering (primCmpInt (Pos Zero) (fromIntMyInt (Pos Zero))) LT) vx6",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 14[label="showSigned0 vx4 vx3 (Neg (Succ vx500)) (esEsOrdering (primCmpInt (Neg (Succ vx500)) (fromIntMyInt (Pos Zero))) LT) vx6",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 15[label="showSigned0 vx4 vx3 (Neg Zero) (esEsOrdering (primCmpInt (Neg Zero) (fromIntMyInt (Pos Zero))) LT) vx6",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 16[label="showSigned0 vx4 vx3 (Pos (Succ vx500)) (esEsOrdering (primCmpInt (Pos (Succ vx500)) (Pos Zero)) LT) vx6",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 17[label="showSigned0 vx4 vx3 (Pos Zero) (esEsOrdering (primCmpInt (Pos Zero) (Pos Zero)) LT) vx6",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 18[label="showSigned0 vx4 vx3 (Neg (Succ vx500)) (esEsOrdering (primCmpInt (Neg (Succ vx500)) (Pos Zero)) LT) vx6",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 19[label="showSigned0 vx4 vx3 (Neg Zero) (esEsOrdering (primCmpInt (Neg Zero) (Pos Zero)) LT) vx6",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 20[label="showSigned0 vx4 vx3 (Pos (Succ vx500)) (esEsOrdering (primCmpNat (Succ vx500) Zero) LT) vx6",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 21[label="showSigned0 vx4 vx3 (Pos Zero) (esEsOrdering EQ LT) vx6",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 22[label="showSigned0 vx4 vx3 (Neg (Succ vx500)) (esEsOrdering LT LT) vx6",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 23[label="showSigned0 vx4 vx3 (Neg Zero) (esEsOrdering EQ LT) vx6",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 24[label="showSigned0 vx4 vx3 (Pos (Succ vx500)) (esEsOrdering GT LT) vx6",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 25[label="showSigned0 vx4 vx3 (Pos Zero) MyFalse vx6",fontsize=16,color="black",shape="box"];25 -> 29[label="",style="solid", color="black", weight=3]; 26[label="showSigned0 vx4 vx3 (Neg (Succ vx500)) MyTrue vx6",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 27[label="showSigned0 vx4 vx3 (Neg Zero) MyFalse vx6",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 28[label="showSigned0 vx4 vx3 (Pos (Succ vx500)) MyFalse vx6",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 29[label="vx3 (Pos Zero) vx6",fontsize=16,color="green",shape="box"];29 -> 33[label="",style="dashed", color="green", weight=3]; 29 -> 34[label="",style="dashed", color="green", weight=3]; 30 -> 35[label="",style="dashed", color="red", weight=0]; 30[label="showParen (gtMyInt vx4 (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) (pt (showChar (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 Zero)))))))))))))))))))))))))))))))))))))))))))))))) (vx3 (negateMyInt (Neg (Succ vx500))))) vx6",fontsize=16,color="magenta"];30 -> 36[label="",style="dashed", color="magenta", weight=3]; 30 -> 37[label="",style="dashed", color="magenta", weight=3]; 30 -> 38[label="",style="dashed", color="magenta", weight=3]; 30 -> 39[label="",style="dashed", color="magenta", weight=3]; 30 -> 40[label="",style="dashed", color="magenta", weight=3]; 31[label="vx3 (Neg Zero) vx6",fontsize=16,color="green",shape="box"];31 -> 41[label="",style="dashed", color="green", weight=3]; 31 -> 42[label="",style="dashed", color="green", weight=3]; 32[label="vx3 (Pos (Succ vx500)) vx6",fontsize=16,color="green",shape="box"];32 -> 43[label="",style="dashed", color="green", weight=3]; 32 -> 44[label="",style="dashed", color="green", weight=3]; 33[label="Pos Zero",fontsize=16,color="green",shape="box"];34[label="vx6",fontsize=16,color="green",shape="box"];36[label="vx4",fontsize=16,color="green",shape="box"];37[label="vx6",fontsize=16,color="green",shape="box"];38[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 Zero)))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];39[label="vx500",fontsize=16,color="green",shape="box"];40[label="vx3",fontsize=16,color="green",shape="box"];35[label="showParen (gtMyInt vx8 (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) vx12",fontsize=16,color="black",shape="triangle"];35 -> 45[label="",style="solid", color="black", weight=3]; 41[label="Neg Zero",fontsize=16,color="green",shape="box"];42[label="vx6",fontsize=16,color="green",shape="box"];43[label="Pos (Succ vx500)",fontsize=16,color="green",shape="box"];44[label="vx6",fontsize=16,color="green",shape="box"];45[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (gtMyInt vx8 (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) vx12",fontsize=16,color="black",shape="box"];45 -> 46[label="",style="solid", color="black", weight=3]; 46[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (compareMyInt vx8 (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) GT) vx12",fontsize=16,color="black",shape="box"];46 -> 47[label="",style="solid", color="black", weight=3]; 47[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpInt vx8 (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) GT) vx12",fontsize=16,color="burlywood",shape="box"];140[label="vx8/Pos vx80",fontsize=10,color="white",style="solid",shape="box"];47 -> 140[label="",style="solid", color="burlywood", weight=9]; 140 -> 48[label="",style="solid", color="burlywood", weight=3]; 141[label="vx8/Neg vx80",fontsize=10,color="white",style="solid",shape="box"];47 -> 141[label="",style="solid", color="burlywood", weight=9]; 141 -> 49[label="",style="solid", color="burlywood", weight=3]; 48[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpInt (Pos vx80) (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) GT) vx12",fontsize=16,color="burlywood",shape="box"];142[label="vx80/Succ vx800",fontsize=10,color="white",style="solid",shape="box"];48 -> 142[label="",style="solid", color="burlywood", weight=9]; 142 -> 50[label="",style="solid", color="burlywood", weight=3]; 143[label="vx80/Zero",fontsize=10,color="white",style="solid",shape="box"];48 -> 143[label="",style="solid", color="burlywood", weight=9]; 143 -> 51[label="",style="solid", color="burlywood", weight=3]; 49[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpInt (Neg vx80) (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) GT) vx12",fontsize=16,color="burlywood",shape="box"];144[label="vx80/Succ vx800",fontsize=10,color="white",style="solid",shape="box"];49 -> 144[label="",style="solid", color="burlywood", weight=9]; 144 -> 52[label="",style="solid", color="burlywood", weight=3]; 145[label="vx80/Zero",fontsize=10,color="white",style="solid",shape="box"];49 -> 145[label="",style="solid", color="burlywood", weight=9]; 145 -> 53[label="",style="solid", color="burlywood", weight=3]; 50[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpInt (Pos (Succ vx800)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) GT) vx12",fontsize=16,color="black",shape="box"];50 -> 54[label="",style="solid", color="black", weight=3]; 51[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) GT) vx12",fontsize=16,color="black",shape="box"];51 -> 55[label="",style="solid", color="black", weight=3]; 52[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpInt (Neg (Succ vx800)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) GT) vx12",fontsize=16,color="black",shape="box"];52 -> 56[label="",style="solid", color="black", weight=3]; 53[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpInt (Neg Zero) (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) GT) vx12",fontsize=16,color="black",shape="box"];53 -> 57[label="",style="solid", color="black", weight=3]; 54[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpNat (Succ vx800) (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) GT) vx12",fontsize=16,color="black",shape="box"];54 -> 58[label="",style="solid", color="black", weight=3]; 55[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpNat Zero (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) GT) vx12",fontsize=16,color="black",shape="box"];55 -> 59[label="",style="solid", color="black", weight=3]; 56[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering LT GT) vx12",fontsize=16,color="black",shape="triangle"];56 -> 60[label="",style="solid", color="black", weight=3]; 57 -> 56[label="",style="dashed", color="red", weight=0]; 57[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering LT GT) vx12",fontsize=16,color="magenta"];58[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpNat vx800 (Succ (Succ (Succ (Succ (Succ Zero)))))) GT) vx12",fontsize=16,color="burlywood",shape="box"];146[label="vx800/Succ vx8000",fontsize=10,color="white",style="solid",shape="box"];58 -> 146[label="",style="solid", color="burlywood", weight=9]; 146 -> 61[label="",style="solid", color="burlywood", weight=3]; 147[label="vx800/Zero",fontsize=10,color="white",style="solid",shape="box"];58 -> 147[label="",style="solid", color="burlywood", weight=9]; 147 -> 62[label="",style="solid", color="burlywood", weight=3]; 59 -> 56[label="",style="dashed", color="red", weight=0]; 59[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering LT GT) vx12",fontsize=16,color="magenta"];60[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) MyFalse vx12",fontsize=16,color="black",shape="box"];60 -> 63[label="",style="solid", color="black", weight=3]; 61[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpNat (Succ vx8000) (Succ (Succ (Succ (Succ (Succ Zero)))))) GT) vx12",fontsize=16,color="black",shape="box"];61 -> 64[label="",style="solid", color="black", weight=3]; 62[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpNat Zero (Succ (Succ (Succ (Succ (Succ Zero)))))) GT) vx12",fontsize=16,color="black",shape="box"];62 -> 65[label="",style="solid", color="black", weight=3]; 63[label="pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11)))) vx12",fontsize=16,color="black",shape="box"];63 -> 66[label="",style="solid", color="black", weight=3]; 64[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpNat vx8000 (Succ (Succ (Succ (Succ Zero))))) GT) vx12",fontsize=16,color="burlywood",shape="box"];148[label="vx8000/Succ vx80000",fontsize=10,color="white",style="solid",shape="box"];64 -> 148[label="",style="solid", color="burlywood", weight=9]; 148 -> 67[label="",style="solid", color="burlywood", weight=3]; 149[label="vx8000/Zero",fontsize=10,color="white",style="solid",shape="box"];64 -> 149[label="",style="solid", color="burlywood", weight=9]; 149 -> 68[label="",style="solid", color="burlywood", weight=3]; 65 -> 56[label="",style="dashed", color="red", weight=0]; 65[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering LT GT) vx12",fontsize=16,color="magenta"];66[label="showChar (Char (Pos (Succ vx9))) (vx10 (negateMyInt (Neg (Succ vx11))) vx12)",fontsize=16,color="black",shape="box"];66 -> 69[label="",style="solid", color="black", weight=3]; 67[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpNat (Succ vx80000) (Succ (Succ (Succ (Succ Zero))))) GT) vx12",fontsize=16,color="black",shape="box"];67 -> 70[label="",style="solid", color="black", weight=3]; 68[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpNat Zero (Succ (Succ (Succ (Succ Zero))))) GT) vx12",fontsize=16,color="black",shape="box"];68 -> 71[label="",style="solid", color="black", weight=3]; 69[label="Cons (Char (Pos (Succ vx9))) (vx10 (negateMyInt (Neg (Succ vx11))) vx12)",fontsize=16,color="green",shape="box"];69 -> 72[label="",style="dashed", color="green", weight=3]; 70[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpNat vx80000 (Succ (Succ (Succ Zero)))) GT) vx12",fontsize=16,color="burlywood",shape="box"];150[label="vx80000/Succ vx800000",fontsize=10,color="white",style="solid",shape="box"];70 -> 150[label="",style="solid", color="burlywood", weight=9]; 150 -> 73[label="",style="solid", color="burlywood", weight=3]; 151[label="vx80000/Zero",fontsize=10,color="white",style="solid",shape="box"];70 -> 151[label="",style="solid", color="burlywood", weight=9]; 151 -> 74[label="",style="solid", color="burlywood", weight=3]; 71 -> 56[label="",style="dashed", color="red", weight=0]; 71[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering LT GT) vx12",fontsize=16,color="magenta"];72[label="vx10 (negateMyInt (Neg (Succ vx11))) vx12",fontsize=16,color="green",shape="box"];72 -> 75[label="",style="dashed", color="green", weight=3]; 72 -> 76[label="",style="dashed", color="green", weight=3]; 73[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpNat (Succ vx800000) (Succ (Succ (Succ Zero)))) GT) vx12",fontsize=16,color="black",shape="box"];73 -> 77[label="",style="solid", color="black", weight=3]; 74[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpNat Zero (Succ (Succ (Succ Zero)))) GT) vx12",fontsize=16,color="black",shape="box"];74 -> 78[label="",style="solid", color="black", weight=3]; 75[label="negateMyInt (Neg (Succ vx11))",fontsize=16,color="black",shape="triangle"];75 -> 79[label="",style="solid", color="black", weight=3]; 76[label="vx12",fontsize=16,color="green",shape="box"];77 -> 80[label="",style="dashed", color="red", weight=0]; 77[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering (primCmpNat vx800000 (Succ (Succ Zero))) GT) vx12",fontsize=16,color="magenta"];77 -> 81[label="",style="dashed", color="magenta", weight=3]; 78 -> 56[label="",style="dashed", color="red", weight=0]; 78[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 (negateMyInt (Neg (Succ vx11))))) (esEsOrdering LT GT) vx12",fontsize=16,color="magenta"];79[label="primNegInt (Neg (Succ vx11))",fontsize=16,color="black",shape="box"];79 -> 82[label="",style="solid", color="black", weight=3]; 81 -> 75[label="",style="dashed", color="red", weight=0]; 81[label="negateMyInt (Neg (Succ vx11))",fontsize=16,color="magenta"];80[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (esEsOrdering (primCmpNat vx800000 (Succ (Succ Zero))) GT) vx12",fontsize=16,color="burlywood",shape="triangle"];152[label="vx800000/Succ vx8000000",fontsize=10,color="white",style="solid",shape="box"];80 -> 152[label="",style="solid", color="burlywood", weight=9]; 152 -> 83[label="",style="solid", color="burlywood", weight=3]; 153[label="vx800000/Zero",fontsize=10,color="white",style="solid",shape="box"];80 -> 153[label="",style="solid", color="burlywood", weight=9]; 153 -> 84[label="",style="solid", color="burlywood", weight=3]; 82[label="Pos (Succ vx11)",fontsize=16,color="green",shape="box"];83[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (esEsOrdering (primCmpNat (Succ vx8000000) (Succ (Succ Zero))) GT) vx12",fontsize=16,color="black",shape="box"];83 -> 85[label="",style="solid", color="black", weight=3]; 84[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (esEsOrdering (primCmpNat Zero (Succ (Succ Zero))) GT) vx12",fontsize=16,color="black",shape="box"];84 -> 86[label="",style="solid", color="black", weight=3]; 85[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (esEsOrdering (primCmpNat vx8000000 (Succ Zero)) GT) vx12",fontsize=16,color="burlywood",shape="box"];154[label="vx8000000/Succ vx80000000",fontsize=10,color="white",style="solid",shape="box"];85 -> 154[label="",style="solid", color="burlywood", weight=9]; 154 -> 87[label="",style="solid", color="burlywood", weight=3]; 155[label="vx8000000/Zero",fontsize=10,color="white",style="solid",shape="box"];85 -> 155[label="",style="solid", color="burlywood", weight=9]; 155 -> 88[label="",style="solid", color="burlywood", weight=3]; 86[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (esEsOrdering LT GT) vx12",fontsize=16,color="black",shape="triangle"];86 -> 89[label="",style="solid", color="black", weight=3]; 87[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (esEsOrdering (primCmpNat (Succ vx80000000) (Succ Zero)) GT) vx12",fontsize=16,color="black",shape="box"];87 -> 90[label="",style="solid", color="black", weight=3]; 88[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (esEsOrdering (primCmpNat Zero (Succ Zero)) GT) vx12",fontsize=16,color="black",shape="box"];88 -> 91[label="",style="solid", color="black", weight=3]; 89[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) MyFalse vx12",fontsize=16,color="black",shape="triangle"];89 -> 92[label="",style="solid", color="black", weight=3]; 90[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (esEsOrdering (primCmpNat vx80000000 Zero) GT) vx12",fontsize=16,color="burlywood",shape="box"];156[label="vx80000000/Succ vx800000000",fontsize=10,color="white",style="solid",shape="box"];90 -> 156[label="",style="solid", color="burlywood", weight=9]; 156 -> 93[label="",style="solid", color="burlywood", weight=3]; 157[label="vx80000000/Zero",fontsize=10,color="white",style="solid",shape="box"];90 -> 157[label="",style="solid", color="burlywood", weight=9]; 157 -> 94[label="",style="solid", color="burlywood", weight=3]; 91 -> 86[label="",style="dashed", color="red", weight=0]; 91[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (esEsOrdering LT GT) vx12",fontsize=16,color="magenta"];92[label="pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13) vx12",fontsize=16,color="black",shape="box"];92 -> 95[label="",style="solid", color="black", weight=3]; 93[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (esEsOrdering (primCmpNat (Succ vx800000000) Zero) GT) vx12",fontsize=16,color="black",shape="box"];93 -> 96[label="",style="solid", color="black", weight=3]; 94[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (esEsOrdering (primCmpNat Zero Zero) GT) vx12",fontsize=16,color="black",shape="box"];94 -> 97[label="",style="solid", color="black", weight=3]; 95[label="showChar (Char (Pos (Succ vx9))) (vx10 vx13 vx12)",fontsize=16,color="black",shape="box"];95 -> 98[label="",style="solid", color="black", weight=3]; 96[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (esEsOrdering GT GT) vx12",fontsize=16,color="black",shape="box"];96 -> 99[label="",style="solid", color="black", weight=3]; 97[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (esEsOrdering EQ GT) vx12",fontsize=16,color="black",shape="box"];97 -> 100[label="",style="solid", color="black", weight=3]; 98[label="Cons (Char (Pos (Succ vx9))) (vx10 vx13 vx12)",fontsize=16,color="green",shape="box"];98 -> 101[label="",style="dashed", color="green", weight=3]; 99[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) MyTrue vx12",fontsize=16,color="black",shape="box"];99 -> 102[label="",style="solid", color="black", weight=3]; 100 -> 89[label="",style="dashed", color="red", weight=0]; 100[label="showParen0 (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) MyFalse vx12",fontsize=16,color="magenta"];101[label="vx10 vx13 vx12",fontsize=16,color="green",shape="box"];101 -> 103[label="",style="dashed", color="green", weight=3]; 101 -> 104[label="",style="dashed", color="green", weight=3]; 102 -> 111[label="",style="dashed", color="red", weight=0]; 102[label="pt (showChar (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 Zero))))))))))))))))))))))))))))))))))))))))))) (pt (pt (showChar (Char (Pos (Succ vx9)))) (vx10 vx13)) (showChar (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 Zero))))))))))))))))))))))))))))))))))))))))))))) vx12",fontsize=16,color="magenta"];102 -> 112[label="",style="dashed", color="magenta", weight=3]; 102 -> 113[label="",style="dashed", color="magenta", weight=3]; 102 -> 114[label="",style="dashed", color="magenta", weight=3]; 102 -> 115[label="",style="dashed", color="magenta", weight=3]; 102 -> 116[label="",style="dashed", color="magenta", weight=3]; 102 -> 117[label="",style="dashed", color="magenta", weight=3]; 103[label="vx13",fontsize=16,color="green",shape="box"];104[label="vx12",fontsize=16,color="green",shape="box"];112[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 Zero))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];113[label="vx10",fontsize=16,color="green",shape="box"];114[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 Zero)))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];115[label="vx9",fontsize=16,color="green",shape="box"];116[label="vx13",fontsize=16,color="green",shape="box"];117[label="vx12",fontsize=16,color="green",shape="box"];111[label="pt (showChar (Char (Pos (Succ vx21)))) (pt (pt (showChar (Char (Pos (Succ vx22)))) (vx23 vx24)) (showChar (Char (Pos (Succ vx25))))) vx26",fontsize=16,color="black",shape="triangle"];111 -> 124[label="",style="solid", color="black", weight=3]; 124[label="showChar (Char (Pos (Succ vx21))) (pt (pt (showChar (Char (Pos (Succ vx22)))) (vx23 vx24)) (showChar (Char (Pos (Succ vx25)))) vx26)",fontsize=16,color="black",shape="box"];124 -> 125[label="",style="solid", color="black", weight=3]; 125[label="Cons (Char (Pos (Succ vx21))) (pt (pt (showChar (Char (Pos (Succ vx22)))) (vx23 vx24)) (showChar (Char (Pos (Succ vx25)))) vx26)",fontsize=16,color="green",shape="box"];125 -> 126[label="",style="dashed", color="green", weight=3]; 126[label="pt (pt (showChar (Char (Pos (Succ vx22)))) (vx23 vx24)) (showChar (Char (Pos (Succ vx25)))) vx26",fontsize=16,color="black",shape="box"];126 -> 127[label="",style="solid", color="black", weight=3]; 127[label="pt (showChar (Char (Pos (Succ vx22)))) (vx23 vx24) (showChar (Char (Pos (Succ vx25))) vx26)",fontsize=16,color="black",shape="box"];127 -> 128[label="",style="solid", color="black", weight=3]; 128[label="showChar (Char (Pos (Succ vx22))) (vx23 vx24 (showChar (Char (Pos (Succ vx25))) vx26))",fontsize=16,color="black",shape="box"];128 -> 129[label="",style="solid", color="black", weight=3]; 129[label="Cons (Char (Pos (Succ vx22))) (vx23 vx24 (showChar (Char (Pos (Succ vx25))) vx26))",fontsize=16,color="green",shape="box"];129 -> 130[label="",style="dashed", color="green", weight=3]; 130[label="vx23 vx24 (showChar (Char (Pos (Succ vx25))) vx26)",fontsize=16,color="green",shape="box"];130 -> 131[label="",style="dashed", color="green", weight=3]; 130 -> 132[label="",style="dashed", color="green", weight=3]; 131[label="vx24",fontsize=16,color="green",shape="box"];132[label="showChar (Char (Pos (Succ vx25))) vx26",fontsize=16,color="black",shape="box"];132 -> 133[label="",style="solid", color="black", weight=3]; 133[label="Cons (Char (Pos (Succ vx25))) vx26",fontsize=16,color="green",shape="box"];} ---------------------------------------- (6) YES