8.13/3.63 YES 10.06/4.18 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 10.06/4.18 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 10.06/4.18 10.06/4.18 10.06/4.18 H-Termination with start terms of the given HASKELL could be proven: 10.06/4.18 10.06/4.18 (0) HASKELL 10.06/4.18 (1) BR [EQUIVALENT, 0 ms] 10.06/4.18 (2) HASKELL 10.06/4.18 (3) COR [EQUIVALENT, 0 ms] 10.06/4.18 (4) HASKELL 10.06/4.18 (5) Narrow [SOUND, 0 ms] 10.06/4.18 (6) AND 10.06/4.18 (7) QDP 10.06/4.18 (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] 10.06/4.18 (9) YES 10.06/4.18 (10) QDP 10.06/4.18 (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] 10.06/4.18 (12) YES 10.06/4.18 (13) QDP 10.06/4.18 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 10.06/4.18 (15) YES 10.06/4.18 10.06/4.18 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (0) 10.06/4.18 Obligation: 10.06/4.18 mainModule Main 10.06/4.18 module Main where { 10.06/4.18 import qualified Prelude; 10.06/4.18 data Float = Float MyInt MyInt ; 10.06/4.18 10.06/4.18 data MyBool = MyTrue | MyFalse ; 10.06/4.18 10.06/4.18 data MyInt = Pos Main.Nat | Neg Main.Nat ; 10.06/4.18 10.06/4.18 data Main.Nat = Succ Main.Nat | Zero ; 10.06/4.18 10.06/4.18 esEsFloat :: Float -> Float -> MyBool; 10.06/4.18 esEsFloat = primEqFloat; 10.06/4.18 10.06/4.18 esEsMyInt :: MyInt -> MyInt -> MyBool; 10.06/4.18 esEsMyInt = primEqInt; 10.06/4.18 10.06/4.18 fsEsFloat :: Float -> Float -> MyBool; 10.06/4.18 fsEsFloat x y = not (esEsFloat x y); 10.06/4.18 10.06/4.18 not :: MyBool -> MyBool; 10.06/4.18 not MyTrue = MyFalse; 10.06/4.18 not MyFalse = MyTrue; 10.06/4.18 10.06/4.18 primEqFloat :: Float -> Float -> MyBool; 10.06/4.18 primEqFloat (Float x1 x2) (Float y1 y2) = esEsMyInt (srMyInt x1 y1) (srMyInt x2 y2); 10.06/4.18 10.06/4.18 primEqInt :: MyInt -> MyInt -> MyBool; 10.06/4.18 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 10.06/4.18 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 10.06/4.18 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 10.06/4.18 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 10.06/4.18 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 10.06/4.18 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 10.06/4.18 primEqInt vv vw = MyFalse; 10.06/4.18 10.06/4.18 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 10.06/4.18 primEqNat Main.Zero Main.Zero = MyTrue; 10.06/4.18 primEqNat Main.Zero (Main.Succ y) = MyFalse; 10.06/4.18 primEqNat (Main.Succ x) Main.Zero = MyFalse; 10.06/4.18 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 10.06/4.18 10.06/4.18 primMulInt :: MyInt -> MyInt -> MyInt; 10.06/4.18 primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); 10.06/4.18 primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); 10.06/4.18 primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); 10.06/4.18 primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); 10.06/4.18 10.06/4.18 primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; 10.06/4.18 primMulNat Main.Zero Main.Zero = Main.Zero; 10.06/4.18 primMulNat Main.Zero (Main.Succ y) = Main.Zero; 10.06/4.18 primMulNat (Main.Succ x) Main.Zero = Main.Zero; 10.06/4.18 primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); 10.06/4.18 10.06/4.18 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 10.06/4.18 primPlusNat Main.Zero Main.Zero = Main.Zero; 10.06/4.18 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 10.06/4.18 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 10.06/4.18 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 10.06/4.18 10.06/4.18 srMyInt :: MyInt -> MyInt -> MyInt; 10.06/4.18 srMyInt = primMulInt; 10.06/4.18 10.06/4.18 } 10.06/4.18 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (1) BR (EQUIVALENT) 10.06/4.18 Replaced joker patterns by fresh variables and removed binding patterns. 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (2) 10.06/4.18 Obligation: 10.06/4.18 mainModule Main 10.06/4.18 module Main where { 10.06/4.18 import qualified Prelude; 10.06/4.18 data Float = Float MyInt MyInt ; 10.06/4.18 10.06/4.18 data MyBool = MyTrue | MyFalse ; 10.06/4.18 10.06/4.18 data MyInt = Pos Main.Nat | Neg Main.Nat ; 10.06/4.18 10.06/4.18 data Main.Nat = Succ Main.Nat | Zero ; 10.06/4.18 10.06/4.18 esEsFloat :: Float -> Float -> MyBool; 10.06/4.18 esEsFloat = primEqFloat; 10.06/4.18 10.06/4.18 esEsMyInt :: MyInt -> MyInt -> MyBool; 10.06/4.18 esEsMyInt = primEqInt; 10.06/4.18 10.06/4.18 fsEsFloat :: Float -> Float -> MyBool; 10.06/4.18 fsEsFloat x y = not (esEsFloat x y); 10.06/4.18 10.06/4.18 not :: MyBool -> MyBool; 10.06/4.18 not MyTrue = MyFalse; 10.06/4.18 not MyFalse = MyTrue; 10.06/4.18 10.06/4.18 primEqFloat :: Float -> Float -> MyBool; 10.06/4.18 primEqFloat (Float x1 x2) (Float y1 y2) = esEsMyInt (srMyInt x1 y1) (srMyInt x2 y2); 10.06/4.18 10.06/4.18 primEqInt :: MyInt -> MyInt -> MyBool; 10.06/4.18 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 10.06/4.18 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 10.06/4.18 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 10.06/4.18 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 10.06/4.18 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 10.06/4.18 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 10.06/4.18 primEqInt vv vw = MyFalse; 10.06/4.18 10.06/4.18 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 10.06/4.18 primEqNat Main.Zero Main.Zero = MyTrue; 10.06/4.18 primEqNat Main.Zero (Main.Succ y) = MyFalse; 10.06/4.18 primEqNat (Main.Succ x) Main.Zero = MyFalse; 10.06/4.18 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 10.06/4.18 10.06/4.18 primMulInt :: MyInt -> MyInt -> MyInt; 10.06/4.18 primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); 10.06/4.18 primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); 10.06/4.18 primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); 10.06/4.18 primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); 10.06/4.18 10.06/4.18 primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; 10.06/4.18 primMulNat Main.Zero Main.Zero = Main.Zero; 10.06/4.18 primMulNat Main.Zero (Main.Succ y) = Main.Zero; 10.06/4.18 primMulNat (Main.Succ x) Main.Zero = Main.Zero; 10.06/4.18 primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); 10.06/4.18 10.06/4.18 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 10.06/4.18 primPlusNat Main.Zero Main.Zero = Main.Zero; 10.06/4.18 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 10.06/4.18 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 10.06/4.18 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 10.06/4.18 10.06/4.18 srMyInt :: MyInt -> MyInt -> MyInt; 10.06/4.18 srMyInt = primMulInt; 10.06/4.18 10.06/4.18 } 10.06/4.18 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (3) COR (EQUIVALENT) 10.06/4.18 Cond Reductions: 10.06/4.18 The following Function with conditions 10.06/4.18 "undefined |Falseundefined; 10.06/4.18 " 10.06/4.18 is transformed to 10.06/4.18 "undefined = undefined1; 10.06/4.18 " 10.06/4.18 "undefined0 True = undefined; 10.06/4.18 " 10.06/4.18 "undefined1 = undefined0 False; 10.06/4.18 " 10.06/4.18 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (4) 10.06/4.18 Obligation: 10.06/4.18 mainModule Main 10.06/4.18 module Main where { 10.06/4.18 import qualified Prelude; 10.06/4.18 data Float = Float MyInt MyInt ; 10.06/4.18 10.06/4.18 data MyBool = MyTrue | MyFalse ; 10.06/4.18 10.06/4.18 data MyInt = Pos Main.Nat | Neg Main.Nat ; 10.06/4.18 10.06/4.18 data Main.Nat = Succ Main.Nat | Zero ; 10.06/4.18 10.06/4.18 esEsFloat :: Float -> Float -> MyBool; 10.06/4.18 esEsFloat = primEqFloat; 10.06/4.18 10.06/4.18 esEsMyInt :: MyInt -> MyInt -> MyBool; 10.06/4.18 esEsMyInt = primEqInt; 10.06/4.18 10.06/4.18 fsEsFloat :: Float -> Float -> MyBool; 10.06/4.18 fsEsFloat x y = not (esEsFloat x y); 10.06/4.18 10.06/4.18 not :: MyBool -> MyBool; 10.06/4.18 not MyTrue = MyFalse; 10.06/4.18 not MyFalse = MyTrue; 10.06/4.18 10.06/4.18 primEqFloat :: Float -> Float -> MyBool; 10.06/4.18 primEqFloat (Float x1 x2) (Float y1 y2) = esEsMyInt (srMyInt x1 y1) (srMyInt x2 y2); 10.06/4.18 10.06/4.18 primEqInt :: MyInt -> MyInt -> MyBool; 10.06/4.18 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 10.06/4.18 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 10.06/4.18 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 10.06/4.18 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 10.06/4.18 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 10.06/4.18 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 10.06/4.18 primEqInt vv vw = MyFalse; 10.06/4.18 10.06/4.18 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 10.06/4.18 primEqNat Main.Zero Main.Zero = MyTrue; 10.06/4.18 primEqNat Main.Zero (Main.Succ y) = MyFalse; 10.06/4.18 primEqNat (Main.Succ x) Main.Zero = MyFalse; 10.06/4.18 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 10.06/4.18 10.06/4.18 primMulInt :: MyInt -> MyInt -> MyInt; 10.06/4.18 primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); 10.06/4.18 primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); 10.06/4.18 primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); 10.06/4.18 primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); 10.06/4.18 10.06/4.18 primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; 10.06/4.18 primMulNat Main.Zero Main.Zero = Main.Zero; 10.06/4.18 primMulNat Main.Zero (Main.Succ y) = Main.Zero; 10.06/4.18 primMulNat (Main.Succ x) Main.Zero = Main.Zero; 10.06/4.18 primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); 10.06/4.18 10.06/4.18 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 10.06/4.18 primPlusNat Main.Zero Main.Zero = Main.Zero; 10.06/4.18 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 10.06/4.18 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 10.06/4.18 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 10.06/4.18 10.06/4.18 srMyInt :: MyInt -> MyInt -> MyInt; 10.06/4.18 srMyInt = primMulInt; 10.06/4.18 10.06/4.18 } 10.06/4.18 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (5) Narrow (SOUND) 10.06/4.18 Haskell To QDPs 10.06/4.18 10.06/4.18 digraph dp_graph { 10.06/4.18 node [outthreshold=100, inthreshold=100];1[label="fsEsFloat",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 10.06/4.18 3[label="fsEsFloat vz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 10.06/4.18 4[label="fsEsFloat vz3 vz4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 10.06/4.18 5[label="not (esEsFloat vz3 vz4)",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 10.06/4.18 6[label="not (primEqFloat vz3 vz4)",fontsize=16,color="burlywood",shape="box"];510[label="vz3/Float vz30 vz31",fontsize=10,color="white",style="solid",shape="box"];6 -> 510[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 510 -> 7[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 7[label="not (primEqFloat (Float vz30 vz31) vz4)",fontsize=16,color="burlywood",shape="box"];511[label="vz4/Float vz40 vz41",fontsize=10,color="white",style="solid",shape="box"];7 -> 511[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 511 -> 8[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 8[label="not (primEqFloat (Float vz30 vz31) (Float vz40 vz41))",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 10.06/4.18 9[label="not (esEsMyInt (srMyInt vz30 vz40) (srMyInt vz31 vz41))",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 10.06/4.18 10[label="not (primEqInt (srMyInt vz30 vz40) (srMyInt vz31 vz41))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 10.06/4.18 11[label="not (primEqInt (primMulInt vz30 vz40) (srMyInt vz31 vz41))",fontsize=16,color="burlywood",shape="box"];512[label="vz30/Pos vz300",fontsize=10,color="white",style="solid",shape="box"];11 -> 512[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 512 -> 12[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 513[label="vz30/Neg vz300",fontsize=10,color="white",style="solid",shape="box"];11 -> 513[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 513 -> 13[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 12[label="not (primEqInt (primMulInt (Pos vz300) vz40) (srMyInt vz31 vz41))",fontsize=16,color="burlywood",shape="box"];514[label="vz40/Pos vz400",fontsize=10,color="white",style="solid",shape="box"];12 -> 514[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 514 -> 14[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 515[label="vz40/Neg vz400",fontsize=10,color="white",style="solid",shape="box"];12 -> 515[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 515 -> 15[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 13[label="not (primEqInt (primMulInt (Neg vz300) vz40) (srMyInt vz31 vz41))",fontsize=16,color="burlywood",shape="box"];516[label="vz40/Pos vz400",fontsize=10,color="white",style="solid",shape="box"];13 -> 516[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 516 -> 16[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 517[label="vz40/Neg vz400",fontsize=10,color="white",style="solid",shape="box"];13 -> 517[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 517 -> 17[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 14[label="not (primEqInt (primMulInt (Pos vz300) (Pos vz400)) (srMyInt vz31 vz41))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 10.06/4.18 15[label="not (primEqInt (primMulInt (Pos vz300) (Neg vz400)) (srMyInt vz31 vz41))",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 10.06/4.18 16[label="not (primEqInt (primMulInt (Neg vz300) (Pos vz400)) (srMyInt vz31 vz41))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 10.06/4.18 17[label="not (primEqInt (primMulInt (Neg vz300) (Neg vz400)) (srMyInt vz31 vz41))",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 10.06/4.18 18 -> 273[label="",style="dashed", color="red", weight=0]; 10.06/4.18 18[label="not (primEqInt (Pos (primMulNat vz300 vz400)) (srMyInt vz31 vz41))",fontsize=16,color="magenta"];18 -> 274[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 19 -> 349[label="",style="dashed", color="red", weight=0]; 10.06/4.18 19[label="not (primEqInt (Neg (primMulNat vz300 vz400)) (srMyInt vz31 vz41))",fontsize=16,color="magenta"];19 -> 350[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 20 -> 349[label="",style="dashed", color="red", weight=0]; 10.06/4.18 20[label="not (primEqInt (Neg (primMulNat vz300 vz400)) (srMyInt vz31 vz41))",fontsize=16,color="magenta"];20 -> 351[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 21 -> 273[label="",style="dashed", color="red", weight=0]; 10.06/4.18 21[label="not (primEqInt (Pos (primMulNat vz300 vz400)) (srMyInt vz31 vz41))",fontsize=16,color="magenta"];21 -> 275[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 274[label="primMulNat vz300 vz400",fontsize=16,color="burlywood",shape="triangle"];518[label="vz300/Succ vz3000",fontsize=10,color="white",style="solid",shape="box"];274 -> 518[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 518 -> 286[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 519[label="vz300/Zero",fontsize=10,color="white",style="solid",shape="box"];274 -> 519[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 519 -> 287[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 273[label="not (primEqInt (Pos vz10) (srMyInt vz31 vz41))",fontsize=16,color="burlywood",shape="triangle"];520[label="vz10/Succ vz100",fontsize=10,color="white",style="solid",shape="box"];273 -> 520[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 520 -> 288[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 521[label="vz10/Zero",fontsize=10,color="white",style="solid",shape="box"];273 -> 521[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 521 -> 289[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 350 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 350[label="primMulNat vz300 vz400",fontsize=16,color="magenta"];350 -> 362[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 349[label="not (primEqInt (Neg vz15) (srMyInt vz31 vz41))",fontsize=16,color="burlywood",shape="triangle"];522[label="vz15/Succ vz150",fontsize=10,color="white",style="solid",shape="box"];349 -> 522[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 522 -> 363[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 523[label="vz15/Zero",fontsize=10,color="white",style="solid",shape="box"];349 -> 523[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 523 -> 364[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 351 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 351[label="primMulNat vz300 vz400",fontsize=16,color="magenta"];351 -> 365[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 275 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 275[label="primMulNat vz300 vz400",fontsize=16,color="magenta"];275 -> 290[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 275 -> 291[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 286[label="primMulNat (Succ vz3000) vz400",fontsize=16,color="burlywood",shape="box"];524[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];286 -> 524[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 524 -> 306[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 525[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];286 -> 525[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 525 -> 307[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 287[label="primMulNat Zero vz400",fontsize=16,color="burlywood",shape="box"];526[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];287 -> 526[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 526 -> 308[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 527[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];287 -> 527[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 527 -> 309[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 288[label="not (primEqInt (Pos (Succ vz100)) (srMyInt vz31 vz41))",fontsize=16,color="black",shape="box"];288 -> 310[label="",style="solid", color="black", weight=3]; 10.06/4.18 289[label="not (primEqInt (Pos Zero) (srMyInt vz31 vz41))",fontsize=16,color="black",shape="box"];289 -> 311[label="",style="solid", color="black", weight=3]; 10.06/4.18 362[label="vz400",fontsize=16,color="green",shape="box"];363[label="not (primEqInt (Neg (Succ vz150)) (srMyInt vz31 vz41))",fontsize=16,color="black",shape="box"];363 -> 376[label="",style="solid", color="black", weight=3]; 10.06/4.18 364[label="not (primEqInt (Neg Zero) (srMyInt vz31 vz41))",fontsize=16,color="black",shape="box"];364 -> 377[label="",style="solid", color="black", weight=3]; 10.06/4.18 365[label="vz300",fontsize=16,color="green",shape="box"];290[label="vz300",fontsize=16,color="green",shape="box"];291[label="vz400",fontsize=16,color="green",shape="box"];306[label="primMulNat (Succ vz3000) (Succ vz4000)",fontsize=16,color="black",shape="box"];306 -> 322[label="",style="solid", color="black", weight=3]; 10.06/4.18 307[label="primMulNat (Succ vz3000) Zero",fontsize=16,color="black",shape="box"];307 -> 323[label="",style="solid", color="black", weight=3]; 10.06/4.18 308[label="primMulNat Zero (Succ vz4000)",fontsize=16,color="black",shape="box"];308 -> 324[label="",style="solid", color="black", weight=3]; 10.06/4.18 309[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];309 -> 325[label="",style="solid", color="black", weight=3]; 10.06/4.18 310[label="not (primEqInt (Pos (Succ vz100)) (primMulInt vz31 vz41))",fontsize=16,color="burlywood",shape="box"];528[label="vz31/Pos vz310",fontsize=10,color="white",style="solid",shape="box"];310 -> 528[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 528 -> 326[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 529[label="vz31/Neg vz310",fontsize=10,color="white",style="solid",shape="box"];310 -> 529[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 529 -> 327[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 311[label="not (primEqInt (Pos Zero) (primMulInt vz31 vz41))",fontsize=16,color="burlywood",shape="box"];530[label="vz31/Pos vz310",fontsize=10,color="white",style="solid",shape="box"];311 -> 530[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 530 -> 328[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 531[label="vz31/Neg vz310",fontsize=10,color="white",style="solid",shape="box"];311 -> 531[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 531 -> 329[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 376[label="not (primEqInt (Neg (Succ vz150)) (primMulInt vz31 vz41))",fontsize=16,color="burlywood",shape="box"];532[label="vz31/Pos vz310",fontsize=10,color="white",style="solid",shape="box"];376 -> 532[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 532 -> 381[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 533[label="vz31/Neg vz310",fontsize=10,color="white",style="solid",shape="box"];376 -> 533[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 533 -> 382[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 377[label="not (primEqInt (Neg Zero) (primMulInt vz31 vz41))",fontsize=16,color="burlywood",shape="box"];534[label="vz31/Pos vz310",fontsize=10,color="white",style="solid",shape="box"];377 -> 534[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 534 -> 383[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 535[label="vz31/Neg vz310",fontsize=10,color="white",style="solid",shape="box"];377 -> 535[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 535 -> 384[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 322 -> 335[label="",style="dashed", color="red", weight=0]; 10.06/4.18 322[label="primPlusNat (primMulNat vz3000 (Succ vz4000)) (Succ vz4000)",fontsize=16,color="magenta"];322 -> 336[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 323[label="Zero",fontsize=16,color="green",shape="box"];324[label="Zero",fontsize=16,color="green",shape="box"];325[label="Zero",fontsize=16,color="green",shape="box"];326[label="not (primEqInt (Pos (Succ vz100)) (primMulInt (Pos vz310) vz41))",fontsize=16,color="burlywood",shape="box"];536[label="vz41/Pos vz410",fontsize=10,color="white",style="solid",shape="box"];326 -> 536[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 536 -> 337[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 537[label="vz41/Neg vz410",fontsize=10,color="white",style="solid",shape="box"];326 -> 537[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 537 -> 338[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 327[label="not (primEqInt (Pos (Succ vz100)) (primMulInt (Neg vz310) vz41))",fontsize=16,color="burlywood",shape="box"];538[label="vz41/Pos vz410",fontsize=10,color="white",style="solid",shape="box"];327 -> 538[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 538 -> 339[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 539[label="vz41/Neg vz410",fontsize=10,color="white",style="solid",shape="box"];327 -> 539[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 539 -> 340[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 328[label="not (primEqInt (Pos Zero) (primMulInt (Pos vz310) vz41))",fontsize=16,color="burlywood",shape="box"];540[label="vz41/Pos vz410",fontsize=10,color="white",style="solid",shape="box"];328 -> 540[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 540 -> 341[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 541[label="vz41/Neg vz410",fontsize=10,color="white",style="solid",shape="box"];328 -> 541[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 541 -> 342[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 329[label="not (primEqInt (Pos Zero) (primMulInt (Neg vz310) vz41))",fontsize=16,color="burlywood",shape="box"];542[label="vz41/Pos vz410",fontsize=10,color="white",style="solid",shape="box"];329 -> 542[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 542 -> 343[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 543[label="vz41/Neg vz410",fontsize=10,color="white",style="solid",shape="box"];329 -> 543[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 543 -> 344[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 381[label="not (primEqInt (Neg (Succ vz150)) (primMulInt (Pos vz310) vz41))",fontsize=16,color="burlywood",shape="box"];544[label="vz41/Pos vz410",fontsize=10,color="white",style="solid",shape="box"];381 -> 544[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 544 -> 388[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 545[label="vz41/Neg vz410",fontsize=10,color="white",style="solid",shape="box"];381 -> 545[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 545 -> 389[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 382[label="not (primEqInt (Neg (Succ vz150)) (primMulInt (Neg vz310) vz41))",fontsize=16,color="burlywood",shape="box"];546[label="vz41/Pos vz410",fontsize=10,color="white",style="solid",shape="box"];382 -> 546[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 546 -> 390[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 547[label="vz41/Neg vz410",fontsize=10,color="white",style="solid",shape="box"];382 -> 547[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 547 -> 391[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 383[label="not (primEqInt (Neg Zero) (primMulInt (Pos vz310) vz41))",fontsize=16,color="burlywood",shape="box"];548[label="vz41/Pos vz410",fontsize=10,color="white",style="solid",shape="box"];383 -> 548[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 548 -> 392[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 549[label="vz41/Neg vz410",fontsize=10,color="white",style="solid",shape="box"];383 -> 549[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 549 -> 393[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 384[label="not (primEqInt (Neg Zero) (primMulInt (Neg vz310) vz41))",fontsize=16,color="burlywood",shape="box"];550[label="vz41/Pos vz410",fontsize=10,color="white",style="solid",shape="box"];384 -> 550[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 550 -> 394[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 551[label="vz41/Neg vz410",fontsize=10,color="white",style="solid",shape="box"];384 -> 551[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 551 -> 395[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 336 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 336[label="primMulNat vz3000 (Succ vz4000)",fontsize=16,color="magenta"];336 -> 345[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 336 -> 346[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 335[label="primPlusNat vz14 (Succ vz4000)",fontsize=16,color="burlywood",shape="triangle"];552[label="vz14/Succ vz140",fontsize=10,color="white",style="solid",shape="box"];335 -> 552[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 552 -> 347[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 553[label="vz14/Zero",fontsize=10,color="white",style="solid",shape="box"];335 -> 553[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 553 -> 348[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 337[label="not (primEqInt (Pos (Succ vz100)) (primMulInt (Pos vz310) (Pos vz410)))",fontsize=16,color="black",shape="box"];337 -> 366[label="",style="solid", color="black", weight=3]; 10.06/4.18 338[label="not (primEqInt (Pos (Succ vz100)) (primMulInt (Pos vz310) (Neg vz410)))",fontsize=16,color="black",shape="box"];338 -> 367[label="",style="solid", color="black", weight=3]; 10.06/4.18 339[label="not (primEqInt (Pos (Succ vz100)) (primMulInt (Neg vz310) (Pos vz410)))",fontsize=16,color="black",shape="box"];339 -> 368[label="",style="solid", color="black", weight=3]; 10.06/4.18 340[label="not (primEqInt (Pos (Succ vz100)) (primMulInt (Neg vz310) (Neg vz410)))",fontsize=16,color="black",shape="box"];340 -> 369[label="",style="solid", color="black", weight=3]; 10.06/4.18 341[label="not (primEqInt (Pos Zero) (primMulInt (Pos vz310) (Pos vz410)))",fontsize=16,color="black",shape="box"];341 -> 370[label="",style="solid", color="black", weight=3]; 10.06/4.18 342[label="not (primEqInt (Pos Zero) (primMulInt (Pos vz310) (Neg vz410)))",fontsize=16,color="black",shape="box"];342 -> 371[label="",style="solid", color="black", weight=3]; 10.06/4.18 343[label="not (primEqInt (Pos Zero) (primMulInt (Neg vz310) (Pos vz410)))",fontsize=16,color="black",shape="box"];343 -> 372[label="",style="solid", color="black", weight=3]; 10.06/4.18 344[label="not (primEqInt (Pos Zero) (primMulInt (Neg vz310) (Neg vz410)))",fontsize=16,color="black",shape="box"];344 -> 373[label="",style="solid", color="black", weight=3]; 10.06/4.18 388[label="not (primEqInt (Neg (Succ vz150)) (primMulInt (Pos vz310) (Pos vz410)))",fontsize=16,color="black",shape="box"];388 -> 399[label="",style="solid", color="black", weight=3]; 10.06/4.18 389[label="not (primEqInt (Neg (Succ vz150)) (primMulInt (Pos vz310) (Neg vz410)))",fontsize=16,color="black",shape="box"];389 -> 400[label="",style="solid", color="black", weight=3]; 10.06/4.18 390[label="not (primEqInt (Neg (Succ vz150)) (primMulInt (Neg vz310) (Pos vz410)))",fontsize=16,color="black",shape="box"];390 -> 401[label="",style="solid", color="black", weight=3]; 10.06/4.18 391[label="not (primEqInt (Neg (Succ vz150)) (primMulInt (Neg vz310) (Neg vz410)))",fontsize=16,color="black",shape="box"];391 -> 402[label="",style="solid", color="black", weight=3]; 10.06/4.18 392[label="not (primEqInt (Neg Zero) (primMulInt (Pos vz310) (Pos vz410)))",fontsize=16,color="black",shape="box"];392 -> 403[label="",style="solid", color="black", weight=3]; 10.06/4.18 393[label="not (primEqInt (Neg Zero) (primMulInt (Pos vz310) (Neg vz410)))",fontsize=16,color="black",shape="box"];393 -> 404[label="",style="solid", color="black", weight=3]; 10.06/4.18 394[label="not (primEqInt (Neg Zero) (primMulInt (Neg vz310) (Pos vz410)))",fontsize=16,color="black",shape="box"];394 -> 405[label="",style="solid", color="black", weight=3]; 10.06/4.18 395[label="not (primEqInt (Neg Zero) (primMulInt (Neg vz310) (Neg vz410)))",fontsize=16,color="black",shape="box"];395 -> 406[label="",style="solid", color="black", weight=3]; 10.06/4.18 345[label="vz3000",fontsize=16,color="green",shape="box"];346[label="Succ vz4000",fontsize=16,color="green",shape="box"];347[label="primPlusNat (Succ vz140) (Succ vz4000)",fontsize=16,color="black",shape="box"];347 -> 374[label="",style="solid", color="black", weight=3]; 10.06/4.18 348[label="primPlusNat Zero (Succ vz4000)",fontsize=16,color="black",shape="box"];348 -> 375[label="",style="solid", color="black", weight=3]; 10.06/4.18 366 -> 378[label="",style="dashed", color="red", weight=0]; 10.06/4.18 366[label="not (primEqInt (Pos (Succ vz100)) (Pos (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];366 -> 379[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 367 -> 385[label="",style="dashed", color="red", weight=0]; 10.06/4.18 367[label="not (primEqInt (Pos (Succ vz100)) (Neg (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];367 -> 386[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 368 -> 385[label="",style="dashed", color="red", weight=0]; 10.06/4.18 368[label="not (primEqInt (Pos (Succ vz100)) (Neg (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];368 -> 387[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 369 -> 378[label="",style="dashed", color="red", weight=0]; 10.06/4.18 369[label="not (primEqInt (Pos (Succ vz100)) (Pos (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];369 -> 380[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 370 -> 396[label="",style="dashed", color="red", weight=0]; 10.06/4.18 370[label="not (primEqInt (Pos Zero) (Pos (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];370 -> 397[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 371 -> 407[label="",style="dashed", color="red", weight=0]; 10.06/4.18 371[label="not (primEqInt (Pos Zero) (Neg (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];371 -> 408[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 372 -> 407[label="",style="dashed", color="red", weight=0]; 10.06/4.18 372[label="not (primEqInt (Pos Zero) (Neg (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];372 -> 409[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 373 -> 396[label="",style="dashed", color="red", weight=0]; 10.06/4.18 373[label="not (primEqInt (Pos Zero) (Pos (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];373 -> 398[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 399 -> 410[label="",style="dashed", color="red", weight=0]; 10.06/4.18 399[label="not (primEqInt (Neg (Succ vz150)) (Pos (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];399 -> 411[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 400 -> 413[label="",style="dashed", color="red", weight=0]; 10.06/4.18 400[label="not (primEqInt (Neg (Succ vz150)) (Neg (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];400 -> 414[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 401 -> 413[label="",style="dashed", color="red", weight=0]; 10.06/4.18 401[label="not (primEqInt (Neg (Succ vz150)) (Neg (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];401 -> 415[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 402 -> 410[label="",style="dashed", color="red", weight=0]; 10.06/4.18 402[label="not (primEqInt (Neg (Succ vz150)) (Pos (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];402 -> 412[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 403 -> 416[label="",style="dashed", color="red", weight=0]; 10.06/4.18 403[label="not (primEqInt (Neg Zero) (Pos (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];403 -> 417[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 404 -> 419[label="",style="dashed", color="red", weight=0]; 10.06/4.18 404[label="not (primEqInt (Neg Zero) (Neg (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];404 -> 420[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 405 -> 419[label="",style="dashed", color="red", weight=0]; 10.06/4.18 405[label="not (primEqInt (Neg Zero) (Neg (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];405 -> 421[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 406 -> 416[label="",style="dashed", color="red", weight=0]; 10.06/4.18 406[label="not (primEqInt (Neg Zero) (Pos (primMulNat vz310 vz410)))",fontsize=16,color="magenta"];406 -> 418[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 374[label="Succ (Succ (primPlusNat vz140 vz4000))",fontsize=16,color="green",shape="box"];374 -> 422[label="",style="dashed", color="green", weight=3]; 10.06/4.18 375[label="Succ vz4000",fontsize=16,color="green",shape="box"];379 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 379[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];379 -> 423[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 379 -> 424[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 378[label="not (primEqInt (Pos (Succ vz100)) (Pos vz16))",fontsize=16,color="burlywood",shape="triangle"];554[label="vz16/Succ vz160",fontsize=10,color="white",style="solid",shape="box"];378 -> 554[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 554 -> 425[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 555[label="vz16/Zero",fontsize=10,color="white",style="solid",shape="box"];378 -> 555[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 555 -> 426[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 386 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 386[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];386 -> 427[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 386 -> 428[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 385[label="not (primEqInt (Pos (Succ vz100)) (Neg vz17))",fontsize=16,color="black",shape="triangle"];385 -> 429[label="",style="solid", color="black", weight=3]; 10.06/4.18 387 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 387[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];387 -> 430[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 387 -> 431[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 380 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 380[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];380 -> 432[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 380 -> 433[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 397 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 397[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];397 -> 434[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 397 -> 435[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 396[label="not (primEqInt (Pos Zero) (Pos vz18))",fontsize=16,color="burlywood",shape="triangle"];556[label="vz18/Succ vz180",fontsize=10,color="white",style="solid",shape="box"];396 -> 556[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 556 -> 436[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 557[label="vz18/Zero",fontsize=10,color="white",style="solid",shape="box"];396 -> 557[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 557 -> 437[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 408 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 408[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];408 -> 438[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 408 -> 439[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 407[label="not (primEqInt (Pos Zero) (Neg vz19))",fontsize=16,color="burlywood",shape="triangle"];558[label="vz19/Succ vz190",fontsize=10,color="white",style="solid",shape="box"];407 -> 558[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 558 -> 440[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 559[label="vz19/Zero",fontsize=10,color="white",style="solid",shape="box"];407 -> 559[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 559 -> 441[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 409 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 409[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];409 -> 442[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 409 -> 443[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 398 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 398[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];398 -> 444[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 398 -> 445[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 411 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 411[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];411 -> 446[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 411 -> 447[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 410[label="not (primEqInt (Neg (Succ vz150)) (Pos vz20))",fontsize=16,color="black",shape="triangle"];410 -> 448[label="",style="solid", color="black", weight=3]; 10.06/4.18 414 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 414[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];414 -> 449[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 414 -> 450[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 413[label="not (primEqInt (Neg (Succ vz150)) (Neg vz21))",fontsize=16,color="burlywood",shape="triangle"];560[label="vz21/Succ vz210",fontsize=10,color="white",style="solid",shape="box"];413 -> 560[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 560 -> 451[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 561[label="vz21/Zero",fontsize=10,color="white",style="solid",shape="box"];413 -> 561[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 561 -> 452[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 415 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 415[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];415 -> 453[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 415 -> 454[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 412 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 412[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];412 -> 455[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 412 -> 456[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 417 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 417[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];417 -> 457[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 417 -> 458[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 416[label="not (primEqInt (Neg Zero) (Pos vz22))",fontsize=16,color="burlywood",shape="triangle"];562[label="vz22/Succ vz220",fontsize=10,color="white",style="solid",shape="box"];416 -> 562[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 562 -> 459[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 563[label="vz22/Zero",fontsize=10,color="white",style="solid",shape="box"];416 -> 563[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 563 -> 460[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 420 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 420[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];420 -> 461[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 420 -> 462[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 419[label="not (primEqInt (Neg Zero) (Neg vz23))",fontsize=16,color="burlywood",shape="triangle"];564[label="vz23/Succ vz230",fontsize=10,color="white",style="solid",shape="box"];419 -> 564[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 564 -> 463[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 565[label="vz23/Zero",fontsize=10,color="white",style="solid",shape="box"];419 -> 565[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 565 -> 464[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 421 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 421[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];421 -> 465[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 421 -> 466[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 418 -> 274[label="",style="dashed", color="red", weight=0]; 10.06/4.18 418[label="primMulNat vz310 vz410",fontsize=16,color="magenta"];418 -> 467[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 418 -> 468[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 422[label="primPlusNat vz140 vz4000",fontsize=16,color="burlywood",shape="triangle"];566[label="vz140/Succ vz1400",fontsize=10,color="white",style="solid",shape="box"];422 -> 566[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 566 -> 469[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 567[label="vz140/Zero",fontsize=10,color="white",style="solid",shape="box"];422 -> 567[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 567 -> 470[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 423[label="vz310",fontsize=16,color="green",shape="box"];424[label="vz410",fontsize=16,color="green",shape="box"];425[label="not (primEqInt (Pos (Succ vz100)) (Pos (Succ vz160)))",fontsize=16,color="black",shape="box"];425 -> 471[label="",style="solid", color="black", weight=3]; 10.06/4.18 426[label="not (primEqInt (Pos (Succ vz100)) (Pos Zero))",fontsize=16,color="black",shape="box"];426 -> 472[label="",style="solid", color="black", weight=3]; 10.06/4.18 427[label="vz310",fontsize=16,color="green",shape="box"];428[label="vz410",fontsize=16,color="green",shape="box"];429[label="not MyFalse",fontsize=16,color="black",shape="triangle"];429 -> 473[label="",style="solid", color="black", weight=3]; 10.06/4.18 430[label="vz310",fontsize=16,color="green",shape="box"];431[label="vz410",fontsize=16,color="green",shape="box"];432[label="vz310",fontsize=16,color="green",shape="box"];433[label="vz410",fontsize=16,color="green",shape="box"];434[label="vz310",fontsize=16,color="green",shape="box"];435[label="vz410",fontsize=16,color="green",shape="box"];436[label="not (primEqInt (Pos Zero) (Pos (Succ vz180)))",fontsize=16,color="black",shape="box"];436 -> 474[label="",style="solid", color="black", weight=3]; 10.06/4.18 437[label="not (primEqInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];437 -> 475[label="",style="solid", color="black", weight=3]; 10.06/4.18 438[label="vz310",fontsize=16,color="green",shape="box"];439[label="vz410",fontsize=16,color="green",shape="box"];440[label="not (primEqInt (Pos Zero) (Neg (Succ vz190)))",fontsize=16,color="black",shape="box"];440 -> 476[label="",style="solid", color="black", weight=3]; 10.06/4.18 441[label="not (primEqInt (Pos Zero) (Neg Zero))",fontsize=16,color="black",shape="box"];441 -> 477[label="",style="solid", color="black", weight=3]; 10.06/4.18 442[label="vz310",fontsize=16,color="green",shape="box"];443[label="vz410",fontsize=16,color="green",shape="box"];444[label="vz310",fontsize=16,color="green",shape="box"];445[label="vz410",fontsize=16,color="green",shape="box"];446[label="vz310",fontsize=16,color="green",shape="box"];447[label="vz410",fontsize=16,color="green",shape="box"];448 -> 429[label="",style="dashed", color="red", weight=0]; 10.06/4.18 448[label="not MyFalse",fontsize=16,color="magenta"];449[label="vz310",fontsize=16,color="green",shape="box"];450[label="vz410",fontsize=16,color="green",shape="box"];451[label="not (primEqInt (Neg (Succ vz150)) (Neg (Succ vz210)))",fontsize=16,color="black",shape="box"];451 -> 478[label="",style="solid", color="black", weight=3]; 10.06/4.18 452[label="not (primEqInt (Neg (Succ vz150)) (Neg Zero))",fontsize=16,color="black",shape="box"];452 -> 479[label="",style="solid", color="black", weight=3]; 10.06/4.18 453[label="vz310",fontsize=16,color="green",shape="box"];454[label="vz410",fontsize=16,color="green",shape="box"];455[label="vz310",fontsize=16,color="green",shape="box"];456[label="vz410",fontsize=16,color="green",shape="box"];457[label="vz310",fontsize=16,color="green",shape="box"];458[label="vz410",fontsize=16,color="green",shape="box"];459[label="not (primEqInt (Neg Zero) (Pos (Succ vz220)))",fontsize=16,color="black",shape="box"];459 -> 480[label="",style="solid", color="black", weight=3]; 10.06/4.18 460[label="not (primEqInt (Neg Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];460 -> 481[label="",style="solid", color="black", weight=3]; 10.06/4.18 461[label="vz310",fontsize=16,color="green",shape="box"];462[label="vz410",fontsize=16,color="green",shape="box"];463[label="not (primEqInt (Neg Zero) (Neg (Succ vz230)))",fontsize=16,color="black",shape="box"];463 -> 482[label="",style="solid", color="black", weight=3]; 10.06/4.18 464[label="not (primEqInt (Neg Zero) (Neg Zero))",fontsize=16,color="black",shape="box"];464 -> 483[label="",style="solid", color="black", weight=3]; 10.06/4.18 465[label="vz310",fontsize=16,color="green",shape="box"];466[label="vz410",fontsize=16,color="green",shape="box"];467[label="vz310",fontsize=16,color="green",shape="box"];468[label="vz410",fontsize=16,color="green",shape="box"];469[label="primPlusNat (Succ vz1400) vz4000",fontsize=16,color="burlywood",shape="box"];568[label="vz4000/Succ vz40000",fontsize=10,color="white",style="solid",shape="box"];469 -> 568[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 568 -> 484[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 569[label="vz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];469 -> 569[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 569 -> 485[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 470[label="primPlusNat Zero vz4000",fontsize=16,color="burlywood",shape="box"];570[label="vz4000/Succ vz40000",fontsize=10,color="white",style="solid",shape="box"];470 -> 570[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 570 -> 486[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 571[label="vz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];470 -> 571[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 571 -> 487[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 471[label="not (primEqNat vz100 vz160)",fontsize=16,color="burlywood",shape="triangle"];572[label="vz100/Succ vz1000",fontsize=10,color="white",style="solid",shape="box"];471 -> 572[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 572 -> 488[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 573[label="vz100/Zero",fontsize=10,color="white",style="solid",shape="box"];471 -> 573[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 573 -> 489[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 472 -> 429[label="",style="dashed", color="red", weight=0]; 10.06/4.18 472[label="not MyFalse",fontsize=16,color="magenta"];473[label="MyTrue",fontsize=16,color="green",shape="box"];474 -> 429[label="",style="dashed", color="red", weight=0]; 10.06/4.18 474[label="not MyFalse",fontsize=16,color="magenta"];475[label="not MyTrue",fontsize=16,color="black",shape="triangle"];475 -> 490[label="",style="solid", color="black", weight=3]; 10.06/4.18 476 -> 429[label="",style="dashed", color="red", weight=0]; 10.06/4.18 476[label="not MyFalse",fontsize=16,color="magenta"];477 -> 475[label="",style="dashed", color="red", weight=0]; 10.06/4.18 477[label="not MyTrue",fontsize=16,color="magenta"];478 -> 471[label="",style="dashed", color="red", weight=0]; 10.06/4.18 478[label="not (primEqNat vz150 vz210)",fontsize=16,color="magenta"];478 -> 491[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 478 -> 492[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 479 -> 429[label="",style="dashed", color="red", weight=0]; 10.06/4.18 479[label="not MyFalse",fontsize=16,color="magenta"];480 -> 429[label="",style="dashed", color="red", weight=0]; 10.06/4.18 480[label="not MyFalse",fontsize=16,color="magenta"];481 -> 475[label="",style="dashed", color="red", weight=0]; 10.06/4.18 481[label="not MyTrue",fontsize=16,color="magenta"];482 -> 429[label="",style="dashed", color="red", weight=0]; 10.06/4.18 482[label="not MyFalse",fontsize=16,color="magenta"];483 -> 475[label="",style="dashed", color="red", weight=0]; 10.06/4.18 483[label="not MyTrue",fontsize=16,color="magenta"];484[label="primPlusNat (Succ vz1400) (Succ vz40000)",fontsize=16,color="black",shape="box"];484 -> 493[label="",style="solid", color="black", weight=3]; 10.06/4.18 485[label="primPlusNat (Succ vz1400) Zero",fontsize=16,color="black",shape="box"];485 -> 494[label="",style="solid", color="black", weight=3]; 10.06/4.18 486[label="primPlusNat Zero (Succ vz40000)",fontsize=16,color="black",shape="box"];486 -> 495[label="",style="solid", color="black", weight=3]; 10.06/4.18 487[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];487 -> 496[label="",style="solid", color="black", weight=3]; 10.06/4.18 488[label="not (primEqNat (Succ vz1000) vz160)",fontsize=16,color="burlywood",shape="box"];574[label="vz160/Succ vz1600",fontsize=10,color="white",style="solid",shape="box"];488 -> 574[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 574 -> 497[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 575[label="vz160/Zero",fontsize=10,color="white",style="solid",shape="box"];488 -> 575[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 575 -> 498[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 489[label="not (primEqNat Zero vz160)",fontsize=16,color="burlywood",shape="box"];576[label="vz160/Succ vz1600",fontsize=10,color="white",style="solid",shape="box"];489 -> 576[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 576 -> 499[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 577[label="vz160/Zero",fontsize=10,color="white",style="solid",shape="box"];489 -> 577[label="",style="solid", color="burlywood", weight=9]; 10.06/4.18 577 -> 500[label="",style="solid", color="burlywood", weight=3]; 10.06/4.18 490[label="MyFalse",fontsize=16,color="green",shape="box"];491[label="vz150",fontsize=16,color="green",shape="box"];492[label="vz210",fontsize=16,color="green",shape="box"];493[label="Succ (Succ (primPlusNat vz1400 vz40000))",fontsize=16,color="green",shape="box"];493 -> 501[label="",style="dashed", color="green", weight=3]; 10.06/4.18 494[label="Succ vz1400",fontsize=16,color="green",shape="box"];495[label="Succ vz40000",fontsize=16,color="green",shape="box"];496[label="Zero",fontsize=16,color="green",shape="box"];497[label="not (primEqNat (Succ vz1000) (Succ vz1600))",fontsize=16,color="black",shape="box"];497 -> 502[label="",style="solid", color="black", weight=3]; 10.06/4.18 498[label="not (primEqNat (Succ vz1000) Zero)",fontsize=16,color="black",shape="box"];498 -> 503[label="",style="solid", color="black", weight=3]; 10.06/4.18 499[label="not (primEqNat Zero (Succ vz1600))",fontsize=16,color="black",shape="box"];499 -> 504[label="",style="solid", color="black", weight=3]; 10.06/4.18 500[label="not (primEqNat Zero Zero)",fontsize=16,color="black",shape="box"];500 -> 505[label="",style="solid", color="black", weight=3]; 10.06/4.18 501 -> 422[label="",style="dashed", color="red", weight=0]; 10.06/4.18 501[label="primPlusNat vz1400 vz40000",fontsize=16,color="magenta"];501 -> 506[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 501 -> 507[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 502 -> 471[label="",style="dashed", color="red", weight=0]; 10.06/4.18 502[label="not (primEqNat vz1000 vz1600)",fontsize=16,color="magenta"];502 -> 508[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 502 -> 509[label="",style="dashed", color="magenta", weight=3]; 10.06/4.18 503 -> 429[label="",style="dashed", color="red", weight=0]; 10.06/4.18 503[label="not MyFalse",fontsize=16,color="magenta"];504 -> 429[label="",style="dashed", color="red", weight=0]; 10.06/4.18 504[label="not MyFalse",fontsize=16,color="magenta"];505 -> 475[label="",style="dashed", color="red", weight=0]; 10.06/4.18 505[label="not MyTrue",fontsize=16,color="magenta"];506[label="vz40000",fontsize=16,color="green",shape="box"];507[label="vz1400",fontsize=16,color="green",shape="box"];508[label="vz1000",fontsize=16,color="green",shape="box"];509[label="vz1600",fontsize=16,color="green",shape="box"];} 10.06/4.18 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (6) 10.06/4.18 Complex Obligation (AND) 10.06/4.18 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (7) 10.06/4.18 Obligation: 10.06/4.18 Q DP problem: 10.06/4.18 The TRS P consists of the following rules: 10.06/4.18 10.06/4.18 new_primMulNat(Main.Succ(vz3000), Main.Succ(vz4000)) -> new_primMulNat(vz3000, Main.Succ(vz4000)) 10.06/4.18 10.06/4.18 R is empty. 10.06/4.18 Q is empty. 10.06/4.18 We have to consider all minimal (P,Q,R)-chains. 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (8) QDPSizeChangeProof (EQUIVALENT) 10.06/4.18 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 10.06/4.18 10.06/4.18 From the DPs we obtained the following set of size-change graphs: 10.06/4.18 *new_primMulNat(Main.Succ(vz3000), Main.Succ(vz4000)) -> new_primMulNat(vz3000, Main.Succ(vz4000)) 10.06/4.18 The graph contains the following edges 1 > 1, 2 >= 2 10.06/4.18 10.06/4.18 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (9) 10.06/4.18 YES 10.06/4.18 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (10) 10.06/4.18 Obligation: 10.06/4.18 Q DP problem: 10.06/4.18 The TRS P consists of the following rules: 10.06/4.18 10.06/4.18 new_primPlusNat(Main.Succ(vz1400), Main.Succ(vz40000)) -> new_primPlusNat(vz1400, vz40000) 10.06/4.18 10.06/4.18 R is empty. 10.06/4.18 Q is empty. 10.06/4.18 We have to consider all minimal (P,Q,R)-chains. 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (11) QDPSizeChangeProof (EQUIVALENT) 10.06/4.18 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 10.06/4.18 10.06/4.18 From the DPs we obtained the following set of size-change graphs: 10.06/4.18 *new_primPlusNat(Main.Succ(vz1400), Main.Succ(vz40000)) -> new_primPlusNat(vz1400, vz40000) 10.06/4.18 The graph contains the following edges 1 > 1, 2 > 2 10.06/4.18 10.06/4.18 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (12) 10.06/4.18 YES 10.06/4.18 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (13) 10.06/4.18 Obligation: 10.06/4.18 Q DP problem: 10.06/4.18 The TRS P consists of the following rules: 10.06/4.18 10.06/4.18 new_not(Main.Succ(vz1000), Main.Succ(vz1600)) -> new_not(vz1000, vz1600) 10.06/4.18 10.06/4.18 R is empty. 10.06/4.18 Q is empty. 10.06/4.18 We have to consider all minimal (P,Q,R)-chains. 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (14) QDPSizeChangeProof (EQUIVALENT) 10.06/4.18 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 10.06/4.18 10.06/4.18 From the DPs we obtained the following set of size-change graphs: 10.06/4.18 *new_not(Main.Succ(vz1000), Main.Succ(vz1600)) -> new_not(vz1000, vz1600) 10.06/4.18 The graph contains the following edges 1 > 1, 2 > 2 10.06/4.18 10.06/4.18 10.06/4.18 ---------------------------------------- 10.06/4.18 10.06/4.18 (15) 10.06/4.18 YES 10.18/4.22 EOF