8.61/3.76 YES 10.63/4.32 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 10.63/4.32 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 10.63/4.32 10.63/4.32 10.63/4.32 H-Termination with start terms of the given HASKELL could be proven: 10.63/4.32 10.63/4.32 (0) HASKELL 10.63/4.32 (1) BR [EQUIVALENT, 0 ms] 10.63/4.32 (2) HASKELL 10.63/4.32 (3) COR [EQUIVALENT, 0 ms] 10.63/4.32 (4) HASKELL 10.63/4.32 (5) Narrow [SOUND, 0 ms] 10.63/4.32 (6) AND 10.63/4.32 (7) QDP 10.63/4.32 (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] 10.63/4.32 (9) YES 10.63/4.32 (10) QDP 10.63/4.32 (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] 10.63/4.32 (12) YES 10.63/4.32 (13) QDP 10.63/4.32 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 10.63/4.32 (15) YES 10.63/4.32 (16) QDP 10.63/4.32 (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] 10.63/4.32 (18) YES 10.63/4.32 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (0) 10.63/4.32 Obligation: 10.63/4.32 mainModule Main 10.63/4.32 module Main where { 10.63/4.32 import qualified Prelude; 10.63/4.32 data Float = Float MyInt MyInt ; 10.63/4.32 10.63/4.32 data List a = Cons a (List a) | Nil ; 10.63/4.32 10.63/4.32 data MyBool = MyTrue | MyFalse ; 10.63/4.32 10.63/4.32 data MyInt = Pos Main.Nat | Neg Main.Nat ; 10.63/4.32 10.63/4.32 data Main.Nat = Succ Main.Nat | Zero ; 10.63/4.32 10.63/4.32 all :: (a -> MyBool) -> List a -> MyBool; 10.63/4.32 all p = pt and (map p); 10.63/4.32 10.63/4.32 and :: List MyBool -> MyBool; 10.63/4.32 and = foldr asAs MyTrue; 10.63/4.32 10.63/4.32 asAs :: MyBool -> MyBool -> MyBool; 10.63/4.32 asAs MyFalse x = MyFalse; 10.63/4.32 asAs MyTrue x = x; 10.63/4.32 10.63/4.32 esEsFloat :: Float -> Float -> MyBool; 10.63/4.32 esEsFloat = primEqFloat; 10.63/4.32 10.63/4.32 esEsMyInt :: MyInt -> MyInt -> MyBool; 10.63/4.32 esEsMyInt = primEqInt; 10.63/4.32 10.63/4.32 foldr :: (b -> a -> a) -> a -> List b -> a; 10.63/4.32 foldr f z Nil = z; 10.63/4.32 foldr f z (Cons x xs) = f x (foldr f z xs); 10.63/4.32 10.63/4.32 fsEsFloat :: Float -> Float -> MyBool; 10.63/4.32 fsEsFloat x y = not (esEsFloat x y); 10.63/4.32 10.63/4.32 map :: (b -> a) -> List b -> List a; 10.63/4.32 map f Nil = Nil; 10.63/4.32 map f (Cons x xs) = Cons (f x) (map f xs); 10.63/4.32 10.63/4.32 not :: MyBool -> MyBool; 10.63/4.32 not MyTrue = MyFalse; 10.63/4.32 not MyFalse = MyTrue; 10.63/4.32 10.63/4.32 notElemFloat :: Float -> List Float -> MyBool; 10.63/4.32 notElemFloat = pt all fsEsFloat; 10.63/4.32 10.63/4.32 primEqFloat :: Float -> Float -> MyBool; 10.63/4.32 primEqFloat (Float x1 x2) (Float y1 y2) = esEsMyInt (srMyInt x1 y1) (srMyInt x2 y2); 10.63/4.32 10.63/4.32 primEqInt :: MyInt -> MyInt -> MyBool; 10.63/4.32 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 10.63/4.32 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 10.63/4.32 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 10.63/4.32 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 10.63/4.32 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 10.63/4.32 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 10.63/4.32 primEqInt vv vw = MyFalse; 10.63/4.32 10.63/4.32 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 10.63/4.32 primEqNat Main.Zero Main.Zero = MyTrue; 10.63/4.32 primEqNat Main.Zero (Main.Succ y) = MyFalse; 10.63/4.32 primEqNat (Main.Succ x) Main.Zero = MyFalse; 10.63/4.32 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 10.63/4.32 10.63/4.32 primMulInt :: MyInt -> MyInt -> MyInt; 10.63/4.32 primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); 10.63/4.32 primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); 10.63/4.32 primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); 10.63/4.32 primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); 10.63/4.32 10.63/4.32 primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; 10.63/4.32 primMulNat Main.Zero Main.Zero = Main.Zero; 10.63/4.32 primMulNat Main.Zero (Main.Succ y) = Main.Zero; 10.63/4.32 primMulNat (Main.Succ x) Main.Zero = Main.Zero; 10.63/4.32 primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); 10.63/4.32 10.63/4.32 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 10.63/4.32 primPlusNat Main.Zero Main.Zero = Main.Zero; 10.63/4.32 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 10.63/4.32 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 10.63/4.32 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 10.63/4.32 10.63/4.32 pt :: (c -> b) -> (a -> c) -> a -> b; 10.63/4.32 pt f g x = f (g x); 10.63/4.32 10.63/4.32 srMyInt :: MyInt -> MyInt -> MyInt; 10.63/4.32 srMyInt = primMulInt; 10.63/4.32 10.63/4.32 } 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (1) BR (EQUIVALENT) 10.63/4.32 Replaced joker patterns by fresh variables and removed binding patterns. 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (2) 10.63/4.32 Obligation: 10.63/4.32 mainModule Main 10.63/4.32 module Main where { 10.63/4.32 import qualified Prelude; 10.63/4.32 data Float = Float MyInt MyInt ; 10.63/4.32 10.63/4.32 data List a = Cons a (List a) | Nil ; 10.63/4.32 10.63/4.32 data MyBool = MyTrue | MyFalse ; 10.63/4.32 10.63/4.32 data MyInt = Pos Main.Nat | Neg Main.Nat ; 10.63/4.32 10.63/4.32 data Main.Nat = Succ Main.Nat | Zero ; 10.63/4.32 10.63/4.32 all :: (a -> MyBool) -> List a -> MyBool; 10.63/4.32 all p = pt and (map p); 10.63/4.32 10.63/4.32 and :: List MyBool -> MyBool; 10.63/4.32 and = foldr asAs MyTrue; 10.63/4.32 10.63/4.32 asAs :: MyBool -> MyBool -> MyBool; 10.63/4.32 asAs MyFalse x = MyFalse; 10.63/4.32 asAs MyTrue x = x; 10.63/4.32 10.63/4.32 esEsFloat :: Float -> Float -> MyBool; 10.63/4.32 esEsFloat = primEqFloat; 10.63/4.32 10.63/4.32 esEsMyInt :: MyInt -> MyInt -> MyBool; 10.63/4.32 esEsMyInt = primEqInt; 10.63/4.32 10.63/4.32 foldr :: (b -> a -> a) -> a -> List b -> a; 10.63/4.32 foldr f z Nil = z; 10.63/4.32 foldr f z (Cons x xs) = f x (foldr f z xs); 10.63/4.32 10.63/4.32 fsEsFloat :: Float -> Float -> MyBool; 10.63/4.32 fsEsFloat x y = not (esEsFloat x y); 10.63/4.32 10.63/4.32 map :: (b -> a) -> List b -> List a; 10.63/4.32 map f Nil = Nil; 10.63/4.32 map f (Cons x xs) = Cons (f x) (map f xs); 10.63/4.32 10.63/4.32 not :: MyBool -> MyBool; 10.63/4.32 not MyTrue = MyFalse; 10.63/4.32 not MyFalse = MyTrue; 10.63/4.32 10.63/4.32 notElemFloat :: Float -> List Float -> MyBool; 10.63/4.32 notElemFloat = pt all fsEsFloat; 10.63/4.32 10.63/4.32 primEqFloat :: Float -> Float -> MyBool; 10.63/4.32 primEqFloat (Float x1 x2) (Float y1 y2) = esEsMyInt (srMyInt x1 y1) (srMyInt x2 y2); 10.63/4.32 10.63/4.32 primEqInt :: MyInt -> MyInt -> MyBool; 10.63/4.32 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 10.63/4.32 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 10.63/4.32 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 10.63/4.32 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 10.63/4.32 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 10.63/4.32 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 10.63/4.32 primEqInt vv vw = MyFalse; 10.63/4.32 10.63/4.32 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 10.63/4.32 primEqNat Main.Zero Main.Zero = MyTrue; 10.63/4.32 primEqNat Main.Zero (Main.Succ y) = MyFalse; 10.63/4.32 primEqNat (Main.Succ x) Main.Zero = MyFalse; 10.63/4.32 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 10.63/4.32 10.63/4.32 primMulInt :: MyInt -> MyInt -> MyInt; 10.63/4.32 primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); 10.63/4.32 primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); 10.63/4.32 primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); 10.63/4.32 primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); 10.63/4.32 10.63/4.32 primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; 10.63/4.32 primMulNat Main.Zero Main.Zero = Main.Zero; 10.63/4.32 primMulNat Main.Zero (Main.Succ y) = Main.Zero; 10.63/4.32 primMulNat (Main.Succ x) Main.Zero = Main.Zero; 10.63/4.32 primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); 10.63/4.32 10.63/4.32 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 10.63/4.32 primPlusNat Main.Zero Main.Zero = Main.Zero; 10.63/4.32 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 10.63/4.32 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 10.63/4.32 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 10.63/4.32 10.63/4.32 pt :: (c -> b) -> (a -> c) -> a -> b; 10.63/4.32 pt f g x = f (g x); 10.63/4.32 10.63/4.32 srMyInt :: MyInt -> MyInt -> MyInt; 10.63/4.32 srMyInt = primMulInt; 10.63/4.32 10.63/4.32 } 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (3) COR (EQUIVALENT) 10.63/4.32 Cond Reductions: 10.63/4.32 The following Function with conditions 10.63/4.32 "undefined |Falseundefined; 10.63/4.32 " 10.63/4.32 is transformed to 10.63/4.32 "undefined = undefined1; 10.63/4.32 " 10.63/4.32 "undefined0 True = undefined; 10.63/4.32 " 10.63/4.32 "undefined1 = undefined0 False; 10.63/4.32 " 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (4) 10.63/4.32 Obligation: 10.63/4.32 mainModule Main 10.63/4.32 module Main where { 10.63/4.32 import qualified Prelude; 10.63/4.32 data Float = Float MyInt MyInt ; 10.63/4.32 10.63/4.32 data List a = Cons a (List a) | Nil ; 10.63/4.32 10.63/4.32 data MyBool = MyTrue | MyFalse ; 10.63/4.32 10.63/4.32 data MyInt = Pos Main.Nat | Neg Main.Nat ; 10.63/4.32 10.63/4.32 data Main.Nat = Succ Main.Nat | Zero ; 10.63/4.32 10.63/4.32 all :: (a -> MyBool) -> List a -> MyBool; 10.63/4.32 all p = pt and (map p); 10.63/4.32 10.63/4.32 and :: List MyBool -> MyBool; 10.63/4.32 and = foldr asAs MyTrue; 10.63/4.32 10.63/4.32 asAs :: MyBool -> MyBool -> MyBool; 10.63/4.32 asAs MyFalse x = MyFalse; 10.63/4.32 asAs MyTrue x = x; 10.63/4.32 10.63/4.32 esEsFloat :: Float -> Float -> MyBool; 10.63/4.32 esEsFloat = primEqFloat; 10.63/4.32 10.63/4.32 esEsMyInt :: MyInt -> MyInt -> MyBool; 10.63/4.32 esEsMyInt = primEqInt; 10.63/4.32 10.63/4.32 foldr :: (a -> b -> b) -> b -> List a -> b; 10.63/4.32 foldr f z Nil = z; 10.63/4.32 foldr f z (Cons x xs) = f x (foldr f z xs); 10.63/4.32 10.63/4.32 fsEsFloat :: Float -> Float -> MyBool; 10.63/4.32 fsEsFloat x y = not (esEsFloat x y); 10.63/4.32 10.63/4.32 map :: (a -> b) -> List a -> List b; 10.63/4.32 map f Nil = Nil; 10.63/4.32 map f (Cons x xs) = Cons (f x) (map f xs); 10.63/4.32 10.63/4.32 not :: MyBool -> MyBool; 10.63/4.32 not MyTrue = MyFalse; 10.63/4.32 not MyFalse = MyTrue; 10.63/4.32 10.63/4.32 notElemFloat :: Float -> List Float -> MyBool; 10.63/4.32 notElemFloat = pt all fsEsFloat; 10.63/4.32 10.63/4.32 primEqFloat :: Float -> Float -> MyBool; 10.63/4.32 primEqFloat (Float x1 x2) (Float y1 y2) = esEsMyInt (srMyInt x1 y1) (srMyInt x2 y2); 10.63/4.32 10.63/4.32 primEqInt :: MyInt -> MyInt -> MyBool; 10.63/4.32 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 10.63/4.32 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 10.63/4.32 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 10.63/4.32 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 10.63/4.32 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 10.63/4.32 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 10.63/4.32 primEqInt vv vw = MyFalse; 10.63/4.32 10.63/4.32 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 10.63/4.32 primEqNat Main.Zero Main.Zero = MyTrue; 10.63/4.32 primEqNat Main.Zero (Main.Succ y) = MyFalse; 10.63/4.32 primEqNat (Main.Succ x) Main.Zero = MyFalse; 10.63/4.32 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 10.63/4.32 10.63/4.32 primMulInt :: MyInt -> MyInt -> MyInt; 10.63/4.32 primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); 10.63/4.32 primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); 10.63/4.32 primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); 10.63/4.32 primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); 10.63/4.32 10.63/4.32 primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; 10.63/4.32 primMulNat Main.Zero Main.Zero = Main.Zero; 10.63/4.32 primMulNat Main.Zero (Main.Succ y) = Main.Zero; 10.63/4.32 primMulNat (Main.Succ x) Main.Zero = Main.Zero; 10.63/4.32 primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); 10.63/4.32 10.63/4.32 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 10.63/4.32 primPlusNat Main.Zero Main.Zero = Main.Zero; 10.63/4.32 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 10.63/4.32 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 10.63/4.32 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 10.63/4.32 10.63/4.32 pt :: (a -> b) -> (c -> a) -> c -> b; 10.63/4.32 pt f g x = f (g x); 10.63/4.32 10.63/4.32 srMyInt :: MyInt -> MyInt -> MyInt; 10.63/4.32 srMyInt = primMulInt; 10.63/4.32 10.63/4.32 } 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (5) Narrow (SOUND) 10.63/4.32 Haskell To QDPs 10.63/4.32 10.63/4.32 digraph dp_graph { 10.63/4.32 node [outthreshold=100, inthreshold=100];1[label="notElemFloat",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 10.63/4.32 3[label="notElemFloat vz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 10.63/4.32 4[label="notElemFloat vz3 vz4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 10.63/4.32 5[label="pt all fsEsFloat vz3 vz4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 10.63/4.32 6[label="all (fsEsFloat vz3) vz4",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 10.63/4.32 7[label="pt and (map (fsEsFloat vz3)) vz4",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 10.63/4.32 8[label="and (map (fsEsFloat vz3) vz4)",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 10.63/4.32 9[label="foldr asAs MyTrue (map (fsEsFloat vz3) vz4)",fontsize=16,color="burlywood",shape="triangle"];528[label="vz4/Cons vz40 vz41",fontsize=10,color="white",style="solid",shape="box"];9 -> 528[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 528 -> 10[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 529[label="vz4/Nil",fontsize=10,color="white",style="solid",shape="box"];9 -> 529[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 529 -> 11[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 10[label="foldr asAs MyTrue (map (fsEsFloat vz3) (Cons vz40 vz41))",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 10.63/4.32 11[label="foldr asAs MyTrue (map (fsEsFloat vz3) Nil)",fontsize=16,color="black",shape="box"];11 -> 13[label="",style="solid", color="black", weight=3]; 10.63/4.32 12[label="foldr asAs MyTrue (Cons (fsEsFloat vz3 vz40) (map (fsEsFloat vz3) vz41))",fontsize=16,color="black",shape="box"];12 -> 14[label="",style="solid", color="black", weight=3]; 10.63/4.32 13[label="foldr asAs MyTrue Nil",fontsize=16,color="black",shape="box"];13 -> 15[label="",style="solid", color="black", weight=3]; 10.63/4.32 14 -> 16[label="",style="dashed", color="red", weight=0]; 10.63/4.32 14[label="asAs (fsEsFloat vz3 vz40) (foldr asAs MyTrue (map (fsEsFloat vz3) vz41))",fontsize=16,color="magenta"];14 -> 17[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 15[label="MyTrue",fontsize=16,color="green",shape="box"];17 -> 9[label="",style="dashed", color="red", weight=0]; 10.63/4.32 17[label="foldr asAs MyTrue (map (fsEsFloat vz3) vz41)",fontsize=16,color="magenta"];17 -> 18[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 16[label="asAs (fsEsFloat vz3 vz40) vz5",fontsize=16,color="black",shape="triangle"];16 -> 19[label="",style="solid", color="black", weight=3]; 10.63/4.32 18[label="vz41",fontsize=16,color="green",shape="box"];19[label="asAs (not (esEsFloat vz3 vz40)) vz5",fontsize=16,color="black",shape="box"];19 -> 20[label="",style="solid", color="black", weight=3]; 10.63/4.32 20[label="asAs (not (primEqFloat vz3 vz40)) vz5",fontsize=16,color="burlywood",shape="box"];530[label="vz3/Float vz30 vz31",fontsize=10,color="white",style="solid",shape="box"];20 -> 530[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 530 -> 21[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 21[label="asAs (not (primEqFloat (Float vz30 vz31) vz40)) vz5",fontsize=16,color="burlywood",shape="box"];531[label="vz40/Float vz400 vz401",fontsize=10,color="white",style="solid",shape="box"];21 -> 531[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 531 -> 22[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 22[label="asAs (not (primEqFloat (Float vz30 vz31) (Float vz400 vz401))) vz5",fontsize=16,color="black",shape="box"];22 -> 23[label="",style="solid", color="black", weight=3]; 10.63/4.32 23[label="asAs (not (esEsMyInt (srMyInt vz30 vz400) (srMyInt vz31 vz401))) vz5",fontsize=16,color="black",shape="box"];23 -> 24[label="",style="solid", color="black", weight=3]; 10.63/4.32 24[label="asAs (not (primEqInt (srMyInt vz30 vz400) (srMyInt vz31 vz401))) vz5",fontsize=16,color="black",shape="box"];24 -> 25[label="",style="solid", color="black", weight=3]; 10.63/4.32 25[label="asAs (not (primEqInt (primMulInt vz30 vz400) (srMyInt vz31 vz401))) vz5",fontsize=16,color="burlywood",shape="box"];532[label="vz30/Pos vz300",fontsize=10,color="white",style="solid",shape="box"];25 -> 532[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 532 -> 26[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 533[label="vz30/Neg vz300",fontsize=10,color="white",style="solid",shape="box"];25 -> 533[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 533 -> 27[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 26[label="asAs (not (primEqInt (primMulInt (Pos vz300) vz400) (srMyInt vz31 vz401))) vz5",fontsize=16,color="burlywood",shape="box"];534[label="vz400/Pos vz4000",fontsize=10,color="white",style="solid",shape="box"];26 -> 534[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 534 -> 28[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 535[label="vz400/Neg vz4000",fontsize=10,color="white",style="solid",shape="box"];26 -> 535[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 535 -> 29[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 27[label="asAs (not (primEqInt (primMulInt (Neg vz300) vz400) (srMyInt vz31 vz401))) vz5",fontsize=16,color="burlywood",shape="box"];536[label="vz400/Pos vz4000",fontsize=10,color="white",style="solid",shape="box"];27 -> 536[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 536 -> 30[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 537[label="vz400/Neg vz4000",fontsize=10,color="white",style="solid",shape="box"];27 -> 537[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 537 -> 31[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 28[label="asAs (not (primEqInt (primMulInt (Pos vz300) (Pos vz4000)) (srMyInt vz31 vz401))) vz5",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 10.63/4.32 29[label="asAs (not (primEqInt (primMulInt (Pos vz300) (Neg vz4000)) (srMyInt vz31 vz401))) vz5",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 10.63/4.32 30[label="asAs (not (primEqInt (primMulInt (Neg vz300) (Pos vz4000)) (srMyInt vz31 vz401))) vz5",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 10.63/4.32 31[label="asAs (not (primEqInt (primMulInt (Neg vz300) (Neg vz4000)) (srMyInt vz31 vz401))) vz5",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 10.63/4.32 32 -> 289[label="",style="dashed", color="red", weight=0]; 10.63/4.32 32[label="asAs (not (primEqInt (Pos (primMulNat vz300 vz4000)) (srMyInt vz31 vz401))) vz5",fontsize=16,color="magenta"];32 -> 290[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 33 -> 365[label="",style="dashed", color="red", weight=0]; 10.63/4.32 33[label="asAs (not (primEqInt (Neg (primMulNat vz300 vz4000)) (srMyInt vz31 vz401))) vz5",fontsize=16,color="magenta"];33 -> 366[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 34 -> 365[label="",style="dashed", color="red", weight=0]; 10.63/4.32 34[label="asAs (not (primEqInt (Neg (primMulNat vz300 vz4000)) (srMyInt vz31 vz401))) vz5",fontsize=16,color="magenta"];34 -> 367[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 35 -> 289[label="",style="dashed", color="red", weight=0]; 10.63/4.32 35[label="asAs (not (primEqInt (Pos (primMulNat vz300 vz4000)) (srMyInt vz31 vz401))) vz5",fontsize=16,color="magenta"];35 -> 291[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 290[label="primMulNat vz300 vz4000",fontsize=16,color="burlywood",shape="triangle"];538[label="vz300/Succ vz3000",fontsize=10,color="white",style="solid",shape="box"];290 -> 538[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 538 -> 302[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 539[label="vz300/Zero",fontsize=10,color="white",style="solid",shape="box"];290 -> 539[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 539 -> 303[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 289[label="asAs (not (primEqInt (Pos vz11) (srMyInt vz31 vz401))) vz5",fontsize=16,color="burlywood",shape="triangle"];540[label="vz11/Succ vz110",fontsize=10,color="white",style="solid",shape="box"];289 -> 540[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 540 -> 304[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 541[label="vz11/Zero",fontsize=10,color="white",style="solid",shape="box"];289 -> 541[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 541 -> 305[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 366 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 366[label="primMulNat vz300 vz4000",fontsize=16,color="magenta"];366 -> 378[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 365[label="asAs (not (primEqInt (Neg vz16) (srMyInt vz31 vz401))) vz5",fontsize=16,color="burlywood",shape="triangle"];542[label="vz16/Succ vz160",fontsize=10,color="white",style="solid",shape="box"];365 -> 542[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 542 -> 379[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 543[label="vz16/Zero",fontsize=10,color="white",style="solid",shape="box"];365 -> 543[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 543 -> 380[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 367 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 367[label="primMulNat vz300 vz4000",fontsize=16,color="magenta"];367 -> 381[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 291 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 291[label="primMulNat vz300 vz4000",fontsize=16,color="magenta"];291 -> 306[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 291 -> 307[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 302[label="primMulNat (Succ vz3000) vz4000",fontsize=16,color="burlywood",shape="box"];544[label="vz4000/Succ vz40000",fontsize=10,color="white",style="solid",shape="box"];302 -> 544[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 544 -> 322[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 545[label="vz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];302 -> 545[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 545 -> 323[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 303[label="primMulNat Zero vz4000",fontsize=16,color="burlywood",shape="box"];546[label="vz4000/Succ vz40000",fontsize=10,color="white",style="solid",shape="box"];303 -> 546[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 546 -> 324[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 547[label="vz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];303 -> 547[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 547 -> 325[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 304[label="asAs (not (primEqInt (Pos (Succ vz110)) (srMyInt vz31 vz401))) vz5",fontsize=16,color="black",shape="box"];304 -> 326[label="",style="solid", color="black", weight=3]; 10.63/4.32 305[label="asAs (not (primEqInt (Pos Zero) (srMyInt vz31 vz401))) vz5",fontsize=16,color="black",shape="box"];305 -> 327[label="",style="solid", color="black", weight=3]; 10.63/4.32 378[label="vz4000",fontsize=16,color="green",shape="box"];379[label="asAs (not (primEqInt (Neg (Succ vz160)) (srMyInt vz31 vz401))) vz5",fontsize=16,color="black",shape="box"];379 -> 392[label="",style="solid", color="black", weight=3]; 10.63/4.32 380[label="asAs (not (primEqInt (Neg Zero) (srMyInt vz31 vz401))) vz5",fontsize=16,color="black",shape="box"];380 -> 393[label="",style="solid", color="black", weight=3]; 10.63/4.32 381[label="vz300",fontsize=16,color="green",shape="box"];306[label="vz4000",fontsize=16,color="green",shape="box"];307[label="vz300",fontsize=16,color="green",shape="box"];322[label="primMulNat (Succ vz3000) (Succ vz40000)",fontsize=16,color="black",shape="box"];322 -> 338[label="",style="solid", color="black", weight=3]; 10.63/4.32 323[label="primMulNat (Succ vz3000) Zero",fontsize=16,color="black",shape="box"];323 -> 339[label="",style="solid", color="black", weight=3]; 10.63/4.32 324[label="primMulNat Zero (Succ vz40000)",fontsize=16,color="black",shape="box"];324 -> 340[label="",style="solid", color="black", weight=3]; 10.63/4.32 325[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];325 -> 341[label="",style="solid", color="black", weight=3]; 10.63/4.32 326[label="asAs (not (primEqInt (Pos (Succ vz110)) (primMulInt vz31 vz401))) vz5",fontsize=16,color="burlywood",shape="box"];548[label="vz31/Pos vz310",fontsize=10,color="white",style="solid",shape="box"];326 -> 548[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 548 -> 342[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 549[label="vz31/Neg vz310",fontsize=10,color="white",style="solid",shape="box"];326 -> 549[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 549 -> 343[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 327[label="asAs (not (primEqInt (Pos Zero) (primMulInt vz31 vz401))) vz5",fontsize=16,color="burlywood",shape="box"];550[label="vz31/Pos vz310",fontsize=10,color="white",style="solid",shape="box"];327 -> 550[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 550 -> 344[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 551[label="vz31/Neg vz310",fontsize=10,color="white",style="solid",shape="box"];327 -> 551[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 551 -> 345[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 392[label="asAs (not (primEqInt (Neg (Succ vz160)) (primMulInt vz31 vz401))) vz5",fontsize=16,color="burlywood",shape="box"];552[label="vz31/Pos vz310",fontsize=10,color="white",style="solid",shape="box"];392 -> 552[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 552 -> 397[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 553[label="vz31/Neg vz310",fontsize=10,color="white",style="solid",shape="box"];392 -> 553[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 553 -> 398[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 393[label="asAs (not (primEqInt (Neg Zero) (primMulInt vz31 vz401))) vz5",fontsize=16,color="burlywood",shape="box"];554[label="vz31/Pos vz310",fontsize=10,color="white",style="solid",shape="box"];393 -> 554[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 554 -> 399[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 555[label="vz31/Neg vz310",fontsize=10,color="white",style="solid",shape="box"];393 -> 555[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 555 -> 400[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 338 -> 351[label="",style="dashed", color="red", weight=0]; 10.63/4.32 338[label="primPlusNat (primMulNat vz3000 (Succ vz40000)) (Succ vz40000)",fontsize=16,color="magenta"];338 -> 352[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 339[label="Zero",fontsize=16,color="green",shape="box"];340[label="Zero",fontsize=16,color="green",shape="box"];341[label="Zero",fontsize=16,color="green",shape="box"];342[label="asAs (not (primEqInt (Pos (Succ vz110)) (primMulInt (Pos vz310) vz401))) vz5",fontsize=16,color="burlywood",shape="box"];556[label="vz401/Pos vz4010",fontsize=10,color="white",style="solid",shape="box"];342 -> 556[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 556 -> 353[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 557[label="vz401/Neg vz4010",fontsize=10,color="white",style="solid",shape="box"];342 -> 557[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 557 -> 354[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 343[label="asAs (not (primEqInt (Pos (Succ vz110)) (primMulInt (Neg vz310) vz401))) vz5",fontsize=16,color="burlywood",shape="box"];558[label="vz401/Pos vz4010",fontsize=10,color="white",style="solid",shape="box"];343 -> 558[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 558 -> 355[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 559[label="vz401/Neg vz4010",fontsize=10,color="white",style="solid",shape="box"];343 -> 559[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 559 -> 356[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 344[label="asAs (not (primEqInt (Pos Zero) (primMulInt (Pos vz310) vz401))) vz5",fontsize=16,color="burlywood",shape="box"];560[label="vz401/Pos vz4010",fontsize=10,color="white",style="solid",shape="box"];344 -> 560[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 560 -> 357[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 561[label="vz401/Neg vz4010",fontsize=10,color="white",style="solid",shape="box"];344 -> 561[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 561 -> 358[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 345[label="asAs (not (primEqInt (Pos Zero) (primMulInt (Neg vz310) vz401))) vz5",fontsize=16,color="burlywood",shape="box"];562[label="vz401/Pos vz4010",fontsize=10,color="white",style="solid",shape="box"];345 -> 562[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 562 -> 359[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 563[label="vz401/Neg vz4010",fontsize=10,color="white",style="solid",shape="box"];345 -> 563[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 563 -> 360[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 397[label="asAs (not (primEqInt (Neg (Succ vz160)) (primMulInt (Pos vz310) vz401))) vz5",fontsize=16,color="burlywood",shape="box"];564[label="vz401/Pos vz4010",fontsize=10,color="white",style="solid",shape="box"];397 -> 564[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 564 -> 404[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 565[label="vz401/Neg vz4010",fontsize=10,color="white",style="solid",shape="box"];397 -> 565[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 565 -> 405[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 398[label="asAs (not (primEqInt (Neg (Succ vz160)) (primMulInt (Neg vz310) vz401))) vz5",fontsize=16,color="burlywood",shape="box"];566[label="vz401/Pos vz4010",fontsize=10,color="white",style="solid",shape="box"];398 -> 566[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 566 -> 406[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 567[label="vz401/Neg vz4010",fontsize=10,color="white",style="solid",shape="box"];398 -> 567[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 567 -> 407[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 399[label="asAs (not (primEqInt (Neg Zero) (primMulInt (Pos vz310) vz401))) vz5",fontsize=16,color="burlywood",shape="box"];568[label="vz401/Pos vz4010",fontsize=10,color="white",style="solid",shape="box"];399 -> 568[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 568 -> 408[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 569[label="vz401/Neg vz4010",fontsize=10,color="white",style="solid",shape="box"];399 -> 569[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 569 -> 409[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 400[label="asAs (not (primEqInt (Neg Zero) (primMulInt (Neg vz310) vz401))) vz5",fontsize=16,color="burlywood",shape="box"];570[label="vz401/Pos vz4010",fontsize=10,color="white",style="solid",shape="box"];400 -> 570[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 570 -> 410[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 571[label="vz401/Neg vz4010",fontsize=10,color="white",style="solid",shape="box"];400 -> 571[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 571 -> 411[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 352 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 352[label="primMulNat vz3000 (Succ vz40000)",fontsize=16,color="magenta"];352 -> 361[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 352 -> 362[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 351[label="primPlusNat vz15 (Succ vz40000)",fontsize=16,color="burlywood",shape="triangle"];572[label="vz15/Succ vz150",fontsize=10,color="white",style="solid",shape="box"];351 -> 572[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 572 -> 363[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 573[label="vz15/Zero",fontsize=10,color="white",style="solid",shape="box"];351 -> 573[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 573 -> 364[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 353[label="asAs (not (primEqInt (Pos (Succ vz110)) (primMulInt (Pos vz310) (Pos vz4010)))) vz5",fontsize=16,color="black",shape="box"];353 -> 382[label="",style="solid", color="black", weight=3]; 10.63/4.32 354[label="asAs (not (primEqInt (Pos (Succ vz110)) (primMulInt (Pos vz310) (Neg vz4010)))) vz5",fontsize=16,color="black",shape="box"];354 -> 383[label="",style="solid", color="black", weight=3]; 10.63/4.32 355[label="asAs (not (primEqInt (Pos (Succ vz110)) (primMulInt (Neg vz310) (Pos vz4010)))) vz5",fontsize=16,color="black",shape="box"];355 -> 384[label="",style="solid", color="black", weight=3]; 10.63/4.32 356[label="asAs (not (primEqInt (Pos (Succ vz110)) (primMulInt (Neg vz310) (Neg vz4010)))) vz5",fontsize=16,color="black",shape="box"];356 -> 385[label="",style="solid", color="black", weight=3]; 10.63/4.32 357[label="asAs (not (primEqInt (Pos Zero) (primMulInt (Pos vz310) (Pos vz4010)))) vz5",fontsize=16,color="black",shape="box"];357 -> 386[label="",style="solid", color="black", weight=3]; 10.63/4.32 358[label="asAs (not (primEqInt (Pos Zero) (primMulInt (Pos vz310) (Neg vz4010)))) vz5",fontsize=16,color="black",shape="box"];358 -> 387[label="",style="solid", color="black", weight=3]; 10.63/4.32 359[label="asAs (not (primEqInt (Pos Zero) (primMulInt (Neg vz310) (Pos vz4010)))) vz5",fontsize=16,color="black",shape="box"];359 -> 388[label="",style="solid", color="black", weight=3]; 10.63/4.32 360[label="asAs (not (primEqInt (Pos Zero) (primMulInt (Neg vz310) (Neg vz4010)))) vz5",fontsize=16,color="black",shape="box"];360 -> 389[label="",style="solid", color="black", weight=3]; 10.63/4.32 404[label="asAs (not (primEqInt (Neg (Succ vz160)) (primMulInt (Pos vz310) (Pos vz4010)))) vz5",fontsize=16,color="black",shape="box"];404 -> 415[label="",style="solid", color="black", weight=3]; 10.63/4.32 405[label="asAs (not (primEqInt (Neg (Succ vz160)) (primMulInt (Pos vz310) (Neg vz4010)))) vz5",fontsize=16,color="black",shape="box"];405 -> 416[label="",style="solid", color="black", weight=3]; 10.63/4.32 406[label="asAs (not (primEqInt (Neg (Succ vz160)) (primMulInt (Neg vz310) (Pos vz4010)))) vz5",fontsize=16,color="black",shape="box"];406 -> 417[label="",style="solid", color="black", weight=3]; 10.63/4.32 407[label="asAs (not (primEqInt (Neg (Succ vz160)) (primMulInt (Neg vz310) (Neg vz4010)))) vz5",fontsize=16,color="black",shape="box"];407 -> 418[label="",style="solid", color="black", weight=3]; 10.63/4.32 408[label="asAs (not (primEqInt (Neg Zero) (primMulInt (Pos vz310) (Pos vz4010)))) vz5",fontsize=16,color="black",shape="box"];408 -> 419[label="",style="solid", color="black", weight=3]; 10.63/4.32 409[label="asAs (not (primEqInt (Neg Zero) (primMulInt (Pos vz310) (Neg vz4010)))) vz5",fontsize=16,color="black",shape="box"];409 -> 420[label="",style="solid", color="black", weight=3]; 10.63/4.32 410[label="asAs (not (primEqInt (Neg Zero) (primMulInt (Neg vz310) (Pos vz4010)))) vz5",fontsize=16,color="black",shape="box"];410 -> 421[label="",style="solid", color="black", weight=3]; 10.63/4.32 411[label="asAs (not (primEqInt (Neg Zero) (primMulInt (Neg vz310) (Neg vz4010)))) vz5",fontsize=16,color="black",shape="box"];411 -> 422[label="",style="solid", color="black", weight=3]; 10.63/4.32 361[label="Succ vz40000",fontsize=16,color="green",shape="box"];362[label="vz3000",fontsize=16,color="green",shape="box"];363[label="primPlusNat (Succ vz150) (Succ vz40000)",fontsize=16,color="black",shape="box"];363 -> 390[label="",style="solid", color="black", weight=3]; 10.63/4.32 364[label="primPlusNat Zero (Succ vz40000)",fontsize=16,color="black",shape="box"];364 -> 391[label="",style="solid", color="black", weight=3]; 10.63/4.32 382 -> 394[label="",style="dashed", color="red", weight=0]; 10.63/4.32 382[label="asAs (not (primEqInt (Pos (Succ vz110)) (Pos (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];382 -> 395[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 383 -> 401[label="",style="dashed", color="red", weight=0]; 10.63/4.32 383[label="asAs (not (primEqInt (Pos (Succ vz110)) (Neg (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];383 -> 402[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 384 -> 401[label="",style="dashed", color="red", weight=0]; 10.63/4.32 384[label="asAs (not (primEqInt (Pos (Succ vz110)) (Neg (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];384 -> 403[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 385 -> 394[label="",style="dashed", color="red", weight=0]; 10.63/4.32 385[label="asAs (not (primEqInt (Pos (Succ vz110)) (Pos (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];385 -> 396[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 386 -> 412[label="",style="dashed", color="red", weight=0]; 10.63/4.32 386[label="asAs (not (primEqInt (Pos Zero) (Pos (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];386 -> 413[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 387 -> 423[label="",style="dashed", color="red", weight=0]; 10.63/4.32 387[label="asAs (not (primEqInt (Pos Zero) (Neg (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];387 -> 424[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 388 -> 423[label="",style="dashed", color="red", weight=0]; 10.63/4.32 388[label="asAs (not (primEqInt (Pos Zero) (Neg (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];388 -> 425[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 389 -> 412[label="",style="dashed", color="red", weight=0]; 10.63/4.32 389[label="asAs (not (primEqInt (Pos Zero) (Pos (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];389 -> 414[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 415 -> 426[label="",style="dashed", color="red", weight=0]; 10.63/4.32 415[label="asAs (not (primEqInt (Neg (Succ vz160)) (Pos (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];415 -> 427[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 416 -> 429[label="",style="dashed", color="red", weight=0]; 10.63/4.32 416[label="asAs (not (primEqInt (Neg (Succ vz160)) (Neg (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];416 -> 430[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 417 -> 429[label="",style="dashed", color="red", weight=0]; 10.63/4.32 417[label="asAs (not (primEqInt (Neg (Succ vz160)) (Neg (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];417 -> 431[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 418 -> 426[label="",style="dashed", color="red", weight=0]; 10.63/4.32 418[label="asAs (not (primEqInt (Neg (Succ vz160)) (Pos (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];418 -> 428[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 419 -> 432[label="",style="dashed", color="red", weight=0]; 10.63/4.32 419[label="asAs (not (primEqInt (Neg Zero) (Pos (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];419 -> 433[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 420 -> 435[label="",style="dashed", color="red", weight=0]; 10.63/4.32 420[label="asAs (not (primEqInt (Neg Zero) (Neg (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];420 -> 436[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 421 -> 435[label="",style="dashed", color="red", weight=0]; 10.63/4.32 421[label="asAs (not (primEqInt (Neg Zero) (Neg (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];421 -> 437[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 422 -> 432[label="",style="dashed", color="red", weight=0]; 10.63/4.32 422[label="asAs (not (primEqInt (Neg Zero) (Pos (primMulNat vz310 vz4010)))) vz5",fontsize=16,color="magenta"];422 -> 434[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 390[label="Succ (Succ (primPlusNat vz150 vz40000))",fontsize=16,color="green",shape="box"];390 -> 438[label="",style="dashed", color="green", weight=3]; 10.63/4.32 391[label="Succ vz40000",fontsize=16,color="green",shape="box"];395 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 395[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];395 -> 439[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 395 -> 440[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 394[label="asAs (not (primEqInt (Pos (Succ vz110)) (Pos vz17))) vz5",fontsize=16,color="burlywood",shape="triangle"];574[label="vz17/Succ vz170",fontsize=10,color="white",style="solid",shape="box"];394 -> 574[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 574 -> 441[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 575[label="vz17/Zero",fontsize=10,color="white",style="solid",shape="box"];394 -> 575[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 575 -> 442[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 402 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 402[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];402 -> 443[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 402 -> 444[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 401[label="asAs (not (primEqInt (Pos (Succ vz110)) (Neg vz18))) vz5",fontsize=16,color="black",shape="triangle"];401 -> 445[label="",style="solid", color="black", weight=3]; 10.63/4.32 403 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 403[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];403 -> 446[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 403 -> 447[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 396 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 396[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];396 -> 448[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 396 -> 449[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 413 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 413[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];413 -> 450[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 413 -> 451[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 412[label="asAs (not (primEqInt (Pos Zero) (Pos vz19))) vz5",fontsize=16,color="burlywood",shape="triangle"];576[label="vz19/Succ vz190",fontsize=10,color="white",style="solid",shape="box"];412 -> 576[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 576 -> 452[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 577[label="vz19/Zero",fontsize=10,color="white",style="solid",shape="box"];412 -> 577[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 577 -> 453[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 424 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 424[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];424 -> 454[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 424 -> 455[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 423[label="asAs (not (primEqInt (Pos Zero) (Neg vz20))) vz5",fontsize=16,color="burlywood",shape="triangle"];578[label="vz20/Succ vz200",fontsize=10,color="white",style="solid",shape="box"];423 -> 578[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 578 -> 456[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 579[label="vz20/Zero",fontsize=10,color="white",style="solid",shape="box"];423 -> 579[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 579 -> 457[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 425 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 425[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];425 -> 458[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 425 -> 459[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 414 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 414[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];414 -> 460[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 414 -> 461[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 427 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 427[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];427 -> 462[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 427 -> 463[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 426[label="asAs (not (primEqInt (Neg (Succ vz160)) (Pos vz21))) vz5",fontsize=16,color="black",shape="triangle"];426 -> 464[label="",style="solid", color="black", weight=3]; 10.63/4.32 430 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 430[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];430 -> 465[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 430 -> 466[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 429[label="asAs (not (primEqInt (Neg (Succ vz160)) (Neg vz22))) vz5",fontsize=16,color="burlywood",shape="triangle"];580[label="vz22/Succ vz220",fontsize=10,color="white",style="solid",shape="box"];429 -> 580[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 580 -> 467[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 581[label="vz22/Zero",fontsize=10,color="white",style="solid",shape="box"];429 -> 581[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 581 -> 468[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 431 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 431[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];431 -> 469[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 431 -> 470[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 428 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 428[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];428 -> 471[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 428 -> 472[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 433 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 433[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];433 -> 473[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 433 -> 474[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 432[label="asAs (not (primEqInt (Neg Zero) (Pos vz23))) vz5",fontsize=16,color="burlywood",shape="triangle"];582[label="vz23/Succ vz230",fontsize=10,color="white",style="solid",shape="box"];432 -> 582[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 582 -> 475[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 583[label="vz23/Zero",fontsize=10,color="white",style="solid",shape="box"];432 -> 583[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 583 -> 476[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 436 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 436[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];436 -> 477[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 436 -> 478[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 435[label="asAs (not (primEqInt (Neg Zero) (Neg vz24))) vz5",fontsize=16,color="burlywood",shape="triangle"];584[label="vz24/Succ vz240",fontsize=10,color="white",style="solid",shape="box"];435 -> 584[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 584 -> 479[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 585[label="vz24/Zero",fontsize=10,color="white",style="solid",shape="box"];435 -> 585[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 585 -> 480[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 437 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 437[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];437 -> 481[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 437 -> 482[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 434 -> 290[label="",style="dashed", color="red", weight=0]; 10.63/4.32 434[label="primMulNat vz310 vz4010",fontsize=16,color="magenta"];434 -> 483[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 434 -> 484[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 438[label="primPlusNat vz150 vz40000",fontsize=16,color="burlywood",shape="triangle"];586[label="vz150/Succ vz1500",fontsize=10,color="white",style="solid",shape="box"];438 -> 586[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 586 -> 485[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 587[label="vz150/Zero",fontsize=10,color="white",style="solid",shape="box"];438 -> 587[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 587 -> 486[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 439[label="vz4010",fontsize=16,color="green",shape="box"];440[label="vz310",fontsize=16,color="green",shape="box"];441[label="asAs (not (primEqInt (Pos (Succ vz110)) (Pos (Succ vz170)))) vz5",fontsize=16,color="black",shape="box"];441 -> 487[label="",style="solid", color="black", weight=3]; 10.63/4.32 442[label="asAs (not (primEqInt (Pos (Succ vz110)) (Pos Zero))) vz5",fontsize=16,color="black",shape="box"];442 -> 488[label="",style="solid", color="black", weight=3]; 10.63/4.32 443[label="vz4010",fontsize=16,color="green",shape="box"];444[label="vz310",fontsize=16,color="green",shape="box"];445[label="asAs (not MyFalse) vz5",fontsize=16,color="black",shape="triangle"];445 -> 489[label="",style="solid", color="black", weight=3]; 10.63/4.32 446[label="vz4010",fontsize=16,color="green",shape="box"];447[label="vz310",fontsize=16,color="green",shape="box"];448[label="vz4010",fontsize=16,color="green",shape="box"];449[label="vz310",fontsize=16,color="green",shape="box"];450[label="vz4010",fontsize=16,color="green",shape="box"];451[label="vz310",fontsize=16,color="green",shape="box"];452[label="asAs (not (primEqInt (Pos Zero) (Pos (Succ vz190)))) vz5",fontsize=16,color="black",shape="box"];452 -> 490[label="",style="solid", color="black", weight=3]; 10.63/4.32 453[label="asAs (not (primEqInt (Pos Zero) (Pos Zero))) vz5",fontsize=16,color="black",shape="box"];453 -> 491[label="",style="solid", color="black", weight=3]; 10.63/4.32 454[label="vz4010",fontsize=16,color="green",shape="box"];455[label="vz310",fontsize=16,color="green",shape="box"];456[label="asAs (not (primEqInt (Pos Zero) (Neg (Succ vz200)))) vz5",fontsize=16,color="black",shape="box"];456 -> 492[label="",style="solid", color="black", weight=3]; 10.63/4.32 457[label="asAs (not (primEqInt (Pos Zero) (Neg Zero))) vz5",fontsize=16,color="black",shape="box"];457 -> 493[label="",style="solid", color="black", weight=3]; 10.63/4.32 458[label="vz4010",fontsize=16,color="green",shape="box"];459[label="vz310",fontsize=16,color="green",shape="box"];460[label="vz4010",fontsize=16,color="green",shape="box"];461[label="vz310",fontsize=16,color="green",shape="box"];462[label="vz4010",fontsize=16,color="green",shape="box"];463[label="vz310",fontsize=16,color="green",shape="box"];464 -> 445[label="",style="dashed", color="red", weight=0]; 10.63/4.32 464[label="asAs (not MyFalse) vz5",fontsize=16,color="magenta"];465[label="vz4010",fontsize=16,color="green",shape="box"];466[label="vz310",fontsize=16,color="green",shape="box"];467[label="asAs (not (primEqInt (Neg (Succ vz160)) (Neg (Succ vz220)))) vz5",fontsize=16,color="black",shape="box"];467 -> 494[label="",style="solid", color="black", weight=3]; 10.63/4.32 468[label="asAs (not (primEqInt (Neg (Succ vz160)) (Neg Zero))) vz5",fontsize=16,color="black",shape="box"];468 -> 495[label="",style="solid", color="black", weight=3]; 10.63/4.32 469[label="vz4010",fontsize=16,color="green",shape="box"];470[label="vz310",fontsize=16,color="green",shape="box"];471[label="vz4010",fontsize=16,color="green",shape="box"];472[label="vz310",fontsize=16,color="green",shape="box"];473[label="vz4010",fontsize=16,color="green",shape="box"];474[label="vz310",fontsize=16,color="green",shape="box"];475[label="asAs (not (primEqInt (Neg Zero) (Pos (Succ vz230)))) vz5",fontsize=16,color="black",shape="box"];475 -> 496[label="",style="solid", color="black", weight=3]; 10.63/4.32 476[label="asAs (not (primEqInt (Neg Zero) (Pos Zero))) vz5",fontsize=16,color="black",shape="box"];476 -> 497[label="",style="solid", color="black", weight=3]; 10.63/4.32 477[label="vz4010",fontsize=16,color="green",shape="box"];478[label="vz310",fontsize=16,color="green",shape="box"];479[label="asAs (not (primEqInt (Neg Zero) (Neg (Succ vz240)))) vz5",fontsize=16,color="black",shape="box"];479 -> 498[label="",style="solid", color="black", weight=3]; 10.63/4.32 480[label="asAs (not (primEqInt (Neg Zero) (Neg Zero))) vz5",fontsize=16,color="black",shape="box"];480 -> 499[label="",style="solid", color="black", weight=3]; 10.63/4.32 481[label="vz4010",fontsize=16,color="green",shape="box"];482[label="vz310",fontsize=16,color="green",shape="box"];483[label="vz4010",fontsize=16,color="green",shape="box"];484[label="vz310",fontsize=16,color="green",shape="box"];485[label="primPlusNat (Succ vz1500) vz40000",fontsize=16,color="burlywood",shape="box"];588[label="vz40000/Succ vz400000",fontsize=10,color="white",style="solid",shape="box"];485 -> 588[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 588 -> 500[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 589[label="vz40000/Zero",fontsize=10,color="white",style="solid",shape="box"];485 -> 589[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 589 -> 501[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 486[label="primPlusNat Zero vz40000",fontsize=16,color="burlywood",shape="box"];590[label="vz40000/Succ vz400000",fontsize=10,color="white",style="solid",shape="box"];486 -> 590[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 590 -> 502[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 591[label="vz40000/Zero",fontsize=10,color="white",style="solid",shape="box"];486 -> 591[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 591 -> 503[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 487[label="asAs (not (primEqNat vz110 vz170)) vz5",fontsize=16,color="burlywood",shape="triangle"];592[label="vz110/Succ vz1100",fontsize=10,color="white",style="solid",shape="box"];487 -> 592[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 592 -> 504[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 593[label="vz110/Zero",fontsize=10,color="white",style="solid",shape="box"];487 -> 593[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 593 -> 505[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 488 -> 445[label="",style="dashed", color="red", weight=0]; 10.63/4.32 488[label="asAs (not MyFalse) vz5",fontsize=16,color="magenta"];489[label="asAs MyTrue vz5",fontsize=16,color="black",shape="box"];489 -> 506[label="",style="solid", color="black", weight=3]; 10.63/4.32 490 -> 445[label="",style="dashed", color="red", weight=0]; 10.63/4.32 490[label="asAs (not MyFalse) vz5",fontsize=16,color="magenta"];491[label="asAs (not MyTrue) vz5",fontsize=16,color="black",shape="triangle"];491 -> 507[label="",style="solid", color="black", weight=3]; 10.63/4.32 492 -> 445[label="",style="dashed", color="red", weight=0]; 10.63/4.32 492[label="asAs (not MyFalse) vz5",fontsize=16,color="magenta"];493 -> 491[label="",style="dashed", color="red", weight=0]; 10.63/4.32 493[label="asAs (not MyTrue) vz5",fontsize=16,color="magenta"];494 -> 487[label="",style="dashed", color="red", weight=0]; 10.63/4.32 494[label="asAs (not (primEqNat vz160 vz220)) vz5",fontsize=16,color="magenta"];494 -> 508[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 494 -> 509[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 495 -> 445[label="",style="dashed", color="red", weight=0]; 10.63/4.32 495[label="asAs (not MyFalse) vz5",fontsize=16,color="magenta"];496 -> 445[label="",style="dashed", color="red", weight=0]; 10.63/4.32 496[label="asAs (not MyFalse) vz5",fontsize=16,color="magenta"];497 -> 491[label="",style="dashed", color="red", weight=0]; 10.63/4.32 497[label="asAs (not MyTrue) vz5",fontsize=16,color="magenta"];498 -> 445[label="",style="dashed", color="red", weight=0]; 10.63/4.32 498[label="asAs (not MyFalse) vz5",fontsize=16,color="magenta"];499 -> 491[label="",style="dashed", color="red", weight=0]; 10.63/4.32 499[label="asAs (not MyTrue) vz5",fontsize=16,color="magenta"];500[label="primPlusNat (Succ vz1500) (Succ vz400000)",fontsize=16,color="black",shape="box"];500 -> 510[label="",style="solid", color="black", weight=3]; 10.63/4.32 501[label="primPlusNat (Succ vz1500) Zero",fontsize=16,color="black",shape="box"];501 -> 511[label="",style="solid", color="black", weight=3]; 10.63/4.32 502[label="primPlusNat Zero (Succ vz400000)",fontsize=16,color="black",shape="box"];502 -> 512[label="",style="solid", color="black", weight=3]; 10.63/4.32 503[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];503 -> 513[label="",style="solid", color="black", weight=3]; 10.63/4.32 504[label="asAs (not (primEqNat (Succ vz1100) vz170)) vz5",fontsize=16,color="burlywood",shape="box"];594[label="vz170/Succ vz1700",fontsize=10,color="white",style="solid",shape="box"];504 -> 594[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 594 -> 514[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 595[label="vz170/Zero",fontsize=10,color="white",style="solid",shape="box"];504 -> 595[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 595 -> 515[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 505[label="asAs (not (primEqNat Zero vz170)) vz5",fontsize=16,color="burlywood",shape="box"];596[label="vz170/Succ vz1700",fontsize=10,color="white",style="solid",shape="box"];505 -> 596[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 596 -> 516[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 597[label="vz170/Zero",fontsize=10,color="white",style="solid",shape="box"];505 -> 597[label="",style="solid", color="burlywood", weight=9]; 10.63/4.32 597 -> 517[label="",style="solid", color="burlywood", weight=3]; 10.63/4.32 506[label="vz5",fontsize=16,color="green",shape="box"];507[label="asAs MyFalse vz5",fontsize=16,color="black",shape="box"];507 -> 518[label="",style="solid", color="black", weight=3]; 10.63/4.32 508[label="vz160",fontsize=16,color="green",shape="box"];509[label="vz220",fontsize=16,color="green",shape="box"];510[label="Succ (Succ (primPlusNat vz1500 vz400000))",fontsize=16,color="green",shape="box"];510 -> 519[label="",style="dashed", color="green", weight=3]; 10.63/4.32 511[label="Succ vz1500",fontsize=16,color="green",shape="box"];512[label="Succ vz400000",fontsize=16,color="green",shape="box"];513[label="Zero",fontsize=16,color="green",shape="box"];514[label="asAs (not (primEqNat (Succ vz1100) (Succ vz1700))) vz5",fontsize=16,color="black",shape="box"];514 -> 520[label="",style="solid", color="black", weight=3]; 10.63/4.32 515[label="asAs (not (primEqNat (Succ vz1100) Zero)) vz5",fontsize=16,color="black",shape="box"];515 -> 521[label="",style="solid", color="black", weight=3]; 10.63/4.32 516[label="asAs (not (primEqNat Zero (Succ vz1700))) vz5",fontsize=16,color="black",shape="box"];516 -> 522[label="",style="solid", color="black", weight=3]; 10.63/4.32 517[label="asAs (not (primEqNat Zero Zero)) vz5",fontsize=16,color="black",shape="box"];517 -> 523[label="",style="solid", color="black", weight=3]; 10.63/4.32 518[label="MyFalse",fontsize=16,color="green",shape="box"];519 -> 438[label="",style="dashed", color="red", weight=0]; 10.63/4.32 519[label="primPlusNat vz1500 vz400000",fontsize=16,color="magenta"];519 -> 524[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 519 -> 525[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 520 -> 487[label="",style="dashed", color="red", weight=0]; 10.63/4.32 520[label="asAs (not (primEqNat vz1100 vz1700)) vz5",fontsize=16,color="magenta"];520 -> 526[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 520 -> 527[label="",style="dashed", color="magenta", weight=3]; 10.63/4.32 521 -> 445[label="",style="dashed", color="red", weight=0]; 10.63/4.32 521[label="asAs (not MyFalse) vz5",fontsize=16,color="magenta"];522 -> 445[label="",style="dashed", color="red", weight=0]; 10.63/4.32 522[label="asAs (not MyFalse) vz5",fontsize=16,color="magenta"];523 -> 491[label="",style="dashed", color="red", weight=0]; 10.63/4.32 523[label="asAs (not MyTrue) vz5",fontsize=16,color="magenta"];524[label="vz1500",fontsize=16,color="green",shape="box"];525[label="vz400000",fontsize=16,color="green",shape="box"];526[label="vz1100",fontsize=16,color="green",shape="box"];527[label="vz1700",fontsize=16,color="green",shape="box"];} 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (6) 10.63/4.32 Complex Obligation (AND) 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (7) 10.63/4.32 Obligation: 10.63/4.32 Q DP problem: 10.63/4.32 The TRS P consists of the following rules: 10.63/4.32 10.63/4.32 new_foldr(vz3, Cons(vz40, vz41)) -> new_foldr(vz3, vz41) 10.63/4.32 10.63/4.32 R is empty. 10.63/4.32 Q is empty. 10.63/4.32 We have to consider all minimal (P,Q,R)-chains. 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (8) QDPSizeChangeProof (EQUIVALENT) 10.63/4.32 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. 10.63/4.32 10.63/4.32 From the DPs we obtained the following set of size-change graphs: 10.63/4.32 *new_foldr(vz3, Cons(vz40, vz41)) -> new_foldr(vz3, vz41) 10.63/4.32 The graph contains the following edges 1 >= 1, 2 > 2 10.63/4.32 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (9) 10.63/4.32 YES 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (10) 10.63/4.32 Obligation: 10.63/4.32 Q DP problem: 10.63/4.32 The TRS P consists of the following rules: 10.63/4.32 10.63/4.32 new_primMulNat(Main.Succ(vz3000), Main.Succ(vz40000)) -> new_primMulNat(vz3000, Main.Succ(vz40000)) 10.63/4.32 10.63/4.32 R is empty. 10.63/4.32 Q is empty. 10.63/4.32 We have to consider all minimal (P,Q,R)-chains. 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (11) QDPSizeChangeProof (EQUIVALENT) 10.63/4.32 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. 10.63/4.32 10.63/4.32 From the DPs we obtained the following set of size-change graphs: 10.63/4.32 *new_primMulNat(Main.Succ(vz3000), Main.Succ(vz40000)) -> new_primMulNat(vz3000, Main.Succ(vz40000)) 10.63/4.32 The graph contains the following edges 1 > 1, 2 >= 2 10.63/4.32 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (12) 10.63/4.32 YES 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (13) 10.63/4.32 Obligation: 10.63/4.32 Q DP problem: 10.63/4.32 The TRS P consists of the following rules: 10.63/4.32 10.63/4.32 new_primPlusNat(Main.Succ(vz1500), Main.Succ(vz400000)) -> new_primPlusNat(vz1500, vz400000) 10.63/4.32 10.63/4.32 R is empty. 10.63/4.32 Q is empty. 10.63/4.32 We have to consider all minimal (P,Q,R)-chains. 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (14) QDPSizeChangeProof (EQUIVALENT) 10.63/4.32 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. 10.63/4.32 10.63/4.32 From the DPs we obtained the following set of size-change graphs: 10.63/4.32 *new_primPlusNat(Main.Succ(vz1500), Main.Succ(vz400000)) -> new_primPlusNat(vz1500, vz400000) 10.63/4.32 The graph contains the following edges 1 > 1, 2 > 2 10.63/4.32 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (15) 10.63/4.32 YES 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (16) 10.63/4.32 Obligation: 10.63/4.32 Q DP problem: 10.63/4.32 The TRS P consists of the following rules: 10.63/4.32 10.63/4.32 new_asAs(Main.Succ(vz1100), Main.Succ(vz1700), vz5) -> new_asAs(vz1100, vz1700, vz5) 10.63/4.32 10.63/4.32 R is empty. 10.63/4.32 Q is empty. 10.63/4.32 We have to consider all minimal (P,Q,R)-chains. 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (17) QDPSizeChangeProof (EQUIVALENT) 10.63/4.32 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. 10.63/4.32 10.63/4.32 From the DPs we obtained the following set of size-change graphs: 10.63/4.32 *new_asAs(Main.Succ(vz1100), Main.Succ(vz1700), vz5) -> new_asAs(vz1100, vz1700, vz5) 10.63/4.32 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 10.63/4.32 10.63/4.32 10.63/4.32 ---------------------------------------- 10.63/4.32 10.63/4.32 (18) 10.63/4.32 YES 10.67/4.35 EOF