8.45/3.67 YES 10.39/4.20 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 10.39/4.20 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 10.39/4.20 10.39/4.20 10.39/4.20 H-Termination with start terms of the given HASKELL could be proven: 10.39/4.20 10.39/4.20 (0) HASKELL 10.39/4.20 (1) BR [EQUIVALENT, 0 ms] 10.39/4.20 (2) HASKELL 10.39/4.20 (3) COR [EQUIVALENT, 0 ms] 10.39/4.20 (4) HASKELL 10.39/4.20 (5) Narrow [SOUND, 0 ms] 10.39/4.20 (6) AND 10.39/4.20 (7) QDP 10.39/4.20 (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] 10.39/4.20 (9) YES 10.39/4.20 (10) QDP 10.39/4.20 (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] 10.39/4.20 (12) YES 10.39/4.20 10.39/4.20 10.39/4.20 ---------------------------------------- 10.39/4.20 10.39/4.20 (0) 10.39/4.20 Obligation: 10.39/4.20 mainModule Main 10.39/4.20 module Main where { 10.39/4.20 import qualified Prelude; 10.39/4.20 data MyBool = MyTrue | MyFalse ; 10.39/4.20 10.39/4.20 data MyInt = Pos Main.Nat | Neg Main.Nat ; 10.39/4.20 10.39/4.20 data Main.Nat = Succ Main.Nat | Zero ; 10.39/4.20 10.39/4.20 data Ordering = LT | EQ | GT ; 10.39/4.20 10.39/4.20 data Tup2 b a = Tup2 b a ; 10.39/4.20 10.39/4.20 asAs :: MyBool -> MyBool -> MyBool; 10.39/4.20 asAs MyFalse x = MyFalse; 10.39/4.20 asAs MyTrue x = x; 10.39/4.20 10.39/4.20 compareMyInt :: MyInt -> MyInt -> Ordering; 10.39/4.20 compareMyInt = primCmpInt; 10.39/4.20 10.39/4.20 esEsOrdering :: Ordering -> Ordering -> MyBool; 10.39/4.20 esEsOrdering LT LT = MyTrue; 10.39/4.20 esEsOrdering LT EQ = MyFalse; 10.39/4.20 esEsOrdering LT GT = MyFalse; 10.39/4.20 esEsOrdering EQ LT = MyFalse; 10.39/4.20 esEsOrdering EQ EQ = MyTrue; 10.39/4.20 esEsOrdering EQ GT = MyFalse; 10.39/4.20 esEsOrdering GT LT = MyFalse; 10.39/4.20 esEsOrdering GT EQ = MyFalse; 10.39/4.20 esEsOrdering GT GT = MyTrue; 10.39/4.20 10.39/4.20 fsEsOrdering :: Ordering -> Ordering -> MyBool; 10.39/4.20 fsEsOrdering x y = not (esEsOrdering x y); 10.39/4.20 10.39/4.20 inRangeMyInt :: Tup2 MyInt MyInt -> MyInt -> MyBool; 10.39/4.20 inRangeMyInt (Tup2 m n) i = asAs (ltEsMyInt m i) (ltEsMyInt i n); 10.39/4.20 10.39/4.20 ltEsMyInt :: MyInt -> MyInt -> MyBool; 10.39/4.20 ltEsMyInt x y = fsEsOrdering (compareMyInt x y) GT; 10.39/4.20 10.39/4.20 not :: MyBool -> MyBool; 10.39/4.20 not MyTrue = MyFalse; 10.39/4.20 not MyFalse = MyTrue; 10.39/4.20 10.39/4.20 primCmpInt :: MyInt -> MyInt -> Ordering; 10.39/4.20 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 10.39/4.20 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 10.39/4.20 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 10.39/4.20 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 10.39/4.20 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 10.39/4.20 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 10.39/4.20 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 10.39/4.20 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 10.39/4.20 10.39/4.20 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 10.39/4.20 primCmpNat Main.Zero Main.Zero = EQ; 10.39/4.20 primCmpNat Main.Zero (Main.Succ y) = LT; 10.39/4.20 primCmpNat (Main.Succ x) Main.Zero = GT; 10.39/4.20 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 10.39/4.20 10.39/4.20 } 10.39/4.20 10.39/4.20 ---------------------------------------- 10.39/4.20 10.39/4.20 (1) BR (EQUIVALENT) 10.39/4.20 Replaced joker patterns by fresh variables and removed binding patterns. 10.39/4.20 ---------------------------------------- 10.39/4.20 10.39/4.20 (2) 10.39/4.20 Obligation: 10.39/4.20 mainModule Main 10.39/4.20 module Main where { 10.39/4.20 import qualified Prelude; 10.39/4.20 data MyBool = MyTrue | MyFalse ; 10.39/4.20 10.39/4.20 data MyInt = Pos Main.Nat | Neg Main.Nat ; 10.39/4.20 10.39/4.20 data Main.Nat = Succ Main.Nat | Zero ; 10.39/4.20 10.39/4.20 data Ordering = LT | EQ | GT ; 10.39/4.20 10.39/4.20 data Tup2 b a = Tup2 b a ; 10.39/4.20 10.39/4.20 asAs :: MyBool -> MyBool -> MyBool; 10.39/4.20 asAs MyFalse x = MyFalse; 10.39/4.20 asAs MyTrue x = x; 10.39/4.20 10.39/4.20 compareMyInt :: MyInt -> MyInt -> Ordering; 10.39/4.20 compareMyInt = primCmpInt; 10.39/4.20 10.39/4.20 esEsOrdering :: Ordering -> Ordering -> MyBool; 10.39/4.20 esEsOrdering LT LT = MyTrue; 10.39/4.20 esEsOrdering LT EQ = MyFalse; 10.39/4.20 esEsOrdering LT GT = MyFalse; 10.39/4.20 esEsOrdering EQ LT = MyFalse; 10.39/4.20 esEsOrdering EQ EQ = MyTrue; 10.39/4.20 esEsOrdering EQ GT = MyFalse; 10.39/4.20 esEsOrdering GT LT = MyFalse; 10.39/4.20 esEsOrdering GT EQ = MyFalse; 10.39/4.20 esEsOrdering GT GT = MyTrue; 10.39/4.20 10.39/4.20 fsEsOrdering :: Ordering -> Ordering -> MyBool; 10.39/4.20 fsEsOrdering x y = not (esEsOrdering x y); 10.39/4.20 10.39/4.20 inRangeMyInt :: Tup2 MyInt MyInt -> MyInt -> MyBool; 10.39/4.20 inRangeMyInt (Tup2 m n) i = asAs (ltEsMyInt m i) (ltEsMyInt i n); 10.39/4.20 10.39/4.20 ltEsMyInt :: MyInt -> MyInt -> MyBool; 10.39/4.20 ltEsMyInt x y = fsEsOrdering (compareMyInt x y) GT; 10.39/4.20 10.39/4.20 not :: MyBool -> MyBool; 10.39/4.20 not MyTrue = MyFalse; 10.39/4.20 not MyFalse = MyTrue; 10.39/4.20 10.39/4.20 primCmpInt :: MyInt -> MyInt -> Ordering; 10.39/4.20 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 10.39/4.20 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 10.39/4.20 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 10.39/4.20 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 10.39/4.20 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 10.39/4.20 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 10.39/4.20 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 10.39/4.20 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 10.39/4.20 10.39/4.20 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 10.39/4.20 primCmpNat Main.Zero Main.Zero = EQ; 10.39/4.20 primCmpNat Main.Zero (Main.Succ y) = LT; 10.39/4.20 primCmpNat (Main.Succ x) Main.Zero = GT; 10.39/4.20 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 10.39/4.20 10.39/4.20 } 10.39/4.20 10.39/4.20 ---------------------------------------- 10.39/4.20 10.39/4.20 (3) COR (EQUIVALENT) 10.39/4.20 Cond Reductions: 10.39/4.20 The following Function with conditions 10.39/4.20 "undefined |Falseundefined; 10.39/4.20 " 10.39/4.20 is transformed to 10.39/4.20 "undefined = undefined1; 10.39/4.20 " 10.39/4.20 "undefined0 True = undefined; 10.39/4.20 " 10.39/4.20 "undefined1 = undefined0 False; 10.39/4.20 " 10.39/4.20 10.39/4.20 ---------------------------------------- 10.39/4.20 10.39/4.20 (4) 10.39/4.20 Obligation: 10.39/4.20 mainModule Main 10.39/4.20 module Main where { 10.39/4.20 import qualified Prelude; 10.39/4.20 data MyBool = MyTrue | MyFalse ; 10.39/4.20 10.39/4.20 data MyInt = Pos Main.Nat | Neg Main.Nat ; 10.39/4.20 10.39/4.20 data Main.Nat = Succ Main.Nat | Zero ; 10.39/4.20 10.39/4.20 data Ordering = LT | EQ | GT ; 10.39/4.20 10.39/4.20 data Tup2 a b = Tup2 a b ; 10.39/4.20 10.39/4.20 asAs :: MyBool -> MyBool -> MyBool; 10.39/4.20 asAs MyFalse x = MyFalse; 10.39/4.20 asAs MyTrue x = x; 10.39/4.20 10.39/4.20 compareMyInt :: MyInt -> MyInt -> Ordering; 10.39/4.20 compareMyInt = primCmpInt; 10.39/4.20 10.39/4.20 esEsOrdering :: Ordering -> Ordering -> MyBool; 10.39/4.20 esEsOrdering LT LT = MyTrue; 10.39/4.20 esEsOrdering LT EQ = MyFalse; 10.39/4.20 esEsOrdering LT GT = MyFalse; 10.39/4.20 esEsOrdering EQ LT = MyFalse; 10.39/4.20 esEsOrdering EQ EQ = MyTrue; 10.39/4.20 esEsOrdering EQ GT = MyFalse; 10.39/4.20 esEsOrdering GT LT = MyFalse; 10.39/4.20 esEsOrdering GT EQ = MyFalse; 10.39/4.20 esEsOrdering GT GT = MyTrue; 10.39/4.20 10.39/4.20 fsEsOrdering :: Ordering -> Ordering -> MyBool; 10.39/4.20 fsEsOrdering x y = not (esEsOrdering x y); 10.39/4.20 10.39/4.20 inRangeMyInt :: Tup2 MyInt MyInt -> MyInt -> MyBool; 10.39/4.20 inRangeMyInt (Tup2 m n) i = asAs (ltEsMyInt m i) (ltEsMyInt i n); 10.39/4.20 10.39/4.20 ltEsMyInt :: MyInt -> MyInt -> MyBool; 10.39/4.20 ltEsMyInt x y = fsEsOrdering (compareMyInt x y) GT; 10.39/4.20 10.39/4.20 not :: MyBool -> MyBool; 10.39/4.20 not MyTrue = MyFalse; 10.39/4.20 not MyFalse = MyTrue; 10.39/4.20 10.39/4.20 primCmpInt :: MyInt -> MyInt -> Ordering; 10.39/4.20 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 10.39/4.20 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 10.39/4.20 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 10.39/4.20 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 10.39/4.20 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 10.39/4.20 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 10.39/4.20 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 10.39/4.20 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 10.39/4.20 10.39/4.20 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 10.39/4.20 primCmpNat Main.Zero Main.Zero = EQ; 10.39/4.20 primCmpNat Main.Zero (Main.Succ y) = LT; 10.39/4.20 primCmpNat (Main.Succ x) Main.Zero = GT; 10.39/4.20 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 10.39/4.20 10.39/4.20 } 10.39/4.20 10.39/4.20 ---------------------------------------- 10.39/4.20 10.39/4.20 (5) Narrow (SOUND) 10.39/4.20 Haskell To QDPs 10.39/4.20 10.39/4.20 digraph dp_graph { 10.39/4.20 node [outthreshold=100, inthreshold=100];1[label="inRangeMyInt",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 10.39/4.20 3[label="inRangeMyInt vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 10.39/4.20 4[label="inRangeMyInt vx3 vx4",fontsize=16,color="burlywood",shape="triangle"];210[label="vx3/Tup2 vx30 vx31",fontsize=10,color="white",style="solid",shape="box"];4 -> 210[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 210 -> 5[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 5[label="inRangeMyInt (Tup2 vx30 vx31) vx4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 10.39/4.20 6[label="asAs (ltEsMyInt vx30 vx4) (ltEsMyInt vx4 vx31)",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 10.39/4.20 7[label="asAs (fsEsOrdering (compareMyInt vx30 vx4) GT) (ltEsMyInt vx4 vx31)",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 10.39/4.20 8[label="asAs (not (esEsOrdering (compareMyInt vx30 vx4) GT)) (ltEsMyInt vx4 vx31)",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 10.39/4.20 9[label="asAs (not (esEsOrdering (primCmpInt vx30 vx4) GT)) (ltEsMyInt vx4 vx31)",fontsize=16,color="burlywood",shape="box"];211[label="vx30/Pos vx300",fontsize=10,color="white",style="solid",shape="box"];9 -> 211[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 211 -> 10[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 212[label="vx30/Neg vx300",fontsize=10,color="white",style="solid",shape="box"];9 -> 212[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 212 -> 11[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 10[label="asAs (not (esEsOrdering (primCmpInt (Pos vx300) vx4) GT)) (ltEsMyInt vx4 vx31)",fontsize=16,color="burlywood",shape="box"];213[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];10 -> 213[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 213 -> 12[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 214[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];10 -> 214[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 214 -> 13[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 11[label="asAs (not (esEsOrdering (primCmpInt (Neg vx300) vx4) GT)) (ltEsMyInt vx4 vx31)",fontsize=16,color="burlywood",shape="box"];215[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];11 -> 215[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 215 -> 14[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 216[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];11 -> 216[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 216 -> 15[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 12[label="asAs (not (esEsOrdering (primCmpInt (Pos (Succ vx3000)) vx4) GT)) (ltEsMyInt vx4 vx31)",fontsize=16,color="burlywood",shape="box"];217[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];12 -> 217[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 217 -> 16[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 218[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];12 -> 218[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 218 -> 17[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 13[label="asAs (not (esEsOrdering (primCmpInt (Pos Zero) vx4) GT)) (ltEsMyInt vx4 vx31)",fontsize=16,color="burlywood",shape="box"];219[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];13 -> 219[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 219 -> 18[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 220[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];13 -> 220[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 220 -> 19[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 14[label="asAs (not (esEsOrdering (primCmpInt (Neg (Succ vx3000)) vx4) GT)) (ltEsMyInt vx4 vx31)",fontsize=16,color="burlywood",shape="box"];221[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];14 -> 221[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 221 -> 20[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 222[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];14 -> 222[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 222 -> 21[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 15[label="asAs (not (esEsOrdering (primCmpInt (Neg Zero) vx4) GT)) (ltEsMyInt vx4 vx31)",fontsize=16,color="burlywood",shape="box"];223[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];15 -> 223[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 223 -> 22[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 224[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];15 -> 224[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 224 -> 23[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 16[label="asAs (not (esEsOrdering (primCmpInt (Pos (Succ vx3000)) (Pos vx40)) GT)) (ltEsMyInt (Pos vx40) vx31)",fontsize=16,color="black",shape="box"];16 -> 24[label="",style="solid", color="black", weight=3]; 10.39/4.20 17[label="asAs (not (esEsOrdering (primCmpInt (Pos (Succ vx3000)) (Neg vx40)) GT)) (ltEsMyInt (Neg vx40) vx31)",fontsize=16,color="black",shape="box"];17 -> 25[label="",style="solid", color="black", weight=3]; 10.39/4.20 18[label="asAs (not (esEsOrdering (primCmpInt (Pos Zero) (Pos vx40)) GT)) (ltEsMyInt (Pos vx40) vx31)",fontsize=16,color="burlywood",shape="box"];225[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];18 -> 225[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 225 -> 26[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 226[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];18 -> 226[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 226 -> 27[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 19[label="asAs (not (esEsOrdering (primCmpInt (Pos Zero) (Neg vx40)) GT)) (ltEsMyInt (Neg vx40) vx31)",fontsize=16,color="burlywood",shape="box"];227[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];19 -> 227[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 227 -> 28[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 228[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];19 -> 228[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 228 -> 29[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 20[label="asAs (not (esEsOrdering (primCmpInt (Neg (Succ vx3000)) (Pos vx40)) GT)) (ltEsMyInt (Pos vx40) vx31)",fontsize=16,color="black",shape="box"];20 -> 30[label="",style="solid", color="black", weight=3]; 10.39/4.20 21[label="asAs (not (esEsOrdering (primCmpInt (Neg (Succ vx3000)) (Neg vx40)) GT)) (ltEsMyInt (Neg vx40) vx31)",fontsize=16,color="black",shape="box"];21 -> 31[label="",style="solid", color="black", weight=3]; 10.39/4.20 22[label="asAs (not (esEsOrdering (primCmpInt (Neg Zero) (Pos vx40)) GT)) (ltEsMyInt (Pos vx40) vx31)",fontsize=16,color="burlywood",shape="box"];229[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];22 -> 229[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 229 -> 32[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 230[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];22 -> 230[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 230 -> 33[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 23[label="asAs (not (esEsOrdering (primCmpInt (Neg Zero) (Neg vx40)) GT)) (ltEsMyInt (Neg vx40) vx31)",fontsize=16,color="burlywood",shape="box"];231[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];23 -> 231[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 231 -> 34[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 232[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];23 -> 232[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 232 -> 35[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 24 -> 100[label="",style="dashed", color="red", weight=0]; 10.39/4.20 24[label="asAs (not (esEsOrdering (primCmpNat (Succ vx3000) vx40) GT)) (ltEsMyInt (Pos vx40) vx31)",fontsize=16,color="magenta"];24 -> 101[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 24 -> 102[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 24 -> 103[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 25[label="asAs (not (esEsOrdering GT GT)) (ltEsMyInt (Neg vx40) vx31)",fontsize=16,color="black",shape="triangle"];25 -> 38[label="",style="solid", color="black", weight=3]; 10.39/4.20 26[label="asAs (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ vx400))) GT)) (ltEsMyInt (Pos (Succ vx400)) vx31)",fontsize=16,color="black",shape="box"];26 -> 39[label="",style="solid", color="black", weight=3]; 10.39/4.20 27[label="asAs (not (esEsOrdering (primCmpInt (Pos Zero) (Pos Zero)) GT)) (ltEsMyInt (Pos Zero) vx31)",fontsize=16,color="black",shape="box"];27 -> 40[label="",style="solid", color="black", weight=3]; 10.39/4.20 28[label="asAs (not (esEsOrdering (primCmpInt (Pos Zero) (Neg (Succ vx400))) GT)) (ltEsMyInt (Neg (Succ vx400)) vx31)",fontsize=16,color="black",shape="box"];28 -> 41[label="",style="solid", color="black", weight=3]; 10.39/4.20 29[label="asAs (not (esEsOrdering (primCmpInt (Pos Zero) (Neg Zero)) GT)) (ltEsMyInt (Neg Zero) vx31)",fontsize=16,color="black",shape="box"];29 -> 42[label="",style="solid", color="black", weight=3]; 10.39/4.20 30[label="asAs (not (esEsOrdering LT GT)) (ltEsMyInt (Pos vx40) vx31)",fontsize=16,color="black",shape="triangle"];30 -> 43[label="",style="solid", color="black", weight=3]; 10.39/4.20 31 -> 100[label="",style="dashed", color="red", weight=0]; 10.39/4.20 31[label="asAs (not (esEsOrdering (primCmpNat vx40 (Succ vx3000)) GT)) (ltEsMyInt (Neg vx40) vx31)",fontsize=16,color="magenta"];31 -> 104[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 31 -> 105[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 31 -> 106[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 32[label="asAs (not (esEsOrdering (primCmpInt (Neg Zero) (Pos (Succ vx400))) GT)) (ltEsMyInt (Pos (Succ vx400)) vx31)",fontsize=16,color="black",shape="box"];32 -> 46[label="",style="solid", color="black", weight=3]; 10.39/4.20 33[label="asAs (not (esEsOrdering (primCmpInt (Neg Zero) (Pos Zero)) GT)) (ltEsMyInt (Pos Zero) vx31)",fontsize=16,color="black",shape="box"];33 -> 47[label="",style="solid", color="black", weight=3]; 10.39/4.20 34[label="asAs (not (esEsOrdering (primCmpInt (Neg Zero) (Neg (Succ vx400))) GT)) (ltEsMyInt (Neg (Succ vx400)) vx31)",fontsize=16,color="black",shape="box"];34 -> 48[label="",style="solid", color="black", weight=3]; 10.39/4.20 35[label="asAs (not (esEsOrdering (primCmpInt (Neg Zero) (Neg Zero)) GT)) (ltEsMyInt (Neg Zero) vx31)",fontsize=16,color="black",shape="box"];35 -> 49[label="",style="solid", color="black", weight=3]; 10.39/4.20 101 -> 69[label="",style="dashed", color="red", weight=0]; 10.39/4.20 101[label="ltEsMyInt (Pos vx40) vx31",fontsize=16,color="magenta"];102[label="vx40",fontsize=16,color="green",shape="box"];103[label="Succ vx3000",fontsize=16,color="green",shape="box"];100[label="asAs (not (esEsOrdering (primCmpNat vx30000 vx4000) GT)) vx6",fontsize=16,color="burlywood",shape="triangle"];233[label="vx30000/Succ vx300000",fontsize=10,color="white",style="solid",shape="box"];100 -> 233[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 233 -> 123[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 234[label="vx30000/Zero",fontsize=10,color="white",style="solid",shape="box"];100 -> 234[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 234 -> 124[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 38[label="asAs (not MyTrue) (ltEsMyInt (Neg vx40) vx31)",fontsize=16,color="black",shape="box"];38 -> 52[label="",style="solid", color="black", weight=3]; 10.39/4.20 39 -> 100[label="",style="dashed", color="red", weight=0]; 10.39/4.20 39[label="asAs (not (esEsOrdering (primCmpNat Zero (Succ vx400)) GT)) (ltEsMyInt (Pos (Succ vx400)) vx31)",fontsize=16,color="magenta"];39 -> 107[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 39 -> 108[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 39 -> 109[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 40[label="asAs (not (esEsOrdering EQ GT)) (ltEsMyInt (Pos Zero) vx31)",fontsize=16,color="black",shape="triangle"];40 -> 54[label="",style="solid", color="black", weight=3]; 10.39/4.20 41 -> 25[label="",style="dashed", color="red", weight=0]; 10.39/4.20 41[label="asAs (not (esEsOrdering GT GT)) (ltEsMyInt (Neg (Succ vx400)) vx31)",fontsize=16,color="magenta"];41 -> 55[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 42[label="asAs (not (esEsOrdering EQ GT)) (ltEsMyInt (Neg Zero) vx31)",fontsize=16,color="black",shape="triangle"];42 -> 56[label="",style="solid", color="black", weight=3]; 10.39/4.20 43[label="asAs (not MyFalse) (ltEsMyInt (Pos vx40) vx31)",fontsize=16,color="black",shape="triangle"];43 -> 57[label="",style="solid", color="black", weight=3]; 10.39/4.20 104 -> 90[label="",style="dashed", color="red", weight=0]; 10.39/4.20 104[label="ltEsMyInt (Neg vx40) vx31",fontsize=16,color="magenta"];105[label="Succ vx3000",fontsize=16,color="green",shape="box"];106[label="vx40",fontsize=16,color="green",shape="box"];46 -> 30[label="",style="dashed", color="red", weight=0]; 10.39/4.20 46[label="asAs (not (esEsOrdering LT GT)) (ltEsMyInt (Pos (Succ vx400)) vx31)",fontsize=16,color="magenta"];46 -> 60[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 47 -> 40[label="",style="dashed", color="red", weight=0]; 10.39/4.20 47[label="asAs (not (esEsOrdering EQ GT)) (ltEsMyInt (Pos Zero) vx31)",fontsize=16,color="magenta"];48 -> 100[label="",style="dashed", color="red", weight=0]; 10.39/4.20 48[label="asAs (not (esEsOrdering (primCmpNat (Succ vx400) Zero) GT)) (ltEsMyInt (Neg (Succ vx400)) vx31)",fontsize=16,color="magenta"];48 -> 110[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 48 -> 111[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 48 -> 112[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 49 -> 42[label="",style="dashed", color="red", weight=0]; 10.39/4.20 49[label="asAs (not (esEsOrdering EQ GT)) (ltEsMyInt (Neg Zero) vx31)",fontsize=16,color="magenta"];69[label="ltEsMyInt (Pos vx40) vx31",fontsize=16,color="black",shape="triangle"];69 -> 80[label="",style="solid", color="black", weight=3]; 10.39/4.20 123[label="asAs (not (esEsOrdering (primCmpNat (Succ vx300000) vx4000) GT)) vx6",fontsize=16,color="burlywood",shape="box"];235[label="vx4000/Succ vx40000",fontsize=10,color="white",style="solid",shape="box"];123 -> 235[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 235 -> 129[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 236[label="vx4000/Zero",fontsize=10,color="white",style="solid",shape="box"];123 -> 236[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 236 -> 130[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 124[label="asAs (not (esEsOrdering (primCmpNat Zero vx4000) GT)) vx6",fontsize=16,color="burlywood",shape="box"];237[label="vx4000/Succ vx40000",fontsize=10,color="white",style="solid",shape="box"];124 -> 237[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 237 -> 131[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 238[label="vx4000/Zero",fontsize=10,color="white",style="solid",shape="box"];124 -> 238[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 238 -> 132[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 52 -> 89[label="",style="dashed", color="red", weight=0]; 10.39/4.20 52[label="asAs MyFalse (ltEsMyInt (Neg vx40) vx31)",fontsize=16,color="magenta"];52 -> 90[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 107 -> 69[label="",style="dashed", color="red", weight=0]; 10.39/4.20 107[label="ltEsMyInt (Pos (Succ vx400)) vx31",fontsize=16,color="magenta"];107 -> 125[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 108[label="Succ vx400",fontsize=16,color="green",shape="box"];109[label="Zero",fontsize=16,color="green",shape="box"];54 -> 43[label="",style="dashed", color="red", weight=0]; 10.39/4.20 54[label="asAs (not MyFalse) (ltEsMyInt (Pos Zero) vx31)",fontsize=16,color="magenta"];54 -> 67[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 55[label="Succ vx400",fontsize=16,color="green",shape="box"];56[label="asAs (not MyFalse) (ltEsMyInt (Neg Zero) vx31)",fontsize=16,color="black",shape="triangle"];56 -> 68[label="",style="solid", color="black", weight=3]; 10.39/4.20 57[label="asAs MyTrue (ltEsMyInt (Pos vx40) vx31)",fontsize=16,color="black",shape="box"];57 -> 69[label="",style="solid", color="black", weight=3]; 10.39/4.20 90[label="ltEsMyInt (Neg vx40) vx31",fontsize=16,color="black",shape="triangle"];90 -> 92[label="",style="solid", color="black", weight=3]; 10.39/4.20 60[label="Succ vx400",fontsize=16,color="green",shape="box"];110 -> 90[label="",style="dashed", color="red", weight=0]; 10.39/4.20 110[label="ltEsMyInt (Neg (Succ vx400)) vx31",fontsize=16,color="magenta"];110 -> 126[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 111[label="Zero",fontsize=16,color="green",shape="box"];112[label="Succ vx400",fontsize=16,color="green",shape="box"];80[label="fsEsOrdering (compareMyInt (Pos vx40) vx31) GT",fontsize=16,color="black",shape="box"];80 -> 95[label="",style="solid", color="black", weight=3]; 10.39/4.20 129[label="asAs (not (esEsOrdering (primCmpNat (Succ vx300000) (Succ vx40000)) GT)) vx6",fontsize=16,color="black",shape="box"];129 -> 136[label="",style="solid", color="black", weight=3]; 10.39/4.20 130[label="asAs (not (esEsOrdering (primCmpNat (Succ vx300000) Zero) GT)) vx6",fontsize=16,color="black",shape="box"];130 -> 137[label="",style="solid", color="black", weight=3]; 10.39/4.20 131[label="asAs (not (esEsOrdering (primCmpNat Zero (Succ vx40000)) GT)) vx6",fontsize=16,color="black",shape="box"];131 -> 138[label="",style="solid", color="black", weight=3]; 10.39/4.20 132[label="asAs (not (esEsOrdering (primCmpNat Zero Zero) GT)) vx6",fontsize=16,color="black",shape="box"];132 -> 139[label="",style="solid", color="black", weight=3]; 10.39/4.20 89[label="asAs MyFalse vx5",fontsize=16,color="black",shape="triangle"];89 -> 93[label="",style="solid", color="black", weight=3]; 10.39/4.20 125[label="Succ vx400",fontsize=16,color="green",shape="box"];67[label="Zero",fontsize=16,color="green",shape="box"];68[label="asAs MyTrue (ltEsMyInt (Neg Zero) vx31)",fontsize=16,color="black",shape="box"];68 -> 79[label="",style="solid", color="black", weight=3]; 10.39/4.20 92[label="fsEsOrdering (compareMyInt (Neg vx40) vx31) GT",fontsize=16,color="black",shape="box"];92 -> 127[label="",style="solid", color="black", weight=3]; 10.39/4.20 126[label="Succ vx400",fontsize=16,color="green",shape="box"];95[label="not (esEsOrdering (compareMyInt (Pos vx40) vx31) GT)",fontsize=16,color="black",shape="box"];95 -> 128[label="",style="solid", color="black", weight=3]; 10.39/4.20 136 -> 100[label="",style="dashed", color="red", weight=0]; 10.39/4.20 136[label="asAs (not (esEsOrdering (primCmpNat vx300000 vx40000) GT)) vx6",fontsize=16,color="magenta"];136 -> 146[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 136 -> 147[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 137[label="asAs (not (esEsOrdering GT GT)) vx6",fontsize=16,color="black",shape="box"];137 -> 148[label="",style="solid", color="black", weight=3]; 10.39/4.20 138[label="asAs (not (esEsOrdering LT GT)) vx6",fontsize=16,color="black",shape="box"];138 -> 149[label="",style="solid", color="black", weight=3]; 10.39/4.20 139[label="asAs (not (esEsOrdering EQ GT)) vx6",fontsize=16,color="black",shape="box"];139 -> 150[label="",style="solid", color="black", weight=3]; 10.39/4.20 93[label="MyFalse",fontsize=16,color="green",shape="box"];79 -> 90[label="",style="dashed", color="red", weight=0]; 10.39/4.20 79[label="ltEsMyInt (Neg Zero) vx31",fontsize=16,color="magenta"];79 -> 94[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 127[label="not (esEsOrdering (compareMyInt (Neg vx40) vx31) GT)",fontsize=16,color="black",shape="box"];127 -> 133[label="",style="solid", color="black", weight=3]; 10.39/4.20 128[label="not (esEsOrdering (primCmpInt (Pos vx40) vx31) GT)",fontsize=16,color="burlywood",shape="box"];239[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];128 -> 239[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 239 -> 134[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 240[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];128 -> 240[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 240 -> 135[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 146[label="vx40000",fontsize=16,color="green",shape="box"];147[label="vx300000",fontsize=16,color="green",shape="box"];148[label="asAs (not MyTrue) vx6",fontsize=16,color="black",shape="box"];148 -> 161[label="",style="solid", color="black", weight=3]; 10.39/4.20 149[label="asAs (not MyFalse) vx6",fontsize=16,color="black",shape="triangle"];149 -> 162[label="",style="solid", color="black", weight=3]; 10.39/4.20 150 -> 149[label="",style="dashed", color="red", weight=0]; 10.39/4.20 150[label="asAs (not MyFalse) vx6",fontsize=16,color="magenta"];94[label="Zero",fontsize=16,color="green",shape="box"];133[label="not (esEsOrdering (primCmpInt (Neg vx40) vx31) GT)",fontsize=16,color="burlywood",shape="box"];241[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];133 -> 241[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 241 -> 140[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 242[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];133 -> 242[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 242 -> 141[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 134[label="not (esEsOrdering (primCmpInt (Pos (Succ vx400)) vx31) GT)",fontsize=16,color="burlywood",shape="box"];243[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];134 -> 243[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 243 -> 142[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 244[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];134 -> 244[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 244 -> 143[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 135[label="not (esEsOrdering (primCmpInt (Pos Zero) vx31) GT)",fontsize=16,color="burlywood",shape="box"];245[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];135 -> 245[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 245 -> 144[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 246[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];135 -> 246[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 246 -> 145[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 161 -> 89[label="",style="dashed", color="red", weight=0]; 10.39/4.20 161[label="asAs MyFalse vx6",fontsize=16,color="magenta"];161 -> 176[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 162[label="asAs MyTrue vx6",fontsize=16,color="black",shape="box"];162 -> 177[label="",style="solid", color="black", weight=3]; 10.39/4.20 140[label="not (esEsOrdering (primCmpInt (Neg (Succ vx400)) vx31) GT)",fontsize=16,color="burlywood",shape="box"];247[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];140 -> 247[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 247 -> 151[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 248[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];140 -> 248[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 248 -> 152[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 141[label="not (esEsOrdering (primCmpInt (Neg Zero) vx31) GT)",fontsize=16,color="burlywood",shape="box"];249[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];141 -> 249[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 249 -> 153[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 250[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];141 -> 250[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 250 -> 154[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 142[label="not (esEsOrdering (primCmpInt (Pos (Succ vx400)) (Pos vx310)) GT)",fontsize=16,color="black",shape="box"];142 -> 155[label="",style="solid", color="black", weight=3]; 10.39/4.20 143[label="not (esEsOrdering (primCmpInt (Pos (Succ vx400)) (Neg vx310)) GT)",fontsize=16,color="black",shape="box"];143 -> 156[label="",style="solid", color="black", weight=3]; 10.39/4.20 144[label="not (esEsOrdering (primCmpInt (Pos Zero) (Pos vx310)) GT)",fontsize=16,color="burlywood",shape="box"];251[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];144 -> 251[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 251 -> 157[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 252[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];144 -> 252[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 252 -> 158[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 145[label="not (esEsOrdering (primCmpInt (Pos Zero) (Neg vx310)) GT)",fontsize=16,color="burlywood",shape="box"];253[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];145 -> 253[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 253 -> 159[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 254[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];145 -> 254[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 254 -> 160[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 176[label="vx6",fontsize=16,color="green",shape="box"];177[label="vx6",fontsize=16,color="green",shape="box"];151[label="not (esEsOrdering (primCmpInt (Neg (Succ vx400)) (Pos vx310)) GT)",fontsize=16,color="black",shape="box"];151 -> 163[label="",style="solid", color="black", weight=3]; 10.39/4.20 152[label="not (esEsOrdering (primCmpInt (Neg (Succ vx400)) (Neg vx310)) GT)",fontsize=16,color="black",shape="box"];152 -> 164[label="",style="solid", color="black", weight=3]; 10.39/4.20 153[label="not (esEsOrdering (primCmpInt (Neg Zero) (Pos vx310)) GT)",fontsize=16,color="burlywood",shape="box"];255[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];153 -> 255[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 255 -> 165[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 256[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];153 -> 256[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 256 -> 166[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 154[label="not (esEsOrdering (primCmpInt (Neg Zero) (Neg vx310)) GT)",fontsize=16,color="burlywood",shape="box"];257[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];154 -> 257[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 257 -> 167[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 258[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];154 -> 258[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 258 -> 168[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 155[label="not (esEsOrdering (primCmpNat (Succ vx400) vx310) GT)",fontsize=16,color="burlywood",shape="triangle"];259[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];155 -> 259[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 259 -> 169[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 260[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];155 -> 260[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 260 -> 170[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 156[label="not (esEsOrdering GT GT)",fontsize=16,color="black",shape="triangle"];156 -> 171[label="",style="solid", color="black", weight=3]; 10.39/4.20 157[label="not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ vx3100))) GT)",fontsize=16,color="black",shape="box"];157 -> 172[label="",style="solid", color="black", weight=3]; 10.39/4.20 158[label="not (esEsOrdering (primCmpInt (Pos Zero) (Pos Zero)) GT)",fontsize=16,color="black",shape="box"];158 -> 173[label="",style="solid", color="black", weight=3]; 10.39/4.20 159[label="not (esEsOrdering (primCmpInt (Pos Zero) (Neg (Succ vx3100))) GT)",fontsize=16,color="black",shape="box"];159 -> 174[label="",style="solid", color="black", weight=3]; 10.39/4.20 160[label="not (esEsOrdering (primCmpInt (Pos Zero) (Neg Zero)) GT)",fontsize=16,color="black",shape="box"];160 -> 175[label="",style="solid", color="black", weight=3]; 10.39/4.20 163[label="not (esEsOrdering LT GT)",fontsize=16,color="black",shape="triangle"];163 -> 178[label="",style="solid", color="black", weight=3]; 10.39/4.20 164[label="not (esEsOrdering (primCmpNat vx310 (Succ vx400)) GT)",fontsize=16,color="burlywood",shape="triangle"];261[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];164 -> 261[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 261 -> 179[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 262[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];164 -> 262[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 262 -> 180[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 165[label="not (esEsOrdering (primCmpInt (Neg Zero) (Pos (Succ vx3100))) GT)",fontsize=16,color="black",shape="box"];165 -> 181[label="",style="solid", color="black", weight=3]; 10.39/4.20 166[label="not (esEsOrdering (primCmpInt (Neg Zero) (Pos Zero)) GT)",fontsize=16,color="black",shape="box"];166 -> 182[label="",style="solid", color="black", weight=3]; 10.39/4.20 167[label="not (esEsOrdering (primCmpInt (Neg Zero) (Neg (Succ vx3100))) GT)",fontsize=16,color="black",shape="box"];167 -> 183[label="",style="solid", color="black", weight=3]; 10.39/4.20 168[label="not (esEsOrdering (primCmpInt (Neg Zero) (Neg Zero)) GT)",fontsize=16,color="black",shape="box"];168 -> 184[label="",style="solid", color="black", weight=3]; 10.39/4.20 169[label="not (esEsOrdering (primCmpNat (Succ vx400) (Succ vx3100)) GT)",fontsize=16,color="black",shape="box"];169 -> 185[label="",style="solid", color="black", weight=3]; 10.39/4.20 170[label="not (esEsOrdering (primCmpNat (Succ vx400) Zero) GT)",fontsize=16,color="black",shape="box"];170 -> 186[label="",style="solid", color="black", weight=3]; 10.39/4.20 171[label="not MyTrue",fontsize=16,color="black",shape="box"];171 -> 187[label="",style="solid", color="black", weight=3]; 10.39/4.20 172 -> 164[label="",style="dashed", color="red", weight=0]; 10.39/4.20 172[label="not (esEsOrdering (primCmpNat Zero (Succ vx3100)) GT)",fontsize=16,color="magenta"];172 -> 188[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 172 -> 189[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 173[label="not (esEsOrdering EQ GT)",fontsize=16,color="black",shape="triangle"];173 -> 190[label="",style="solid", color="black", weight=3]; 10.39/4.20 174 -> 156[label="",style="dashed", color="red", weight=0]; 10.39/4.20 174[label="not (esEsOrdering GT GT)",fontsize=16,color="magenta"];175 -> 173[label="",style="dashed", color="red", weight=0]; 10.39/4.20 175[label="not (esEsOrdering EQ GT)",fontsize=16,color="magenta"];178[label="not MyFalse",fontsize=16,color="black",shape="triangle"];178 -> 191[label="",style="solid", color="black", weight=3]; 10.39/4.20 179[label="not (esEsOrdering (primCmpNat (Succ vx3100) (Succ vx400)) GT)",fontsize=16,color="black",shape="box"];179 -> 192[label="",style="solid", color="black", weight=3]; 10.39/4.20 180[label="not (esEsOrdering (primCmpNat Zero (Succ vx400)) GT)",fontsize=16,color="black",shape="box"];180 -> 193[label="",style="solid", color="black", weight=3]; 10.39/4.20 181 -> 163[label="",style="dashed", color="red", weight=0]; 10.39/4.20 181[label="not (esEsOrdering LT GT)",fontsize=16,color="magenta"];182 -> 173[label="",style="dashed", color="red", weight=0]; 10.39/4.20 182[label="not (esEsOrdering EQ GT)",fontsize=16,color="magenta"];183 -> 155[label="",style="dashed", color="red", weight=0]; 10.39/4.20 183[label="not (esEsOrdering (primCmpNat (Succ vx3100) Zero) GT)",fontsize=16,color="magenta"];183 -> 194[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 183 -> 195[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 184 -> 173[label="",style="dashed", color="red", weight=0]; 10.39/4.20 184[label="not (esEsOrdering EQ GT)",fontsize=16,color="magenta"];185[label="not (esEsOrdering (primCmpNat vx400 vx3100) GT)",fontsize=16,color="burlywood",shape="triangle"];263[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];185 -> 263[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 263 -> 196[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 264[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];185 -> 264[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 264 -> 197[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 186 -> 156[label="",style="dashed", color="red", weight=0]; 10.39/4.20 186[label="not (esEsOrdering GT GT)",fontsize=16,color="magenta"];187[label="MyFalse",fontsize=16,color="green",shape="box"];188[label="vx3100",fontsize=16,color="green",shape="box"];189[label="Zero",fontsize=16,color="green",shape="box"];190 -> 178[label="",style="dashed", color="red", weight=0]; 10.39/4.20 190[label="not MyFalse",fontsize=16,color="magenta"];191[label="MyTrue",fontsize=16,color="green",shape="box"];192 -> 185[label="",style="dashed", color="red", weight=0]; 10.39/4.20 192[label="not (esEsOrdering (primCmpNat vx3100 vx400) GT)",fontsize=16,color="magenta"];192 -> 198[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 192 -> 199[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 193 -> 163[label="",style="dashed", color="red", weight=0]; 10.39/4.20 193[label="not (esEsOrdering LT GT)",fontsize=16,color="magenta"];194[label="Zero",fontsize=16,color="green",shape="box"];195[label="vx3100",fontsize=16,color="green",shape="box"];196[label="not (esEsOrdering (primCmpNat (Succ vx4000) vx3100) GT)",fontsize=16,color="burlywood",shape="box"];265[label="vx3100/Succ vx31000",fontsize=10,color="white",style="solid",shape="box"];196 -> 265[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 265 -> 200[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 266[label="vx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];196 -> 266[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 266 -> 201[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 197[label="not (esEsOrdering (primCmpNat Zero vx3100) GT)",fontsize=16,color="burlywood",shape="box"];267[label="vx3100/Succ vx31000",fontsize=10,color="white",style="solid",shape="box"];197 -> 267[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 267 -> 202[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 268[label="vx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];197 -> 268[label="",style="solid", color="burlywood", weight=9]; 10.39/4.20 268 -> 203[label="",style="solid", color="burlywood", weight=3]; 10.39/4.20 198[label="vx3100",fontsize=16,color="green",shape="box"];199[label="vx400",fontsize=16,color="green",shape="box"];200[label="not (esEsOrdering (primCmpNat (Succ vx4000) (Succ vx31000)) GT)",fontsize=16,color="black",shape="box"];200 -> 204[label="",style="solid", color="black", weight=3]; 10.39/4.20 201[label="not (esEsOrdering (primCmpNat (Succ vx4000) Zero) GT)",fontsize=16,color="black",shape="box"];201 -> 205[label="",style="solid", color="black", weight=3]; 10.39/4.20 202[label="not (esEsOrdering (primCmpNat Zero (Succ vx31000)) GT)",fontsize=16,color="black",shape="box"];202 -> 206[label="",style="solid", color="black", weight=3]; 10.39/4.20 203[label="not (esEsOrdering (primCmpNat Zero Zero) GT)",fontsize=16,color="black",shape="box"];203 -> 207[label="",style="solid", color="black", weight=3]; 10.39/4.20 204 -> 185[label="",style="dashed", color="red", weight=0]; 10.39/4.20 204[label="not (esEsOrdering (primCmpNat vx4000 vx31000) GT)",fontsize=16,color="magenta"];204 -> 208[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 204 -> 209[label="",style="dashed", color="magenta", weight=3]; 10.39/4.20 205 -> 156[label="",style="dashed", color="red", weight=0]; 10.39/4.20 205[label="not (esEsOrdering GT GT)",fontsize=16,color="magenta"];206 -> 163[label="",style="dashed", color="red", weight=0]; 10.39/4.20 206[label="not (esEsOrdering LT GT)",fontsize=16,color="magenta"];207 -> 173[label="",style="dashed", color="red", weight=0]; 10.39/4.20 207[label="not (esEsOrdering EQ GT)",fontsize=16,color="magenta"];208[label="vx4000",fontsize=16,color="green",shape="box"];209[label="vx31000",fontsize=16,color="green",shape="box"];} 10.39/4.20 10.39/4.20 ---------------------------------------- 10.39/4.20 10.39/4.20 (6) 10.39/4.20 Complex Obligation (AND) 10.39/4.20 10.39/4.20 ---------------------------------------- 10.39/4.20 10.39/4.20 (7) 10.39/4.20 Obligation: 10.39/4.20 Q DP problem: 10.39/4.20 The TRS P consists of the following rules: 10.39/4.20 10.39/4.20 new_asAs(Main.Succ(vx300000), Main.Succ(vx40000), vx6) -> new_asAs(vx300000, vx40000, vx6) 10.39/4.20 10.39/4.20 R is empty. 10.39/4.20 Q is empty. 10.39/4.20 We have to consider all minimal (P,Q,R)-chains. 10.39/4.20 ---------------------------------------- 10.39/4.20 10.39/4.20 (8) QDPSizeChangeProof (EQUIVALENT) 10.39/4.20 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.39/4.20 10.39/4.20 From the DPs we obtained the following set of size-change graphs: 10.39/4.20 *new_asAs(Main.Succ(vx300000), Main.Succ(vx40000), vx6) -> new_asAs(vx300000, vx40000, vx6) 10.39/4.20 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 10.39/4.20 10.39/4.20 10.39/4.20 ---------------------------------------- 10.39/4.20 10.39/4.20 (9) 10.39/4.20 YES 10.39/4.20 10.39/4.20 ---------------------------------------- 10.39/4.20 10.39/4.20 (10) 10.39/4.20 Obligation: 10.39/4.20 Q DP problem: 10.39/4.20 The TRS P consists of the following rules: 10.39/4.20 10.39/4.20 new_not(Main.Succ(vx4000), Main.Succ(vx31000)) -> new_not(vx4000, vx31000) 10.39/4.20 10.39/4.20 R is empty. 10.39/4.20 Q is empty. 10.39/4.20 We have to consider all minimal (P,Q,R)-chains. 10.39/4.20 ---------------------------------------- 10.39/4.20 10.39/4.20 (11) QDPSizeChangeProof (EQUIVALENT) 10.39/4.20 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.39/4.20 10.39/4.20 From the DPs we obtained the following set of size-change graphs: 10.39/4.20 *new_not(Main.Succ(vx4000), Main.Succ(vx31000)) -> new_not(vx4000, vx31000) 10.39/4.20 The graph contains the following edges 1 > 1, 2 > 2 10.39/4.20 10.39/4.20 10.39/4.20 ---------------------------------------- 10.39/4.20 10.39/4.20 (12) 10.39/4.20 YES 10.47/4.26 EOF