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