/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty H-Termination with start terms of the given HASKELL could not be shown: (0) HASKELL (1) BR [EQUIVALENT, 0 ms] (2) HASKELL (3) COR [EQUIVALENT, 0 ms] (4) HASKELL (5) Narrow [SOUND, 0 ms] (6) AND (7) QDP (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] (9) YES (10) QDP (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] (12) YES (13) QDP (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] (15) YES (16) QDP (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] (18) YES (19) QDP (20) MNOCProof [EQUIVALENT, 0 ms] (21) QDP (22) NonTerminationLoopProof [COMPLETE, 0 ms] (23) NO (24) Narrow [COMPLETE, 0 ms] (25) TRUE ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; data Float = Float MyInt MyInt ; data List a = Cons a (List a) | Nil ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; enumFromThenFloat :: Float -> Float -> List Float; enumFromThenFloat = numericEnumFromThen; iterate :: (a -> a) -> a -> List a; iterate f x = Cons x (iterate f (f x)); msFloat :: Float -> Float -> Float; msFloat = primMinusFloat; msMyInt :: MyInt -> MyInt -> MyInt; msMyInt = primMinusInt; numericEnumFromThen n m = iterate (psFloat (msFloat m n)) n; primMinusFloat :: Float -> Float -> Float; primMinusFloat (Float x1 x2) (Float y1 y2) = Float (msMyInt x1 y1) (srMyInt x2 y2); primMinusInt :: MyInt -> MyInt -> MyInt; primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 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); primPlusFloat :: Float -> Float -> Float; primPlusFloat (Float x1 x2) (Float y1 y2) = Float (psMyInt x1 y1) (srMyInt x2 y2); primPlusInt :: MyInt -> MyInt -> MyInt; primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); psFloat :: Float -> Float -> Float; psFloat = primPlusFloat; psMyInt :: MyInt -> MyInt -> MyInt; psMyInt = primPlusInt; 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 MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; enumFromThenFloat :: Float -> Float -> List Float; enumFromThenFloat = numericEnumFromThen; iterate :: (a -> a) -> a -> List a; iterate f x = Cons x (iterate f (f x)); msFloat :: Float -> Float -> Float; msFloat = primMinusFloat; msMyInt :: MyInt -> MyInt -> MyInt; msMyInt = primMinusInt; numericEnumFromThen n m = iterate (psFloat (msFloat m n)) n; primMinusFloat :: Float -> Float -> Float; primMinusFloat (Float x1 x2) (Float y1 y2) = Float (msMyInt x1 y1) (srMyInt x2 y2); primMinusInt :: MyInt -> MyInt -> MyInt; primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 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); primPlusFloat :: Float -> Float -> Float; primPlusFloat (Float x1 x2) (Float y1 y2) = Float (psMyInt x1 y1) (srMyInt x2 y2); primPlusInt :: MyInt -> MyInt -> MyInt; primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); psFloat :: Float -> Float -> Float; psFloat = primPlusFloat; psMyInt :: MyInt -> MyInt -> MyInt; psMyInt = primPlusInt; 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 MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; enumFromThenFloat :: Float -> Float -> List Float; enumFromThenFloat = numericEnumFromThen; iterate :: (a -> a) -> a -> List a; iterate f x = Cons x (iterate f (f x)); msFloat :: Float -> Float -> Float; msFloat = primMinusFloat; msMyInt :: MyInt -> MyInt -> MyInt; msMyInt = primMinusInt; numericEnumFromThen n m = iterate (psFloat (msFloat m n)) n; primMinusFloat :: Float -> Float -> Float; primMinusFloat (Float x1 x2) (Float y1 y2) = Float (msMyInt x1 y1) (srMyInt x2 y2); primMinusInt :: MyInt -> MyInt -> MyInt; primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 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); primPlusFloat :: Float -> Float -> Float; primPlusFloat (Float x1 x2) (Float y1 y2) = Float (psMyInt x1 y1) (srMyInt x2 y2); primPlusInt :: MyInt -> MyInt -> MyInt; primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); psFloat :: Float -> Float -> Float; psFloat = primPlusFloat; psMyInt :: MyInt -> MyInt -> MyInt; psMyInt = primPlusInt; srMyInt :: MyInt -> MyInt -> MyInt; srMyInt = primMulInt; } ---------------------------------------- (5) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="enumFromThenFloat",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="enumFromThenFloat vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="enumFromThenFloat vx3 vx4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="numericEnumFromThen vx3 vx4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="iterate (psFloat (msFloat vx4 vx3)) vx3",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="Cons vx3 (iterate (psFloat (msFloat vx4 vx3)) (psFloat (msFloat vx4 vx3) vx3))",fontsize=16,color="green",shape="box"];7 -> 8[label="",style="dashed", color="green", weight=3]; 8 -> 13[label="",style="dashed", color="red", weight=0]; 8[label="iterate (psFloat (msFloat vx4 vx3)) (psFloat (msFloat vx4 vx3) vx3)",fontsize=16,color="magenta"];8 -> 14[label="",style="dashed", color="magenta", weight=3]; 14[label="vx3",fontsize=16,color="green",shape="box"];13[label="iterate (psFloat (msFloat vx4 vx3)) (psFloat (msFloat vx4 vx3) vx5)",fontsize=16,color="black",shape="triangle"];13 -> 16[label="",style="solid", color="black", weight=3]; 16[label="Cons (psFloat (msFloat vx4 vx3) vx5) (iterate (psFloat (msFloat vx4 vx3)) (psFloat (msFloat vx4 vx3) (psFloat (msFloat vx4 vx3) vx5)))",fontsize=16,color="green",shape="box"];16 -> 17[label="",style="dashed", color="green", weight=3]; 16 -> 18[label="",style="dashed", color="green", weight=3]; 17[label="psFloat (msFloat vx4 vx3) vx5",fontsize=16,color="black",shape="triangle"];17 -> 19[label="",style="solid", color="black", weight=3]; 18 -> 13[label="",style="dashed", color="red", weight=0]; 18[label="iterate (psFloat (msFloat vx4 vx3)) (psFloat (msFloat vx4 vx3) (psFloat (msFloat vx4 vx3) vx5))",fontsize=16,color="magenta"];18 -> 20[label="",style="dashed", color="magenta", weight=3]; 19[label="primPlusFloat (msFloat vx4 vx3) vx5",fontsize=16,color="black",shape="box"];19 -> 21[label="",style="solid", color="black", weight=3]; 20 -> 17[label="",style="dashed", color="red", weight=0]; 20[label="psFloat (msFloat vx4 vx3) vx5",fontsize=16,color="magenta"];21[label="primPlusFloat (primMinusFloat vx4 vx3) vx5",fontsize=16,color="burlywood",shape="box"];286[label="vx4/Float vx40 vx41",fontsize=10,color="white",style="solid",shape="box"];21 -> 286[label="",style="solid", color="burlywood", weight=9]; 286 -> 22[label="",style="solid", color="burlywood", weight=3]; 22[label="primPlusFloat (primMinusFloat (Float vx40 vx41) vx3) vx5",fontsize=16,color="burlywood",shape="box"];287[label="vx3/Float vx30 vx31",fontsize=10,color="white",style="solid",shape="box"];22 -> 287[label="",style="solid", color="burlywood", weight=9]; 287 -> 23[label="",style="solid", color="burlywood", weight=3]; 23[label="primPlusFloat (primMinusFloat (Float vx40 vx41) (Float vx30 vx31)) vx5",fontsize=16,color="black",shape="box"];23 -> 24[label="",style="solid", color="black", weight=3]; 24[label="primPlusFloat (Float (msMyInt vx40 vx30) (srMyInt vx41 vx31)) vx5",fontsize=16,color="burlywood",shape="box"];288[label="vx5/Float vx50 vx51",fontsize=10,color="white",style="solid",shape="box"];24 -> 288[label="",style="solid", color="burlywood", weight=9]; 288 -> 25[label="",style="solid", color="burlywood", weight=3]; 25[label="primPlusFloat (Float (msMyInt vx40 vx30) (srMyInt vx41 vx31)) (Float vx50 vx51)",fontsize=16,color="black",shape="box"];25 -> 26[label="",style="solid", color="black", weight=3]; 26[label="Float (psMyInt (msMyInt vx40 vx30) vx50) (srMyInt (srMyInt vx41 vx31) vx51)",fontsize=16,color="green",shape="box"];26 -> 27[label="",style="dashed", color="green", weight=3]; 26 -> 28[label="",style="dashed", color="green", weight=3]; 27[label="psMyInt (msMyInt vx40 vx30) vx50",fontsize=16,color="black",shape="box"];27 -> 29[label="",style="solid", color="black", weight=3]; 28[label="srMyInt (srMyInt vx41 vx31) vx51",fontsize=16,color="black",shape="box"];28 -> 30[label="",style="solid", color="black", weight=3]; 29[label="primPlusInt (msMyInt vx40 vx30) vx50",fontsize=16,color="black",shape="box"];29 -> 31[label="",style="solid", color="black", weight=3]; 30[label="primMulInt (srMyInt vx41 vx31) vx51",fontsize=16,color="black",shape="box"];30 -> 32[label="",style="solid", color="black", weight=3]; 31[label="primPlusInt (primMinusInt vx40 vx30) vx50",fontsize=16,color="burlywood",shape="box"];289[label="vx40/Pos vx400",fontsize=10,color="white",style="solid",shape="box"];31 -> 289[label="",style="solid", color="burlywood", weight=9]; 289 -> 33[label="",style="solid", color="burlywood", weight=3]; 290[label="vx40/Neg vx400",fontsize=10,color="white",style="solid",shape="box"];31 -> 290[label="",style="solid", color="burlywood", weight=9]; 290 -> 34[label="",style="solid", color="burlywood", weight=3]; 32[label="primMulInt (primMulInt vx41 vx31) vx51",fontsize=16,color="burlywood",shape="box"];291[label="vx41/Pos vx410",fontsize=10,color="white",style="solid",shape="box"];32 -> 291[label="",style="solid", color="burlywood", weight=9]; 291 -> 35[label="",style="solid", color="burlywood", weight=3]; 292[label="vx41/Neg vx410",fontsize=10,color="white",style="solid",shape="box"];32 -> 292[label="",style="solid", color="burlywood", weight=9]; 292 -> 36[label="",style="solid", color="burlywood", weight=3]; 33[label="primPlusInt (primMinusInt (Pos vx400) vx30) vx50",fontsize=16,color="burlywood",shape="box"];293[label="vx30/Pos vx300",fontsize=10,color="white",style="solid",shape="box"];33 -> 293[label="",style="solid", color="burlywood", weight=9]; 293 -> 37[label="",style="solid", color="burlywood", weight=3]; 294[label="vx30/Neg vx300",fontsize=10,color="white",style="solid",shape="box"];33 -> 294[label="",style="solid", color="burlywood", weight=9]; 294 -> 38[label="",style="solid", color="burlywood", weight=3]; 34[label="primPlusInt (primMinusInt (Neg vx400) vx30) vx50",fontsize=16,color="burlywood",shape="box"];295[label="vx30/Pos vx300",fontsize=10,color="white",style="solid",shape="box"];34 -> 295[label="",style="solid", color="burlywood", weight=9]; 295 -> 39[label="",style="solid", color="burlywood", weight=3]; 296[label="vx30/Neg vx300",fontsize=10,color="white",style="solid",shape="box"];34 -> 296[label="",style="solid", color="burlywood", weight=9]; 296 -> 40[label="",style="solid", color="burlywood", weight=3]; 35[label="primMulInt (primMulInt (Pos vx410) vx31) vx51",fontsize=16,color="burlywood",shape="box"];297[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];35 -> 297[label="",style="solid", color="burlywood", weight=9]; 297 -> 41[label="",style="solid", color="burlywood", weight=3]; 298[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];35 -> 298[label="",style="solid", color="burlywood", weight=9]; 298 -> 42[label="",style="solid", color="burlywood", weight=3]; 36[label="primMulInt (primMulInt (Neg vx410) vx31) vx51",fontsize=16,color="burlywood",shape="box"];299[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];36 -> 299[label="",style="solid", color="burlywood", weight=9]; 299 -> 43[label="",style="solid", color="burlywood", weight=3]; 300[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];36 -> 300[label="",style="solid", color="burlywood", weight=9]; 300 -> 44[label="",style="solid", color="burlywood", weight=3]; 37[label="primPlusInt (primMinusInt (Pos vx400) (Pos vx300)) vx50",fontsize=16,color="black",shape="box"];37 -> 45[label="",style="solid", color="black", weight=3]; 38[label="primPlusInt (primMinusInt (Pos vx400) (Neg vx300)) vx50",fontsize=16,color="black",shape="box"];38 -> 46[label="",style="solid", color="black", weight=3]; 39[label="primPlusInt (primMinusInt (Neg vx400) (Pos vx300)) vx50",fontsize=16,color="black",shape="box"];39 -> 47[label="",style="solid", color="black", weight=3]; 40[label="primPlusInt (primMinusInt (Neg vx400) (Neg vx300)) vx50",fontsize=16,color="black",shape="box"];40 -> 48[label="",style="solid", color="black", weight=3]; 41[label="primMulInt (primMulInt (Pos vx410) (Pos vx310)) vx51",fontsize=16,color="black",shape="box"];41 -> 49[label="",style="solid", color="black", weight=3]; 42[label="primMulInt (primMulInt (Pos vx410) (Neg vx310)) vx51",fontsize=16,color="black",shape="box"];42 -> 50[label="",style="solid", color="black", weight=3]; 43[label="primMulInt (primMulInt (Neg vx410) (Pos vx310)) vx51",fontsize=16,color="black",shape="box"];43 -> 51[label="",style="solid", color="black", weight=3]; 44[label="primMulInt (primMulInt (Neg vx410) (Neg vx310)) vx51",fontsize=16,color="black",shape="box"];44 -> 52[label="",style="solid", color="black", weight=3]; 45[label="primPlusInt (primMinusNat vx400 vx300) vx50",fontsize=16,color="burlywood",shape="triangle"];301[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];45 -> 301[label="",style="solid", color="burlywood", weight=9]; 301 -> 53[label="",style="solid", color="burlywood", weight=3]; 302[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];45 -> 302[label="",style="solid", color="burlywood", weight=9]; 302 -> 54[label="",style="solid", color="burlywood", weight=3]; 46[label="primPlusInt (Pos (primPlusNat vx400 vx300)) vx50",fontsize=16,color="burlywood",shape="box"];303[label="vx50/Pos vx500",fontsize=10,color="white",style="solid",shape="box"];46 -> 303[label="",style="solid", color="burlywood", weight=9]; 303 -> 55[label="",style="solid", color="burlywood", weight=3]; 304[label="vx50/Neg vx500",fontsize=10,color="white",style="solid",shape="box"];46 -> 304[label="",style="solid", color="burlywood", weight=9]; 304 -> 56[label="",style="solid", color="burlywood", weight=3]; 47[label="primPlusInt (Neg (primPlusNat vx400 vx300)) vx50",fontsize=16,color="burlywood",shape="box"];305[label="vx50/Pos vx500",fontsize=10,color="white",style="solid",shape="box"];47 -> 305[label="",style="solid", color="burlywood", weight=9]; 305 -> 57[label="",style="solid", color="burlywood", weight=3]; 306[label="vx50/Neg vx500",fontsize=10,color="white",style="solid",shape="box"];47 -> 306[label="",style="solid", color="burlywood", weight=9]; 306 -> 58[label="",style="solid", color="burlywood", weight=3]; 48 -> 45[label="",style="dashed", color="red", weight=0]; 48[label="primPlusInt (primMinusNat vx300 vx400) vx50",fontsize=16,color="magenta"];48 -> 59[label="",style="dashed", color="magenta", weight=3]; 48 -> 60[label="",style="dashed", color="magenta", weight=3]; 49[label="primMulInt (Pos (primMulNat vx410 vx310)) vx51",fontsize=16,color="burlywood",shape="triangle"];307[label="vx51/Pos vx510",fontsize=10,color="white",style="solid",shape="box"];49 -> 307[label="",style="solid", color="burlywood", weight=9]; 307 -> 61[label="",style="solid", color="burlywood", weight=3]; 308[label="vx51/Neg vx510",fontsize=10,color="white",style="solid",shape="box"];49 -> 308[label="",style="solid", color="burlywood", weight=9]; 308 -> 62[label="",style="solid", color="burlywood", weight=3]; 50[label="primMulInt (Neg (primMulNat vx410 vx310)) vx51",fontsize=16,color="burlywood",shape="triangle"];309[label="vx51/Pos vx510",fontsize=10,color="white",style="solid",shape="box"];50 -> 309[label="",style="solid", color="burlywood", weight=9]; 309 -> 63[label="",style="solid", color="burlywood", weight=3]; 310[label="vx51/Neg vx510",fontsize=10,color="white",style="solid",shape="box"];50 -> 310[label="",style="solid", color="burlywood", weight=9]; 310 -> 64[label="",style="solid", color="burlywood", weight=3]; 51 -> 50[label="",style="dashed", color="red", weight=0]; 51[label="primMulInt (Neg (primMulNat vx410 vx310)) vx51",fontsize=16,color="magenta"];51 -> 65[label="",style="dashed", color="magenta", weight=3]; 51 -> 66[label="",style="dashed", color="magenta", weight=3]; 52 -> 49[label="",style="dashed", color="red", weight=0]; 52[label="primMulInt (Pos (primMulNat vx410 vx310)) vx51",fontsize=16,color="magenta"];52 -> 67[label="",style="dashed", color="magenta", weight=3]; 52 -> 68[label="",style="dashed", color="magenta", weight=3]; 53[label="primPlusInt (primMinusNat (Succ vx4000) vx300) vx50",fontsize=16,color="burlywood",shape="box"];311[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];53 -> 311[label="",style="solid", color="burlywood", weight=9]; 311 -> 69[label="",style="solid", color="burlywood", weight=3]; 312[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];53 -> 312[label="",style="solid", color="burlywood", weight=9]; 312 -> 70[label="",style="solid", color="burlywood", weight=3]; 54[label="primPlusInt (primMinusNat Zero vx300) vx50",fontsize=16,color="burlywood",shape="box"];313[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];54 -> 313[label="",style="solid", color="burlywood", weight=9]; 313 -> 71[label="",style="solid", color="burlywood", weight=3]; 314[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];54 -> 314[label="",style="solid", color="burlywood", weight=9]; 314 -> 72[label="",style="solid", color="burlywood", weight=3]; 55[label="primPlusInt (Pos (primPlusNat vx400 vx300)) (Pos vx500)",fontsize=16,color="black",shape="box"];55 -> 73[label="",style="solid", color="black", weight=3]; 56[label="primPlusInt (Pos (primPlusNat vx400 vx300)) (Neg vx500)",fontsize=16,color="black",shape="box"];56 -> 74[label="",style="solid", color="black", weight=3]; 57[label="primPlusInt (Neg (primPlusNat vx400 vx300)) (Pos vx500)",fontsize=16,color="black",shape="box"];57 -> 75[label="",style="solid", color="black", weight=3]; 58[label="primPlusInt (Neg (primPlusNat vx400 vx300)) (Neg vx500)",fontsize=16,color="black",shape="box"];58 -> 76[label="",style="solid", color="black", weight=3]; 59[label="vx400",fontsize=16,color="green",shape="box"];60[label="vx300",fontsize=16,color="green",shape="box"];61[label="primMulInt (Pos (primMulNat vx410 vx310)) (Pos vx510)",fontsize=16,color="black",shape="box"];61 -> 77[label="",style="solid", color="black", weight=3]; 62[label="primMulInt (Pos (primMulNat vx410 vx310)) (Neg vx510)",fontsize=16,color="black",shape="box"];62 -> 78[label="",style="solid", color="black", weight=3]; 63[label="primMulInt (Neg (primMulNat vx410 vx310)) (Pos vx510)",fontsize=16,color="black",shape="box"];63 -> 79[label="",style="solid", color="black", weight=3]; 64[label="primMulInt (Neg (primMulNat vx410 vx310)) (Neg vx510)",fontsize=16,color="black",shape="box"];64 -> 80[label="",style="solid", color="black", weight=3]; 65[label="vx410",fontsize=16,color="green",shape="box"];66[label="vx310",fontsize=16,color="green",shape="box"];67[label="vx410",fontsize=16,color="green",shape="box"];68[label="vx310",fontsize=16,color="green",shape="box"];69[label="primPlusInt (primMinusNat (Succ vx4000) (Succ vx3000)) vx50",fontsize=16,color="black",shape="box"];69 -> 81[label="",style="solid", color="black", weight=3]; 70[label="primPlusInt (primMinusNat (Succ vx4000) Zero) vx50",fontsize=16,color="black",shape="box"];70 -> 82[label="",style="solid", color="black", weight=3]; 71[label="primPlusInt (primMinusNat Zero (Succ vx3000)) vx50",fontsize=16,color="black",shape="box"];71 -> 83[label="",style="solid", color="black", weight=3]; 72[label="primPlusInt (primMinusNat Zero Zero) vx50",fontsize=16,color="black",shape="box"];72 -> 84[label="",style="solid", color="black", weight=3]; 73[label="Pos (primPlusNat (primPlusNat vx400 vx300) vx500)",fontsize=16,color="green",shape="box"];73 -> 85[label="",style="dashed", color="green", weight=3]; 74[label="primMinusNat (primPlusNat vx400 vx300) vx500",fontsize=16,color="burlywood",shape="box"];315[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];74 -> 315[label="",style="solid", color="burlywood", weight=9]; 315 -> 86[label="",style="solid", color="burlywood", weight=3]; 316[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];74 -> 316[label="",style="solid", color="burlywood", weight=9]; 316 -> 87[label="",style="solid", color="burlywood", weight=3]; 75[label="primMinusNat vx500 (primPlusNat vx400 vx300)",fontsize=16,color="burlywood",shape="box"];317[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];75 -> 317[label="",style="solid", color="burlywood", weight=9]; 317 -> 88[label="",style="solid", color="burlywood", weight=3]; 318[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];75 -> 318[label="",style="solid", color="burlywood", weight=9]; 318 -> 89[label="",style="solid", color="burlywood", weight=3]; 76[label="Neg (primPlusNat (primPlusNat vx400 vx300) vx500)",fontsize=16,color="green",shape="box"];76 -> 90[label="",style="dashed", color="green", weight=3]; 77[label="Pos (primMulNat (primMulNat vx410 vx310) vx510)",fontsize=16,color="green",shape="box"];77 -> 91[label="",style="dashed", color="green", weight=3]; 78[label="Neg (primMulNat (primMulNat vx410 vx310) vx510)",fontsize=16,color="green",shape="box"];78 -> 92[label="",style="dashed", color="green", weight=3]; 79[label="Neg (primMulNat (primMulNat vx410 vx310) vx510)",fontsize=16,color="green",shape="box"];79 -> 93[label="",style="dashed", color="green", weight=3]; 80[label="Pos (primMulNat (primMulNat vx410 vx310) vx510)",fontsize=16,color="green",shape="box"];80 -> 94[label="",style="dashed", color="green", weight=3]; 81 -> 45[label="",style="dashed", color="red", weight=0]; 81[label="primPlusInt (primMinusNat vx4000 vx3000) vx50",fontsize=16,color="magenta"];81 -> 95[label="",style="dashed", color="magenta", weight=3]; 81 -> 96[label="",style="dashed", color="magenta", weight=3]; 82[label="primPlusInt (Pos (Succ vx4000)) vx50",fontsize=16,color="burlywood",shape="box"];319[label="vx50/Pos vx500",fontsize=10,color="white",style="solid",shape="box"];82 -> 319[label="",style="solid", color="burlywood", weight=9]; 319 -> 97[label="",style="solid", color="burlywood", weight=3]; 320[label="vx50/Neg vx500",fontsize=10,color="white",style="solid",shape="box"];82 -> 320[label="",style="solid", color="burlywood", weight=9]; 320 -> 98[label="",style="solid", color="burlywood", weight=3]; 83[label="primPlusInt (Neg (Succ vx3000)) vx50",fontsize=16,color="burlywood",shape="box"];321[label="vx50/Pos vx500",fontsize=10,color="white",style="solid",shape="box"];83 -> 321[label="",style="solid", color="burlywood", weight=9]; 321 -> 99[label="",style="solid", color="burlywood", weight=3]; 322[label="vx50/Neg vx500",fontsize=10,color="white",style="solid",shape="box"];83 -> 322[label="",style="solid", color="burlywood", weight=9]; 322 -> 100[label="",style="solid", color="burlywood", weight=3]; 84[label="primPlusInt (Pos Zero) vx50",fontsize=16,color="burlywood",shape="box"];323[label="vx50/Pos vx500",fontsize=10,color="white",style="solid",shape="box"];84 -> 323[label="",style="solid", color="burlywood", weight=9]; 323 -> 101[label="",style="solid", color="burlywood", weight=3]; 324[label="vx50/Neg vx500",fontsize=10,color="white",style="solid",shape="box"];84 -> 324[label="",style="solid", color="burlywood", weight=9]; 324 -> 102[label="",style="solid", color="burlywood", weight=3]; 85[label="primPlusNat (primPlusNat vx400 vx300) vx500",fontsize=16,color="burlywood",shape="triangle"];325[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];85 -> 325[label="",style="solid", color="burlywood", weight=9]; 325 -> 103[label="",style="solid", color="burlywood", weight=3]; 326[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];85 -> 326[label="",style="solid", color="burlywood", weight=9]; 326 -> 104[label="",style="solid", color="burlywood", weight=3]; 86[label="primMinusNat (primPlusNat (Succ vx4000) vx300) vx500",fontsize=16,color="burlywood",shape="box"];327[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];86 -> 327[label="",style="solid", color="burlywood", weight=9]; 327 -> 105[label="",style="solid", color="burlywood", weight=3]; 328[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];86 -> 328[label="",style="solid", color="burlywood", weight=9]; 328 -> 106[label="",style="solid", color="burlywood", weight=3]; 87[label="primMinusNat (primPlusNat Zero vx300) vx500",fontsize=16,color="burlywood",shape="box"];329[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];87 -> 329[label="",style="solid", color="burlywood", weight=9]; 329 -> 107[label="",style="solid", color="burlywood", weight=3]; 330[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];87 -> 330[label="",style="solid", color="burlywood", weight=9]; 330 -> 108[label="",style="solid", color="burlywood", weight=3]; 88[label="primMinusNat (Succ vx5000) (primPlusNat vx400 vx300)",fontsize=16,color="burlywood",shape="box"];331[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];88 -> 331[label="",style="solid", color="burlywood", weight=9]; 331 -> 109[label="",style="solid", color="burlywood", weight=3]; 332[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];88 -> 332[label="",style="solid", color="burlywood", weight=9]; 332 -> 110[label="",style="solid", color="burlywood", weight=3]; 89[label="primMinusNat Zero (primPlusNat vx400 vx300)",fontsize=16,color="burlywood",shape="box"];333[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];89 -> 333[label="",style="solid", color="burlywood", weight=9]; 333 -> 111[label="",style="solid", color="burlywood", weight=3]; 334[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];89 -> 334[label="",style="solid", color="burlywood", weight=9]; 334 -> 112[label="",style="solid", color="burlywood", weight=3]; 90 -> 85[label="",style="dashed", color="red", weight=0]; 90[label="primPlusNat (primPlusNat vx400 vx300) vx500",fontsize=16,color="magenta"];90 -> 113[label="",style="dashed", color="magenta", weight=3]; 90 -> 114[label="",style="dashed", color="magenta", weight=3]; 90 -> 115[label="",style="dashed", color="magenta", weight=3]; 91 -> 237[label="",style="dashed", color="red", weight=0]; 91[label="primMulNat (primMulNat vx410 vx310) vx510",fontsize=16,color="magenta"];91 -> 238[label="",style="dashed", color="magenta", weight=3]; 92 -> 237[label="",style="dashed", color="red", weight=0]; 92[label="primMulNat (primMulNat vx410 vx310) vx510",fontsize=16,color="magenta"];92 -> 239[label="",style="dashed", color="magenta", weight=3]; 92 -> 240[label="",style="dashed", color="magenta", weight=3]; 93 -> 237[label="",style="dashed", color="red", weight=0]; 93[label="primMulNat (primMulNat vx410 vx310) vx510",fontsize=16,color="magenta"];93 -> 241[label="",style="dashed", color="magenta", weight=3]; 94 -> 237[label="",style="dashed", color="red", weight=0]; 94[label="primMulNat (primMulNat vx410 vx310) vx510",fontsize=16,color="magenta"];94 -> 242[label="",style="dashed", color="magenta", weight=3]; 94 -> 243[label="",style="dashed", color="magenta", weight=3]; 95[label="vx3000",fontsize=16,color="green",shape="box"];96[label="vx4000",fontsize=16,color="green",shape="box"];97[label="primPlusInt (Pos (Succ vx4000)) (Pos vx500)",fontsize=16,color="black",shape="box"];97 -> 122[label="",style="solid", color="black", weight=3]; 98[label="primPlusInt (Pos (Succ vx4000)) (Neg vx500)",fontsize=16,color="black",shape="box"];98 -> 123[label="",style="solid", color="black", weight=3]; 99[label="primPlusInt (Neg (Succ vx3000)) (Pos vx500)",fontsize=16,color="black",shape="box"];99 -> 124[label="",style="solid", color="black", weight=3]; 100[label="primPlusInt (Neg (Succ vx3000)) (Neg vx500)",fontsize=16,color="black",shape="box"];100 -> 125[label="",style="solid", color="black", weight=3]; 101[label="primPlusInt (Pos Zero) (Pos vx500)",fontsize=16,color="black",shape="box"];101 -> 126[label="",style="solid", color="black", weight=3]; 102[label="primPlusInt (Pos Zero) (Neg vx500)",fontsize=16,color="black",shape="box"];102 -> 127[label="",style="solid", color="black", weight=3]; 103[label="primPlusNat (primPlusNat (Succ vx4000) vx300) vx500",fontsize=16,color="burlywood",shape="box"];335[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];103 -> 335[label="",style="solid", color="burlywood", weight=9]; 335 -> 128[label="",style="solid", color="burlywood", weight=3]; 336[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];103 -> 336[label="",style="solid", color="burlywood", weight=9]; 336 -> 129[label="",style="solid", color="burlywood", weight=3]; 104[label="primPlusNat (primPlusNat Zero vx300) vx500",fontsize=16,color="burlywood",shape="box"];337[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];104 -> 337[label="",style="solid", color="burlywood", weight=9]; 337 -> 130[label="",style="solid", color="burlywood", weight=3]; 338[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];104 -> 338[label="",style="solid", color="burlywood", weight=9]; 338 -> 131[label="",style="solid", color="burlywood", weight=3]; 105[label="primMinusNat (primPlusNat (Succ vx4000) (Succ vx3000)) vx500",fontsize=16,color="black",shape="box"];105 -> 132[label="",style="solid", color="black", weight=3]; 106[label="primMinusNat (primPlusNat (Succ vx4000) Zero) vx500",fontsize=16,color="black",shape="box"];106 -> 133[label="",style="solid", color="black", weight=3]; 107[label="primMinusNat (primPlusNat Zero (Succ vx3000)) vx500",fontsize=16,color="black",shape="box"];107 -> 134[label="",style="solid", color="black", weight=3]; 108[label="primMinusNat (primPlusNat Zero Zero) vx500",fontsize=16,color="black",shape="box"];108 -> 135[label="",style="solid", color="black", weight=3]; 109[label="primMinusNat (Succ vx5000) (primPlusNat (Succ vx4000) vx300)",fontsize=16,color="burlywood",shape="box"];339[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];109 -> 339[label="",style="solid", color="burlywood", weight=9]; 339 -> 136[label="",style="solid", color="burlywood", weight=3]; 340[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];109 -> 340[label="",style="solid", color="burlywood", weight=9]; 340 -> 137[label="",style="solid", color="burlywood", weight=3]; 110[label="primMinusNat (Succ vx5000) (primPlusNat Zero vx300)",fontsize=16,color="burlywood",shape="box"];341[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];110 -> 341[label="",style="solid", color="burlywood", weight=9]; 341 -> 138[label="",style="solid", color="burlywood", weight=3]; 342[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];110 -> 342[label="",style="solid", color="burlywood", weight=9]; 342 -> 139[label="",style="solid", color="burlywood", weight=3]; 111[label="primMinusNat Zero (primPlusNat (Succ vx4000) vx300)",fontsize=16,color="burlywood",shape="box"];343[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];111 -> 343[label="",style="solid", color="burlywood", weight=9]; 343 -> 140[label="",style="solid", color="burlywood", weight=3]; 344[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];111 -> 344[label="",style="solid", color="burlywood", weight=9]; 344 -> 141[label="",style="solid", color="burlywood", weight=3]; 112[label="primMinusNat Zero (primPlusNat Zero vx300)",fontsize=16,color="burlywood",shape="box"];345[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];112 -> 345[label="",style="solid", color="burlywood", weight=9]; 345 -> 142[label="",style="solid", color="burlywood", weight=3]; 346[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];112 -> 346[label="",style="solid", color="burlywood", weight=9]; 346 -> 143[label="",style="solid", color="burlywood", weight=3]; 113[label="vx400",fontsize=16,color="green",shape="box"];114[label="vx300",fontsize=16,color="green",shape="box"];115[label="vx500",fontsize=16,color="green",shape="box"];238 -> 237[label="",style="dashed", color="red", weight=0]; 238[label="primMulNat vx410 vx310",fontsize=16,color="magenta"];238 -> 250[label="",style="dashed", color="magenta", weight=3]; 238 -> 251[label="",style="dashed", color="magenta", weight=3]; 237[label="primMulNat vx6 vx510",fontsize=16,color="burlywood",shape="triangle"];347[label="vx6/Succ vx60",fontsize=10,color="white",style="solid",shape="box"];237 -> 347[label="",style="solid", color="burlywood", weight=9]; 347 -> 252[label="",style="solid", color="burlywood", weight=3]; 348[label="vx6/Zero",fontsize=10,color="white",style="solid",shape="box"];237 -> 348[label="",style="solid", color="burlywood", weight=9]; 348 -> 253[label="",style="solid", color="burlywood", weight=3]; 239[label="vx510",fontsize=16,color="green",shape="box"];240 -> 237[label="",style="dashed", color="red", weight=0]; 240[label="primMulNat vx410 vx310",fontsize=16,color="magenta"];240 -> 254[label="",style="dashed", color="magenta", weight=3]; 240 -> 255[label="",style="dashed", color="magenta", weight=3]; 241 -> 237[label="",style="dashed", color="red", weight=0]; 241[label="primMulNat vx410 vx310",fontsize=16,color="magenta"];241 -> 256[label="",style="dashed", color="magenta", weight=3]; 241 -> 257[label="",style="dashed", color="magenta", weight=3]; 242[label="vx510",fontsize=16,color="green",shape="box"];243 -> 237[label="",style="dashed", color="red", weight=0]; 243[label="primMulNat vx410 vx310",fontsize=16,color="magenta"];243 -> 258[label="",style="dashed", color="magenta", weight=3]; 243 -> 259[label="",style="dashed", color="magenta", weight=3]; 122[label="Pos (primPlusNat (Succ vx4000) vx500)",fontsize=16,color="green",shape="box"];122 -> 148[label="",style="dashed", color="green", weight=3]; 123[label="primMinusNat (Succ vx4000) vx500",fontsize=16,color="burlywood",shape="triangle"];349[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];123 -> 349[label="",style="solid", color="burlywood", weight=9]; 349 -> 149[label="",style="solid", color="burlywood", weight=3]; 350[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];123 -> 350[label="",style="solid", color="burlywood", weight=9]; 350 -> 150[label="",style="solid", color="burlywood", weight=3]; 124[label="primMinusNat vx500 (Succ vx3000)",fontsize=16,color="burlywood",shape="triangle"];351[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];124 -> 351[label="",style="solid", color="burlywood", weight=9]; 351 -> 151[label="",style="solid", color="burlywood", weight=3]; 352[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];124 -> 352[label="",style="solid", color="burlywood", weight=9]; 352 -> 152[label="",style="solid", color="burlywood", weight=3]; 125[label="Neg (primPlusNat (Succ vx3000) vx500)",fontsize=16,color="green",shape="box"];125 -> 153[label="",style="dashed", color="green", weight=3]; 126[label="Pos (primPlusNat Zero vx500)",fontsize=16,color="green",shape="box"];126 -> 154[label="",style="dashed", color="green", weight=3]; 127[label="primMinusNat Zero vx500",fontsize=16,color="burlywood",shape="triangle"];353[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];127 -> 353[label="",style="solid", color="burlywood", weight=9]; 353 -> 155[label="",style="solid", color="burlywood", weight=3]; 354[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];127 -> 354[label="",style="solid", color="burlywood", weight=9]; 354 -> 156[label="",style="solid", color="burlywood", weight=3]; 128[label="primPlusNat (primPlusNat (Succ vx4000) (Succ vx3000)) vx500",fontsize=16,color="black",shape="box"];128 -> 157[label="",style="solid", color="black", weight=3]; 129[label="primPlusNat (primPlusNat (Succ vx4000) Zero) vx500",fontsize=16,color="black",shape="box"];129 -> 158[label="",style="solid", color="black", weight=3]; 130[label="primPlusNat (primPlusNat Zero (Succ vx3000)) vx500",fontsize=16,color="black",shape="box"];130 -> 159[label="",style="solid", color="black", weight=3]; 131[label="primPlusNat (primPlusNat Zero Zero) vx500",fontsize=16,color="black",shape="box"];131 -> 160[label="",style="solid", color="black", weight=3]; 132 -> 123[label="",style="dashed", color="red", weight=0]; 132[label="primMinusNat (Succ (Succ (primPlusNat vx4000 vx3000))) vx500",fontsize=16,color="magenta"];132 -> 161[label="",style="dashed", color="magenta", weight=3]; 133 -> 123[label="",style="dashed", color="red", weight=0]; 133[label="primMinusNat (Succ vx4000) vx500",fontsize=16,color="magenta"];134 -> 123[label="",style="dashed", color="red", weight=0]; 134[label="primMinusNat (Succ vx3000) vx500",fontsize=16,color="magenta"];134 -> 162[label="",style="dashed", color="magenta", weight=3]; 135 -> 127[label="",style="dashed", color="red", weight=0]; 135[label="primMinusNat Zero vx500",fontsize=16,color="magenta"];136[label="primMinusNat (Succ vx5000) (primPlusNat (Succ vx4000) (Succ vx3000))",fontsize=16,color="black",shape="box"];136 -> 163[label="",style="solid", color="black", weight=3]; 137[label="primMinusNat (Succ vx5000) (primPlusNat (Succ vx4000) Zero)",fontsize=16,color="black",shape="box"];137 -> 164[label="",style="solid", color="black", weight=3]; 138[label="primMinusNat (Succ vx5000) (primPlusNat Zero (Succ vx3000))",fontsize=16,color="black",shape="box"];138 -> 165[label="",style="solid", color="black", weight=3]; 139[label="primMinusNat (Succ vx5000) (primPlusNat Zero Zero)",fontsize=16,color="black",shape="box"];139 -> 166[label="",style="solid", color="black", weight=3]; 140[label="primMinusNat Zero (primPlusNat (Succ vx4000) (Succ vx3000))",fontsize=16,color="black",shape="box"];140 -> 167[label="",style="solid", color="black", weight=3]; 141[label="primMinusNat Zero (primPlusNat (Succ vx4000) Zero)",fontsize=16,color="black",shape="box"];141 -> 168[label="",style="solid", color="black", weight=3]; 142[label="primMinusNat Zero (primPlusNat Zero (Succ vx3000))",fontsize=16,color="black",shape="box"];142 -> 169[label="",style="solid", color="black", weight=3]; 143[label="primMinusNat Zero (primPlusNat Zero Zero)",fontsize=16,color="black",shape="box"];143 -> 170[label="",style="solid", color="black", weight=3]; 250[label="vx310",fontsize=16,color="green",shape="box"];251[label="vx410",fontsize=16,color="green",shape="box"];252[label="primMulNat (Succ vx60) vx510",fontsize=16,color="burlywood",shape="box"];355[label="vx510/Succ vx5100",fontsize=10,color="white",style="solid",shape="box"];252 -> 355[label="",style="solid", color="burlywood", weight=9]; 355 -> 269[label="",style="solid", color="burlywood", weight=3]; 356[label="vx510/Zero",fontsize=10,color="white",style="solid",shape="box"];252 -> 356[label="",style="solid", color="burlywood", weight=9]; 356 -> 270[label="",style="solid", color="burlywood", weight=3]; 253[label="primMulNat Zero vx510",fontsize=16,color="burlywood",shape="box"];357[label="vx510/Succ vx5100",fontsize=10,color="white",style="solid",shape="box"];253 -> 357[label="",style="solid", color="burlywood", weight=9]; 357 -> 271[label="",style="solid", color="burlywood", weight=3]; 358[label="vx510/Zero",fontsize=10,color="white",style="solid",shape="box"];253 -> 358[label="",style="solid", color="burlywood", weight=9]; 358 -> 272[label="",style="solid", color="burlywood", weight=3]; 254[label="vx310",fontsize=16,color="green",shape="box"];255[label="vx410",fontsize=16,color="green",shape="box"];256[label="vx310",fontsize=16,color="green",shape="box"];257[label="vx410",fontsize=16,color="green",shape="box"];258[label="vx310",fontsize=16,color="green",shape="box"];259[label="vx410",fontsize=16,color="green",shape="box"];148[label="primPlusNat (Succ vx4000) vx500",fontsize=16,color="burlywood",shape="triangle"];359[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];148 -> 359[label="",style="solid", color="burlywood", weight=9]; 359 -> 175[label="",style="solid", color="burlywood", weight=3]; 360[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];148 -> 360[label="",style="solid", color="burlywood", weight=9]; 360 -> 176[label="",style="solid", color="burlywood", weight=3]; 149[label="primMinusNat (Succ vx4000) (Succ vx5000)",fontsize=16,color="black",shape="box"];149 -> 177[label="",style="solid", color="black", weight=3]; 150[label="primMinusNat (Succ vx4000) Zero",fontsize=16,color="black",shape="box"];150 -> 178[label="",style="solid", color="black", weight=3]; 151[label="primMinusNat (Succ vx5000) (Succ vx3000)",fontsize=16,color="black",shape="box"];151 -> 179[label="",style="solid", color="black", weight=3]; 152[label="primMinusNat Zero (Succ vx3000)",fontsize=16,color="black",shape="box"];152 -> 180[label="",style="solid", color="black", weight=3]; 153 -> 148[label="",style="dashed", color="red", weight=0]; 153[label="primPlusNat (Succ vx3000) vx500",fontsize=16,color="magenta"];153 -> 181[label="",style="dashed", color="magenta", weight=3]; 153 -> 182[label="",style="dashed", color="magenta", weight=3]; 154[label="primPlusNat Zero vx500",fontsize=16,color="burlywood",shape="triangle"];361[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];154 -> 361[label="",style="solid", color="burlywood", weight=9]; 361 -> 183[label="",style="solid", color="burlywood", weight=3]; 362[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];154 -> 362[label="",style="solid", color="burlywood", weight=9]; 362 -> 184[label="",style="solid", color="burlywood", weight=3]; 155[label="primMinusNat Zero (Succ vx5000)",fontsize=16,color="black",shape="box"];155 -> 185[label="",style="solid", color="black", weight=3]; 156[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];156 -> 186[label="",style="solid", color="black", weight=3]; 157 -> 148[label="",style="dashed", color="red", weight=0]; 157[label="primPlusNat (Succ (Succ (primPlusNat vx4000 vx3000))) vx500",fontsize=16,color="magenta"];157 -> 187[label="",style="dashed", color="magenta", weight=3]; 158 -> 148[label="",style="dashed", color="red", weight=0]; 158[label="primPlusNat (Succ vx4000) vx500",fontsize=16,color="magenta"];159 -> 148[label="",style="dashed", color="red", weight=0]; 159[label="primPlusNat (Succ vx3000) vx500",fontsize=16,color="magenta"];159 -> 188[label="",style="dashed", color="magenta", weight=3]; 160 -> 154[label="",style="dashed", color="red", weight=0]; 160[label="primPlusNat Zero vx500",fontsize=16,color="magenta"];161[label="Succ (primPlusNat vx4000 vx3000)",fontsize=16,color="green",shape="box"];161 -> 189[label="",style="dashed", color="green", weight=3]; 162[label="vx3000",fontsize=16,color="green",shape="box"];163 -> 124[label="",style="dashed", color="red", weight=0]; 163[label="primMinusNat (Succ vx5000) (Succ (Succ (primPlusNat vx4000 vx3000)))",fontsize=16,color="magenta"];163 -> 190[label="",style="dashed", color="magenta", weight=3]; 163 -> 191[label="",style="dashed", color="magenta", weight=3]; 164 -> 124[label="",style="dashed", color="red", weight=0]; 164[label="primMinusNat (Succ vx5000) (Succ vx4000)",fontsize=16,color="magenta"];164 -> 192[label="",style="dashed", color="magenta", weight=3]; 164 -> 193[label="",style="dashed", color="magenta", weight=3]; 165 -> 124[label="",style="dashed", color="red", weight=0]; 165[label="primMinusNat (Succ vx5000) (Succ vx3000)",fontsize=16,color="magenta"];165 -> 194[label="",style="dashed", color="magenta", weight=3]; 166 -> 123[label="",style="dashed", color="red", weight=0]; 166[label="primMinusNat (Succ vx5000) Zero",fontsize=16,color="magenta"];166 -> 195[label="",style="dashed", color="magenta", weight=3]; 166 -> 196[label="",style="dashed", color="magenta", weight=3]; 167 -> 124[label="",style="dashed", color="red", weight=0]; 167[label="primMinusNat Zero (Succ (Succ (primPlusNat vx4000 vx3000)))",fontsize=16,color="magenta"];167 -> 197[label="",style="dashed", color="magenta", weight=3]; 167 -> 198[label="",style="dashed", color="magenta", weight=3]; 168 -> 124[label="",style="dashed", color="red", weight=0]; 168[label="primMinusNat Zero (Succ vx4000)",fontsize=16,color="magenta"];168 -> 199[label="",style="dashed", color="magenta", weight=3]; 168 -> 200[label="",style="dashed", color="magenta", weight=3]; 169 -> 124[label="",style="dashed", color="red", weight=0]; 169[label="primMinusNat Zero (Succ vx3000)",fontsize=16,color="magenta"];169 -> 201[label="",style="dashed", color="magenta", weight=3]; 170 -> 127[label="",style="dashed", color="red", weight=0]; 170[label="primMinusNat Zero Zero",fontsize=16,color="magenta"];170 -> 202[label="",style="dashed", color="magenta", weight=3]; 269[label="primMulNat (Succ vx60) (Succ vx5100)",fontsize=16,color="black",shape="box"];269 -> 276[label="",style="solid", color="black", weight=3]; 270[label="primMulNat (Succ vx60) Zero",fontsize=16,color="black",shape="box"];270 -> 277[label="",style="solid", color="black", weight=3]; 271[label="primMulNat Zero (Succ vx5100)",fontsize=16,color="black",shape="box"];271 -> 278[label="",style="solid", color="black", weight=3]; 272[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];272 -> 279[label="",style="solid", color="black", weight=3]; 175[label="primPlusNat (Succ vx4000) (Succ vx5000)",fontsize=16,color="black",shape="box"];175 -> 207[label="",style="solid", color="black", weight=3]; 176[label="primPlusNat (Succ vx4000) Zero",fontsize=16,color="black",shape="box"];176 -> 208[label="",style="solid", color="black", weight=3]; 177[label="primMinusNat vx4000 vx5000",fontsize=16,color="burlywood",shape="triangle"];363[label="vx4000/Succ vx40000",fontsize=10,color="white",style="solid",shape="box"];177 -> 363[label="",style="solid", color="burlywood", weight=9]; 363 -> 209[label="",style="solid", color="burlywood", weight=3]; 364[label="vx4000/Zero",fontsize=10,color="white",style="solid",shape="box"];177 -> 364[label="",style="solid", color="burlywood", weight=9]; 364 -> 210[label="",style="solid", color="burlywood", weight=3]; 178[label="Pos (Succ vx4000)",fontsize=16,color="green",shape="box"];179 -> 177[label="",style="dashed", color="red", weight=0]; 179[label="primMinusNat vx5000 vx3000",fontsize=16,color="magenta"];179 -> 211[label="",style="dashed", color="magenta", weight=3]; 179 -> 212[label="",style="dashed", color="magenta", weight=3]; 180[label="Neg (Succ vx3000)",fontsize=16,color="green",shape="box"];181[label="vx3000",fontsize=16,color="green",shape="box"];182[label="vx500",fontsize=16,color="green",shape="box"];183[label="primPlusNat Zero (Succ vx5000)",fontsize=16,color="black",shape="box"];183 -> 213[label="",style="solid", color="black", weight=3]; 184[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];184 -> 214[label="",style="solid", color="black", weight=3]; 185[label="Neg (Succ vx5000)",fontsize=16,color="green",shape="box"];186[label="Pos Zero",fontsize=16,color="green",shape="box"];187[label="Succ (primPlusNat vx4000 vx3000)",fontsize=16,color="green",shape="box"];187 -> 215[label="",style="dashed", color="green", weight=3]; 188[label="vx3000",fontsize=16,color="green",shape="box"];189[label="primPlusNat vx4000 vx3000",fontsize=16,color="burlywood",shape="triangle"];365[label="vx4000/Succ vx40000",fontsize=10,color="white",style="solid",shape="box"];189 -> 365[label="",style="solid", color="burlywood", weight=9]; 365 -> 216[label="",style="solid", color="burlywood", weight=3]; 366[label="vx4000/Zero",fontsize=10,color="white",style="solid",shape="box"];189 -> 366[label="",style="solid", color="burlywood", weight=9]; 366 -> 217[label="",style="solid", color="burlywood", weight=3]; 190[label="Succ vx5000",fontsize=16,color="green",shape="box"];191[label="Succ (primPlusNat vx4000 vx3000)",fontsize=16,color="green",shape="box"];191 -> 218[label="",style="dashed", color="green", weight=3]; 192[label="Succ vx5000",fontsize=16,color="green",shape="box"];193[label="vx4000",fontsize=16,color="green",shape="box"];194[label="Succ vx5000",fontsize=16,color="green",shape="box"];195[label="Zero",fontsize=16,color="green",shape="box"];196[label="vx5000",fontsize=16,color="green",shape="box"];197[label="Zero",fontsize=16,color="green",shape="box"];198[label="Succ (primPlusNat vx4000 vx3000)",fontsize=16,color="green",shape="box"];198 -> 219[label="",style="dashed", color="green", weight=3]; 199[label="Zero",fontsize=16,color="green",shape="box"];200[label="vx4000",fontsize=16,color="green",shape="box"];201[label="Zero",fontsize=16,color="green",shape="box"];202[label="Zero",fontsize=16,color="green",shape="box"];276 -> 189[label="",style="dashed", color="red", weight=0]; 276[label="primPlusNat (primMulNat vx60 (Succ vx5100)) (Succ vx5100)",fontsize=16,color="magenta"];276 -> 282[label="",style="dashed", color="magenta", weight=3]; 276 -> 283[label="",style="dashed", color="magenta", weight=3]; 277[label="Zero",fontsize=16,color="green",shape="box"];278[label="Zero",fontsize=16,color="green",shape="box"];279[label="Zero",fontsize=16,color="green",shape="box"];207[label="Succ (Succ (primPlusNat vx4000 vx5000))",fontsize=16,color="green",shape="box"];207 -> 224[label="",style="dashed", color="green", weight=3]; 208[label="Succ vx4000",fontsize=16,color="green",shape="box"];209[label="primMinusNat (Succ vx40000) vx5000",fontsize=16,color="burlywood",shape="box"];367[label="vx5000/Succ vx50000",fontsize=10,color="white",style="solid",shape="box"];209 -> 367[label="",style="solid", color="burlywood", weight=9]; 367 -> 225[label="",style="solid", color="burlywood", weight=3]; 368[label="vx5000/Zero",fontsize=10,color="white",style="solid",shape="box"];209 -> 368[label="",style="solid", color="burlywood", weight=9]; 368 -> 226[label="",style="solid", color="burlywood", weight=3]; 210[label="primMinusNat Zero vx5000",fontsize=16,color="burlywood",shape="box"];369[label="vx5000/Succ vx50000",fontsize=10,color="white",style="solid",shape="box"];210 -> 369[label="",style="solid", color="burlywood", weight=9]; 369 -> 227[label="",style="solid", color="burlywood", weight=3]; 370[label="vx5000/Zero",fontsize=10,color="white",style="solid",shape="box"];210 -> 370[label="",style="solid", color="burlywood", weight=9]; 370 -> 228[label="",style="solid", color="burlywood", weight=3]; 211[label="vx3000",fontsize=16,color="green",shape="box"];212[label="vx5000",fontsize=16,color="green",shape="box"];213[label="Succ vx5000",fontsize=16,color="green",shape="box"];214[label="Zero",fontsize=16,color="green",shape="box"];215 -> 189[label="",style="dashed", color="red", weight=0]; 215[label="primPlusNat vx4000 vx3000",fontsize=16,color="magenta"];216[label="primPlusNat (Succ vx40000) vx3000",fontsize=16,color="burlywood",shape="box"];371[label="vx3000/Succ vx30000",fontsize=10,color="white",style="solid",shape="box"];216 -> 371[label="",style="solid", color="burlywood", weight=9]; 371 -> 229[label="",style="solid", color="burlywood", weight=3]; 372[label="vx3000/Zero",fontsize=10,color="white",style="solid",shape="box"];216 -> 372[label="",style="solid", color="burlywood", weight=9]; 372 -> 230[label="",style="solid", color="burlywood", weight=3]; 217[label="primPlusNat Zero vx3000",fontsize=16,color="burlywood",shape="box"];373[label="vx3000/Succ vx30000",fontsize=10,color="white",style="solid",shape="box"];217 -> 373[label="",style="solid", color="burlywood", weight=9]; 373 -> 231[label="",style="solid", color="burlywood", weight=3]; 374[label="vx3000/Zero",fontsize=10,color="white",style="solid",shape="box"];217 -> 374[label="",style="solid", color="burlywood", weight=9]; 374 -> 232[label="",style="solid", color="burlywood", weight=3]; 218 -> 189[label="",style="dashed", color="red", weight=0]; 218[label="primPlusNat vx4000 vx3000",fontsize=16,color="magenta"];218 -> 233[label="",style="dashed", color="magenta", weight=3]; 218 -> 234[label="",style="dashed", color="magenta", weight=3]; 219 -> 189[label="",style="dashed", color="red", weight=0]; 219[label="primPlusNat vx4000 vx3000",fontsize=16,color="magenta"];219 -> 235[label="",style="dashed", color="magenta", weight=3]; 219 -> 236[label="",style="dashed", color="magenta", weight=3]; 282 -> 237[label="",style="dashed", color="red", weight=0]; 282[label="primMulNat vx60 (Succ vx5100)",fontsize=16,color="magenta"];282 -> 284[label="",style="dashed", color="magenta", weight=3]; 282 -> 285[label="",style="dashed", color="magenta", weight=3]; 283[label="Succ vx5100",fontsize=16,color="green",shape="box"];224 -> 189[label="",style="dashed", color="red", weight=0]; 224[label="primPlusNat vx4000 vx5000",fontsize=16,color="magenta"];224 -> 260[label="",style="dashed", color="magenta", weight=3]; 225[label="primMinusNat (Succ vx40000) (Succ vx50000)",fontsize=16,color="black",shape="box"];225 -> 261[label="",style="solid", color="black", weight=3]; 226[label="primMinusNat (Succ vx40000) Zero",fontsize=16,color="black",shape="box"];226 -> 262[label="",style="solid", color="black", weight=3]; 227[label="primMinusNat Zero (Succ vx50000)",fontsize=16,color="black",shape="box"];227 -> 263[label="",style="solid", color="black", weight=3]; 228[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];228 -> 264[label="",style="solid", color="black", weight=3]; 229[label="primPlusNat (Succ vx40000) (Succ vx30000)",fontsize=16,color="black",shape="box"];229 -> 265[label="",style="solid", color="black", weight=3]; 230[label="primPlusNat (Succ vx40000) Zero",fontsize=16,color="black",shape="box"];230 -> 266[label="",style="solid", color="black", weight=3]; 231[label="primPlusNat Zero (Succ vx30000)",fontsize=16,color="black",shape="box"];231 -> 267[label="",style="solid", color="black", weight=3]; 232[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];232 -> 268[label="",style="solid", color="black", weight=3]; 233[label="vx4000",fontsize=16,color="green",shape="box"];234[label="vx3000",fontsize=16,color="green",shape="box"];235[label="vx4000",fontsize=16,color="green",shape="box"];236[label="vx3000",fontsize=16,color="green",shape="box"];284[label="Succ vx5100",fontsize=16,color="green",shape="box"];285[label="vx60",fontsize=16,color="green",shape="box"];260[label="vx5000",fontsize=16,color="green",shape="box"];261 -> 177[label="",style="dashed", color="red", weight=0]; 261[label="primMinusNat vx40000 vx50000",fontsize=16,color="magenta"];261 -> 273[label="",style="dashed", color="magenta", weight=3]; 261 -> 274[label="",style="dashed", color="magenta", weight=3]; 262[label="Pos (Succ vx40000)",fontsize=16,color="green",shape="box"];263[label="Neg (Succ vx50000)",fontsize=16,color="green",shape="box"];264[label="Pos Zero",fontsize=16,color="green",shape="box"];265[label="Succ (Succ (primPlusNat vx40000 vx30000))",fontsize=16,color="green",shape="box"];265 -> 275[label="",style="dashed", color="green", weight=3]; 266[label="Succ vx40000",fontsize=16,color="green",shape="box"];267[label="Succ vx30000",fontsize=16,color="green",shape="box"];268[label="Zero",fontsize=16,color="green",shape="box"];273[label="vx50000",fontsize=16,color="green",shape="box"];274[label="vx40000",fontsize=16,color="green",shape="box"];275 -> 189[label="",style="dashed", color="red", weight=0]; 275[label="primPlusNat vx40000 vx30000",fontsize=16,color="magenta"];275 -> 280[label="",style="dashed", color="magenta", weight=3]; 275 -> 281[label="",style="dashed", color="magenta", weight=3]; 280[label="vx40000",fontsize=16,color="green",shape="box"];281[label="vx30000",fontsize=16,color="green",shape="box"];} ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusInt(Main.Succ(vx4000), Main.Succ(vx3000), vx50) -> new_primPlusInt(vx4000, vx3000, vx50) 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_primPlusInt(Main.Succ(vx4000), Main.Succ(vx3000), vx50) -> new_primPlusInt(vx4000, vx3000, vx50) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 ---------------------------------------- (9) YES ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Main.Succ(vx60), Main.Succ(vx5100)) -> new_primMulNat(vx60, Main.Succ(vx5100)) 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(vx60), Main.Succ(vx5100)) -> new_primMulNat(vx60, Main.Succ(vx5100)) 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_primMinusNat(Main.Succ(vx40000), Main.Succ(vx50000)) -> new_primMinusNat(vx40000, vx50000) 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_primMinusNat(Main.Succ(vx40000), Main.Succ(vx50000)) -> new_primMinusNat(vx40000, vx50000) 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_primPlusNat(Main.Succ(vx40000), Main.Succ(vx30000)) -> new_primPlusNat(vx40000, vx30000) 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_primPlusNat(Main.Succ(vx40000), Main.Succ(vx30000)) -> new_primPlusNat(vx40000, vx30000) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (18) YES ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: new_iterate(vx4, vx3, vx5) -> new_iterate(vx4, vx3, new_psFloat(vx4, vx3, vx5)) The TRS R consists of the following rules: new_primPlusNat1(vx4000, Main.Zero) -> Main.Succ(vx4000) new_primMulInt0(vx410, vx310, Main.Pos(vx510)) -> Main.Pos(new_primMulNat0(new_primMulNat0(vx410, vx310), vx510)) new_primPlusInt1(Main.Pos(vx400), Main.Pos(vx300), vx50) -> new_primPlusInt0(vx400, vx300, vx50) new_primPlusInt0(Main.Zero, Main.Zero, Main.Pos(vx500)) -> Main.Pos(new_primPlusNat2(vx500)) new_primPlusInt1(Main.Neg(vx400), Main.Neg(vx300), vx50) -> new_primPlusInt0(vx300, vx400, vx50) new_primPlusNat0(Main.Succ(vx40000), Main.Succ(vx30000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx40000, vx30000))) new_primPlusInt1(Main.Pos(Main.Zero), Main.Neg(Main.Zero), Main.Neg(vx500)) -> new_primMinusNat3(vx500) new_primMinusNat0(Main.Zero, vx3000) -> Main.Neg(Main.Succ(vx3000)) new_primPlusInt0(Main.Zero, Main.Succ(vx3000), Main.Pos(vx500)) -> new_primMinusNat0(vx500, vx3000) new_primMulInt(Main.Neg(vx410), Main.Neg(vx310), vx51) -> new_primMulInt0(vx410, vx310, vx51) new_primPlusInt1(Main.Pos(vx400), Main.Neg(vx300), Main.Pos(vx500)) -> Main.Pos(new_primPlusNat3(vx400, vx300, vx500)) new_primMulInt(Main.Pos(vx410), Main.Pos(vx310), vx51) -> new_primMulInt0(vx410, vx310, vx51) new_primMinusNat3(Main.Succ(vx5000)) -> Main.Neg(Main.Succ(vx5000)) new_psFloat(Float(vx40, vx41), Float(vx30, vx31), Float(vx50, vx51)) -> Float(new_primPlusInt1(vx40, vx30, vx50), new_primMulInt(vx41, vx31, vx51)) new_primMulNat0(Main.Succ(vx60), Main.Succ(vx5100)) -> new_primPlusNat0(new_primMulNat0(vx60, Main.Succ(vx5100)), Main.Succ(vx5100)) new_primPlusNat2(Main.Zero) -> Main.Zero new_primPlusInt0(Main.Succ(vx4000), Main.Succ(vx3000), vx50) -> new_primPlusInt0(vx4000, vx3000, vx50) new_primMinusNat1(Main.Zero, Main.Succ(vx50000)) -> Main.Neg(Main.Succ(vx50000)) new_primMinusNat1(Main.Zero, Main.Zero) -> Main.Pos(Main.Zero) new_primPlusNat0(Main.Succ(vx40000), Main.Zero) -> Main.Succ(vx40000) new_primPlusNat0(Main.Zero, Main.Succ(vx30000)) -> Main.Succ(vx30000) new_primPlusNat1(vx4000, Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primMulInt0(vx410, vx310, Main.Neg(vx510)) -> Main.Neg(new_primMulNat0(new_primMulNat0(vx410, vx310), vx510)) new_primPlusInt0(Main.Zero, Main.Succ(vx3000), Main.Neg(vx500)) -> Main.Neg(new_primPlusNat1(vx3000, vx500)) new_primPlusNat3(Main.Zero, Main.Zero, vx500) -> new_primPlusNat2(vx500) new_primPlusInt1(Main.Neg(Main.Succ(vx4000)), Main.Pos(Main.Zero), Main.Pos(Main.Succ(vx5000))) -> new_primMinusNat0(Main.Succ(vx5000), vx4000) new_primPlusInt1(Main.Neg(Main.Zero), Main.Pos(Main.Succ(vx3000)), Main.Pos(Main.Succ(vx5000))) -> new_primMinusNat0(Main.Succ(vx5000), vx3000) new_primPlusNat3(Main.Succ(vx4000), Main.Zero, vx500) -> new_primPlusNat1(vx4000, vx500) new_primPlusNat3(Main.Zero, Main.Succ(vx3000), vx500) -> new_primPlusNat1(vx3000, vx500) new_primPlusNat3(Main.Succ(vx4000), Main.Succ(vx3000), vx500) -> new_primPlusNat1(Main.Succ(new_primPlusNat0(vx4000, vx3000)), vx500) new_primPlusInt1(Main.Neg(Main.Succ(vx4000)), Main.Pos(Main.Succ(vx3000)), Main.Pos(Main.Succ(vx5000))) -> new_primMinusNat0(Main.Succ(vx5000), Main.Succ(new_primPlusNat0(vx4000, vx3000))) new_primPlusInt1(Main.Neg(Main.Succ(vx4000)), Main.Pos(Main.Succ(vx3000)), Main.Pos(Main.Zero)) -> new_primMinusNat0(Main.Zero, Main.Succ(new_primPlusNat0(vx4000, vx3000))) new_primPlusInt0(Main.Succ(vx4000), Main.Zero, Main.Pos(vx500)) -> Main.Pos(new_primPlusNat1(vx4000, vx500)) new_primPlusInt1(Main.Neg(Main.Zero), Main.Pos(Main.Zero), Main.Pos(Main.Zero)) -> new_primMinusNat3(Main.Zero) new_primMulNat0(Main.Succ(vx60), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx5100)) -> Main.Zero new_primPlusInt0(Main.Succ(vx4000), Main.Zero, Main.Neg(vx500)) -> new_primMinusNat2(vx4000, vx500) new_primPlusInt1(Main.Neg(vx400), Main.Pos(vx300), Main.Neg(vx500)) -> Main.Neg(new_primPlusNat3(vx400, vx300, vx500)) new_primMulInt(Main.Pos(vx410), Main.Neg(vx310), vx51) -> new_primMulInt1(vx410, vx310, vx51) new_primMulInt(Main.Neg(vx410), Main.Pos(vx310), vx51) -> new_primMulInt1(vx410, vx310, vx51) new_primMinusNat2(vx4000, Main.Zero) -> Main.Pos(Main.Succ(vx4000)) new_primMinusNat2(vx4000, Main.Succ(vx5000)) -> new_primMinusNat1(vx4000, vx5000) new_primMinusNat1(Main.Succ(vx40000), Main.Zero) -> Main.Pos(Main.Succ(vx40000)) new_primMinusNat3(Main.Zero) -> Main.Pos(Main.Zero) new_primPlusInt1(Main.Neg(Main.Succ(vx4000)), Main.Pos(Main.Zero), Main.Pos(Main.Zero)) -> new_primMinusNat0(Main.Zero, vx4000) new_primPlusInt1(Main.Neg(Main.Zero), Main.Pos(Main.Succ(vx3000)), Main.Pos(Main.Zero)) -> new_primMinusNat0(Main.Zero, vx3000) new_primMinusNat1(Main.Succ(vx40000), Main.Succ(vx50000)) -> new_primMinusNat1(vx40000, vx50000) new_primMulInt1(vx410, vx310, Main.Neg(vx510)) -> Main.Pos(new_primMulNat0(new_primMulNat0(vx410, vx310), vx510)) new_primPlusInt1(Main.Pos(Main.Succ(vx4000)), Main.Neg(Main.Succ(vx3000)), Main.Neg(vx500)) -> new_primMinusNat2(Main.Succ(new_primPlusNat0(vx4000, vx3000)), vx500) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNat0(Main.Succ(vx5000), vx3000) -> new_primMinusNat1(vx5000, vx3000) new_primPlusInt0(Main.Zero, Main.Zero, Main.Neg(vx500)) -> new_primMinusNat3(vx500) new_primPlusInt1(Main.Pos(Main.Succ(vx4000)), Main.Neg(Main.Zero), Main.Neg(vx500)) -> new_primMinusNat2(vx4000, vx500) new_primPlusInt1(Main.Pos(Main.Zero), Main.Neg(Main.Succ(vx3000)), Main.Neg(vx500)) -> new_primMinusNat2(vx3000, vx500) new_primMulInt1(vx410, vx310, Main.Pos(vx510)) -> Main.Neg(new_primMulNat0(new_primMulNat0(vx410, vx310), vx510)) new_primPlusInt1(Main.Neg(Main.Zero), Main.Pos(Main.Zero), Main.Pos(Main.Succ(vx5000))) -> new_primMinusNat2(vx5000, Main.Zero) new_primPlusNat2(Main.Succ(vx5000)) -> Main.Succ(vx5000) The set Q consists of the following terms: new_primPlusInt1(Main.Neg(Main.Succ(x0)), Main.Pos(Main.Succ(x1)), Main.Pos(Main.Succ(x2))) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primMinusNat2(x0, Main.Zero) new_primPlusNat3(Main.Succ(x0), Main.Succ(x1), x2) new_primMulInt(Main.Neg(x0), Main.Neg(x1), x2) new_primPlusInt0(Main.Succ(x0), Main.Zero, Main.Neg(x1)) new_primMulInt(Main.Pos(x0), Main.Neg(x1), x2) new_primMulInt(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNat1(Main.Zero, Main.Succ(x0)) new_primPlusInt0(Main.Zero, Main.Succ(x0), Main.Neg(x1)) new_primMulInt(Main.Pos(x0), Main.Pos(x1), x2) new_primPlusInt0(Main.Succ(x0), Main.Zero, Main.Pos(x1)) new_primMinusNat0(Main.Zero, x0) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primPlusInt0(Main.Zero, Main.Zero, Main.Pos(x0)) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primPlusInt1(Main.Neg(Main.Zero), Main.Pos(Main.Succ(x0)), Main.Pos(Main.Zero)) new_primPlusInt0(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat0(Main.Zero, Main.Zero) new_psFloat(Float(x0, x1), Float(x2, x3), Float(x4, x5)) new_primPlusNat1(x0, Main.Succ(x1)) new_primMulInt0(x0, x1, Main.Pos(x2)) new_primPlusNat3(Main.Zero, Main.Zero, x0) new_primMinusNat1(Main.Zero, Main.Zero) new_primMinusNat2(x0, Main.Succ(x1)) new_primPlusInt1(Main.Neg(x0), Main.Pos(x1), Main.Neg(x2)) new_primMinusNat3(Main.Succ(x0)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primPlusInt1(Main.Pos(Main.Succ(x0)), Main.Neg(Main.Zero), Main.Neg(x1)) new_primPlusInt1(Main.Neg(Main.Zero), Main.Pos(Main.Zero), Main.Pos(Main.Zero)) new_primPlusInt1(Main.Neg(Main.Succ(x0)), Main.Pos(Main.Zero), Main.Pos(Main.Succ(x1))) new_primPlusNat1(x0, Main.Zero) new_primPlusInt1(Main.Pos(Main.Succ(x0)), Main.Neg(Main.Succ(x1)), Main.Neg(x2)) new_primPlusInt1(Main.Neg(x0), Main.Neg(x1), x2) new_primPlusInt1(Main.Pos(x0), Main.Neg(x1), Main.Pos(x2)) new_primPlusNat2(Main.Zero) new_primPlusInt1(Main.Neg(Main.Zero), Main.Pos(Main.Succ(x0)), Main.Pos(Main.Succ(x1))) new_primMinusNat3(Main.Zero) new_primMinusNat1(Main.Succ(x0), Main.Zero) new_primMulInt0(x0, x1, Main.Neg(x2)) new_primPlusInt1(Main.Pos(Main.Zero), Main.Neg(Main.Succ(x0)), Main.Neg(x1)) new_primPlusNat3(Main.Zero, Main.Succ(x0), x1) new_primPlusInt1(Main.Neg(Main.Succ(x0)), Main.Pos(Main.Succ(x1)), Main.Pos(Main.Zero)) new_primPlusNat2(Main.Succ(x0)) new_primPlusInt0(Main.Zero, Main.Zero, Main.Neg(x0)) new_primPlusInt1(Main.Neg(Main.Succ(x0)), Main.Pos(Main.Zero), Main.Pos(Main.Zero)) new_primMulInt1(x0, x1, Main.Neg(x2)) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusInt1(Main.Pos(x0), Main.Pos(x1), x2) new_primMulInt1(x0, x1, Main.Pos(x2)) new_primPlusInt1(Main.Neg(Main.Zero), Main.Pos(Main.Zero), Main.Pos(Main.Succ(x0))) new_primPlusInt1(Main.Pos(Main.Zero), Main.Neg(Main.Zero), Main.Neg(x0)) new_primPlusNat3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primPlusInt0(Main.Zero, Main.Succ(x0), Main.Pos(x1)) new_primMinusNat0(Main.Succ(x0), x1) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNat1(Main.Succ(x0), Main.Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (20) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: new_iterate(vx4, vx3, vx5) -> new_iterate(vx4, vx3, new_psFloat(vx4, vx3, vx5)) The TRS R consists of the following rules: new_primPlusNat1(vx4000, Main.Zero) -> Main.Succ(vx4000) new_primMulInt0(vx410, vx310, Main.Pos(vx510)) -> Main.Pos(new_primMulNat0(new_primMulNat0(vx410, vx310), vx510)) new_primPlusInt1(Main.Pos(vx400), Main.Pos(vx300), vx50) -> new_primPlusInt0(vx400, vx300, vx50) new_primPlusInt0(Main.Zero, Main.Zero, Main.Pos(vx500)) -> Main.Pos(new_primPlusNat2(vx500)) new_primPlusInt1(Main.Neg(vx400), Main.Neg(vx300), vx50) -> new_primPlusInt0(vx300, vx400, vx50) new_primPlusNat0(Main.Succ(vx40000), Main.Succ(vx30000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx40000, vx30000))) new_primPlusInt1(Main.Pos(Main.Zero), Main.Neg(Main.Zero), Main.Neg(vx500)) -> new_primMinusNat3(vx500) new_primMinusNat0(Main.Zero, vx3000) -> Main.Neg(Main.Succ(vx3000)) new_primPlusInt0(Main.Zero, Main.Succ(vx3000), Main.Pos(vx500)) -> new_primMinusNat0(vx500, vx3000) new_primMulInt(Main.Neg(vx410), Main.Neg(vx310), vx51) -> new_primMulInt0(vx410, vx310, vx51) new_primPlusInt1(Main.Pos(vx400), Main.Neg(vx300), Main.Pos(vx500)) -> Main.Pos(new_primPlusNat3(vx400, vx300, vx500)) new_primMulInt(Main.Pos(vx410), Main.Pos(vx310), vx51) -> new_primMulInt0(vx410, vx310, vx51) new_primMinusNat3(Main.Succ(vx5000)) -> Main.Neg(Main.Succ(vx5000)) new_psFloat(Float(vx40, vx41), Float(vx30, vx31), Float(vx50, vx51)) -> Float(new_primPlusInt1(vx40, vx30, vx50), new_primMulInt(vx41, vx31, vx51)) new_primMulNat0(Main.Succ(vx60), Main.Succ(vx5100)) -> new_primPlusNat0(new_primMulNat0(vx60, Main.Succ(vx5100)), Main.Succ(vx5100)) new_primPlusNat2(Main.Zero) -> Main.Zero new_primPlusInt0(Main.Succ(vx4000), Main.Succ(vx3000), vx50) -> new_primPlusInt0(vx4000, vx3000, vx50) new_primMinusNat1(Main.Zero, Main.Succ(vx50000)) -> Main.Neg(Main.Succ(vx50000)) new_primMinusNat1(Main.Zero, Main.Zero) -> Main.Pos(Main.Zero) new_primPlusNat0(Main.Succ(vx40000), Main.Zero) -> Main.Succ(vx40000) new_primPlusNat0(Main.Zero, Main.Succ(vx30000)) -> Main.Succ(vx30000) new_primPlusNat1(vx4000, Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primMulInt0(vx410, vx310, Main.Neg(vx510)) -> Main.Neg(new_primMulNat0(new_primMulNat0(vx410, vx310), vx510)) new_primPlusInt0(Main.Zero, Main.Succ(vx3000), Main.Neg(vx500)) -> Main.Neg(new_primPlusNat1(vx3000, vx500)) new_primPlusNat3(Main.Zero, Main.Zero, vx500) -> new_primPlusNat2(vx500) new_primPlusInt1(Main.Neg(Main.Succ(vx4000)), Main.Pos(Main.Zero), Main.Pos(Main.Succ(vx5000))) -> new_primMinusNat0(Main.Succ(vx5000), vx4000) new_primPlusInt1(Main.Neg(Main.Zero), Main.Pos(Main.Succ(vx3000)), Main.Pos(Main.Succ(vx5000))) -> new_primMinusNat0(Main.Succ(vx5000), vx3000) new_primPlusNat3(Main.Succ(vx4000), Main.Zero, vx500) -> new_primPlusNat1(vx4000, vx500) new_primPlusNat3(Main.Zero, Main.Succ(vx3000), vx500) -> new_primPlusNat1(vx3000, vx500) new_primPlusNat3(Main.Succ(vx4000), Main.Succ(vx3000), vx500) -> new_primPlusNat1(Main.Succ(new_primPlusNat0(vx4000, vx3000)), vx500) new_primPlusInt1(Main.Neg(Main.Succ(vx4000)), Main.Pos(Main.Succ(vx3000)), Main.Pos(Main.Succ(vx5000))) -> new_primMinusNat0(Main.Succ(vx5000), Main.Succ(new_primPlusNat0(vx4000, vx3000))) new_primPlusInt1(Main.Neg(Main.Succ(vx4000)), Main.Pos(Main.Succ(vx3000)), Main.Pos(Main.Zero)) -> new_primMinusNat0(Main.Zero, Main.Succ(new_primPlusNat0(vx4000, vx3000))) new_primPlusInt0(Main.Succ(vx4000), Main.Zero, Main.Pos(vx500)) -> Main.Pos(new_primPlusNat1(vx4000, vx500)) new_primPlusInt1(Main.Neg(Main.Zero), Main.Pos(Main.Zero), Main.Pos(Main.Zero)) -> new_primMinusNat3(Main.Zero) new_primMulNat0(Main.Succ(vx60), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx5100)) -> Main.Zero new_primPlusInt0(Main.Succ(vx4000), Main.Zero, Main.Neg(vx500)) -> new_primMinusNat2(vx4000, vx500) new_primPlusInt1(Main.Neg(vx400), Main.Pos(vx300), Main.Neg(vx500)) -> Main.Neg(new_primPlusNat3(vx400, vx300, vx500)) new_primMulInt(Main.Pos(vx410), Main.Neg(vx310), vx51) -> new_primMulInt1(vx410, vx310, vx51) new_primMulInt(Main.Neg(vx410), Main.Pos(vx310), vx51) -> new_primMulInt1(vx410, vx310, vx51) new_primMinusNat2(vx4000, Main.Zero) -> Main.Pos(Main.Succ(vx4000)) new_primMinusNat2(vx4000, Main.Succ(vx5000)) -> new_primMinusNat1(vx4000, vx5000) new_primMinusNat1(Main.Succ(vx40000), Main.Zero) -> Main.Pos(Main.Succ(vx40000)) new_primMinusNat3(Main.Zero) -> Main.Pos(Main.Zero) new_primPlusInt1(Main.Neg(Main.Succ(vx4000)), Main.Pos(Main.Zero), Main.Pos(Main.Zero)) -> new_primMinusNat0(Main.Zero, vx4000) new_primPlusInt1(Main.Neg(Main.Zero), Main.Pos(Main.Succ(vx3000)), Main.Pos(Main.Zero)) -> new_primMinusNat0(Main.Zero, vx3000) new_primMinusNat1(Main.Succ(vx40000), Main.Succ(vx50000)) -> new_primMinusNat1(vx40000, vx50000) new_primMulInt1(vx410, vx310, Main.Neg(vx510)) -> Main.Pos(new_primMulNat0(new_primMulNat0(vx410, vx310), vx510)) new_primPlusInt1(Main.Pos(Main.Succ(vx4000)), Main.Neg(Main.Succ(vx3000)), Main.Neg(vx500)) -> new_primMinusNat2(Main.Succ(new_primPlusNat0(vx4000, vx3000)), vx500) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNat0(Main.Succ(vx5000), vx3000) -> new_primMinusNat1(vx5000, vx3000) new_primPlusInt0(Main.Zero, Main.Zero, Main.Neg(vx500)) -> new_primMinusNat3(vx500) new_primPlusInt1(Main.Pos(Main.Succ(vx4000)), Main.Neg(Main.Zero), Main.Neg(vx500)) -> new_primMinusNat2(vx4000, vx500) new_primPlusInt1(Main.Pos(Main.Zero), Main.Neg(Main.Succ(vx3000)), Main.Neg(vx500)) -> new_primMinusNat2(vx3000, vx500) new_primMulInt1(vx410, vx310, Main.Pos(vx510)) -> Main.Neg(new_primMulNat0(new_primMulNat0(vx410, vx310), vx510)) new_primPlusInt1(Main.Neg(Main.Zero), Main.Pos(Main.Zero), Main.Pos(Main.Succ(vx5000))) -> new_primMinusNat2(vx5000, Main.Zero) new_primPlusNat2(Main.Succ(vx5000)) -> Main.Succ(vx5000) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (22) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = new_iterate(vx4, vx3, vx5) evaluates to t =new_iterate(vx4, vx3, new_psFloat(vx4, vx3, vx5)) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [vx5 / new_psFloat(vx4, vx3, vx5)] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from new_iterate(vx4, vx3, vx5) to new_iterate(vx4, vx3, new_psFloat(vx4, vx3, vx5)). ---------------------------------------- (23) NO ---------------------------------------- (24) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="enumFromThenFloat",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="enumFromThenFloat vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="enumFromThenFloat vx3 vx4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="numericEnumFromThen vx3 vx4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="iterate (psFloat (msFloat vx4 vx3)) vx3",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="Cons vx3 (iterate (psFloat (msFloat vx4 vx3)) (psFloat (msFloat vx4 vx3) vx3))",fontsize=16,color="green",shape="box"];7 -> 8[label="",style="dashed", color="green", weight=3]; 8 -> 13[label="",style="dashed", color="red", weight=0]; 8[label="iterate (psFloat (msFloat vx4 vx3)) (psFloat (msFloat vx4 vx3) vx3)",fontsize=16,color="magenta"];8 -> 14[label="",style="dashed", color="magenta", weight=3]; 14[label="vx3",fontsize=16,color="green",shape="box"];13[label="iterate (psFloat (msFloat vx4 vx3)) (psFloat (msFloat vx4 vx3) vx5)",fontsize=16,color="black",shape="triangle"];13 -> 16[label="",style="solid", color="black", weight=3]; 16[label="Cons (psFloat (msFloat vx4 vx3) vx5) (iterate (psFloat (msFloat vx4 vx3)) (psFloat (msFloat vx4 vx3) (psFloat (msFloat vx4 vx3) vx5)))",fontsize=16,color="green",shape="box"];16 -> 17[label="",style="dashed", color="green", weight=3]; 16 -> 18[label="",style="dashed", color="green", weight=3]; 17[label="psFloat (msFloat vx4 vx3) vx5",fontsize=16,color="black",shape="triangle"];17 -> 19[label="",style="solid", color="black", weight=3]; 18 -> 13[label="",style="dashed", color="red", weight=0]; 18[label="iterate (psFloat (msFloat vx4 vx3)) (psFloat (msFloat vx4 vx3) (psFloat (msFloat vx4 vx3) vx5))",fontsize=16,color="magenta"];18 -> 20[label="",style="dashed", color="magenta", weight=3]; 19[label="primPlusFloat (msFloat vx4 vx3) vx5",fontsize=16,color="black",shape="box"];19 -> 21[label="",style="solid", color="black", weight=3]; 20 -> 17[label="",style="dashed", color="red", weight=0]; 20[label="psFloat (msFloat vx4 vx3) vx5",fontsize=16,color="magenta"];21[label="primPlusFloat (primMinusFloat vx4 vx3) vx5",fontsize=16,color="burlywood",shape="box"];286[label="vx4/Float vx40 vx41",fontsize=10,color="white",style="solid",shape="box"];21 -> 286[label="",style="solid", color="burlywood", weight=9]; 286 -> 22[label="",style="solid", color="burlywood", weight=3]; 22[label="primPlusFloat (primMinusFloat (Float vx40 vx41) vx3) vx5",fontsize=16,color="burlywood",shape="box"];287[label="vx3/Float vx30 vx31",fontsize=10,color="white",style="solid",shape="box"];22 -> 287[label="",style="solid", color="burlywood", weight=9]; 287 -> 23[label="",style="solid", color="burlywood", weight=3]; 23[label="primPlusFloat (primMinusFloat (Float vx40 vx41) (Float vx30 vx31)) vx5",fontsize=16,color="black",shape="box"];23 -> 24[label="",style="solid", color="black", weight=3]; 24[label="primPlusFloat (Float (msMyInt vx40 vx30) (srMyInt vx41 vx31)) vx5",fontsize=16,color="burlywood",shape="box"];288[label="vx5/Float vx50 vx51",fontsize=10,color="white",style="solid",shape="box"];24 -> 288[label="",style="solid", color="burlywood", weight=9]; 288 -> 25[label="",style="solid", color="burlywood", weight=3]; 25[label="primPlusFloat (Float (msMyInt vx40 vx30) (srMyInt vx41 vx31)) (Float vx50 vx51)",fontsize=16,color="black",shape="box"];25 -> 26[label="",style="solid", color="black", weight=3]; 26[label="Float (psMyInt (msMyInt vx40 vx30) vx50) (srMyInt (srMyInt vx41 vx31) vx51)",fontsize=16,color="green",shape="box"];26 -> 27[label="",style="dashed", color="green", weight=3]; 26 -> 28[label="",style="dashed", color="green", weight=3]; 27[label="psMyInt (msMyInt vx40 vx30) vx50",fontsize=16,color="black",shape="box"];27 -> 29[label="",style="solid", color="black", weight=3]; 28[label="srMyInt (srMyInt vx41 vx31) vx51",fontsize=16,color="black",shape="box"];28 -> 30[label="",style="solid", color="black", weight=3]; 29[label="primPlusInt (msMyInt vx40 vx30) vx50",fontsize=16,color="black",shape="box"];29 -> 31[label="",style="solid", color="black", weight=3]; 30[label="primMulInt (srMyInt vx41 vx31) vx51",fontsize=16,color="black",shape="box"];30 -> 32[label="",style="solid", color="black", weight=3]; 31[label="primPlusInt (primMinusInt vx40 vx30) vx50",fontsize=16,color="burlywood",shape="box"];289[label="vx40/Pos vx400",fontsize=10,color="white",style="solid",shape="box"];31 -> 289[label="",style="solid", color="burlywood", weight=9]; 289 -> 33[label="",style="solid", color="burlywood", weight=3]; 290[label="vx40/Neg vx400",fontsize=10,color="white",style="solid",shape="box"];31 -> 290[label="",style="solid", color="burlywood", weight=9]; 290 -> 34[label="",style="solid", color="burlywood", weight=3]; 32[label="primMulInt (primMulInt vx41 vx31) vx51",fontsize=16,color="burlywood",shape="box"];291[label="vx41/Pos vx410",fontsize=10,color="white",style="solid",shape="box"];32 -> 291[label="",style="solid", color="burlywood", weight=9]; 291 -> 35[label="",style="solid", color="burlywood", weight=3]; 292[label="vx41/Neg vx410",fontsize=10,color="white",style="solid",shape="box"];32 -> 292[label="",style="solid", color="burlywood", weight=9]; 292 -> 36[label="",style="solid", color="burlywood", weight=3]; 33[label="primPlusInt (primMinusInt (Pos vx400) vx30) vx50",fontsize=16,color="burlywood",shape="box"];293[label="vx30/Pos vx300",fontsize=10,color="white",style="solid",shape="box"];33 -> 293[label="",style="solid", color="burlywood", weight=9]; 293 -> 37[label="",style="solid", color="burlywood", weight=3]; 294[label="vx30/Neg vx300",fontsize=10,color="white",style="solid",shape="box"];33 -> 294[label="",style="solid", color="burlywood", weight=9]; 294 -> 38[label="",style="solid", color="burlywood", weight=3]; 34[label="primPlusInt (primMinusInt (Neg vx400) vx30) vx50",fontsize=16,color="burlywood",shape="box"];295[label="vx30/Pos vx300",fontsize=10,color="white",style="solid",shape="box"];34 -> 295[label="",style="solid", color="burlywood", weight=9]; 295 -> 39[label="",style="solid", color="burlywood", weight=3]; 296[label="vx30/Neg vx300",fontsize=10,color="white",style="solid",shape="box"];34 -> 296[label="",style="solid", color="burlywood", weight=9]; 296 -> 40[label="",style="solid", color="burlywood", weight=3]; 35[label="primMulInt (primMulInt (Pos vx410) vx31) vx51",fontsize=16,color="burlywood",shape="box"];297[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];35 -> 297[label="",style="solid", color="burlywood", weight=9]; 297 -> 41[label="",style="solid", color="burlywood", weight=3]; 298[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];35 -> 298[label="",style="solid", color="burlywood", weight=9]; 298 -> 42[label="",style="solid", color="burlywood", weight=3]; 36[label="primMulInt (primMulInt (Neg vx410) vx31) vx51",fontsize=16,color="burlywood",shape="box"];299[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];36 -> 299[label="",style="solid", color="burlywood", weight=9]; 299 -> 43[label="",style="solid", color="burlywood", weight=3]; 300[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];36 -> 300[label="",style="solid", color="burlywood", weight=9]; 300 -> 44[label="",style="solid", color="burlywood", weight=3]; 37[label="primPlusInt (primMinusInt (Pos vx400) (Pos vx300)) vx50",fontsize=16,color="black",shape="box"];37 -> 45[label="",style="solid", color="black", weight=3]; 38[label="primPlusInt (primMinusInt (Pos vx400) (Neg vx300)) vx50",fontsize=16,color="black",shape="box"];38 -> 46[label="",style="solid", color="black", weight=3]; 39[label="primPlusInt (primMinusInt (Neg vx400) (Pos vx300)) vx50",fontsize=16,color="black",shape="box"];39 -> 47[label="",style="solid", color="black", weight=3]; 40[label="primPlusInt (primMinusInt (Neg vx400) (Neg vx300)) vx50",fontsize=16,color="black",shape="box"];40 -> 48[label="",style="solid", color="black", weight=3]; 41[label="primMulInt (primMulInt (Pos vx410) (Pos vx310)) vx51",fontsize=16,color="black",shape="box"];41 -> 49[label="",style="solid", color="black", weight=3]; 42[label="primMulInt (primMulInt (Pos vx410) (Neg vx310)) vx51",fontsize=16,color="black",shape="box"];42 -> 50[label="",style="solid", color="black", weight=3]; 43[label="primMulInt (primMulInt (Neg vx410) (Pos vx310)) vx51",fontsize=16,color="black",shape="box"];43 -> 51[label="",style="solid", color="black", weight=3]; 44[label="primMulInt (primMulInt (Neg vx410) (Neg vx310)) vx51",fontsize=16,color="black",shape="box"];44 -> 52[label="",style="solid", color="black", weight=3]; 45[label="primPlusInt (primMinusNat vx400 vx300) vx50",fontsize=16,color="burlywood",shape="triangle"];301[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];45 -> 301[label="",style="solid", color="burlywood", weight=9]; 301 -> 53[label="",style="solid", color="burlywood", weight=3]; 302[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];45 -> 302[label="",style="solid", color="burlywood", weight=9]; 302 -> 54[label="",style="solid", color="burlywood", weight=3]; 46[label="primPlusInt (Pos (primPlusNat vx400 vx300)) vx50",fontsize=16,color="burlywood",shape="box"];303[label="vx50/Pos vx500",fontsize=10,color="white",style="solid",shape="box"];46 -> 303[label="",style="solid", color="burlywood", weight=9]; 303 -> 55[label="",style="solid", color="burlywood", weight=3]; 304[label="vx50/Neg vx500",fontsize=10,color="white",style="solid",shape="box"];46 -> 304[label="",style="solid", color="burlywood", weight=9]; 304 -> 56[label="",style="solid", color="burlywood", weight=3]; 47[label="primPlusInt (Neg (primPlusNat vx400 vx300)) vx50",fontsize=16,color="burlywood",shape="box"];305[label="vx50/Pos vx500",fontsize=10,color="white",style="solid",shape="box"];47 -> 305[label="",style="solid", color="burlywood", weight=9]; 305 -> 57[label="",style="solid", color="burlywood", weight=3]; 306[label="vx50/Neg vx500",fontsize=10,color="white",style="solid",shape="box"];47 -> 306[label="",style="solid", color="burlywood", weight=9]; 306 -> 58[label="",style="solid", color="burlywood", weight=3]; 48 -> 45[label="",style="dashed", color="red", weight=0]; 48[label="primPlusInt (primMinusNat vx300 vx400) vx50",fontsize=16,color="magenta"];48 -> 59[label="",style="dashed", color="magenta", weight=3]; 48 -> 60[label="",style="dashed", color="magenta", weight=3]; 49[label="primMulInt (Pos (primMulNat vx410 vx310)) vx51",fontsize=16,color="burlywood",shape="triangle"];307[label="vx51/Pos vx510",fontsize=10,color="white",style="solid",shape="box"];49 -> 307[label="",style="solid", color="burlywood", weight=9]; 307 -> 61[label="",style="solid", color="burlywood", weight=3]; 308[label="vx51/Neg vx510",fontsize=10,color="white",style="solid",shape="box"];49 -> 308[label="",style="solid", color="burlywood", weight=9]; 308 -> 62[label="",style="solid", color="burlywood", weight=3]; 50[label="primMulInt (Neg (primMulNat vx410 vx310)) vx51",fontsize=16,color="burlywood",shape="triangle"];309[label="vx51/Pos vx510",fontsize=10,color="white",style="solid",shape="box"];50 -> 309[label="",style="solid", color="burlywood", weight=9]; 309 -> 63[label="",style="solid", color="burlywood", weight=3]; 310[label="vx51/Neg vx510",fontsize=10,color="white",style="solid",shape="box"];50 -> 310[label="",style="solid", color="burlywood", weight=9]; 310 -> 64[label="",style="solid", color="burlywood", weight=3]; 51 -> 50[label="",style="dashed", color="red", weight=0]; 51[label="primMulInt (Neg (primMulNat vx410 vx310)) vx51",fontsize=16,color="magenta"];51 -> 65[label="",style="dashed", color="magenta", weight=3]; 51 -> 66[label="",style="dashed", color="magenta", weight=3]; 52 -> 49[label="",style="dashed", color="red", weight=0]; 52[label="primMulInt (Pos (primMulNat vx410 vx310)) vx51",fontsize=16,color="magenta"];52 -> 67[label="",style="dashed", color="magenta", weight=3]; 52 -> 68[label="",style="dashed", color="magenta", weight=3]; 53[label="primPlusInt (primMinusNat (Succ vx4000) vx300) vx50",fontsize=16,color="burlywood",shape="box"];311[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];53 -> 311[label="",style="solid", color="burlywood", weight=9]; 311 -> 69[label="",style="solid", color="burlywood", weight=3]; 312[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];53 -> 312[label="",style="solid", color="burlywood", weight=9]; 312 -> 70[label="",style="solid", color="burlywood", weight=3]; 54[label="primPlusInt (primMinusNat Zero vx300) vx50",fontsize=16,color="burlywood",shape="box"];313[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];54 -> 313[label="",style="solid", color="burlywood", weight=9]; 313 -> 71[label="",style="solid", color="burlywood", weight=3]; 314[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];54 -> 314[label="",style="solid", color="burlywood", weight=9]; 314 -> 72[label="",style="solid", color="burlywood", weight=3]; 55[label="primPlusInt (Pos (primPlusNat vx400 vx300)) (Pos vx500)",fontsize=16,color="black",shape="box"];55 -> 73[label="",style="solid", color="black", weight=3]; 56[label="primPlusInt (Pos (primPlusNat vx400 vx300)) (Neg vx500)",fontsize=16,color="black",shape="box"];56 -> 74[label="",style="solid", color="black", weight=3]; 57[label="primPlusInt (Neg (primPlusNat vx400 vx300)) (Pos vx500)",fontsize=16,color="black",shape="box"];57 -> 75[label="",style="solid", color="black", weight=3]; 58[label="primPlusInt (Neg (primPlusNat vx400 vx300)) (Neg vx500)",fontsize=16,color="black",shape="box"];58 -> 76[label="",style="solid", color="black", weight=3]; 59[label="vx400",fontsize=16,color="green",shape="box"];60[label="vx300",fontsize=16,color="green",shape="box"];61[label="primMulInt (Pos (primMulNat vx410 vx310)) (Pos vx510)",fontsize=16,color="black",shape="box"];61 -> 77[label="",style="solid", color="black", weight=3]; 62[label="primMulInt (Pos (primMulNat vx410 vx310)) (Neg vx510)",fontsize=16,color="black",shape="box"];62 -> 78[label="",style="solid", color="black", weight=3]; 63[label="primMulInt (Neg (primMulNat vx410 vx310)) (Pos vx510)",fontsize=16,color="black",shape="box"];63 -> 79[label="",style="solid", color="black", weight=3]; 64[label="primMulInt (Neg (primMulNat vx410 vx310)) (Neg vx510)",fontsize=16,color="black",shape="box"];64 -> 80[label="",style="solid", color="black", weight=3]; 65[label="vx410",fontsize=16,color="green",shape="box"];66[label="vx310",fontsize=16,color="green",shape="box"];67[label="vx410",fontsize=16,color="green",shape="box"];68[label="vx310",fontsize=16,color="green",shape="box"];69[label="primPlusInt (primMinusNat (Succ vx4000) (Succ vx3000)) vx50",fontsize=16,color="black",shape="box"];69 -> 81[label="",style="solid", color="black", weight=3]; 70[label="primPlusInt (primMinusNat (Succ vx4000) Zero) vx50",fontsize=16,color="black",shape="box"];70 -> 82[label="",style="solid", color="black", weight=3]; 71[label="primPlusInt (primMinusNat Zero (Succ vx3000)) vx50",fontsize=16,color="black",shape="box"];71 -> 83[label="",style="solid", color="black", weight=3]; 72[label="primPlusInt (primMinusNat Zero Zero) vx50",fontsize=16,color="black",shape="box"];72 -> 84[label="",style="solid", color="black", weight=3]; 73[label="Pos (primPlusNat (primPlusNat vx400 vx300) vx500)",fontsize=16,color="green",shape="box"];73 -> 85[label="",style="dashed", color="green", weight=3]; 74[label="primMinusNat (primPlusNat vx400 vx300) vx500",fontsize=16,color="burlywood",shape="box"];315[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];74 -> 315[label="",style="solid", color="burlywood", weight=9]; 315 -> 86[label="",style="solid", color="burlywood", weight=3]; 316[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];74 -> 316[label="",style="solid", color="burlywood", weight=9]; 316 -> 87[label="",style="solid", color="burlywood", weight=3]; 75[label="primMinusNat vx500 (primPlusNat vx400 vx300)",fontsize=16,color="burlywood",shape="box"];317[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];75 -> 317[label="",style="solid", color="burlywood", weight=9]; 317 -> 88[label="",style="solid", color="burlywood", weight=3]; 318[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];75 -> 318[label="",style="solid", color="burlywood", weight=9]; 318 -> 89[label="",style="solid", color="burlywood", weight=3]; 76[label="Neg (primPlusNat (primPlusNat vx400 vx300) vx500)",fontsize=16,color="green",shape="box"];76 -> 90[label="",style="dashed", color="green", weight=3]; 77[label="Pos (primMulNat (primMulNat vx410 vx310) vx510)",fontsize=16,color="green",shape="box"];77 -> 91[label="",style="dashed", color="green", weight=3]; 78[label="Neg (primMulNat (primMulNat vx410 vx310) vx510)",fontsize=16,color="green",shape="box"];78 -> 92[label="",style="dashed", color="green", weight=3]; 79[label="Neg (primMulNat (primMulNat vx410 vx310) vx510)",fontsize=16,color="green",shape="box"];79 -> 93[label="",style="dashed", color="green", weight=3]; 80[label="Pos (primMulNat (primMulNat vx410 vx310) vx510)",fontsize=16,color="green",shape="box"];80 -> 94[label="",style="dashed", color="green", weight=3]; 81 -> 45[label="",style="dashed", color="red", weight=0]; 81[label="primPlusInt (primMinusNat vx4000 vx3000) vx50",fontsize=16,color="magenta"];81 -> 95[label="",style="dashed", color="magenta", weight=3]; 81 -> 96[label="",style="dashed", color="magenta", weight=3]; 82[label="primPlusInt (Pos (Succ vx4000)) vx50",fontsize=16,color="burlywood",shape="box"];319[label="vx50/Pos vx500",fontsize=10,color="white",style="solid",shape="box"];82 -> 319[label="",style="solid", color="burlywood", weight=9]; 319 -> 97[label="",style="solid", color="burlywood", weight=3]; 320[label="vx50/Neg vx500",fontsize=10,color="white",style="solid",shape="box"];82 -> 320[label="",style="solid", color="burlywood", weight=9]; 320 -> 98[label="",style="solid", color="burlywood", weight=3]; 83[label="primPlusInt (Neg (Succ vx3000)) vx50",fontsize=16,color="burlywood",shape="box"];321[label="vx50/Pos vx500",fontsize=10,color="white",style="solid",shape="box"];83 -> 321[label="",style="solid", color="burlywood", weight=9]; 321 -> 99[label="",style="solid", color="burlywood", weight=3]; 322[label="vx50/Neg vx500",fontsize=10,color="white",style="solid",shape="box"];83 -> 322[label="",style="solid", color="burlywood", weight=9]; 322 -> 100[label="",style="solid", color="burlywood", weight=3]; 84[label="primPlusInt (Pos Zero) vx50",fontsize=16,color="burlywood",shape="box"];323[label="vx50/Pos vx500",fontsize=10,color="white",style="solid",shape="box"];84 -> 323[label="",style="solid", color="burlywood", weight=9]; 323 -> 101[label="",style="solid", color="burlywood", weight=3]; 324[label="vx50/Neg vx500",fontsize=10,color="white",style="solid",shape="box"];84 -> 324[label="",style="solid", color="burlywood", weight=9]; 324 -> 102[label="",style="solid", color="burlywood", weight=3]; 85[label="primPlusNat (primPlusNat vx400 vx300) vx500",fontsize=16,color="burlywood",shape="triangle"];325[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];85 -> 325[label="",style="solid", color="burlywood", weight=9]; 325 -> 103[label="",style="solid", color="burlywood", weight=3]; 326[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];85 -> 326[label="",style="solid", color="burlywood", weight=9]; 326 -> 104[label="",style="solid", color="burlywood", weight=3]; 86[label="primMinusNat (primPlusNat (Succ vx4000) vx300) vx500",fontsize=16,color="burlywood",shape="box"];327[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];86 -> 327[label="",style="solid", color="burlywood", weight=9]; 327 -> 105[label="",style="solid", color="burlywood", weight=3]; 328[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];86 -> 328[label="",style="solid", color="burlywood", weight=9]; 328 -> 106[label="",style="solid", color="burlywood", weight=3]; 87[label="primMinusNat (primPlusNat Zero vx300) vx500",fontsize=16,color="burlywood",shape="box"];329[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];87 -> 329[label="",style="solid", color="burlywood", weight=9]; 329 -> 107[label="",style="solid", color="burlywood", weight=3]; 330[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];87 -> 330[label="",style="solid", color="burlywood", weight=9]; 330 -> 108[label="",style="solid", color="burlywood", weight=3]; 88[label="primMinusNat (Succ vx5000) (primPlusNat vx400 vx300)",fontsize=16,color="burlywood",shape="box"];331[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];88 -> 331[label="",style="solid", color="burlywood", weight=9]; 331 -> 109[label="",style="solid", color="burlywood", weight=3]; 332[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];88 -> 332[label="",style="solid", color="burlywood", weight=9]; 332 -> 110[label="",style="solid", color="burlywood", weight=3]; 89[label="primMinusNat Zero (primPlusNat vx400 vx300)",fontsize=16,color="burlywood",shape="box"];333[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];89 -> 333[label="",style="solid", color="burlywood", weight=9]; 333 -> 111[label="",style="solid", color="burlywood", weight=3]; 334[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];89 -> 334[label="",style="solid", color="burlywood", weight=9]; 334 -> 112[label="",style="solid", color="burlywood", weight=3]; 90 -> 85[label="",style="dashed", color="red", weight=0]; 90[label="primPlusNat (primPlusNat vx400 vx300) vx500",fontsize=16,color="magenta"];90 -> 113[label="",style="dashed", color="magenta", weight=3]; 90 -> 114[label="",style="dashed", color="magenta", weight=3]; 90 -> 115[label="",style="dashed", color="magenta", weight=3]; 91 -> 237[label="",style="dashed", color="red", weight=0]; 91[label="primMulNat (primMulNat vx410 vx310) vx510",fontsize=16,color="magenta"];91 -> 238[label="",style="dashed", color="magenta", weight=3]; 92 -> 237[label="",style="dashed", color="red", weight=0]; 92[label="primMulNat (primMulNat vx410 vx310) vx510",fontsize=16,color="magenta"];92 -> 239[label="",style="dashed", color="magenta", weight=3]; 92 -> 240[label="",style="dashed", color="magenta", weight=3]; 93 -> 237[label="",style="dashed", color="red", weight=0]; 93[label="primMulNat (primMulNat vx410 vx310) vx510",fontsize=16,color="magenta"];93 -> 241[label="",style="dashed", color="magenta", weight=3]; 94 -> 237[label="",style="dashed", color="red", weight=0]; 94[label="primMulNat (primMulNat vx410 vx310) vx510",fontsize=16,color="magenta"];94 -> 242[label="",style="dashed", color="magenta", weight=3]; 94 -> 243[label="",style="dashed", color="magenta", weight=3]; 95[label="vx3000",fontsize=16,color="green",shape="box"];96[label="vx4000",fontsize=16,color="green",shape="box"];97[label="primPlusInt (Pos (Succ vx4000)) (Pos vx500)",fontsize=16,color="black",shape="box"];97 -> 122[label="",style="solid", color="black", weight=3]; 98[label="primPlusInt (Pos (Succ vx4000)) (Neg vx500)",fontsize=16,color="black",shape="box"];98 -> 123[label="",style="solid", color="black", weight=3]; 99[label="primPlusInt (Neg (Succ vx3000)) (Pos vx500)",fontsize=16,color="black",shape="box"];99 -> 124[label="",style="solid", color="black", weight=3]; 100[label="primPlusInt (Neg (Succ vx3000)) (Neg vx500)",fontsize=16,color="black",shape="box"];100 -> 125[label="",style="solid", color="black", weight=3]; 101[label="primPlusInt (Pos Zero) (Pos vx500)",fontsize=16,color="black",shape="box"];101 -> 126[label="",style="solid", color="black", weight=3]; 102[label="primPlusInt (Pos Zero) (Neg vx500)",fontsize=16,color="black",shape="box"];102 -> 127[label="",style="solid", color="black", weight=3]; 103[label="primPlusNat (primPlusNat (Succ vx4000) vx300) vx500",fontsize=16,color="burlywood",shape="box"];335[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];103 -> 335[label="",style="solid", color="burlywood", weight=9]; 335 -> 128[label="",style="solid", color="burlywood", weight=3]; 336[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];103 -> 336[label="",style="solid", color="burlywood", weight=9]; 336 -> 129[label="",style="solid", color="burlywood", weight=3]; 104[label="primPlusNat (primPlusNat Zero vx300) vx500",fontsize=16,color="burlywood",shape="box"];337[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];104 -> 337[label="",style="solid", color="burlywood", weight=9]; 337 -> 130[label="",style="solid", color="burlywood", weight=3]; 338[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];104 -> 338[label="",style="solid", color="burlywood", weight=9]; 338 -> 131[label="",style="solid", color="burlywood", weight=3]; 105[label="primMinusNat (primPlusNat (Succ vx4000) (Succ vx3000)) vx500",fontsize=16,color="black",shape="box"];105 -> 132[label="",style="solid", color="black", weight=3]; 106[label="primMinusNat (primPlusNat (Succ vx4000) Zero) vx500",fontsize=16,color="black",shape="box"];106 -> 133[label="",style="solid", color="black", weight=3]; 107[label="primMinusNat (primPlusNat Zero (Succ vx3000)) vx500",fontsize=16,color="black",shape="box"];107 -> 134[label="",style="solid", color="black", weight=3]; 108[label="primMinusNat (primPlusNat Zero Zero) vx500",fontsize=16,color="black",shape="box"];108 -> 135[label="",style="solid", color="black", weight=3]; 109[label="primMinusNat (Succ vx5000) (primPlusNat (Succ vx4000) vx300)",fontsize=16,color="burlywood",shape="box"];339[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];109 -> 339[label="",style="solid", color="burlywood", weight=9]; 339 -> 136[label="",style="solid", color="burlywood", weight=3]; 340[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];109 -> 340[label="",style="solid", color="burlywood", weight=9]; 340 -> 137[label="",style="solid", color="burlywood", weight=3]; 110[label="primMinusNat (Succ vx5000) (primPlusNat Zero vx300)",fontsize=16,color="burlywood",shape="box"];341[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];110 -> 341[label="",style="solid", color="burlywood", weight=9]; 341 -> 138[label="",style="solid", color="burlywood", weight=3]; 342[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];110 -> 342[label="",style="solid", color="burlywood", weight=9]; 342 -> 139[label="",style="solid", color="burlywood", weight=3]; 111[label="primMinusNat Zero (primPlusNat (Succ vx4000) vx300)",fontsize=16,color="burlywood",shape="box"];343[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];111 -> 343[label="",style="solid", color="burlywood", weight=9]; 343 -> 140[label="",style="solid", color="burlywood", weight=3]; 344[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];111 -> 344[label="",style="solid", color="burlywood", weight=9]; 344 -> 141[label="",style="solid", color="burlywood", weight=3]; 112[label="primMinusNat Zero (primPlusNat Zero vx300)",fontsize=16,color="burlywood",shape="box"];345[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];112 -> 345[label="",style="solid", color="burlywood", weight=9]; 345 -> 142[label="",style="solid", color="burlywood", weight=3]; 346[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];112 -> 346[label="",style="solid", color="burlywood", weight=9]; 346 -> 143[label="",style="solid", color="burlywood", weight=3]; 113[label="vx400",fontsize=16,color="green",shape="box"];114[label="vx300",fontsize=16,color="green",shape="box"];115[label="vx500",fontsize=16,color="green",shape="box"];238 -> 237[label="",style="dashed", color="red", weight=0]; 238[label="primMulNat vx410 vx310",fontsize=16,color="magenta"];238 -> 250[label="",style="dashed", color="magenta", weight=3]; 238 -> 251[label="",style="dashed", color="magenta", weight=3]; 237[label="primMulNat vx6 vx510",fontsize=16,color="burlywood",shape="triangle"];347[label="vx6/Succ vx60",fontsize=10,color="white",style="solid",shape="box"];237 -> 347[label="",style="solid", color="burlywood", weight=9]; 347 -> 252[label="",style="solid", color="burlywood", weight=3]; 348[label="vx6/Zero",fontsize=10,color="white",style="solid",shape="box"];237 -> 348[label="",style="solid", color="burlywood", weight=9]; 348 -> 253[label="",style="solid", color="burlywood", weight=3]; 239[label="vx510",fontsize=16,color="green",shape="box"];240 -> 237[label="",style="dashed", color="red", weight=0]; 240[label="primMulNat vx410 vx310",fontsize=16,color="magenta"];240 -> 254[label="",style="dashed", color="magenta", weight=3]; 240 -> 255[label="",style="dashed", color="magenta", weight=3]; 241 -> 237[label="",style="dashed", color="red", weight=0]; 241[label="primMulNat vx410 vx310",fontsize=16,color="magenta"];241 -> 256[label="",style="dashed", color="magenta", weight=3]; 241 -> 257[label="",style="dashed", color="magenta", weight=3]; 242[label="vx510",fontsize=16,color="green",shape="box"];243 -> 237[label="",style="dashed", color="red", weight=0]; 243[label="primMulNat vx410 vx310",fontsize=16,color="magenta"];243 -> 258[label="",style="dashed", color="magenta", weight=3]; 243 -> 259[label="",style="dashed", color="magenta", weight=3]; 122[label="Pos (primPlusNat (Succ vx4000) vx500)",fontsize=16,color="green",shape="box"];122 -> 148[label="",style="dashed", color="green", weight=3]; 123[label="primMinusNat (Succ vx4000) vx500",fontsize=16,color="burlywood",shape="triangle"];349[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];123 -> 349[label="",style="solid", color="burlywood", weight=9]; 349 -> 149[label="",style="solid", color="burlywood", weight=3]; 350[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];123 -> 350[label="",style="solid", color="burlywood", weight=9]; 350 -> 150[label="",style="solid", color="burlywood", weight=3]; 124[label="primMinusNat vx500 (Succ vx3000)",fontsize=16,color="burlywood",shape="triangle"];351[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];124 -> 351[label="",style="solid", color="burlywood", weight=9]; 351 -> 151[label="",style="solid", color="burlywood", weight=3]; 352[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];124 -> 352[label="",style="solid", color="burlywood", weight=9]; 352 -> 152[label="",style="solid", color="burlywood", weight=3]; 125[label="Neg (primPlusNat (Succ vx3000) vx500)",fontsize=16,color="green",shape="box"];125 -> 153[label="",style="dashed", color="green", weight=3]; 126[label="Pos (primPlusNat Zero vx500)",fontsize=16,color="green",shape="box"];126 -> 154[label="",style="dashed", color="green", weight=3]; 127[label="primMinusNat Zero vx500",fontsize=16,color="burlywood",shape="triangle"];353[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];127 -> 353[label="",style="solid", color="burlywood", weight=9]; 353 -> 155[label="",style="solid", color="burlywood", weight=3]; 354[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];127 -> 354[label="",style="solid", color="burlywood", weight=9]; 354 -> 156[label="",style="solid", color="burlywood", weight=3]; 128[label="primPlusNat (primPlusNat (Succ vx4000) (Succ vx3000)) vx500",fontsize=16,color="black",shape="box"];128 -> 157[label="",style="solid", color="black", weight=3]; 129[label="primPlusNat (primPlusNat (Succ vx4000) Zero) vx500",fontsize=16,color="black",shape="box"];129 -> 158[label="",style="solid", color="black", weight=3]; 130[label="primPlusNat (primPlusNat Zero (Succ vx3000)) vx500",fontsize=16,color="black",shape="box"];130 -> 159[label="",style="solid", color="black", weight=3]; 131[label="primPlusNat (primPlusNat Zero Zero) vx500",fontsize=16,color="black",shape="box"];131 -> 160[label="",style="solid", color="black", weight=3]; 132 -> 123[label="",style="dashed", color="red", weight=0]; 132[label="primMinusNat (Succ (Succ (primPlusNat vx4000 vx3000))) vx500",fontsize=16,color="magenta"];132 -> 161[label="",style="dashed", color="magenta", weight=3]; 133 -> 123[label="",style="dashed", color="red", weight=0]; 133[label="primMinusNat (Succ vx4000) vx500",fontsize=16,color="magenta"];134 -> 123[label="",style="dashed", color="red", weight=0]; 134[label="primMinusNat (Succ vx3000) vx500",fontsize=16,color="magenta"];134 -> 162[label="",style="dashed", color="magenta", weight=3]; 135 -> 127[label="",style="dashed", color="red", weight=0]; 135[label="primMinusNat Zero vx500",fontsize=16,color="magenta"];136[label="primMinusNat (Succ vx5000) (primPlusNat (Succ vx4000) (Succ vx3000))",fontsize=16,color="black",shape="box"];136 -> 163[label="",style="solid", color="black", weight=3]; 137[label="primMinusNat (Succ vx5000) (primPlusNat (Succ vx4000) Zero)",fontsize=16,color="black",shape="box"];137 -> 164[label="",style="solid", color="black", weight=3]; 138[label="primMinusNat (Succ vx5000) (primPlusNat Zero (Succ vx3000))",fontsize=16,color="black",shape="box"];138 -> 165[label="",style="solid", color="black", weight=3]; 139[label="primMinusNat (Succ vx5000) (primPlusNat Zero Zero)",fontsize=16,color="black",shape="box"];139 -> 166[label="",style="solid", color="black", weight=3]; 140[label="primMinusNat Zero (primPlusNat (Succ vx4000) (Succ vx3000))",fontsize=16,color="black",shape="box"];140 -> 167[label="",style="solid", color="black", weight=3]; 141[label="primMinusNat Zero (primPlusNat (Succ vx4000) Zero)",fontsize=16,color="black",shape="box"];141 -> 168[label="",style="solid", color="black", weight=3]; 142[label="primMinusNat Zero (primPlusNat Zero (Succ vx3000))",fontsize=16,color="black",shape="box"];142 -> 169[label="",style="solid", color="black", weight=3]; 143[label="primMinusNat Zero (primPlusNat Zero Zero)",fontsize=16,color="black",shape="box"];143 -> 170[label="",style="solid", color="black", weight=3]; 250[label="vx310",fontsize=16,color="green",shape="box"];251[label="vx410",fontsize=16,color="green",shape="box"];252[label="primMulNat (Succ vx60) vx510",fontsize=16,color="burlywood",shape="box"];355[label="vx510/Succ vx5100",fontsize=10,color="white",style="solid",shape="box"];252 -> 355[label="",style="solid", color="burlywood", weight=9]; 355 -> 269[label="",style="solid", color="burlywood", weight=3]; 356[label="vx510/Zero",fontsize=10,color="white",style="solid",shape="box"];252 -> 356[label="",style="solid", color="burlywood", weight=9]; 356 -> 270[label="",style="solid", color="burlywood", weight=3]; 253[label="primMulNat Zero vx510",fontsize=16,color="burlywood",shape="box"];357[label="vx510/Succ vx5100",fontsize=10,color="white",style="solid",shape="box"];253 -> 357[label="",style="solid", color="burlywood", weight=9]; 357 -> 271[label="",style="solid", color="burlywood", weight=3]; 358[label="vx510/Zero",fontsize=10,color="white",style="solid",shape="box"];253 -> 358[label="",style="solid", color="burlywood", weight=9]; 358 -> 272[label="",style="solid", color="burlywood", weight=3]; 254[label="vx310",fontsize=16,color="green",shape="box"];255[label="vx410",fontsize=16,color="green",shape="box"];256[label="vx310",fontsize=16,color="green",shape="box"];257[label="vx410",fontsize=16,color="green",shape="box"];258[label="vx310",fontsize=16,color="green",shape="box"];259[label="vx410",fontsize=16,color="green",shape="box"];148[label="primPlusNat (Succ vx4000) vx500",fontsize=16,color="burlywood",shape="triangle"];359[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];148 -> 359[label="",style="solid", color="burlywood", weight=9]; 359 -> 175[label="",style="solid", color="burlywood", weight=3]; 360[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];148 -> 360[label="",style="solid", color="burlywood", weight=9]; 360 -> 176[label="",style="solid", color="burlywood", weight=3]; 149[label="primMinusNat (Succ vx4000) (Succ vx5000)",fontsize=16,color="black",shape="box"];149 -> 177[label="",style="solid", color="black", weight=3]; 150[label="primMinusNat (Succ vx4000) Zero",fontsize=16,color="black",shape="box"];150 -> 178[label="",style="solid", color="black", weight=3]; 151[label="primMinusNat (Succ vx5000) (Succ vx3000)",fontsize=16,color="black",shape="box"];151 -> 179[label="",style="solid", color="black", weight=3]; 152[label="primMinusNat Zero (Succ vx3000)",fontsize=16,color="black",shape="box"];152 -> 180[label="",style="solid", color="black", weight=3]; 153 -> 148[label="",style="dashed", color="red", weight=0]; 153[label="primPlusNat (Succ vx3000) vx500",fontsize=16,color="magenta"];153 -> 181[label="",style="dashed", color="magenta", weight=3]; 153 -> 182[label="",style="dashed", color="magenta", weight=3]; 154[label="primPlusNat Zero vx500",fontsize=16,color="burlywood",shape="triangle"];361[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];154 -> 361[label="",style="solid", color="burlywood", weight=9]; 361 -> 183[label="",style="solid", color="burlywood", weight=3]; 362[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];154 -> 362[label="",style="solid", color="burlywood", weight=9]; 362 -> 184[label="",style="solid", color="burlywood", weight=3]; 155[label="primMinusNat Zero (Succ vx5000)",fontsize=16,color="black",shape="box"];155 -> 185[label="",style="solid", color="black", weight=3]; 156[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];156 -> 186[label="",style="solid", color="black", weight=3]; 157 -> 148[label="",style="dashed", color="red", weight=0]; 157[label="primPlusNat (Succ (Succ (primPlusNat vx4000 vx3000))) vx500",fontsize=16,color="magenta"];157 -> 187[label="",style="dashed", color="magenta", weight=3]; 158 -> 148[label="",style="dashed", color="red", weight=0]; 158[label="primPlusNat (Succ vx4000) vx500",fontsize=16,color="magenta"];159 -> 148[label="",style="dashed", color="red", weight=0]; 159[label="primPlusNat (Succ vx3000) vx500",fontsize=16,color="magenta"];159 -> 188[label="",style="dashed", color="magenta", weight=3]; 160 -> 154[label="",style="dashed", color="red", weight=0]; 160[label="primPlusNat Zero vx500",fontsize=16,color="magenta"];161[label="Succ (primPlusNat vx4000 vx3000)",fontsize=16,color="green",shape="box"];161 -> 189[label="",style="dashed", color="green", weight=3]; 162[label="vx3000",fontsize=16,color="green",shape="box"];163 -> 124[label="",style="dashed", color="red", weight=0]; 163[label="primMinusNat (Succ vx5000) (Succ (Succ (primPlusNat vx4000 vx3000)))",fontsize=16,color="magenta"];163 -> 190[label="",style="dashed", color="magenta", weight=3]; 163 -> 191[label="",style="dashed", color="magenta", weight=3]; 164 -> 124[label="",style="dashed", color="red", weight=0]; 164[label="primMinusNat (Succ vx5000) (Succ vx4000)",fontsize=16,color="magenta"];164 -> 192[label="",style="dashed", color="magenta", weight=3]; 164 -> 193[label="",style="dashed", color="magenta", weight=3]; 165 -> 124[label="",style="dashed", color="red", weight=0]; 165[label="primMinusNat (Succ vx5000) (Succ vx3000)",fontsize=16,color="magenta"];165 -> 194[label="",style="dashed", color="magenta", weight=3]; 166 -> 123[label="",style="dashed", color="red", weight=0]; 166[label="primMinusNat (Succ vx5000) Zero",fontsize=16,color="magenta"];166 -> 195[label="",style="dashed", color="magenta", weight=3]; 166 -> 196[label="",style="dashed", color="magenta", weight=3]; 167 -> 124[label="",style="dashed", color="red", weight=0]; 167[label="primMinusNat Zero (Succ (Succ (primPlusNat vx4000 vx3000)))",fontsize=16,color="magenta"];167 -> 197[label="",style="dashed", color="magenta", weight=3]; 167 -> 198[label="",style="dashed", color="magenta", weight=3]; 168 -> 124[label="",style="dashed", color="red", weight=0]; 168[label="primMinusNat Zero (Succ vx4000)",fontsize=16,color="magenta"];168 -> 199[label="",style="dashed", color="magenta", weight=3]; 168 -> 200[label="",style="dashed", color="magenta", weight=3]; 169 -> 124[label="",style="dashed", color="red", weight=0]; 169[label="primMinusNat Zero (Succ vx3000)",fontsize=16,color="magenta"];169 -> 201[label="",style="dashed", color="magenta", weight=3]; 170 -> 127[label="",style="dashed", color="red", weight=0]; 170[label="primMinusNat Zero Zero",fontsize=16,color="magenta"];170 -> 202[label="",style="dashed", color="magenta", weight=3]; 269[label="primMulNat (Succ vx60) (Succ vx5100)",fontsize=16,color="black",shape="box"];269 -> 276[label="",style="solid", color="black", weight=3]; 270[label="primMulNat (Succ vx60) Zero",fontsize=16,color="black",shape="box"];270 -> 277[label="",style="solid", color="black", weight=3]; 271[label="primMulNat Zero (Succ vx5100)",fontsize=16,color="black",shape="box"];271 -> 278[label="",style="solid", color="black", weight=3]; 272[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];272 -> 279[label="",style="solid", color="black", weight=3]; 175[label="primPlusNat (Succ vx4000) (Succ vx5000)",fontsize=16,color="black",shape="box"];175 -> 207[label="",style="solid", color="black", weight=3]; 176[label="primPlusNat (Succ vx4000) Zero",fontsize=16,color="black",shape="box"];176 -> 208[label="",style="solid", color="black", weight=3]; 177[label="primMinusNat vx4000 vx5000",fontsize=16,color="burlywood",shape="triangle"];363[label="vx4000/Succ vx40000",fontsize=10,color="white",style="solid",shape="box"];177 -> 363[label="",style="solid", color="burlywood", weight=9]; 363 -> 209[label="",style="solid", color="burlywood", weight=3]; 364[label="vx4000/Zero",fontsize=10,color="white",style="solid",shape="box"];177 -> 364[label="",style="solid", color="burlywood", weight=9]; 364 -> 210[label="",style="solid", color="burlywood", weight=3]; 178[label="Pos (Succ vx4000)",fontsize=16,color="green",shape="box"];179 -> 177[label="",style="dashed", color="red", weight=0]; 179[label="primMinusNat vx5000 vx3000",fontsize=16,color="magenta"];179 -> 211[label="",style="dashed", color="magenta", weight=3]; 179 -> 212[label="",style="dashed", color="magenta", weight=3]; 180[label="Neg (Succ vx3000)",fontsize=16,color="green",shape="box"];181[label="vx3000",fontsize=16,color="green",shape="box"];182[label="vx500",fontsize=16,color="green",shape="box"];183[label="primPlusNat Zero (Succ vx5000)",fontsize=16,color="black",shape="box"];183 -> 213[label="",style="solid", color="black", weight=3]; 184[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];184 -> 214[label="",style="solid", color="black", weight=3]; 185[label="Neg (Succ vx5000)",fontsize=16,color="green",shape="box"];186[label="Pos Zero",fontsize=16,color="green",shape="box"];187[label="Succ (primPlusNat vx4000 vx3000)",fontsize=16,color="green",shape="box"];187 -> 215[label="",style="dashed", color="green", weight=3]; 188[label="vx3000",fontsize=16,color="green",shape="box"];189[label="primPlusNat vx4000 vx3000",fontsize=16,color="burlywood",shape="triangle"];365[label="vx4000/Succ vx40000",fontsize=10,color="white",style="solid",shape="box"];189 -> 365[label="",style="solid", color="burlywood", weight=9]; 365 -> 216[label="",style="solid", color="burlywood", weight=3]; 366[label="vx4000/Zero",fontsize=10,color="white",style="solid",shape="box"];189 -> 366[label="",style="solid", color="burlywood", weight=9]; 366 -> 217[label="",style="solid", color="burlywood", weight=3]; 190[label="Succ vx5000",fontsize=16,color="green",shape="box"];191[label="Succ (primPlusNat vx4000 vx3000)",fontsize=16,color="green",shape="box"];191 -> 218[label="",style="dashed", color="green", weight=3]; 192[label="Succ vx5000",fontsize=16,color="green",shape="box"];193[label="vx4000",fontsize=16,color="green",shape="box"];194[label="Succ vx5000",fontsize=16,color="green",shape="box"];195[label="Zero",fontsize=16,color="green",shape="box"];196[label="vx5000",fontsize=16,color="green",shape="box"];197[label="Zero",fontsize=16,color="green",shape="box"];198[label="Succ (primPlusNat vx4000 vx3000)",fontsize=16,color="green",shape="box"];198 -> 219[label="",style="dashed", color="green", weight=3]; 199[label="Zero",fontsize=16,color="green",shape="box"];200[label="vx4000",fontsize=16,color="green",shape="box"];201[label="Zero",fontsize=16,color="green",shape="box"];202[label="Zero",fontsize=16,color="green",shape="box"];276 -> 189[label="",style="dashed", color="red", weight=0]; 276[label="primPlusNat (primMulNat vx60 (Succ vx5100)) (Succ vx5100)",fontsize=16,color="magenta"];276 -> 282[label="",style="dashed", color="magenta", weight=3]; 276 -> 283[label="",style="dashed", color="magenta", weight=3]; 277[label="Zero",fontsize=16,color="green",shape="box"];278[label="Zero",fontsize=16,color="green",shape="box"];279[label="Zero",fontsize=16,color="green",shape="box"];207[label="Succ (Succ (primPlusNat vx4000 vx5000))",fontsize=16,color="green",shape="box"];207 -> 224[label="",style="dashed", color="green", weight=3]; 208[label="Succ vx4000",fontsize=16,color="green",shape="box"];209[label="primMinusNat (Succ vx40000) vx5000",fontsize=16,color="burlywood",shape="box"];367[label="vx5000/Succ vx50000",fontsize=10,color="white",style="solid",shape="box"];209 -> 367[label="",style="solid", color="burlywood", weight=9]; 367 -> 225[label="",style="solid", color="burlywood", weight=3]; 368[label="vx5000/Zero",fontsize=10,color="white",style="solid",shape="box"];209 -> 368[label="",style="solid", color="burlywood", weight=9]; 368 -> 226[label="",style="solid", color="burlywood", weight=3]; 210[label="primMinusNat Zero vx5000",fontsize=16,color="burlywood",shape="box"];369[label="vx5000/Succ vx50000",fontsize=10,color="white",style="solid",shape="box"];210 -> 369[label="",style="solid", color="burlywood", weight=9]; 369 -> 227[label="",style="solid", color="burlywood", weight=3]; 370[label="vx5000/Zero",fontsize=10,color="white",style="solid",shape="box"];210 -> 370[label="",style="solid", color="burlywood", weight=9]; 370 -> 228[label="",style="solid", color="burlywood", weight=3]; 211[label="vx3000",fontsize=16,color="green",shape="box"];212[label="vx5000",fontsize=16,color="green",shape="box"];213[label="Succ vx5000",fontsize=16,color="green",shape="box"];214[label="Zero",fontsize=16,color="green",shape="box"];215 -> 189[label="",style="dashed", color="red", weight=0]; 215[label="primPlusNat vx4000 vx3000",fontsize=16,color="magenta"];216[label="primPlusNat (Succ vx40000) vx3000",fontsize=16,color="burlywood",shape="box"];371[label="vx3000/Succ vx30000",fontsize=10,color="white",style="solid",shape="box"];216 -> 371[label="",style="solid", color="burlywood", weight=9]; 371 -> 229[label="",style="solid", color="burlywood", weight=3]; 372[label="vx3000/Zero",fontsize=10,color="white",style="solid",shape="box"];216 -> 372[label="",style="solid", color="burlywood", weight=9]; 372 -> 230[label="",style="solid", color="burlywood", weight=3]; 217[label="primPlusNat Zero vx3000",fontsize=16,color="burlywood",shape="box"];373[label="vx3000/Succ vx30000",fontsize=10,color="white",style="solid",shape="box"];217 -> 373[label="",style="solid", color="burlywood", weight=9]; 373 -> 231[label="",style="solid", color="burlywood", weight=3]; 374[label="vx3000/Zero",fontsize=10,color="white",style="solid",shape="box"];217 -> 374[label="",style="solid", color="burlywood", weight=9]; 374 -> 232[label="",style="solid", color="burlywood", weight=3]; 218 -> 189[label="",style="dashed", color="red", weight=0]; 218[label="primPlusNat vx4000 vx3000",fontsize=16,color="magenta"];218 -> 233[label="",style="dashed", color="magenta", weight=3]; 218 -> 234[label="",style="dashed", color="magenta", weight=3]; 219 -> 189[label="",style="dashed", color="red", weight=0]; 219[label="primPlusNat vx4000 vx3000",fontsize=16,color="magenta"];219 -> 235[label="",style="dashed", color="magenta", weight=3]; 219 -> 236[label="",style="dashed", color="magenta", weight=3]; 282 -> 237[label="",style="dashed", color="red", weight=0]; 282[label="primMulNat vx60 (Succ vx5100)",fontsize=16,color="magenta"];282 -> 284[label="",style="dashed", color="magenta", weight=3]; 282 -> 285[label="",style="dashed", color="magenta", weight=3]; 283[label="Succ vx5100",fontsize=16,color="green",shape="box"];224 -> 189[label="",style="dashed", color="red", weight=0]; 224[label="primPlusNat vx4000 vx5000",fontsize=16,color="magenta"];224 -> 260[label="",style="dashed", color="magenta", weight=3]; 225[label="primMinusNat (Succ vx40000) (Succ vx50000)",fontsize=16,color="black",shape="box"];225 -> 261[label="",style="solid", color="black", weight=3]; 226[label="primMinusNat (Succ vx40000) Zero",fontsize=16,color="black",shape="box"];226 -> 262[label="",style="solid", color="black", weight=3]; 227[label="primMinusNat Zero (Succ vx50000)",fontsize=16,color="black",shape="box"];227 -> 263[label="",style="solid", color="black", weight=3]; 228[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];228 -> 264[label="",style="solid", color="black", weight=3]; 229[label="primPlusNat (Succ vx40000) (Succ vx30000)",fontsize=16,color="black",shape="box"];229 -> 265[label="",style="solid", color="black", weight=3]; 230[label="primPlusNat (Succ vx40000) Zero",fontsize=16,color="black",shape="box"];230 -> 266[label="",style="solid", color="black", weight=3]; 231[label="primPlusNat Zero (Succ vx30000)",fontsize=16,color="black",shape="box"];231 -> 267[label="",style="solid", color="black", weight=3]; 232[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];232 -> 268[label="",style="solid", color="black", weight=3]; 233[label="vx4000",fontsize=16,color="green",shape="box"];234[label="vx3000",fontsize=16,color="green",shape="box"];235[label="vx4000",fontsize=16,color="green",shape="box"];236[label="vx3000",fontsize=16,color="green",shape="box"];284[label="Succ vx5100",fontsize=16,color="green",shape="box"];285[label="vx60",fontsize=16,color="green",shape="box"];260[label="vx5000",fontsize=16,color="green",shape="box"];261 -> 177[label="",style="dashed", color="red", weight=0]; 261[label="primMinusNat vx40000 vx50000",fontsize=16,color="magenta"];261 -> 273[label="",style="dashed", color="magenta", weight=3]; 261 -> 274[label="",style="dashed", color="magenta", weight=3]; 262[label="Pos (Succ vx40000)",fontsize=16,color="green",shape="box"];263[label="Neg (Succ vx50000)",fontsize=16,color="green",shape="box"];264[label="Pos Zero",fontsize=16,color="green",shape="box"];265[label="Succ (Succ (primPlusNat vx40000 vx30000))",fontsize=16,color="green",shape="box"];265 -> 275[label="",style="dashed", color="green", weight=3]; 266[label="Succ vx40000",fontsize=16,color="green",shape="box"];267[label="Succ vx30000",fontsize=16,color="green",shape="box"];268[label="Zero",fontsize=16,color="green",shape="box"];273[label="vx50000",fontsize=16,color="green",shape="box"];274[label="vx40000",fontsize=16,color="green",shape="box"];275 -> 189[label="",style="dashed", color="red", weight=0]; 275[label="primPlusNat vx40000 vx30000",fontsize=16,color="magenta"];275 -> 280[label="",style="dashed", color="magenta", weight=3]; 275 -> 281[label="",style="dashed", color="magenta", weight=3]; 280[label="vx40000",fontsize=16,color="green",shape="box"];281[label="vx30000",fontsize=16,color="green",shape="box"];} ---------------------------------------- (25) TRUE