20.32/7.37 YES 22.04/7.90 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 22.04/7.90 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 22.04/7.90 22.04/7.90 22.04/7.90 H-Termination with start terms of the given HASKELL could be proven: 22.04/7.90 22.04/7.90 (0) HASKELL 22.04/7.90 (1) CR [EQUIVALENT, 0 ms] 22.04/7.90 (2) HASKELL 22.04/7.90 (3) BR [EQUIVALENT, 0 ms] 22.04/7.90 (4) HASKELL 22.04/7.90 (5) COR [EQUIVALENT, 16 ms] 22.04/7.90 (6) HASKELL 22.04/7.90 (7) Narrow [SOUND, 0 ms] 22.04/7.90 (8) AND 22.04/7.90 (9) QDP 22.04/7.90 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 22.04/7.90 (11) YES 22.04/7.90 (12) QDP 22.04/7.90 (13) QDPSizeChangeProof [EQUIVALENT, 0 ms] 22.04/7.90 (14) YES 22.04/7.90 (15) QDP 22.04/7.90 (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] 22.04/7.90 (17) YES 22.04/7.90 (18) QDP 22.04/7.90 (19) DependencyGraphProof [EQUIVALENT, 0 ms] 22.04/7.90 (20) QDP 22.04/7.90 (21) QDPSizeChangeProof [EQUIVALENT, 49 ms] 22.04/7.90 (22) YES 22.04/7.90 (23) QDP 22.04/7.90 (24) QDPSizeChangeProof [EQUIVALENT, 0 ms] 22.04/7.90 (25) YES 22.04/7.90 (26) QDP 22.04/7.90 (27) QDPOrderProof [EQUIVALENT, 89 ms] 22.04/7.90 (28) QDP 22.04/7.90 (29) DependencyGraphProof [EQUIVALENT, 0 ms] 22.04/7.90 (30) TRUE 22.04/7.90 (31) QDP 22.04/7.90 (32) QDPSizeChangeProof [EQUIVALENT, 0 ms] 22.04/7.90 (33) YES 22.04/7.90 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (0) 22.04/7.90 Obligation: 22.04/7.90 mainModule Main 22.04/7.90 module Maybe where { 22.04/7.90 import qualified List; 22.04/7.90 import qualified Main; 22.04/7.90 import qualified Prelude; 22.04/7.90 } 22.04/7.90 module List where { 22.04/7.90 import qualified Main; 22.04/7.90 import qualified Maybe; 22.04/7.90 import qualified Prelude; 22.04/7.90 merge :: (a -> a -> Ordering) -> [a] -> [a] -> [a]; 22.04/7.90 merge cmp xs [] = xs; 22.04/7.90 merge cmp [] ys = ys; 22.04/7.90 merge cmp (x : xs) (y : ys) = case x `cmp` y of { 22.04/7.90 GT-> y : merge cmp (x : xs) ys; 22.04/7.90 _-> x : merge cmp xs (y : ys); 22.04/7.90 } ; 22.04/7.90 22.04/7.90 merge_pairs :: (a -> a -> Ordering) -> [[a]] -> [[a]]; 22.04/7.90 merge_pairs cmp [] = []; 22.04/7.90 merge_pairs cmp (xs : []) = xs : []; 22.04/7.90 merge_pairs cmp (xs : ys : xss) = merge cmp xs ys : merge_pairs cmp xss; 22.04/7.90 22.04/7.90 mergesort :: (a -> a -> Ordering) -> [a] -> [a]; 22.04/7.90 mergesort cmp = mergesort' cmp . map wrap; 22.04/7.90 22.04/7.90 mergesort' :: (a -> a -> Ordering) -> [[a]] -> [a]; 22.04/7.90 mergesort' cmp [] = []; 22.04/7.90 mergesort' cmp (xs : []) = xs; 22.04/7.90 mergesort' cmp xss = mergesort' cmp (merge_pairs cmp xss); 22.04/7.90 22.04/7.90 sort :: Ord a => [a] -> [a]; 22.04/7.90 sort l = mergesort compare l; 22.04/7.90 22.04/7.90 wrap :: a -> [a]; 22.04/7.90 wrap x = x : []; 22.04/7.90 22.04/7.90 } 22.04/7.90 module Main where { 22.04/7.90 import qualified List; 22.04/7.90 import qualified Maybe; 22.04/7.90 import qualified Prelude; 22.04/7.90 } 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (1) CR (EQUIVALENT) 22.04/7.90 Case Reductions: 22.04/7.90 The following Case expression 22.04/7.90 "case cmp x y of { 22.04/7.90 GT -> y : merge cmp (x : xs) ys; 22.04/7.90 _ -> x : merge cmp xs (y : ys)} 22.04/7.90 " 22.04/7.90 is transformed to 22.04/7.90 "merge0 y cmp x xs ys GT = y : merge cmp (x : xs) ys; 22.04/7.90 merge0 y cmp x xs ys _ = x : merge cmp xs (y : ys); 22.04/7.90 " 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (2) 22.04/7.90 Obligation: 22.04/7.90 mainModule Main 22.04/7.90 module Maybe where { 22.04/7.90 import qualified List; 22.04/7.90 import qualified Main; 22.04/7.90 import qualified Prelude; 22.04/7.90 } 22.04/7.90 module List where { 22.04/7.90 import qualified Main; 22.04/7.90 import qualified Maybe; 22.04/7.90 import qualified Prelude; 22.04/7.90 merge :: (a -> a -> Ordering) -> [a] -> [a] -> [a]; 22.04/7.90 merge cmp xs [] = xs; 22.04/7.90 merge cmp [] ys = ys; 22.04/7.90 merge cmp (x : xs) (y : ys) = merge0 y cmp x xs ys (x `cmp` y); 22.04/7.90 22.04/7.90 merge0 y cmp x xs ys GT = y : merge cmp (x : xs) ys; 22.04/7.90 merge0 y cmp x xs ys _ = x : merge cmp xs (y : ys); 22.04/7.90 22.04/7.90 merge_pairs :: (a -> a -> Ordering) -> [[a]] -> [[a]]; 22.04/7.90 merge_pairs cmp [] = []; 22.04/7.90 merge_pairs cmp (xs : []) = xs : []; 22.04/7.90 merge_pairs cmp (xs : ys : xss) = merge cmp xs ys : merge_pairs cmp xss; 22.04/7.90 22.04/7.90 mergesort :: (a -> a -> Ordering) -> [a] -> [a]; 22.04/7.90 mergesort cmp = mergesort' cmp . map wrap; 22.04/7.90 22.04/7.90 mergesort' :: (a -> a -> Ordering) -> [[a]] -> [a]; 22.04/7.90 mergesort' cmp [] = []; 22.04/7.90 mergesort' cmp (xs : []) = xs; 22.04/7.90 mergesort' cmp xss = mergesort' cmp (merge_pairs cmp xss); 22.04/7.90 22.04/7.90 sort :: Ord a => [a] -> [a]; 22.04/7.90 sort l = mergesort compare l; 22.04/7.90 22.04/7.90 wrap :: a -> [a]; 22.04/7.90 wrap x = x : []; 22.04/7.90 22.04/7.90 } 22.04/7.90 module Main where { 22.04/7.90 import qualified List; 22.04/7.90 import qualified Maybe; 22.04/7.90 import qualified Prelude; 22.04/7.90 } 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (3) BR (EQUIVALENT) 22.04/7.90 Replaced joker patterns by fresh variables and removed binding patterns. 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (4) 22.04/7.90 Obligation: 22.04/7.90 mainModule Main 22.04/7.90 module Maybe where { 22.04/7.90 import qualified List; 22.04/7.90 import qualified Main; 22.04/7.90 import qualified Prelude; 22.04/7.90 } 22.04/7.90 module List where { 22.04/7.90 import qualified Main; 22.04/7.90 import qualified Maybe; 22.04/7.90 import qualified Prelude; 22.04/7.90 merge :: (a -> a -> Ordering) -> [a] -> [a] -> [a]; 22.04/7.90 merge cmp xs [] = xs; 22.04/7.90 merge cmp [] ys = ys; 22.04/7.90 merge cmp (x : xs) (y : ys) = merge0 y cmp x xs ys (x `cmp` y); 22.04/7.90 22.04/7.90 merge0 y cmp x xs ys GT = y : merge cmp (x : xs) ys; 22.04/7.90 merge0 y cmp x xs ys vy = x : merge cmp xs (y : ys); 22.04/7.90 22.04/7.90 merge_pairs :: (a -> a -> Ordering) -> [[a]] -> [[a]]; 22.04/7.90 merge_pairs cmp [] = []; 22.04/7.90 merge_pairs cmp (xs : []) = xs : []; 22.04/7.90 merge_pairs cmp (xs : ys : xss) = merge cmp xs ys : merge_pairs cmp xss; 22.04/7.90 22.04/7.90 mergesort :: (a -> a -> Ordering) -> [a] -> [a]; 22.04/7.90 mergesort cmp = mergesort' cmp . map wrap; 22.04/7.90 22.04/7.90 mergesort' :: (a -> a -> Ordering) -> [[a]] -> [a]; 22.04/7.90 mergesort' cmp [] = []; 22.04/7.90 mergesort' cmp (xs : []) = xs; 22.04/7.90 mergesort' cmp xss = mergesort' cmp (merge_pairs cmp xss); 22.04/7.90 22.04/7.90 sort :: Ord a => [a] -> [a]; 22.04/7.90 sort l = mergesort compare l; 22.04/7.90 22.04/7.90 wrap :: a -> [a]; 22.04/7.90 wrap x = x : []; 22.04/7.90 22.04/7.90 } 22.04/7.90 module Main where { 22.04/7.90 import qualified List; 22.04/7.90 import qualified Maybe; 22.04/7.90 import qualified Prelude; 22.04/7.90 } 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (5) COR (EQUIVALENT) 22.04/7.90 Cond Reductions: 22.04/7.90 The following Function with conditions 22.04/7.90 "undefined |Falseundefined; 22.04/7.90 " 22.04/7.90 is transformed to 22.04/7.90 "undefined = undefined1; 22.04/7.90 " 22.04/7.90 "undefined0 True = undefined; 22.04/7.90 " 22.04/7.90 "undefined1 = undefined0 False; 22.04/7.90 " 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (6) 22.04/7.90 Obligation: 22.04/7.90 mainModule Main 22.04/7.90 module Maybe where { 22.04/7.90 import qualified List; 22.04/7.90 import qualified Main; 22.04/7.90 import qualified Prelude; 22.04/7.90 } 22.04/7.90 module List where { 22.04/7.90 import qualified Main; 22.04/7.90 import qualified Maybe; 22.04/7.90 import qualified Prelude; 22.04/7.90 merge :: (a -> a -> Ordering) -> [a] -> [a] -> [a]; 22.04/7.90 merge cmp xs [] = xs; 22.04/7.90 merge cmp [] ys = ys; 22.04/7.90 merge cmp (x : xs) (y : ys) = merge0 y cmp x xs ys (x `cmp` y); 22.04/7.90 22.04/7.90 merge0 y cmp x xs ys GT = y : merge cmp (x : xs) ys; 22.04/7.90 merge0 y cmp x xs ys vy = x : merge cmp xs (y : ys); 22.04/7.90 22.04/7.90 merge_pairs :: (a -> a -> Ordering) -> [[a]] -> [[a]]; 22.04/7.90 merge_pairs cmp [] = []; 22.04/7.90 merge_pairs cmp (xs : []) = xs : []; 22.04/7.90 merge_pairs cmp (xs : ys : xss) = merge cmp xs ys : merge_pairs cmp xss; 22.04/7.90 22.04/7.90 mergesort :: (a -> a -> Ordering) -> [a] -> [a]; 22.04/7.90 mergesort cmp = mergesort' cmp . map wrap; 22.04/7.90 22.04/7.90 mergesort' :: (a -> a -> Ordering) -> [[a]] -> [a]; 22.04/7.90 mergesort' cmp [] = []; 22.04/7.90 mergesort' cmp (xs : []) = xs; 22.04/7.90 mergesort' cmp xss = mergesort' cmp (merge_pairs cmp xss); 22.04/7.90 22.04/7.90 sort :: Ord a => [a] -> [a]; 22.04/7.90 sort l = mergesort compare l; 22.04/7.90 22.04/7.90 wrap :: a -> [a]; 22.04/7.90 wrap x = x : []; 22.04/7.90 22.04/7.90 } 22.04/7.90 module Main where { 22.04/7.90 import qualified List; 22.04/7.90 import qualified Maybe; 22.04/7.90 import qualified Prelude; 22.04/7.90 } 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (7) Narrow (SOUND) 22.04/7.90 Haskell To QDPs 22.04/7.90 22.04/7.90 digraph dp_graph { 22.04/7.90 node [outthreshold=100, inthreshold=100];1[label="List.sort",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 22.04/7.90 3[label="List.sort vz3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 22.04/7.90 4[label="List.mergesort compare vz3",fontsize=16,color="black",shape="box"];4 -> 5[label="",style="solid", color="black", weight=3]; 22.04/7.90 5[label="(List.mergesort' compare) . map List.wrap",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 22.04/7.90 6[label="List.mergesort' compare (map List.wrap vz3)",fontsize=16,color="burlywood",shape="box"];16217[label="vz3/vz30 : vz31",fontsize=10,color="white",style="solid",shape="box"];6 -> 16217[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16217 -> 7[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16218[label="vz3/[]",fontsize=10,color="white",style="solid",shape="box"];6 -> 16218[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16218 -> 8[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 7[label="List.mergesort' compare (map List.wrap (vz30 : vz31))",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 22.04/7.90 8[label="List.mergesort' compare (map List.wrap [])",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 22.04/7.90 9[label="List.mergesort' compare (List.wrap vz30 : map List.wrap vz31)",fontsize=16,color="burlywood",shape="box"];16219[label="vz31/vz310 : vz311",fontsize=10,color="white",style="solid",shape="box"];9 -> 16219[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16219 -> 11[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16220[label="vz31/[]",fontsize=10,color="white",style="solid",shape="box"];9 -> 16220[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16220 -> 12[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 10[label="List.mergesort' compare []",fontsize=16,color="black",shape="box"];10 -> 13[label="",style="solid", color="black", weight=3]; 22.04/7.90 11[label="List.mergesort' compare (List.wrap vz30 : map List.wrap (vz310 : vz311))",fontsize=16,color="black",shape="box"];11 -> 14[label="",style="solid", color="black", weight=3]; 22.04/7.90 12[label="List.mergesort' compare (List.wrap vz30 : map List.wrap [])",fontsize=16,color="black",shape="box"];12 -> 15[label="",style="solid", color="black", weight=3]; 22.04/7.90 13[label="[]",fontsize=16,color="green",shape="box"];14[label="List.mergesort' compare (List.wrap vz30 : List.wrap vz310 : map List.wrap vz311)",fontsize=16,color="black",shape="box"];14 -> 16[label="",style="solid", color="black", weight=3]; 22.04/7.90 15[label="List.mergesort' compare (List.wrap vz30 : [])",fontsize=16,color="black",shape="box"];15 -> 17[label="",style="solid", color="black", weight=3]; 22.04/7.90 16[label="List.mergesort' compare (List.merge_pairs compare (List.wrap vz30 : List.wrap vz310 : map List.wrap vz311))",fontsize=16,color="black",shape="box"];16 -> 18[label="",style="solid", color="black", weight=3]; 22.04/7.90 17[label="List.wrap vz30",fontsize=16,color="black",shape="triangle"];17 -> 19[label="",style="solid", color="black", weight=3]; 22.04/7.90 18 -> 15727[label="",style="dashed", color="red", weight=0]; 22.04/7.90 18[label="List.mergesort' compare (List.merge compare (List.wrap vz30) (List.wrap vz310) : List.merge_pairs compare (map List.wrap vz311))",fontsize=16,color="magenta"];18 -> 15728[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 18 -> 15729[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 19[label="vz30 : []",fontsize=16,color="green",shape="box"];15728[label="map List.wrap vz311",fontsize=16,color="burlywood",shape="triangle"];16221[label="vz311/vz3110 : vz3111",fontsize=10,color="white",style="solid",shape="box"];15728 -> 16221[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16221 -> 15882[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16222[label="vz311/[]",fontsize=10,color="white",style="solid",shape="box"];15728 -> 16222[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16222 -> 15883[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 15729 -> 15884[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15729[label="List.merge compare (List.wrap vz30) (List.wrap vz310)",fontsize=16,color="magenta"];15729 -> 15885[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15729 -> 15886[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15727[label="List.mergesort' compare (vz255 : List.merge_pairs compare vz256)",fontsize=16,color="burlywood",shape="triangle"];16223[label="vz256/vz2560 : vz2561",fontsize=10,color="white",style="solid",shape="box"];15727 -> 16223[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16223 -> 15887[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16224[label="vz256/[]",fontsize=10,color="white",style="solid",shape="box"];15727 -> 16224[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16224 -> 15888[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 15882[label="map List.wrap (vz3110 : vz3111)",fontsize=16,color="black",shape="box"];15882 -> 15889[label="",style="solid", color="black", weight=3]; 22.04/7.90 15883[label="map List.wrap []",fontsize=16,color="black",shape="box"];15883 -> 15890[label="",style="solid", color="black", weight=3]; 22.04/7.90 15885 -> 17[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15885[label="List.wrap vz30",fontsize=16,color="magenta"];15886 -> 17[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15886[label="List.wrap vz310",fontsize=16,color="magenta"];15886 -> 15891[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15884[label="List.merge compare vz258 vz257",fontsize=16,color="burlywood",shape="triangle"];16225[label="vz257/vz2570 : vz2571",fontsize=10,color="white",style="solid",shape="box"];15884 -> 16225[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16225 -> 15892[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16226[label="vz257/[]",fontsize=10,color="white",style="solid",shape="box"];15884 -> 16226[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16226 -> 15893[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 15887[label="List.mergesort' compare (vz255 : List.merge_pairs compare (vz2560 : vz2561))",fontsize=16,color="burlywood",shape="box"];16227[label="vz2561/vz25610 : vz25611",fontsize=10,color="white",style="solid",shape="box"];15887 -> 16227[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16227 -> 15894[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16228[label="vz2561/[]",fontsize=10,color="white",style="solid",shape="box"];15887 -> 16228[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16228 -> 15895[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 15888[label="List.mergesort' compare (vz255 : List.merge_pairs compare [])",fontsize=16,color="black",shape="box"];15888 -> 15896[label="",style="solid", color="black", weight=3]; 22.04/7.90 15889[label="List.wrap vz3110 : map List.wrap vz3111",fontsize=16,color="green",shape="box"];15889 -> 15897[label="",style="dashed", color="green", weight=3]; 22.04/7.90 15889 -> 15898[label="",style="dashed", color="green", weight=3]; 22.04/7.90 15890[label="[]",fontsize=16,color="green",shape="box"];15891[label="vz310",fontsize=16,color="green",shape="box"];15892[label="List.merge compare vz258 (vz2570 : vz2571)",fontsize=16,color="burlywood",shape="box"];16229[label="vz258/vz2580 : vz2581",fontsize=10,color="white",style="solid",shape="box"];15892 -> 16229[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16229 -> 15899[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16230[label="vz258/[]",fontsize=10,color="white",style="solid",shape="box"];15892 -> 16230[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16230 -> 15900[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 15893[label="List.merge compare vz258 []",fontsize=16,color="black",shape="box"];15893 -> 15901[label="",style="solid", color="black", weight=3]; 22.04/7.90 15894[label="List.mergesort' compare (vz255 : List.merge_pairs compare (vz2560 : vz25610 : vz25611))",fontsize=16,color="black",shape="box"];15894 -> 15902[label="",style="solid", color="black", weight=3]; 22.04/7.90 15895[label="List.mergesort' compare (vz255 : List.merge_pairs compare (vz2560 : []))",fontsize=16,color="black",shape="box"];15895 -> 15903[label="",style="solid", color="black", weight=3]; 22.04/7.90 15896[label="List.mergesort' compare (vz255 : [])",fontsize=16,color="black",shape="box"];15896 -> 15904[label="",style="solid", color="black", weight=3]; 22.04/7.90 15897 -> 17[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15897[label="List.wrap vz3110",fontsize=16,color="magenta"];15897 -> 15905[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15898 -> 15728[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15898[label="map List.wrap vz3111",fontsize=16,color="magenta"];15898 -> 15906[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15899[label="List.merge compare (vz2580 : vz2581) (vz2570 : vz2571)",fontsize=16,color="black",shape="box"];15899 -> 15907[label="",style="solid", color="black", weight=3]; 22.04/7.90 15900[label="List.merge compare [] (vz2570 : vz2571)",fontsize=16,color="black",shape="box"];15900 -> 15908[label="",style="solid", color="black", weight=3]; 22.04/7.90 15901[label="vz258",fontsize=16,color="green",shape="box"];15902[label="List.mergesort' compare (vz255 : List.merge compare vz2560 vz25610 : List.merge_pairs compare vz25611)",fontsize=16,color="black",shape="box"];15902 -> 15909[label="",style="solid", color="black", weight=3]; 22.04/7.90 15903[label="List.mergesort' compare (vz255 : vz2560 : [])",fontsize=16,color="black",shape="box"];15903 -> 15910[label="",style="solid", color="black", weight=3]; 22.04/7.90 15904[label="vz255",fontsize=16,color="green",shape="box"];15905[label="vz3110",fontsize=16,color="green",shape="box"];15906[label="vz3111",fontsize=16,color="green",shape="box"];15907 -> 15956[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15907[label="List.merge0 vz2570 compare vz2580 vz2581 vz2571 (compare vz2580 vz2570)",fontsize=16,color="magenta"];15907 -> 15957[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15907 -> 15958[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15907 -> 15959[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15907 -> 15960[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15907 -> 15961[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15908[label="vz2570 : vz2571",fontsize=16,color="green",shape="box"];15909[label="List.mergesort' compare (List.merge_pairs compare (vz255 : List.merge compare vz2560 vz25610 : List.merge_pairs compare vz25611))",fontsize=16,color="black",shape="box"];15909 -> 15912[label="",style="solid", color="black", weight=3]; 22.04/7.90 15910[label="List.mergesort' compare (List.merge_pairs compare (vz255 : vz2560 : []))",fontsize=16,color="black",shape="box"];15910 -> 15913[label="",style="solid", color="black", weight=3]; 22.04/7.90 15957[label="vz2580",fontsize=16,color="green",shape="box"];15958[label="vz2581",fontsize=16,color="green",shape="box"];15959[label="vz2570",fontsize=16,color="green",shape="box"];15960[label="compare vz2580 vz2570",fontsize=16,color="black",shape="triangle"];15960 -> 15972[label="",style="solid", color="black", weight=3]; 22.04/7.90 15961[label="vz2571",fontsize=16,color="green",shape="box"];15956[label="List.merge0 vz265 compare vz266 vz267 vz268 vz269",fontsize=16,color="burlywood",shape="triangle"];16231[label="vz269/LT",fontsize=10,color="white",style="solid",shape="box"];15956 -> 16231[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16231 -> 15973[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16232[label="vz269/EQ",fontsize=10,color="white",style="solid",shape="box"];15956 -> 16232[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16232 -> 15974[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16233[label="vz269/GT",fontsize=10,color="white",style="solid",shape="box"];15956 -> 16233[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16233 -> 15975[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 15912 -> 15727[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15912[label="List.mergesort' compare (List.merge compare vz255 (List.merge compare vz2560 vz25610) : List.merge_pairs compare (List.merge_pairs compare vz25611))",fontsize=16,color="magenta"];15912 -> 15915[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15912 -> 15916[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15913 -> 15727[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15913[label="List.mergesort' compare (List.merge compare vz255 vz2560 : List.merge_pairs compare [])",fontsize=16,color="magenta"];15913 -> 15917[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15913 -> 15918[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15972[label="primCmpFloat vz2580 vz2570",fontsize=16,color="burlywood",shape="box"];16234[label="vz2580/Float vz25800 vz25801",fontsize=10,color="white",style="solid",shape="box"];15972 -> 16234[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16234 -> 16007[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 15973[label="List.merge0 vz265 compare vz266 vz267 vz268 LT",fontsize=16,color="black",shape="box"];15973 -> 16008[label="",style="solid", color="black", weight=3]; 22.04/7.90 15974[label="List.merge0 vz265 compare vz266 vz267 vz268 EQ",fontsize=16,color="black",shape="box"];15974 -> 16009[label="",style="solid", color="black", weight=3]; 22.04/7.90 15975[label="List.merge0 vz265 compare vz266 vz267 vz268 GT",fontsize=16,color="black",shape="box"];15975 -> 16010[label="",style="solid", color="black", weight=3]; 22.04/7.90 15915[label="List.merge_pairs compare vz25611",fontsize=16,color="burlywood",shape="triangle"];16235[label="vz25611/vz256110 : vz256111",fontsize=10,color="white",style="solid",shape="box"];15915 -> 16235[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16235 -> 15921[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16236[label="vz25611/[]",fontsize=10,color="white",style="solid",shape="box"];15915 -> 16236[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16236 -> 15922[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 15916[label="List.merge compare vz255 (List.merge compare vz2560 vz25610)",fontsize=16,color="burlywood",shape="box"];16237[label="vz25610/vz256100 : vz256101",fontsize=10,color="white",style="solid",shape="box"];15916 -> 16237[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16237 -> 15923[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16238[label="vz25610/[]",fontsize=10,color="white",style="solid",shape="box"];15916 -> 16238[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16238 -> 15924[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 15917[label="[]",fontsize=16,color="green",shape="box"];15918[label="List.merge compare vz255 vz2560",fontsize=16,color="burlywood",shape="triangle"];16239[label="vz2560/vz25600 : vz25601",fontsize=10,color="white",style="solid",shape="box"];15918 -> 16239[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16239 -> 15925[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16240[label="vz2560/[]",fontsize=10,color="white",style="solid",shape="box"];15918 -> 16240[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16240 -> 15926[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16007[label="primCmpFloat (Float vz25800 vz25801) vz2570",fontsize=16,color="burlywood",shape="box"];16241[label="vz25801/Pos vz258010",fontsize=10,color="white",style="solid",shape="box"];16007 -> 16241[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16241 -> 16054[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16242[label="vz25801/Neg vz258010",fontsize=10,color="white",style="solid",shape="box"];16007 -> 16242[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16242 -> 16055[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16008[label="vz266 : List.merge compare vz267 (vz265 : vz268)",fontsize=16,color="green",shape="box"];16008 -> 16056[label="",style="dashed", color="green", weight=3]; 22.04/7.90 16009[label="vz266 : List.merge compare vz267 (vz265 : vz268)",fontsize=16,color="green",shape="box"];16009 -> 16057[label="",style="dashed", color="green", weight=3]; 22.04/7.90 16010[label="vz265 : List.merge compare (vz266 : vz267) vz268",fontsize=16,color="green",shape="box"];16010 -> 16058[label="",style="dashed", color="green", weight=3]; 22.04/7.90 15921[label="List.merge_pairs compare (vz256110 : vz256111)",fontsize=16,color="burlywood",shape="box"];16243[label="vz256111/vz2561110 : vz2561111",fontsize=10,color="white",style="solid",shape="box"];15921 -> 16243[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16243 -> 15929[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16244[label="vz256111/[]",fontsize=10,color="white",style="solid",shape="box"];15921 -> 16244[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16244 -> 15930[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 15922[label="List.merge_pairs compare []",fontsize=16,color="black",shape="box"];15922 -> 15931[label="",style="solid", color="black", weight=3]; 22.04/7.90 15923[label="List.merge compare vz255 (List.merge compare vz2560 (vz256100 : vz256101))",fontsize=16,color="burlywood",shape="box"];16245[label="vz2560/vz25600 : vz25601",fontsize=10,color="white",style="solid",shape="box"];15923 -> 16245[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16245 -> 15932[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16246[label="vz2560/[]",fontsize=10,color="white",style="solid",shape="box"];15923 -> 16246[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16246 -> 15933[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 15924[label="List.merge compare vz255 (List.merge compare vz2560 [])",fontsize=16,color="black",shape="box"];15924 -> 15934[label="",style="solid", color="black", weight=3]; 22.04/7.90 15925[label="List.merge compare vz255 (vz25600 : vz25601)",fontsize=16,color="burlywood",shape="box"];16247[label="vz255/vz2550 : vz2551",fontsize=10,color="white",style="solid",shape="box"];15925 -> 16247[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16247 -> 15935[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16248[label="vz255/[]",fontsize=10,color="white",style="solid",shape="box"];15925 -> 16248[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16248 -> 15936[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 15926[label="List.merge compare vz255 []",fontsize=16,color="black",shape="box"];15926 -> 15937[label="",style="solid", color="black", weight=3]; 22.04/7.90 16054[label="primCmpFloat (Float vz25800 (Pos vz258010)) vz2570",fontsize=16,color="burlywood",shape="box"];16249[label="vz2570/Float vz25700 vz25701",fontsize=10,color="white",style="solid",shape="box"];16054 -> 16249[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16249 -> 16061[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16055[label="primCmpFloat (Float vz25800 (Neg vz258010)) vz2570",fontsize=16,color="burlywood",shape="box"];16250[label="vz2570/Float vz25700 vz25701",fontsize=10,color="white",style="solid",shape="box"];16055 -> 16250[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16250 -> 16062[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16056 -> 15918[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16056[label="List.merge compare vz267 (vz265 : vz268)",fontsize=16,color="magenta"];16056 -> 16063[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16056 -> 16064[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16057 -> 15918[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16057[label="List.merge compare vz267 (vz265 : vz268)",fontsize=16,color="magenta"];16057 -> 16065[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16057 -> 16066[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16058 -> 15918[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16058[label="List.merge compare (vz266 : vz267) vz268",fontsize=16,color="magenta"];16058 -> 16067[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16058 -> 16068[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15929[label="List.merge_pairs compare (vz256110 : vz2561110 : vz2561111)",fontsize=16,color="black",shape="box"];15929 -> 15942[label="",style="solid", color="black", weight=3]; 22.04/7.90 15930[label="List.merge_pairs compare (vz256110 : [])",fontsize=16,color="black",shape="box"];15930 -> 15943[label="",style="solid", color="black", weight=3]; 22.04/7.90 15931[label="[]",fontsize=16,color="green",shape="box"];15932[label="List.merge compare vz255 (List.merge compare (vz25600 : vz25601) (vz256100 : vz256101))",fontsize=16,color="black",shape="box"];15932 -> 15944[label="",style="solid", color="black", weight=3]; 22.04/7.90 15933[label="List.merge compare vz255 (List.merge compare [] (vz256100 : vz256101))",fontsize=16,color="black",shape="box"];15933 -> 15945[label="",style="solid", color="black", weight=3]; 22.04/7.90 15934 -> 15918[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15934[label="List.merge compare vz255 vz2560",fontsize=16,color="magenta"];15935[label="List.merge compare (vz2550 : vz2551) (vz25600 : vz25601)",fontsize=16,color="black",shape="box"];15935 -> 15946[label="",style="solid", color="black", weight=3]; 22.04/7.90 15936[label="List.merge compare [] (vz25600 : vz25601)",fontsize=16,color="black",shape="box"];15936 -> 15947[label="",style="solid", color="black", weight=3]; 22.04/7.90 15937[label="vz255",fontsize=16,color="green",shape="box"];16061[label="primCmpFloat (Float vz25800 (Pos vz258010)) (Float vz25700 vz25701)",fontsize=16,color="burlywood",shape="box"];16251[label="vz25701/Pos vz257010",fontsize=10,color="white",style="solid",shape="box"];16061 -> 16251[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16251 -> 16073[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16252[label="vz25701/Neg vz257010",fontsize=10,color="white",style="solid",shape="box"];16061 -> 16252[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16252 -> 16074[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16062[label="primCmpFloat (Float vz25800 (Neg vz258010)) (Float vz25700 vz25701)",fontsize=16,color="burlywood",shape="box"];16253[label="vz25701/Pos vz257010",fontsize=10,color="white",style="solid",shape="box"];16062 -> 16253[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16253 -> 16075[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16254[label="vz25701/Neg vz257010",fontsize=10,color="white",style="solid",shape="box"];16062 -> 16254[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16254 -> 16076[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16063[label="vz265 : vz268",fontsize=16,color="green",shape="box"];16064[label="vz267",fontsize=16,color="green",shape="box"];16065[label="vz265 : vz268",fontsize=16,color="green",shape="box"];16066[label="vz267",fontsize=16,color="green",shape="box"];16067[label="vz268",fontsize=16,color="green",shape="box"];16068[label="vz266 : vz267",fontsize=16,color="green",shape="box"];15942[label="List.merge compare vz256110 vz2561110 : List.merge_pairs compare vz2561111",fontsize=16,color="green",shape="box"];15942 -> 15952[label="",style="dashed", color="green", weight=3]; 22.04/7.90 15942 -> 15953[label="",style="dashed", color="green", weight=3]; 22.04/7.90 15943[label="vz256110 : []",fontsize=16,color="green",shape="box"];15944 -> 15918[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15944[label="List.merge compare vz255 (List.merge0 vz256100 compare vz25600 vz25601 vz256101 (compare vz25600 vz256100))",fontsize=16,color="magenta"];15944 -> 15954[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15945 -> 15918[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15945[label="List.merge compare vz255 (vz256100 : vz256101)",fontsize=16,color="magenta"];15945 -> 15955[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15946 -> 15956[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15946[label="List.merge0 vz25600 compare vz2550 vz2551 vz25601 (compare vz2550 vz25600)",fontsize=16,color="magenta"];15946 -> 15962[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15946 -> 15963[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15946 -> 15964[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15946 -> 15965[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15946 -> 15966[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15947[label="vz25600 : vz25601",fontsize=16,color="green",shape="box"];16073[label="primCmpFloat (Float vz25800 (Pos vz258010)) (Float vz25700 (Pos vz257010))",fontsize=16,color="black",shape="box"];16073 -> 16085[label="",style="solid", color="black", weight=3]; 22.04/7.90 16074[label="primCmpFloat (Float vz25800 (Pos vz258010)) (Float vz25700 (Neg vz257010))",fontsize=16,color="black",shape="box"];16074 -> 16086[label="",style="solid", color="black", weight=3]; 22.04/7.90 16075[label="primCmpFloat (Float vz25800 (Neg vz258010)) (Float vz25700 (Pos vz257010))",fontsize=16,color="black",shape="box"];16075 -> 16087[label="",style="solid", color="black", weight=3]; 22.04/7.90 16076[label="primCmpFloat (Float vz25800 (Neg vz258010)) (Float vz25700 (Neg vz257010))",fontsize=16,color="black",shape="box"];16076 -> 16088[label="",style="solid", color="black", weight=3]; 22.04/7.90 15952 -> 15918[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15952[label="List.merge compare vz256110 vz2561110",fontsize=16,color="magenta"];15952 -> 15976[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15952 -> 15977[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15953 -> 15915[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15953[label="List.merge_pairs compare vz2561111",fontsize=16,color="magenta"];15953 -> 15978[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15954 -> 15956[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15954[label="List.merge0 vz256100 compare vz25600 vz25601 vz256101 (compare vz25600 vz256100)",fontsize=16,color="magenta"];15954 -> 15967[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15954 -> 15968[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15954 -> 15969[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15954 -> 15970[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15954 -> 15971[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15955[label="vz256100 : vz256101",fontsize=16,color="green",shape="box"];15962[label="vz2550",fontsize=16,color="green",shape="box"];15963[label="vz2551",fontsize=16,color="green",shape="box"];15964[label="vz25600",fontsize=16,color="green",shape="box"];15965[label="compare vz2550 vz25600",fontsize=16,color="blue",shape="box"];16255[label="compare :: Ordering -> Ordering -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16255[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16255 -> 15979[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16256[label="compare :: () -> () -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16256[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16256 -> 15980[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16257[label="compare :: Float -> Float -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16257[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16257 -> 15981[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16258[label="compare :: Bool -> Bool -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16258[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16258 -> 15982[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16259[label="compare :: (Maybe a) -> (Maybe a) -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16259[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16259 -> 15983[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16260[label="compare :: Char -> Char -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16260[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16260 -> 15984[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16261[label="compare :: ((@3) a b c) -> ((@3) a b c) -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16261[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16261 -> 15985[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16262[label="compare :: ((@2) a b) -> ((@2) a b) -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16262[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16262 -> 15986[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16263[label="compare :: (Either a b) -> (Either a b) -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16263[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16263 -> 15987[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16264[label="compare :: Double -> Double -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16264[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16264 -> 15988[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16265[label="compare :: Int -> Int -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16265[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16265 -> 15989[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16266[label="compare :: ([] a) -> ([] a) -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16266[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16266 -> 15990[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16267[label="compare :: (Ratio a) -> (Ratio a) -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16267[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16267 -> 15991[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16268[label="compare :: Integer -> Integer -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15965 -> 16268[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16268 -> 15992[label="",style="solid", color="blue", weight=3]; 22.04/7.90 15966[label="vz25601",fontsize=16,color="green",shape="box"];16085 -> 15989[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16085[label="compare (vz25800 * Pos vz257010) (Pos vz258010 * vz25700)",fontsize=16,color="magenta"];16085 -> 16101[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16085 -> 16102[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16086 -> 15989[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16086[label="compare (vz25800 * Pos vz257010) (Neg vz258010 * vz25700)",fontsize=16,color="magenta"];16086 -> 16103[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16086 -> 16104[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16087 -> 15989[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16087[label="compare (vz25800 * Neg vz257010) (Pos vz258010 * vz25700)",fontsize=16,color="magenta"];16087 -> 16105[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16087 -> 16106[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16088 -> 15989[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16088[label="compare (vz25800 * Neg vz257010) (Neg vz258010 * vz25700)",fontsize=16,color="magenta"];16088 -> 16107[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16088 -> 16108[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15976[label="vz2561110",fontsize=16,color="green",shape="box"];15977[label="vz256110",fontsize=16,color="green",shape="box"];15978[label="vz2561111",fontsize=16,color="green",shape="box"];15967[label="vz25600",fontsize=16,color="green",shape="box"];15968[label="vz25601",fontsize=16,color="green",shape="box"];15969[label="vz256100",fontsize=16,color="green",shape="box"];15970[label="compare vz25600 vz256100",fontsize=16,color="blue",shape="box"];16269[label="compare :: Ordering -> Ordering -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16269[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16269 -> 15993[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16270[label="compare :: () -> () -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16270[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16270 -> 15994[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16271[label="compare :: Float -> Float -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16271[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16271 -> 15995[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16272[label="compare :: Bool -> Bool -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16272[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16272 -> 15996[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16273[label="compare :: (Maybe a) -> (Maybe a) -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16273[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16273 -> 15997[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16274[label="compare :: Char -> Char -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16274[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16274 -> 15998[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16275[label="compare :: ((@3) a b c) -> ((@3) a b c) -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16275[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16275 -> 15999[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16276[label="compare :: ((@2) a b) -> ((@2) a b) -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16276[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16276 -> 16000[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16277[label="compare :: (Either a b) -> (Either a b) -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16277[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16277 -> 16001[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16278[label="compare :: Double -> Double -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16278[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16278 -> 16002[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16279[label="compare :: Int -> Int -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16279[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16279 -> 16003[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16280[label="compare :: ([] a) -> ([] a) -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16280[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16280 -> 16004[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16281[label="compare :: (Ratio a) -> (Ratio a) -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16281[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16281 -> 16005[label="",style="solid", color="blue", weight=3]; 22.04/7.90 16282[label="compare :: Integer -> Integer -> Ordering",fontsize=10,color="white",style="solid",shape="box"];15970 -> 16282[label="",style="solid", color="blue", weight=9]; 22.04/7.90 16282 -> 16006[label="",style="solid", color="blue", weight=3]; 22.04/7.90 15971[label="vz256101",fontsize=16,color="green",shape="box"];15979[label="compare vz2550 vz25600",fontsize=16,color="black",shape="triangle"];15979 -> 16011[label="",style="solid", color="black", weight=3]; 22.04/7.90 15980[label="compare vz2550 vz25600",fontsize=16,color="black",shape="triangle"];15980 -> 16012[label="",style="solid", color="black", weight=3]; 22.04/7.90 15981 -> 15960[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15981[label="compare vz2550 vz25600",fontsize=16,color="magenta"];15981 -> 16013[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15981 -> 16014[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15982[label="compare vz2550 vz25600",fontsize=16,color="black",shape="triangle"];15982 -> 16015[label="",style="solid", color="black", weight=3]; 22.04/7.90 15983[label="compare vz2550 vz25600",fontsize=16,color="black",shape="triangle"];15983 -> 16016[label="",style="solid", color="black", weight=3]; 22.04/7.90 15984[label="compare vz2550 vz25600",fontsize=16,color="black",shape="triangle"];15984 -> 16017[label="",style="solid", color="black", weight=3]; 22.04/7.90 15985[label="compare vz2550 vz25600",fontsize=16,color="black",shape="triangle"];15985 -> 16018[label="",style="solid", color="black", weight=3]; 22.04/7.90 15986[label="compare vz2550 vz25600",fontsize=16,color="black",shape="triangle"];15986 -> 16019[label="",style="solid", color="black", weight=3]; 22.04/7.90 15987[label="compare vz2550 vz25600",fontsize=16,color="black",shape="triangle"];15987 -> 16020[label="",style="solid", color="black", weight=3]; 22.04/7.90 15988[label="compare vz2550 vz25600",fontsize=16,color="black",shape="triangle"];15988 -> 16021[label="",style="solid", color="black", weight=3]; 22.04/7.90 15989[label="compare vz2550 vz25600",fontsize=16,color="black",shape="triangle"];15989 -> 16022[label="",style="solid", color="black", weight=3]; 22.04/7.90 15990[label="compare vz2550 vz25600",fontsize=16,color="black",shape="triangle"];15990 -> 16023[label="",style="solid", color="black", weight=3]; 22.04/7.90 15991[label="compare vz2550 vz25600",fontsize=16,color="black",shape="triangle"];15991 -> 16024[label="",style="solid", color="black", weight=3]; 22.04/7.90 15992[label="compare vz2550 vz25600",fontsize=16,color="black",shape="triangle"];15992 -> 16025[label="",style="solid", color="black", weight=3]; 22.04/7.90 16101[label="vz25800 * Pos vz257010",fontsize=16,color="black",shape="triangle"];16101 -> 16121[label="",style="solid", color="black", weight=3]; 22.04/7.90 16102[label="Pos vz258010 * vz25700",fontsize=16,color="black",shape="triangle"];16102 -> 16122[label="",style="solid", color="black", weight=3]; 22.04/7.90 16103 -> 16101[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16103[label="vz25800 * Pos vz257010",fontsize=16,color="magenta"];16103 -> 16123[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16104[label="Neg vz258010 * vz25700",fontsize=16,color="black",shape="triangle"];16104 -> 16124[label="",style="solid", color="black", weight=3]; 22.04/7.90 16105[label="vz25800 * Neg vz257010",fontsize=16,color="black",shape="triangle"];16105 -> 16125[label="",style="solid", color="black", weight=3]; 22.04/7.90 16106 -> 16102[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16106[label="Pos vz258010 * vz25700",fontsize=16,color="magenta"];16106 -> 16126[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16107 -> 16105[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16107[label="vz25800 * Neg vz257010",fontsize=16,color="magenta"];16107 -> 16127[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16108 -> 16104[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16108[label="Neg vz258010 * vz25700",fontsize=16,color="magenta"];16108 -> 16128[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15993 -> 15979[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15993[label="compare vz25600 vz256100",fontsize=16,color="magenta"];15993 -> 16026[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15993 -> 16027[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15994 -> 15980[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15994[label="compare vz25600 vz256100",fontsize=16,color="magenta"];15994 -> 16028[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15994 -> 16029[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15995 -> 15960[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15995[label="compare vz25600 vz256100",fontsize=16,color="magenta"];15995 -> 16030[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15995 -> 16031[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15996 -> 15982[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15996[label="compare vz25600 vz256100",fontsize=16,color="magenta"];15996 -> 16032[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15996 -> 16033[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15997 -> 15983[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15997[label="compare vz25600 vz256100",fontsize=16,color="magenta"];15997 -> 16034[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15997 -> 16035[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15998 -> 15984[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15998[label="compare vz25600 vz256100",fontsize=16,color="magenta"];15998 -> 16036[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15998 -> 16037[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15999 -> 15985[label="",style="dashed", color="red", weight=0]; 22.04/7.90 15999[label="compare vz25600 vz256100",fontsize=16,color="magenta"];15999 -> 16038[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 15999 -> 16039[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16000 -> 15986[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16000[label="compare vz25600 vz256100",fontsize=16,color="magenta"];16000 -> 16040[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16000 -> 16041[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16001 -> 15987[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16001[label="compare vz25600 vz256100",fontsize=16,color="magenta"];16001 -> 16042[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16001 -> 16043[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16002 -> 15988[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16002[label="compare vz25600 vz256100",fontsize=16,color="magenta"];16002 -> 16044[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16002 -> 16045[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16003 -> 15989[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16003[label="compare vz25600 vz256100",fontsize=16,color="magenta"];16003 -> 16046[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16003 -> 16047[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16004 -> 15990[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16004[label="compare vz25600 vz256100",fontsize=16,color="magenta"];16004 -> 16048[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16004 -> 16049[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16005 -> 15991[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16005[label="compare vz25600 vz256100",fontsize=16,color="magenta"];16005 -> 16050[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16005 -> 16051[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16006 -> 15992[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16006[label="compare vz25600 vz256100",fontsize=16,color="magenta"];16006 -> 16052[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16006 -> 16053[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16011[label="error []",fontsize=16,color="red",shape="box"];16012[label="error []",fontsize=16,color="red",shape="box"];16013[label="vz25600",fontsize=16,color="green",shape="box"];16014[label="vz2550",fontsize=16,color="green",shape="box"];16015[label="error []",fontsize=16,color="red",shape="box"];16016[label="error []",fontsize=16,color="red",shape="box"];16017[label="error []",fontsize=16,color="red",shape="box"];16018[label="error []",fontsize=16,color="red",shape="box"];16019[label="error []",fontsize=16,color="red",shape="box"];16020[label="error []",fontsize=16,color="red",shape="box"];16021[label="error []",fontsize=16,color="red",shape="box"];16022[label="primCmpInt vz2550 vz25600",fontsize=16,color="burlywood",shape="box"];16283[label="vz2550/Pos vz25500",fontsize=10,color="white",style="solid",shape="box"];16022 -> 16283[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16283 -> 16059[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16284[label="vz2550/Neg vz25500",fontsize=10,color="white",style="solid",shape="box"];16022 -> 16284[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16284 -> 16060[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16023[label="error []",fontsize=16,color="red",shape="box"];16024[label="error []",fontsize=16,color="red",shape="box"];16025[label="error []",fontsize=16,color="red",shape="box"];16121[label="primMulInt vz25800 (Pos vz257010)",fontsize=16,color="burlywood",shape="box"];16285[label="vz25800/Pos vz258000",fontsize=10,color="white",style="solid",shape="box"];16121 -> 16285[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16285 -> 16137[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16286[label="vz25800/Neg vz258000",fontsize=10,color="white",style="solid",shape="box"];16121 -> 16286[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16286 -> 16138[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16122[label="primMulInt (Pos vz258010) vz25700",fontsize=16,color="burlywood",shape="box"];16287[label="vz25700/Pos vz257000",fontsize=10,color="white",style="solid",shape="box"];16122 -> 16287[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16287 -> 16139[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16288[label="vz25700/Neg vz257000",fontsize=10,color="white",style="solid",shape="box"];16122 -> 16288[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16288 -> 16140[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16123[label="vz257010",fontsize=16,color="green",shape="box"];16124[label="primMulInt (Neg vz258010) vz25700",fontsize=16,color="burlywood",shape="box"];16289[label="vz25700/Pos vz257000",fontsize=10,color="white",style="solid",shape="box"];16124 -> 16289[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16289 -> 16141[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16290[label="vz25700/Neg vz257000",fontsize=10,color="white",style="solid",shape="box"];16124 -> 16290[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16290 -> 16142[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16125[label="primMulInt vz25800 (Neg vz257010)",fontsize=16,color="burlywood",shape="box"];16291[label="vz25800/Pos vz258000",fontsize=10,color="white",style="solid",shape="box"];16125 -> 16291[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16291 -> 16143[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16292[label="vz25800/Neg vz258000",fontsize=10,color="white",style="solid",shape="box"];16125 -> 16292[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16292 -> 16144[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16126[label="vz258010",fontsize=16,color="green",shape="box"];16127[label="vz257010",fontsize=16,color="green",shape="box"];16128[label="vz258010",fontsize=16,color="green",shape="box"];16026[label="vz25600",fontsize=16,color="green",shape="box"];16027[label="vz256100",fontsize=16,color="green",shape="box"];16028[label="vz25600",fontsize=16,color="green",shape="box"];16029[label="vz256100",fontsize=16,color="green",shape="box"];16030[label="vz256100",fontsize=16,color="green",shape="box"];16031[label="vz25600",fontsize=16,color="green",shape="box"];16032[label="vz25600",fontsize=16,color="green",shape="box"];16033[label="vz256100",fontsize=16,color="green",shape="box"];16034[label="vz25600",fontsize=16,color="green",shape="box"];16035[label="vz256100",fontsize=16,color="green",shape="box"];16036[label="vz25600",fontsize=16,color="green",shape="box"];16037[label="vz256100",fontsize=16,color="green",shape="box"];16038[label="vz25600",fontsize=16,color="green",shape="box"];16039[label="vz256100",fontsize=16,color="green",shape="box"];16040[label="vz25600",fontsize=16,color="green",shape="box"];16041[label="vz256100",fontsize=16,color="green",shape="box"];16042[label="vz25600",fontsize=16,color="green",shape="box"];16043[label="vz256100",fontsize=16,color="green",shape="box"];16044[label="vz25600",fontsize=16,color="green",shape="box"];16045[label="vz256100",fontsize=16,color="green",shape="box"];16046[label="vz25600",fontsize=16,color="green",shape="box"];16047[label="vz256100",fontsize=16,color="green",shape="box"];16048[label="vz25600",fontsize=16,color="green",shape="box"];16049[label="vz256100",fontsize=16,color="green",shape="box"];16050[label="vz25600",fontsize=16,color="green",shape="box"];16051[label="vz256100",fontsize=16,color="green",shape="box"];16052[label="vz25600",fontsize=16,color="green",shape="box"];16053[label="vz256100",fontsize=16,color="green",shape="box"];16059[label="primCmpInt (Pos vz25500) vz25600",fontsize=16,color="burlywood",shape="box"];16293[label="vz25500/Succ vz255000",fontsize=10,color="white",style="solid",shape="box"];16059 -> 16293[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16293 -> 16069[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16294[label="vz25500/Zero",fontsize=10,color="white",style="solid",shape="box"];16059 -> 16294[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16294 -> 16070[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16060[label="primCmpInt (Neg vz25500) vz25600",fontsize=16,color="burlywood",shape="box"];16295[label="vz25500/Succ vz255000",fontsize=10,color="white",style="solid",shape="box"];16060 -> 16295[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16295 -> 16071[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16296[label="vz25500/Zero",fontsize=10,color="white",style="solid",shape="box"];16060 -> 16296[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16296 -> 16072[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16137[label="primMulInt (Pos vz258000) (Pos vz257010)",fontsize=16,color="black",shape="box"];16137 -> 16149[label="",style="solid", color="black", weight=3]; 22.04/7.90 16138[label="primMulInt (Neg vz258000) (Pos vz257010)",fontsize=16,color="black",shape="box"];16138 -> 16150[label="",style="solid", color="black", weight=3]; 22.04/7.90 16139[label="primMulInt (Pos vz258010) (Pos vz257000)",fontsize=16,color="black",shape="box"];16139 -> 16151[label="",style="solid", color="black", weight=3]; 22.04/7.90 16140[label="primMulInt (Pos vz258010) (Neg vz257000)",fontsize=16,color="black",shape="box"];16140 -> 16152[label="",style="solid", color="black", weight=3]; 22.04/7.90 16141[label="primMulInt (Neg vz258010) (Pos vz257000)",fontsize=16,color="black",shape="box"];16141 -> 16153[label="",style="solid", color="black", weight=3]; 22.04/7.90 16142[label="primMulInt (Neg vz258010) (Neg vz257000)",fontsize=16,color="black",shape="box"];16142 -> 16154[label="",style="solid", color="black", weight=3]; 22.04/7.90 16143[label="primMulInt (Pos vz258000) (Neg vz257010)",fontsize=16,color="black",shape="box"];16143 -> 16155[label="",style="solid", color="black", weight=3]; 22.04/7.90 16144[label="primMulInt (Neg vz258000) (Neg vz257010)",fontsize=16,color="black",shape="box"];16144 -> 16156[label="",style="solid", color="black", weight=3]; 22.04/7.90 16069[label="primCmpInt (Pos (Succ vz255000)) vz25600",fontsize=16,color="burlywood",shape="box"];16297[label="vz25600/Pos vz256000",fontsize=10,color="white",style="solid",shape="box"];16069 -> 16297[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16297 -> 16077[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16298[label="vz25600/Neg vz256000",fontsize=10,color="white",style="solid",shape="box"];16069 -> 16298[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16298 -> 16078[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16070[label="primCmpInt (Pos Zero) vz25600",fontsize=16,color="burlywood",shape="box"];16299[label="vz25600/Pos vz256000",fontsize=10,color="white",style="solid",shape="box"];16070 -> 16299[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16299 -> 16079[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16300[label="vz25600/Neg vz256000",fontsize=10,color="white",style="solid",shape="box"];16070 -> 16300[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16300 -> 16080[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16071[label="primCmpInt (Neg (Succ vz255000)) vz25600",fontsize=16,color="burlywood",shape="box"];16301[label="vz25600/Pos vz256000",fontsize=10,color="white",style="solid",shape="box"];16071 -> 16301[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16301 -> 16081[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16302[label="vz25600/Neg vz256000",fontsize=10,color="white",style="solid",shape="box"];16071 -> 16302[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16302 -> 16082[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16072[label="primCmpInt (Neg Zero) vz25600",fontsize=16,color="burlywood",shape="box"];16303[label="vz25600/Pos vz256000",fontsize=10,color="white",style="solid",shape="box"];16072 -> 16303[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16303 -> 16083[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16304[label="vz25600/Neg vz256000",fontsize=10,color="white",style="solid",shape="box"];16072 -> 16304[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16304 -> 16084[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16149[label="Pos (primMulNat vz258000 vz257010)",fontsize=16,color="green",shape="box"];16149 -> 16161[label="",style="dashed", color="green", weight=3]; 22.04/7.90 16150[label="Neg (primMulNat vz258000 vz257010)",fontsize=16,color="green",shape="box"];16150 -> 16162[label="",style="dashed", color="green", weight=3]; 22.04/7.90 16151[label="Pos (primMulNat vz258010 vz257000)",fontsize=16,color="green",shape="box"];16151 -> 16163[label="",style="dashed", color="green", weight=3]; 22.04/7.90 16152[label="Neg (primMulNat vz258010 vz257000)",fontsize=16,color="green",shape="box"];16152 -> 16164[label="",style="dashed", color="green", weight=3]; 22.04/7.90 16153[label="Neg (primMulNat vz258010 vz257000)",fontsize=16,color="green",shape="box"];16153 -> 16165[label="",style="dashed", color="green", weight=3]; 22.04/7.90 16154[label="Pos (primMulNat vz258010 vz257000)",fontsize=16,color="green",shape="box"];16154 -> 16166[label="",style="dashed", color="green", weight=3]; 22.04/7.90 16155[label="Neg (primMulNat vz258000 vz257010)",fontsize=16,color="green",shape="box"];16155 -> 16167[label="",style="dashed", color="green", weight=3]; 22.04/7.90 16156[label="Pos (primMulNat vz258000 vz257010)",fontsize=16,color="green",shape="box"];16156 -> 16168[label="",style="dashed", color="green", weight=3]; 22.04/7.90 16077[label="primCmpInt (Pos (Succ vz255000)) (Pos vz256000)",fontsize=16,color="black",shape="box"];16077 -> 16089[label="",style="solid", color="black", weight=3]; 22.04/7.90 16078[label="primCmpInt (Pos (Succ vz255000)) (Neg vz256000)",fontsize=16,color="black",shape="box"];16078 -> 16090[label="",style="solid", color="black", weight=3]; 22.04/7.90 16079[label="primCmpInt (Pos Zero) (Pos vz256000)",fontsize=16,color="burlywood",shape="box"];16305[label="vz256000/Succ vz2560000",fontsize=10,color="white",style="solid",shape="box"];16079 -> 16305[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16305 -> 16091[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16306[label="vz256000/Zero",fontsize=10,color="white",style="solid",shape="box"];16079 -> 16306[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16306 -> 16092[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16080[label="primCmpInt (Pos Zero) (Neg vz256000)",fontsize=16,color="burlywood",shape="box"];16307[label="vz256000/Succ vz2560000",fontsize=10,color="white",style="solid",shape="box"];16080 -> 16307[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16307 -> 16093[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16308[label="vz256000/Zero",fontsize=10,color="white",style="solid",shape="box"];16080 -> 16308[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16308 -> 16094[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16081[label="primCmpInt (Neg (Succ vz255000)) (Pos vz256000)",fontsize=16,color="black",shape="box"];16081 -> 16095[label="",style="solid", color="black", weight=3]; 22.04/7.90 16082[label="primCmpInt (Neg (Succ vz255000)) (Neg vz256000)",fontsize=16,color="black",shape="box"];16082 -> 16096[label="",style="solid", color="black", weight=3]; 22.04/7.90 16083[label="primCmpInt (Neg Zero) (Pos vz256000)",fontsize=16,color="burlywood",shape="box"];16309[label="vz256000/Succ vz2560000",fontsize=10,color="white",style="solid",shape="box"];16083 -> 16309[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16309 -> 16097[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16310[label="vz256000/Zero",fontsize=10,color="white",style="solid",shape="box"];16083 -> 16310[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16310 -> 16098[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16084[label="primCmpInt (Neg Zero) (Neg vz256000)",fontsize=16,color="burlywood",shape="box"];16311[label="vz256000/Succ vz2560000",fontsize=10,color="white",style="solid",shape="box"];16084 -> 16311[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16311 -> 16099[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16312[label="vz256000/Zero",fontsize=10,color="white",style="solid",shape="box"];16084 -> 16312[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16312 -> 16100[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16161[label="primMulNat vz258000 vz257010",fontsize=16,color="burlywood",shape="triangle"];16313[label="vz258000/Succ vz2580000",fontsize=10,color="white",style="solid",shape="box"];16161 -> 16313[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16313 -> 16173[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16314[label="vz258000/Zero",fontsize=10,color="white",style="solid",shape="box"];16161 -> 16314[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16314 -> 16174[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16162 -> 16161[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16162[label="primMulNat vz258000 vz257010",fontsize=16,color="magenta"];16162 -> 16175[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16163 -> 16161[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16163[label="primMulNat vz258010 vz257000",fontsize=16,color="magenta"];16163 -> 16176[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16163 -> 16177[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16164 -> 16161[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16164[label="primMulNat vz258010 vz257000",fontsize=16,color="magenta"];16164 -> 16178[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16164 -> 16179[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16165 -> 16161[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16165[label="primMulNat vz258010 vz257000",fontsize=16,color="magenta"];16165 -> 16180[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16165 -> 16181[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16166 -> 16161[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16166[label="primMulNat vz258010 vz257000",fontsize=16,color="magenta"];16166 -> 16182[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16166 -> 16183[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16167 -> 16161[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16167[label="primMulNat vz258000 vz257010",fontsize=16,color="magenta"];16168 -> 16161[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16168[label="primMulNat vz258000 vz257010",fontsize=16,color="magenta"];16168 -> 16184[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16089[label="primCmpNat (Succ vz255000) vz256000",fontsize=16,color="burlywood",shape="triangle"];16315[label="vz256000/Succ vz2560000",fontsize=10,color="white",style="solid",shape="box"];16089 -> 16315[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16315 -> 16109[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16316[label="vz256000/Zero",fontsize=10,color="white",style="solid",shape="box"];16089 -> 16316[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16316 -> 16110[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16090[label="GT",fontsize=16,color="green",shape="box"];16091[label="primCmpInt (Pos Zero) (Pos (Succ vz2560000))",fontsize=16,color="black",shape="box"];16091 -> 16111[label="",style="solid", color="black", weight=3]; 22.04/7.90 16092[label="primCmpInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];16092 -> 16112[label="",style="solid", color="black", weight=3]; 22.04/7.90 16093[label="primCmpInt (Pos Zero) (Neg (Succ vz2560000))",fontsize=16,color="black",shape="box"];16093 -> 16113[label="",style="solid", color="black", weight=3]; 22.04/7.90 16094[label="primCmpInt (Pos Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];16094 -> 16114[label="",style="solid", color="black", weight=3]; 22.04/7.90 16095[label="LT",fontsize=16,color="green",shape="box"];16096[label="primCmpNat vz256000 (Succ vz255000)",fontsize=16,color="burlywood",shape="triangle"];16317[label="vz256000/Succ vz2560000",fontsize=10,color="white",style="solid",shape="box"];16096 -> 16317[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16317 -> 16115[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16318[label="vz256000/Zero",fontsize=10,color="white",style="solid",shape="box"];16096 -> 16318[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16318 -> 16116[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16097[label="primCmpInt (Neg Zero) (Pos (Succ vz2560000))",fontsize=16,color="black",shape="box"];16097 -> 16117[label="",style="solid", color="black", weight=3]; 22.04/7.90 16098[label="primCmpInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];16098 -> 16118[label="",style="solid", color="black", weight=3]; 22.04/7.90 16099[label="primCmpInt (Neg Zero) (Neg (Succ vz2560000))",fontsize=16,color="black",shape="box"];16099 -> 16119[label="",style="solid", color="black", weight=3]; 22.04/7.90 16100[label="primCmpInt (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];16100 -> 16120[label="",style="solid", color="black", weight=3]; 22.04/7.90 16173[label="primMulNat (Succ vz2580000) vz257010",fontsize=16,color="burlywood",shape="box"];16319[label="vz257010/Succ vz2570100",fontsize=10,color="white",style="solid",shape="box"];16173 -> 16319[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16319 -> 16187[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16320[label="vz257010/Zero",fontsize=10,color="white",style="solid",shape="box"];16173 -> 16320[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16320 -> 16188[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16174[label="primMulNat Zero vz257010",fontsize=16,color="burlywood",shape="box"];16321[label="vz257010/Succ vz2570100",fontsize=10,color="white",style="solid",shape="box"];16174 -> 16321[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16321 -> 16189[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16322[label="vz257010/Zero",fontsize=10,color="white",style="solid",shape="box"];16174 -> 16322[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16322 -> 16190[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16175[label="vz258000",fontsize=16,color="green",shape="box"];16176[label="vz257000",fontsize=16,color="green",shape="box"];16177[label="vz258010",fontsize=16,color="green",shape="box"];16178[label="vz257000",fontsize=16,color="green",shape="box"];16179[label="vz258010",fontsize=16,color="green",shape="box"];16180[label="vz257000",fontsize=16,color="green",shape="box"];16181[label="vz258010",fontsize=16,color="green",shape="box"];16182[label="vz257000",fontsize=16,color="green",shape="box"];16183[label="vz258010",fontsize=16,color="green",shape="box"];16184[label="vz258000",fontsize=16,color="green",shape="box"];16109[label="primCmpNat (Succ vz255000) (Succ vz2560000)",fontsize=16,color="black",shape="box"];16109 -> 16129[label="",style="solid", color="black", weight=3]; 22.04/7.90 16110[label="primCmpNat (Succ vz255000) Zero",fontsize=16,color="black",shape="box"];16110 -> 16130[label="",style="solid", color="black", weight=3]; 22.04/7.90 16111 -> 16096[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16111[label="primCmpNat Zero (Succ vz2560000)",fontsize=16,color="magenta"];16111 -> 16131[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16111 -> 16132[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16112[label="EQ",fontsize=16,color="green",shape="box"];16113[label="GT",fontsize=16,color="green",shape="box"];16114[label="EQ",fontsize=16,color="green",shape="box"];16115[label="primCmpNat (Succ vz2560000) (Succ vz255000)",fontsize=16,color="black",shape="box"];16115 -> 16133[label="",style="solid", color="black", weight=3]; 22.04/7.90 16116[label="primCmpNat Zero (Succ vz255000)",fontsize=16,color="black",shape="box"];16116 -> 16134[label="",style="solid", color="black", weight=3]; 22.04/7.90 16117[label="LT",fontsize=16,color="green",shape="box"];16118[label="EQ",fontsize=16,color="green",shape="box"];16119 -> 16089[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16119[label="primCmpNat (Succ vz2560000) Zero",fontsize=16,color="magenta"];16119 -> 16135[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16119 -> 16136[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16120[label="EQ",fontsize=16,color="green",shape="box"];16187[label="primMulNat (Succ vz2580000) (Succ vz2570100)",fontsize=16,color="black",shape="box"];16187 -> 16191[label="",style="solid", color="black", weight=3]; 22.04/7.90 16188[label="primMulNat (Succ vz2580000) Zero",fontsize=16,color="black",shape="box"];16188 -> 16192[label="",style="solid", color="black", weight=3]; 22.04/7.90 16189[label="primMulNat Zero (Succ vz2570100)",fontsize=16,color="black",shape="box"];16189 -> 16193[label="",style="solid", color="black", weight=3]; 22.04/7.90 16190[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];16190 -> 16194[label="",style="solid", color="black", weight=3]; 22.04/7.90 16129[label="primCmpNat vz255000 vz2560000",fontsize=16,color="burlywood",shape="triangle"];16323[label="vz255000/Succ vz2550000",fontsize=10,color="white",style="solid",shape="box"];16129 -> 16323[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16323 -> 16145[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16324[label="vz255000/Zero",fontsize=10,color="white",style="solid",shape="box"];16129 -> 16324[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16324 -> 16146[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16130[label="GT",fontsize=16,color="green",shape="box"];16131[label="Zero",fontsize=16,color="green",shape="box"];16132[label="vz2560000",fontsize=16,color="green",shape="box"];16133 -> 16129[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16133[label="primCmpNat vz2560000 vz255000",fontsize=16,color="magenta"];16133 -> 16147[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16133 -> 16148[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16134[label="LT",fontsize=16,color="green",shape="box"];16135[label="vz2560000",fontsize=16,color="green",shape="box"];16136[label="Zero",fontsize=16,color="green",shape="box"];16191 -> 16195[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16191[label="primPlusNat (primMulNat vz2580000 (Succ vz2570100)) (Succ vz2570100)",fontsize=16,color="magenta"];16191 -> 16196[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16192[label="Zero",fontsize=16,color="green",shape="box"];16193[label="Zero",fontsize=16,color="green",shape="box"];16194[label="Zero",fontsize=16,color="green",shape="box"];16145[label="primCmpNat (Succ vz2550000) vz2560000",fontsize=16,color="burlywood",shape="box"];16325[label="vz2560000/Succ vz25600000",fontsize=10,color="white",style="solid",shape="box"];16145 -> 16325[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16325 -> 16157[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16326[label="vz2560000/Zero",fontsize=10,color="white",style="solid",shape="box"];16145 -> 16326[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16326 -> 16158[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16146[label="primCmpNat Zero vz2560000",fontsize=16,color="burlywood",shape="box"];16327[label="vz2560000/Succ vz25600000",fontsize=10,color="white",style="solid",shape="box"];16146 -> 16327[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16327 -> 16159[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16328[label="vz2560000/Zero",fontsize=10,color="white",style="solid",shape="box"];16146 -> 16328[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16328 -> 16160[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16147[label="vz2560000",fontsize=16,color="green",shape="box"];16148[label="vz255000",fontsize=16,color="green",shape="box"];16196 -> 16161[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16196[label="primMulNat vz2580000 (Succ vz2570100)",fontsize=16,color="magenta"];16196 -> 16197[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16196 -> 16198[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16195[label="primPlusNat vz270 (Succ vz2570100)",fontsize=16,color="burlywood",shape="triangle"];16329[label="vz270/Succ vz2700",fontsize=10,color="white",style="solid",shape="box"];16195 -> 16329[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16329 -> 16199[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16330[label="vz270/Zero",fontsize=10,color="white",style="solid",shape="box"];16195 -> 16330[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16330 -> 16200[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16157[label="primCmpNat (Succ vz2550000) (Succ vz25600000)",fontsize=16,color="black",shape="box"];16157 -> 16169[label="",style="solid", color="black", weight=3]; 22.04/7.90 16158[label="primCmpNat (Succ vz2550000) Zero",fontsize=16,color="black",shape="box"];16158 -> 16170[label="",style="solid", color="black", weight=3]; 22.04/7.90 16159[label="primCmpNat Zero (Succ vz25600000)",fontsize=16,color="black",shape="box"];16159 -> 16171[label="",style="solid", color="black", weight=3]; 22.04/7.90 16160[label="primCmpNat Zero Zero",fontsize=16,color="black",shape="box"];16160 -> 16172[label="",style="solid", color="black", weight=3]; 22.04/7.90 16197[label="Succ vz2570100",fontsize=16,color="green",shape="box"];16198[label="vz2580000",fontsize=16,color="green",shape="box"];16199[label="primPlusNat (Succ vz2700) (Succ vz2570100)",fontsize=16,color="black",shape="box"];16199 -> 16201[label="",style="solid", color="black", weight=3]; 22.04/7.90 16200[label="primPlusNat Zero (Succ vz2570100)",fontsize=16,color="black",shape="box"];16200 -> 16202[label="",style="solid", color="black", weight=3]; 22.04/7.90 16169 -> 16129[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16169[label="primCmpNat vz2550000 vz25600000",fontsize=16,color="magenta"];16169 -> 16185[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16169 -> 16186[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16170[label="GT",fontsize=16,color="green",shape="box"];16171[label="LT",fontsize=16,color="green",shape="box"];16172[label="EQ",fontsize=16,color="green",shape="box"];16201[label="Succ (Succ (primPlusNat vz2700 vz2570100))",fontsize=16,color="green",shape="box"];16201 -> 16203[label="",style="dashed", color="green", weight=3]; 22.04/7.90 16202[label="Succ vz2570100",fontsize=16,color="green",shape="box"];16185[label="vz2550000",fontsize=16,color="green",shape="box"];16186[label="vz25600000",fontsize=16,color="green",shape="box"];16203[label="primPlusNat vz2700 vz2570100",fontsize=16,color="burlywood",shape="triangle"];16331[label="vz2700/Succ vz27000",fontsize=10,color="white",style="solid",shape="box"];16203 -> 16331[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16331 -> 16204[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16332[label="vz2700/Zero",fontsize=10,color="white",style="solid",shape="box"];16203 -> 16332[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16332 -> 16205[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16204[label="primPlusNat (Succ vz27000) vz2570100",fontsize=16,color="burlywood",shape="box"];16333[label="vz2570100/Succ vz25701000",fontsize=10,color="white",style="solid",shape="box"];16204 -> 16333[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16333 -> 16206[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16334[label="vz2570100/Zero",fontsize=10,color="white",style="solid",shape="box"];16204 -> 16334[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16334 -> 16207[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16205[label="primPlusNat Zero vz2570100",fontsize=16,color="burlywood",shape="box"];16335[label="vz2570100/Succ vz25701000",fontsize=10,color="white",style="solid",shape="box"];16205 -> 16335[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16335 -> 16208[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16336[label="vz2570100/Zero",fontsize=10,color="white",style="solid",shape="box"];16205 -> 16336[label="",style="solid", color="burlywood", weight=9]; 22.04/7.90 16336 -> 16209[label="",style="solid", color="burlywood", weight=3]; 22.04/7.90 16206[label="primPlusNat (Succ vz27000) (Succ vz25701000)",fontsize=16,color="black",shape="box"];16206 -> 16210[label="",style="solid", color="black", weight=3]; 22.04/7.90 16207[label="primPlusNat (Succ vz27000) Zero",fontsize=16,color="black",shape="box"];16207 -> 16211[label="",style="solid", color="black", weight=3]; 22.04/7.90 16208[label="primPlusNat Zero (Succ vz25701000)",fontsize=16,color="black",shape="box"];16208 -> 16212[label="",style="solid", color="black", weight=3]; 22.04/7.90 16209[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];16209 -> 16213[label="",style="solid", color="black", weight=3]; 22.04/7.90 16210[label="Succ (Succ (primPlusNat vz27000 vz25701000))",fontsize=16,color="green",shape="box"];16210 -> 16214[label="",style="dashed", color="green", weight=3]; 22.04/7.90 16211[label="Succ vz27000",fontsize=16,color="green",shape="box"];16212[label="Succ vz25701000",fontsize=16,color="green",shape="box"];16213[label="Zero",fontsize=16,color="green",shape="box"];16214 -> 16203[label="",style="dashed", color="red", weight=0]; 22.04/7.90 16214[label="primPlusNat vz27000 vz25701000",fontsize=16,color="magenta"];16214 -> 16215[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16214 -> 16216[label="",style="dashed", color="magenta", weight=3]; 22.04/7.90 16215[label="vz25701000",fontsize=16,color="green",shape="box"];16216[label="vz27000",fontsize=16,color="green",shape="box"];} 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (8) 22.04/7.90 Complex Obligation (AND) 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (9) 22.04/7.90 Obligation: 22.04/7.90 Q DP problem: 22.04/7.90 The TRS P consists of the following rules: 22.04/7.90 22.04/7.90 new_primCmpNat(Succ(vz2550000), Succ(vz25600000)) -> new_primCmpNat(vz2550000, vz25600000) 22.04/7.90 22.04/7.90 R is empty. 22.04/7.90 Q is empty. 22.04/7.90 We have to consider all minimal (P,Q,R)-chains. 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (10) QDPSizeChangeProof (EQUIVALENT) 22.04/7.90 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. 22.04/7.90 22.04/7.90 From the DPs we obtained the following set of size-change graphs: 22.04/7.90 *new_primCmpNat(Succ(vz2550000), Succ(vz25600000)) -> new_primCmpNat(vz2550000, vz25600000) 22.04/7.90 The graph contains the following edges 1 > 1, 2 > 2 22.04/7.90 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (11) 22.04/7.90 YES 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (12) 22.04/7.90 Obligation: 22.04/7.90 Q DP problem: 22.04/7.90 The TRS P consists of the following rules: 22.04/7.90 22.04/7.90 new_merge_pairs(:(vz256110, :(vz2561110, vz2561111)), ba) -> new_merge_pairs(vz2561111, ba) 22.04/7.90 22.04/7.90 R is empty. 22.04/7.90 Q is empty. 22.04/7.90 We have to consider all minimal (P,Q,R)-chains. 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (13) QDPSizeChangeProof (EQUIVALENT) 22.04/7.90 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. 22.04/7.90 22.04/7.90 From the DPs we obtained the following set of size-change graphs: 22.04/7.90 *new_merge_pairs(:(vz256110, :(vz2561110, vz2561111)), ba) -> new_merge_pairs(vz2561111, ba) 22.04/7.90 The graph contains the following edges 1 > 1, 2 >= 2 22.04/7.90 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (14) 22.04/7.90 YES 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (15) 22.04/7.90 Obligation: 22.04/7.90 Q DP problem: 22.04/7.90 The TRS P consists of the following rules: 22.04/7.90 22.04/7.90 new_map(:(vz3110, vz3111)) -> new_map(vz3111) 22.04/7.90 22.04/7.90 R is empty. 22.04/7.90 Q is empty. 22.04/7.90 We have to consider all minimal (P,Q,R)-chains. 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (16) QDPSizeChangeProof (EQUIVALENT) 22.04/7.90 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. 22.04/7.90 22.04/7.90 From the DPs we obtained the following set of size-change graphs: 22.04/7.90 *new_map(:(vz3110, vz3111)) -> new_map(vz3111) 22.04/7.90 The graph contains the following edges 1 > 1 22.04/7.90 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (17) 22.04/7.90 YES 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (18) 22.04/7.90 Obligation: 22.04/7.90 Q DP problem: 22.04/7.90 The TRS P consists of the following rules: 22.04/7.90 22.04/7.90 new_mergesort'(vz255, :(vz2560, []), ba) -> new_mergesort'(new_merge2(vz255, vz2560, ba), [], ba) 22.04/7.90 new_mergesort'(vz255, :(vz2560, :(vz25610, vz25611)), ba) -> new_mergesort'(new_merge1(vz255, vz2560, vz25610, ba), new_merge_pairs0(vz25611, ba), ba) 22.04/7.90 22.04/7.90 The TRS R consists of the following rules: 22.04/7.90 22.04/7.90 new_primCmpNat0(Succ(vz2550000), Zero) -> GT 22.04/7.90 new_compare4(vz2550, vz25600) -> error([]) 22.04/7.90 new_compare14(vz25600, vz256100, app(ty_Ratio, cc)) -> new_compare12(vz25600, vz256100, cc) 22.04/7.90 new_primCmpNat0(Zero, Zero) -> EQ 22.04/7.90 new_compare14(vz25600, vz256100, ty_@0) -> new_compare2(vz25600, vz256100) 22.04/7.90 new_compare14(vz25600, vz256100, ty_Bool) -> new_compare4(vz25600, vz256100) 22.04/7.90 new_primMulNat0(Zero, Zero) -> Zero 22.04/7.90 new_compare11(vz2550, vz25600, cb) -> error([]) 22.04/7.90 new_sr(vz258010, Pos(vz257000)) -> Neg(new_primMulNat0(vz258010, vz257000)) 22.04/7.90 new_compare14(vz25600, vz256100, app(app(app(ty_@3, bc), bd), be)) -> new_compare6(vz25600, vz256100, bc, bd, be) 22.04/7.90 new_primMulNat0(Succ(vz2580000), Succ(vz2570100)) -> new_primPlusNat0(new_primMulNat0(vz2580000, Succ(vz2570100)), vz2570100) 22.04/7.90 new_compare3(Float(vz25800, Pos(vz258010)), Float(vz25700, Neg(vz257010))) -> new_compare10(new_sr0(vz25800, vz257010), new_sr(vz258010, vz25700)) 22.04/7.90 new_compare14(vz25600, vz256100, app(app(ty_Either, bh), ca)) -> new_compare8(vz25600, vz256100, bh, ca) 22.04/7.90 new_primCmpNat1(Succ(vz2560000), vz255000) -> new_primCmpNat0(vz2560000, vz255000) 22.04/7.90 new_sr1(Pos(vz258000), vz257010) -> Neg(new_primMulNat0(vz258000, vz257010)) 22.04/7.90 new_merge_pairs0(:(vz256110, []), ba) -> :(vz256110, []) 22.04/7.90 new_primCmpNat0(Succ(vz2550000), Succ(vz25600000)) -> new_primCmpNat0(vz2550000, vz25600000) 22.04/7.90 new_compare(vz2550, vz25600, ty_Integer) -> new_compare13(vz2550, vz25600) 22.04/7.90 new_merge1(vz255, :(vz25600, vz25601), :(vz256100, vz256101), ba) -> new_merge2(vz255, new_merge00(vz256100, vz25600, vz25601, vz256101, new_compare14(vz25600, vz256100, ba), ba), ba) 22.04/7.90 new_sr2(vz258010, Neg(vz257000)) -> Neg(new_primMulNat0(vz258010, vz257000)) 22.04/7.90 new_primCmpNat1(Zero, vz255000) -> LT 22.04/7.90 new_compare3(Float(vz25800, Neg(vz258010)), Float(vz25700, Pos(vz257010))) -> new_compare10(new_sr1(vz25800, vz257010), new_sr2(vz258010, vz25700)) 22.04/7.90 new_compare10(Neg(Zero), Pos(Succ(vz2560000))) -> LT 22.04/7.90 new_primPlusNat1(Succ(vz27000), Zero) -> Succ(vz27000) 22.04/7.90 new_primPlusNat1(Zero, Succ(vz25701000)) -> Succ(vz25701000) 22.04/7.90 new_merge2([], :(vz25600, vz25601), ba) -> :(vz25600, vz25601) 22.04/7.90 new_compare14(vz25600, vz256100, app(app(ty_@2, bf), bg)) -> new_compare7(vz25600, vz256100, bf, bg) 22.04/7.90 new_compare10(Pos(Succ(vz255000)), Neg(vz256000)) -> GT 22.04/7.90 new_sr0(Neg(vz258000), vz257010) -> Neg(new_primMulNat0(vz258000, vz257010)) 22.04/7.90 new_compare10(Pos(Zero), Neg(Zero)) -> EQ 22.04/7.90 new_compare10(Neg(Zero), Pos(Zero)) -> EQ 22.04/7.90 new_compare6(vz2550, vz25600, bc, bd, be) -> error([]) 22.04/7.90 new_compare14(vz25600, vz256100, app(ty_Maybe, bb)) -> new_compare0(vz25600, vz256100, bb) 22.04/7.90 new_compare(vz2550, vz25600, ty_@0) -> new_compare2(vz2550, vz25600) 22.04/7.90 new_compare14(vz25600, vz256100, ty_Char) -> new_compare5(vz25600, vz256100) 22.04/7.90 new_compare(vz2550, vz25600, ty_Int) -> new_compare10(vz2550, vz25600) 22.04/7.90 new_merge_pairs0(:(vz256110, :(vz2561110, vz2561111)), ba) -> :(new_merge2(vz256110, vz2561110, ba), new_merge_pairs0(vz2561111, ba)) 22.04/7.90 new_merge00(vz265, vz266, vz267, vz268, LT, cd) -> :(vz266, new_merge2(vz267, :(vz265, vz268), cd)) 22.04/7.90 new_compare(vz2550, vz25600, app(ty_[], cb)) -> new_compare11(vz2550, vz25600, cb) 22.04/7.90 new_compare8(vz2550, vz25600, bh, ca) -> error([]) 22.04/7.90 new_sr(vz258010, Neg(vz257000)) -> Pos(new_primMulNat0(vz258010, vz257000)) 22.04/7.90 new_compare(vz2550, vz25600, app(app(ty_Either, bh), ca)) -> new_compare8(vz2550, vz25600, bh, ca) 22.04/7.90 new_merge2(:(vz2550, vz2551), :(vz25600, vz25601), ba) -> new_merge00(vz25600, vz2550, vz2551, vz25601, new_compare(vz2550, vz25600, ba), ba) 22.04/7.90 new_compare14(vz25600, vz256100, ty_Int) -> new_compare10(vz25600, vz256100) 22.04/7.90 new_compare(vz2550, vz25600, app(app(app(ty_@3, bc), bd), be)) -> new_compare6(vz2550, vz25600, bc, bd, be) 22.04/7.90 new_compare10(Neg(Zero), Neg(Zero)) -> EQ 22.04/7.90 new_compare(vz2550, vz25600, ty_Double) -> new_compare9(vz2550, vz25600) 22.04/7.90 new_compare14(vz25600, vz256100, ty_Ordering) -> new_compare1(vz25600, vz256100) 22.04/7.90 new_compare13(vz2550, vz25600) -> error([]) 22.04/7.90 new_compare3(Float(vz25800, Neg(vz258010)), Float(vz25700, Neg(vz257010))) -> new_compare10(new_sr1(vz25800, vz257010), new_sr(vz258010, vz25700)) 22.04/7.90 new_merge2(vz255, [], ba) -> vz255 22.04/7.90 new_compare(vz2550, vz25600, ty_Bool) -> new_compare4(vz2550, vz25600) 22.04/7.90 new_merge_pairs0([], ba) -> [] 22.04/7.90 new_compare10(Pos(Zero), Pos(Zero)) -> EQ 22.04/7.90 new_compare10(Neg(Zero), Neg(Succ(vz2560000))) -> new_primCmpNat2(vz2560000, Zero) 22.04/7.90 new_primPlusNat0(Succ(vz2700), vz2570100) -> Succ(Succ(new_primPlusNat1(vz2700, vz2570100))) 22.04/7.90 new_sr0(Pos(vz258000), vz257010) -> Pos(new_primMulNat0(vz258000, vz257010)) 22.04/7.90 new_merge1(vz255, [], :(vz256100, vz256101), ba) -> new_merge2(vz255, :(vz256100, vz256101), ba) 22.04/7.90 new_compare2(vz2550, vz25600) -> error([]) 22.04/7.90 new_compare(vz2550, vz25600, app(ty_Ratio, cc)) -> new_compare12(vz2550, vz25600, cc) 22.04/7.90 new_sr1(Neg(vz258000), vz257010) -> Pos(new_primMulNat0(vz258000, vz257010)) 22.04/7.90 new_compare10(Pos(Succ(vz255000)), Pos(vz256000)) -> new_primCmpNat2(vz255000, vz256000) 22.04/7.90 new_compare14(vz25600, vz256100, app(ty_[], cb)) -> new_compare11(vz25600, vz256100, cb) 22.04/7.90 new_compare7(vz2550, vz25600, bf, bg) -> error([]) 22.04/7.90 new_compare(vz2550, vz25600, app(ty_Maybe, bb)) -> new_compare0(vz2550, vz25600, bb) 22.04/7.90 new_compare10(Neg(Succ(vz255000)), Neg(vz256000)) -> new_primCmpNat1(vz256000, vz255000) 22.04/7.90 new_compare14(vz25600, vz256100, ty_Float) -> new_compare3(vz25600, vz256100) 22.04/7.90 new_merge00(vz265, vz266, vz267, vz268, GT, cd) -> :(vz265, new_merge2(:(vz266, vz267), vz268, cd)) 22.04/7.90 new_sr2(vz258010, Pos(vz257000)) -> Pos(new_primMulNat0(vz258010, vz257000)) 22.04/7.90 new_compare5(vz2550, vz25600) -> error([]) 22.04/7.90 new_compare(vz2550, vz25600, ty_Char) -> new_compare5(vz2550, vz25600) 22.04/7.90 new_primCmpNat2(vz255000, Succ(vz2560000)) -> new_primCmpNat0(vz255000, vz2560000) 22.04/7.90 new_merge00(vz265, vz266, vz267, vz268, EQ, cd) -> :(vz266, new_merge2(vz267, :(vz265, vz268), cd)) 22.04/7.90 new_primPlusNat1(Succ(vz27000), Succ(vz25701000)) -> Succ(Succ(new_primPlusNat1(vz27000, vz25701000))) 22.04/7.90 new_primPlusNat1(Zero, Zero) -> Zero 22.04/7.90 new_compare14(vz25600, vz256100, ty_Double) -> new_compare9(vz25600, vz256100) 22.04/7.90 new_compare12(vz2550, vz25600, cc) -> error([]) 22.04/7.90 new_compare3(Float(vz25800, Pos(vz258010)), Float(vz25700, Pos(vz257010))) -> new_compare10(new_sr0(vz25800, vz257010), new_sr2(vz258010, vz25700)) 22.04/7.90 new_primMulNat0(Succ(vz2580000), Zero) -> Zero 22.04/7.90 new_primMulNat0(Zero, Succ(vz2570100)) -> Zero 22.04/7.90 new_primPlusNat0(Zero, vz2570100) -> Succ(vz2570100) 22.04/7.90 new_compare(vz2550, vz25600, ty_Ordering) -> new_compare1(vz2550, vz25600) 22.04/7.90 new_primCmpNat0(Zero, Succ(vz25600000)) -> LT 22.04/7.90 new_primCmpNat2(vz255000, Zero) -> GT 22.04/7.90 new_compare(vz2550, vz25600, app(app(ty_@2, bf), bg)) -> new_compare7(vz2550, vz25600, bf, bg) 22.04/7.90 new_compare0(vz2550, vz25600, bb) -> error([]) 22.04/7.90 new_compare10(Neg(Succ(vz255000)), Pos(vz256000)) -> LT 22.04/7.90 new_compare1(vz2550, vz25600) -> error([]) 22.04/7.90 new_compare10(Pos(Zero), Neg(Succ(vz2560000))) -> GT 22.04/7.90 new_compare10(Pos(Zero), Pos(Succ(vz2560000))) -> new_primCmpNat1(Zero, vz2560000) 22.04/7.90 new_merge1(vz255, vz2560, [], ba) -> new_merge2(vz255, vz2560, ba) 22.04/7.90 new_compare9(vz2550, vz25600) -> error([]) 22.04/7.90 new_compare14(vz25600, vz256100, ty_Integer) -> new_compare13(vz25600, vz256100) 22.04/7.90 new_compare(vz2550, vz25600, ty_Float) -> new_compare3(vz2550, vz25600) 22.04/7.90 22.04/7.90 The set Q consists of the following terms: 22.04/7.90 22.04/7.90 new_compare(x0, x1, ty_Bool) 22.04/7.90 new_compare3(Float(x0, Pos(x1)), Float(x2, Neg(x3))) 22.04/7.90 new_compare3(Float(x0, Neg(x1)), Float(x2, Pos(x3))) 22.04/7.90 new_compare14(x0, x1, app(ty_Ratio, x2)) 22.04/7.90 new_merge1(x0, :(x1, x2), :(x3, x4), x5) 22.04/7.90 new_compare14(x0, x1, ty_@0) 22.04/7.90 new_compare14(x0, x1, app(app(ty_Either, x2), x3)) 22.04/7.90 new_compare14(x0, x1, ty_Char) 22.04/7.90 new_compare10(Neg(Zero), Neg(Succ(x0))) 22.04/7.90 new_merge2([], :(x0, x1), x2) 22.04/7.90 new_compare(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 22.04/7.90 new_primPlusNat0(Succ(x0), x1) 22.04/7.90 new_compare7(x0, x1, x2, x3) 22.04/7.90 new_compare9(x0, x1) 22.04/7.90 new_compare14(x0, x1, ty_Integer) 22.04/7.90 new_compare(x0, x1, ty_Double) 22.04/7.90 new_sr2(x0, Pos(x1)) 22.04/7.90 new_merge_pairs0(:(x0, :(x1, x2)), x3) 22.04/7.90 new_compare(x0, x1, ty_Ordering) 22.04/7.90 new_compare10(Neg(Zero), Pos(Succ(x0))) 22.04/7.90 new_primPlusNat1(Zero, Succ(x0)) 22.04/7.90 new_merge00(x0, x1, x2, x3, LT, x4) 22.04/7.90 new_compare8(x0, x1, x2, x3) 22.04/7.90 new_compare10(Pos(Zero), Neg(Succ(x0))) 22.04/7.90 new_compare(x0, x1, ty_Char) 22.04/7.90 new_compare(x0, x1, ty_@0) 22.04/7.90 new_compare3(Float(x0, Pos(x1)), Float(x2, Pos(x3))) 22.04/7.90 new_compare10(Pos(Zero), Neg(Zero)) 22.04/7.90 new_compare10(Neg(Zero), Pos(Zero)) 22.04/7.90 new_compare3(Float(x0, Neg(x1)), Float(x2, Neg(x3))) 22.04/7.90 new_primCmpNat0(Succ(x0), Succ(x1)) 22.04/7.90 new_compare14(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 22.04/7.90 new_primCmpNat0(Zero, Succ(x0)) 22.04/7.90 new_compare5(x0, x1) 22.04/7.90 new_compare14(x0, x1, ty_Bool) 22.04/7.90 new_sr1(Pos(x0), x1) 22.04/7.90 new_merge1(x0, [], :(x1, x2), x3) 22.04/7.90 new_primPlusNat1(Succ(x0), Succ(x1)) 22.04/7.90 new_compare10(Pos(Zero), Pos(Succ(x0))) 22.04/7.90 new_compare(x0, x1, app(app(ty_@2, x2), x3)) 22.04/7.90 new_primMulNat0(Zero, Zero) 22.04/7.90 new_sr2(x0, Neg(x1)) 22.04/7.90 new_compare(x0, x1, app(app(ty_Either, x2), x3)) 22.04/7.90 new_primPlusNat1(Zero, Zero) 22.04/7.90 new_primPlusNat1(Succ(x0), Zero) 22.04/7.90 new_compare(x0, x1, app(ty_Ratio, x2)) 22.04/7.90 new_primCmpNat1(Succ(x0), x1) 22.04/7.90 new_compare14(x0, x1, ty_Float) 22.04/7.90 new_primCmpNat2(x0, Zero) 22.04/7.90 new_compare10(Pos(Succ(x0)), Pos(x1)) 22.04/7.90 new_compare10(Pos(Zero), Pos(Zero)) 22.04/7.90 new_compare(x0, x1, ty_Float) 22.04/7.90 new_compare(x0, x1, ty_Integer) 22.04/7.90 new_sr1(Neg(x0), x1) 22.04/7.90 new_compare(x0, x1, ty_Int) 22.04/7.90 new_primMulNat0(Succ(x0), Succ(x1)) 22.04/7.90 new_merge00(x0, x1, x2, x3, EQ, x4) 22.04/7.90 new_primCmpNat0(Succ(x0), Zero) 22.04/7.90 new_compare14(x0, x1, app(app(ty_@2, x2), x3)) 22.04/7.90 new_merge2(:(x0, x1), :(x2, x3), x4) 22.04/7.90 new_compare13(x0, x1) 22.04/7.90 new_primCmpNat1(Zero, x0) 22.04/7.90 new_compare2(x0, x1) 22.04/7.90 new_sr0(Neg(x0), x1) 22.04/7.90 new_compare12(x0, x1, x2) 22.04/7.90 new_merge2(x0, [], x1) 22.04/7.90 new_compare14(x0, x1, ty_Ordering) 22.04/7.90 new_compare4(x0, x1) 22.04/7.90 new_merge00(x0, x1, x2, x3, GT, x4) 22.04/7.90 new_compare0(x0, x1, x2) 22.04/7.90 new_compare14(x0, x1, app(ty_[], x2)) 22.04/7.90 new_sr(x0, Neg(x1)) 22.04/7.90 new_compare10(Neg(Zero), Neg(Zero)) 22.04/7.90 new_compare10(Pos(Succ(x0)), Neg(x1)) 22.04/7.90 new_compare10(Neg(Succ(x0)), Pos(x1)) 22.04/7.90 new_merge1(x0, x1, [], x2) 22.04/7.90 new_compare14(x0, x1, ty_Int) 22.04/7.90 new_primMulNat0(Zero, Succ(x0)) 22.04/7.90 new_primPlusNat0(Zero, x0) 22.04/7.90 new_compare6(x0, x1, x2, x3, x4) 22.04/7.90 new_compare(x0, x1, app(ty_[], x2)) 22.04/7.90 new_merge_pairs0(:(x0, []), x1) 22.04/7.90 new_sr0(Pos(x0), x1) 22.04/7.90 new_compare14(x0, x1, ty_Double) 22.04/7.90 new_compare1(x0, x1) 22.04/7.90 new_sr(x0, Pos(x1)) 22.04/7.90 new_compare14(x0, x1, app(ty_Maybe, x2)) 22.04/7.90 new_compare(x0, x1, app(ty_Maybe, x2)) 22.04/7.90 new_primCmpNat0(Zero, Zero) 22.04/7.90 new_compare11(x0, x1, x2) 22.04/7.90 new_primMulNat0(Succ(x0), Zero) 22.04/7.90 new_primCmpNat2(x0, Succ(x1)) 22.04/7.90 new_merge_pairs0([], x0) 22.04/7.90 new_compare10(Neg(Succ(x0)), Neg(x1)) 22.04/7.90 22.04/7.90 We have to consider all minimal (P,Q,R)-chains. 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (19) DependencyGraphProof (EQUIVALENT) 22.04/7.90 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (20) 22.04/7.90 Obligation: 22.04/7.90 Q DP problem: 22.04/7.90 The TRS P consists of the following rules: 22.04/7.90 22.04/7.90 new_mergesort'(vz255, :(vz2560, :(vz25610, vz25611)), ba) -> new_mergesort'(new_merge1(vz255, vz2560, vz25610, ba), new_merge_pairs0(vz25611, ba), ba) 22.04/7.90 22.04/7.90 The TRS R consists of the following rules: 22.04/7.90 22.04/7.90 new_primCmpNat0(Succ(vz2550000), Zero) -> GT 22.04/7.90 new_compare4(vz2550, vz25600) -> error([]) 22.04/7.90 new_compare14(vz25600, vz256100, app(ty_Ratio, cc)) -> new_compare12(vz25600, vz256100, cc) 22.04/7.90 new_primCmpNat0(Zero, Zero) -> EQ 22.04/7.90 new_compare14(vz25600, vz256100, ty_@0) -> new_compare2(vz25600, vz256100) 22.04/7.90 new_compare14(vz25600, vz256100, ty_Bool) -> new_compare4(vz25600, vz256100) 22.04/7.90 new_primMulNat0(Zero, Zero) -> Zero 22.04/7.90 new_compare11(vz2550, vz25600, cb) -> error([]) 22.04/7.90 new_sr(vz258010, Pos(vz257000)) -> Neg(new_primMulNat0(vz258010, vz257000)) 22.04/7.90 new_compare14(vz25600, vz256100, app(app(app(ty_@3, bc), bd), be)) -> new_compare6(vz25600, vz256100, bc, bd, be) 22.04/7.90 new_primMulNat0(Succ(vz2580000), Succ(vz2570100)) -> new_primPlusNat0(new_primMulNat0(vz2580000, Succ(vz2570100)), vz2570100) 22.04/7.90 new_compare3(Float(vz25800, Pos(vz258010)), Float(vz25700, Neg(vz257010))) -> new_compare10(new_sr0(vz25800, vz257010), new_sr(vz258010, vz25700)) 22.04/7.90 new_compare14(vz25600, vz256100, app(app(ty_Either, bh), ca)) -> new_compare8(vz25600, vz256100, bh, ca) 22.04/7.90 new_primCmpNat1(Succ(vz2560000), vz255000) -> new_primCmpNat0(vz2560000, vz255000) 22.04/7.90 new_sr1(Pos(vz258000), vz257010) -> Neg(new_primMulNat0(vz258000, vz257010)) 22.04/7.90 new_merge_pairs0(:(vz256110, []), ba) -> :(vz256110, []) 22.04/7.90 new_primCmpNat0(Succ(vz2550000), Succ(vz25600000)) -> new_primCmpNat0(vz2550000, vz25600000) 22.04/7.90 new_compare(vz2550, vz25600, ty_Integer) -> new_compare13(vz2550, vz25600) 22.04/7.90 new_merge1(vz255, :(vz25600, vz25601), :(vz256100, vz256101), ba) -> new_merge2(vz255, new_merge00(vz256100, vz25600, vz25601, vz256101, new_compare14(vz25600, vz256100, ba), ba), ba) 22.04/7.90 new_sr2(vz258010, Neg(vz257000)) -> Neg(new_primMulNat0(vz258010, vz257000)) 22.04/7.90 new_primCmpNat1(Zero, vz255000) -> LT 22.04/7.90 new_compare3(Float(vz25800, Neg(vz258010)), Float(vz25700, Pos(vz257010))) -> new_compare10(new_sr1(vz25800, vz257010), new_sr2(vz258010, vz25700)) 22.04/7.90 new_compare10(Neg(Zero), Pos(Succ(vz2560000))) -> LT 22.04/7.90 new_primPlusNat1(Succ(vz27000), Zero) -> Succ(vz27000) 22.04/7.90 new_primPlusNat1(Zero, Succ(vz25701000)) -> Succ(vz25701000) 22.04/7.90 new_merge2([], :(vz25600, vz25601), ba) -> :(vz25600, vz25601) 22.04/7.90 new_compare14(vz25600, vz256100, app(app(ty_@2, bf), bg)) -> new_compare7(vz25600, vz256100, bf, bg) 22.04/7.90 new_compare10(Pos(Succ(vz255000)), Neg(vz256000)) -> GT 22.04/7.90 new_sr0(Neg(vz258000), vz257010) -> Neg(new_primMulNat0(vz258000, vz257010)) 22.04/7.90 new_compare10(Pos(Zero), Neg(Zero)) -> EQ 22.04/7.90 new_compare10(Neg(Zero), Pos(Zero)) -> EQ 22.04/7.90 new_compare6(vz2550, vz25600, bc, bd, be) -> error([]) 22.04/7.90 new_compare14(vz25600, vz256100, app(ty_Maybe, bb)) -> new_compare0(vz25600, vz256100, bb) 22.04/7.90 new_compare(vz2550, vz25600, ty_@0) -> new_compare2(vz2550, vz25600) 22.04/7.90 new_compare14(vz25600, vz256100, ty_Char) -> new_compare5(vz25600, vz256100) 22.04/7.90 new_compare(vz2550, vz25600, ty_Int) -> new_compare10(vz2550, vz25600) 22.04/7.90 new_merge_pairs0(:(vz256110, :(vz2561110, vz2561111)), ba) -> :(new_merge2(vz256110, vz2561110, ba), new_merge_pairs0(vz2561111, ba)) 22.04/7.90 new_merge00(vz265, vz266, vz267, vz268, LT, cd) -> :(vz266, new_merge2(vz267, :(vz265, vz268), cd)) 22.04/7.90 new_compare(vz2550, vz25600, app(ty_[], cb)) -> new_compare11(vz2550, vz25600, cb) 22.04/7.90 new_compare8(vz2550, vz25600, bh, ca) -> error([]) 22.04/7.90 new_sr(vz258010, Neg(vz257000)) -> Pos(new_primMulNat0(vz258010, vz257000)) 22.04/7.90 new_compare(vz2550, vz25600, app(app(ty_Either, bh), ca)) -> new_compare8(vz2550, vz25600, bh, ca) 22.04/7.90 new_merge2(:(vz2550, vz2551), :(vz25600, vz25601), ba) -> new_merge00(vz25600, vz2550, vz2551, vz25601, new_compare(vz2550, vz25600, ba), ba) 22.04/7.90 new_compare14(vz25600, vz256100, ty_Int) -> new_compare10(vz25600, vz256100) 22.04/7.90 new_compare(vz2550, vz25600, app(app(app(ty_@3, bc), bd), be)) -> new_compare6(vz2550, vz25600, bc, bd, be) 22.04/7.90 new_compare10(Neg(Zero), Neg(Zero)) -> EQ 22.04/7.90 new_compare(vz2550, vz25600, ty_Double) -> new_compare9(vz2550, vz25600) 22.04/7.90 new_compare14(vz25600, vz256100, ty_Ordering) -> new_compare1(vz25600, vz256100) 22.04/7.90 new_compare13(vz2550, vz25600) -> error([]) 22.04/7.90 new_compare3(Float(vz25800, Neg(vz258010)), Float(vz25700, Neg(vz257010))) -> new_compare10(new_sr1(vz25800, vz257010), new_sr(vz258010, vz25700)) 22.04/7.90 new_merge2(vz255, [], ba) -> vz255 22.04/7.90 new_compare(vz2550, vz25600, ty_Bool) -> new_compare4(vz2550, vz25600) 22.04/7.90 new_merge_pairs0([], ba) -> [] 22.04/7.90 new_compare10(Pos(Zero), Pos(Zero)) -> EQ 22.04/7.90 new_compare10(Neg(Zero), Neg(Succ(vz2560000))) -> new_primCmpNat2(vz2560000, Zero) 22.04/7.90 new_primPlusNat0(Succ(vz2700), vz2570100) -> Succ(Succ(new_primPlusNat1(vz2700, vz2570100))) 22.04/7.90 new_sr0(Pos(vz258000), vz257010) -> Pos(new_primMulNat0(vz258000, vz257010)) 22.04/7.90 new_merge1(vz255, [], :(vz256100, vz256101), ba) -> new_merge2(vz255, :(vz256100, vz256101), ba) 22.04/7.90 new_compare2(vz2550, vz25600) -> error([]) 22.04/7.90 new_compare(vz2550, vz25600, app(ty_Ratio, cc)) -> new_compare12(vz2550, vz25600, cc) 22.04/7.90 new_sr1(Neg(vz258000), vz257010) -> Pos(new_primMulNat0(vz258000, vz257010)) 22.04/7.90 new_compare10(Pos(Succ(vz255000)), Pos(vz256000)) -> new_primCmpNat2(vz255000, vz256000) 22.04/7.90 new_compare14(vz25600, vz256100, app(ty_[], cb)) -> new_compare11(vz25600, vz256100, cb) 22.04/7.90 new_compare7(vz2550, vz25600, bf, bg) -> error([]) 22.04/7.90 new_compare(vz2550, vz25600, app(ty_Maybe, bb)) -> new_compare0(vz2550, vz25600, bb) 22.04/7.90 new_compare10(Neg(Succ(vz255000)), Neg(vz256000)) -> new_primCmpNat1(vz256000, vz255000) 22.04/7.90 new_compare14(vz25600, vz256100, ty_Float) -> new_compare3(vz25600, vz256100) 22.04/7.90 new_merge00(vz265, vz266, vz267, vz268, GT, cd) -> :(vz265, new_merge2(:(vz266, vz267), vz268, cd)) 22.04/7.90 new_sr2(vz258010, Pos(vz257000)) -> Pos(new_primMulNat0(vz258010, vz257000)) 22.04/7.90 new_compare5(vz2550, vz25600) -> error([]) 22.04/7.90 new_compare(vz2550, vz25600, ty_Char) -> new_compare5(vz2550, vz25600) 22.04/7.90 new_primCmpNat2(vz255000, Succ(vz2560000)) -> new_primCmpNat0(vz255000, vz2560000) 22.04/7.90 new_merge00(vz265, vz266, vz267, vz268, EQ, cd) -> :(vz266, new_merge2(vz267, :(vz265, vz268), cd)) 22.04/7.90 new_primPlusNat1(Succ(vz27000), Succ(vz25701000)) -> Succ(Succ(new_primPlusNat1(vz27000, vz25701000))) 22.04/7.90 new_primPlusNat1(Zero, Zero) -> Zero 22.04/7.90 new_compare14(vz25600, vz256100, ty_Double) -> new_compare9(vz25600, vz256100) 22.04/7.90 new_compare12(vz2550, vz25600, cc) -> error([]) 22.04/7.90 new_compare3(Float(vz25800, Pos(vz258010)), Float(vz25700, Pos(vz257010))) -> new_compare10(new_sr0(vz25800, vz257010), new_sr2(vz258010, vz25700)) 22.04/7.90 new_primMulNat0(Succ(vz2580000), Zero) -> Zero 22.04/7.90 new_primMulNat0(Zero, Succ(vz2570100)) -> Zero 22.04/7.90 new_primPlusNat0(Zero, vz2570100) -> Succ(vz2570100) 22.04/7.90 new_compare(vz2550, vz25600, ty_Ordering) -> new_compare1(vz2550, vz25600) 22.04/7.90 new_primCmpNat0(Zero, Succ(vz25600000)) -> LT 22.04/7.90 new_primCmpNat2(vz255000, Zero) -> GT 22.04/7.90 new_compare(vz2550, vz25600, app(app(ty_@2, bf), bg)) -> new_compare7(vz2550, vz25600, bf, bg) 22.04/7.90 new_compare0(vz2550, vz25600, bb) -> error([]) 22.04/7.90 new_compare10(Neg(Succ(vz255000)), Pos(vz256000)) -> LT 22.04/7.90 new_compare1(vz2550, vz25600) -> error([]) 22.04/7.90 new_compare10(Pos(Zero), Neg(Succ(vz2560000))) -> GT 22.04/7.90 new_compare10(Pos(Zero), Pos(Succ(vz2560000))) -> new_primCmpNat1(Zero, vz2560000) 22.04/7.90 new_merge1(vz255, vz2560, [], ba) -> new_merge2(vz255, vz2560, ba) 22.04/7.90 new_compare9(vz2550, vz25600) -> error([]) 22.04/7.90 new_compare14(vz25600, vz256100, ty_Integer) -> new_compare13(vz25600, vz256100) 22.04/7.90 new_compare(vz2550, vz25600, ty_Float) -> new_compare3(vz2550, vz25600) 22.04/7.90 22.04/7.90 The set Q consists of the following terms: 22.04/7.90 22.04/7.90 new_compare(x0, x1, ty_Bool) 22.04/7.90 new_compare3(Float(x0, Pos(x1)), Float(x2, Neg(x3))) 22.04/7.90 new_compare3(Float(x0, Neg(x1)), Float(x2, Pos(x3))) 22.04/7.90 new_compare14(x0, x1, app(ty_Ratio, x2)) 22.04/7.90 new_merge1(x0, :(x1, x2), :(x3, x4), x5) 22.04/7.90 new_compare14(x0, x1, ty_@0) 22.04/7.90 new_compare14(x0, x1, app(app(ty_Either, x2), x3)) 22.04/7.90 new_compare14(x0, x1, ty_Char) 22.04/7.90 new_compare10(Neg(Zero), Neg(Succ(x0))) 22.04/7.90 new_merge2([], :(x0, x1), x2) 22.04/7.90 new_compare(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 22.04/7.90 new_primPlusNat0(Succ(x0), x1) 22.04/7.90 new_compare7(x0, x1, x2, x3) 22.04/7.90 new_compare9(x0, x1) 22.04/7.90 new_compare14(x0, x1, ty_Integer) 22.04/7.90 new_compare(x0, x1, ty_Double) 22.04/7.90 new_sr2(x0, Pos(x1)) 22.04/7.90 new_merge_pairs0(:(x0, :(x1, x2)), x3) 22.04/7.90 new_compare(x0, x1, ty_Ordering) 22.04/7.90 new_compare10(Neg(Zero), Pos(Succ(x0))) 22.04/7.90 new_primPlusNat1(Zero, Succ(x0)) 22.04/7.90 new_merge00(x0, x1, x2, x3, LT, x4) 22.04/7.90 new_compare8(x0, x1, x2, x3) 22.04/7.90 new_compare10(Pos(Zero), Neg(Succ(x0))) 22.04/7.90 new_compare(x0, x1, ty_Char) 22.04/7.90 new_compare(x0, x1, ty_@0) 22.04/7.90 new_compare3(Float(x0, Pos(x1)), Float(x2, Pos(x3))) 22.04/7.90 new_compare10(Pos(Zero), Neg(Zero)) 22.04/7.90 new_compare10(Neg(Zero), Pos(Zero)) 22.04/7.90 new_compare3(Float(x0, Neg(x1)), Float(x2, Neg(x3))) 22.04/7.90 new_primCmpNat0(Succ(x0), Succ(x1)) 22.04/7.90 new_compare14(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 22.04/7.90 new_primCmpNat0(Zero, Succ(x0)) 22.04/7.90 new_compare5(x0, x1) 22.04/7.90 new_compare14(x0, x1, ty_Bool) 22.04/7.90 new_sr1(Pos(x0), x1) 22.04/7.90 new_merge1(x0, [], :(x1, x2), x3) 22.04/7.90 new_primPlusNat1(Succ(x0), Succ(x1)) 22.04/7.90 new_compare10(Pos(Zero), Pos(Succ(x0))) 22.04/7.90 new_compare(x0, x1, app(app(ty_@2, x2), x3)) 22.04/7.90 new_primMulNat0(Zero, Zero) 22.04/7.90 new_sr2(x0, Neg(x1)) 22.04/7.90 new_compare(x0, x1, app(app(ty_Either, x2), x3)) 22.04/7.90 new_primPlusNat1(Zero, Zero) 22.04/7.90 new_primPlusNat1(Succ(x0), Zero) 22.04/7.90 new_compare(x0, x1, app(ty_Ratio, x2)) 22.04/7.90 new_primCmpNat1(Succ(x0), x1) 22.04/7.90 new_compare14(x0, x1, ty_Float) 22.04/7.90 new_primCmpNat2(x0, Zero) 22.04/7.90 new_compare10(Pos(Succ(x0)), Pos(x1)) 22.04/7.90 new_compare10(Pos(Zero), Pos(Zero)) 22.04/7.90 new_compare(x0, x1, ty_Float) 22.04/7.90 new_compare(x0, x1, ty_Integer) 22.04/7.90 new_sr1(Neg(x0), x1) 22.04/7.90 new_compare(x0, x1, ty_Int) 22.04/7.90 new_primMulNat0(Succ(x0), Succ(x1)) 22.04/7.90 new_merge00(x0, x1, x2, x3, EQ, x4) 22.04/7.90 new_primCmpNat0(Succ(x0), Zero) 22.04/7.90 new_compare14(x0, x1, app(app(ty_@2, x2), x3)) 22.04/7.90 new_merge2(:(x0, x1), :(x2, x3), x4) 22.04/7.90 new_compare13(x0, x1) 22.04/7.90 new_primCmpNat1(Zero, x0) 22.04/7.90 new_compare2(x0, x1) 22.04/7.90 new_sr0(Neg(x0), x1) 22.04/7.90 new_compare12(x0, x1, x2) 22.04/7.90 new_merge2(x0, [], x1) 22.04/7.90 new_compare14(x0, x1, ty_Ordering) 22.04/7.90 new_compare4(x0, x1) 22.04/7.90 new_merge00(x0, x1, x2, x3, GT, x4) 22.04/7.90 new_compare0(x0, x1, x2) 22.04/7.90 new_compare14(x0, x1, app(ty_[], x2)) 22.04/7.90 new_sr(x0, Neg(x1)) 22.04/7.90 new_compare10(Neg(Zero), Neg(Zero)) 22.04/7.90 new_compare10(Pos(Succ(x0)), Neg(x1)) 22.04/7.90 new_compare10(Neg(Succ(x0)), Pos(x1)) 22.04/7.90 new_merge1(x0, x1, [], x2) 22.04/7.90 new_compare14(x0, x1, ty_Int) 22.04/7.90 new_primMulNat0(Zero, Succ(x0)) 22.04/7.90 new_primPlusNat0(Zero, x0) 22.04/7.90 new_compare6(x0, x1, x2, x3, x4) 22.04/7.90 new_compare(x0, x1, app(ty_[], x2)) 22.04/7.90 new_merge_pairs0(:(x0, []), x1) 22.04/7.90 new_sr0(Pos(x0), x1) 22.04/7.90 new_compare14(x0, x1, ty_Double) 22.04/7.90 new_compare1(x0, x1) 22.04/7.90 new_sr(x0, Pos(x1)) 22.04/7.90 new_compare14(x0, x1, app(ty_Maybe, x2)) 22.04/7.90 new_compare(x0, x1, app(ty_Maybe, x2)) 22.04/7.90 new_primCmpNat0(Zero, Zero) 22.04/7.90 new_compare11(x0, x1, x2) 22.04/7.90 new_primMulNat0(Succ(x0), Zero) 22.04/7.90 new_primCmpNat2(x0, Succ(x1)) 22.04/7.90 new_merge_pairs0([], x0) 22.04/7.90 new_compare10(Neg(Succ(x0)), Neg(x1)) 22.04/7.90 22.04/7.90 We have to consider all minimal (P,Q,R)-chains. 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (21) QDPSizeChangeProof (EQUIVALENT) 22.04/7.90 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 22.04/7.90 22.04/7.90 Order:Polynomial interpretation [POLO]: 22.04/7.90 22.04/7.90 POL(:(x_1, x_2)) = 1 + x_2 22.04/7.90 POL(EQ) = 0 22.04/7.90 POL(GT) = 0 22.04/7.90 POL(LT) = 0 22.04/7.90 POL(Neg(x_1)) = 1 + x_1 22.04/7.90 POL(Pos(x_1)) = x_1 22.04/7.90 POL(Succ(x_1)) = x_1 22.04/7.90 POL(Zero) = 0 22.04/7.90 POL([]) = 0 22.04/7.90 POL(new_merge2(x_1, x_2, x_3)) = x_1 22.04/7.90 POL(new_merge_pairs0(x_1, x_2)) = x_1 22.04/7.90 POL(new_primCmpNat0(x_1, x_2)) = x_2 22.04/7.90 POL(new_primCmpNat1(x_1, x_2)) = x_1 + x_2 22.04/7.90 POL(new_primCmpNat2(x_1, x_2)) = x_2 22.04/7.90 POL(new_primMulNat0(x_1, x_2)) = x_1 + x_2 22.04/7.90 POL(new_primPlusNat0(x_1, x_2)) = x_2 22.04/7.90 POL(new_primPlusNat1(x_1, x_2)) = 0 22.04/7.90 POL(new_sr(x_1, x_2)) = 1 + x_1 + x_2 22.04/7.90 POL(new_sr0(x_1, x_2)) = 0 22.04/7.90 POL(new_sr1(x_1, x_2)) = 0 22.04/7.90 POL(new_sr2(x_1, x_2)) = 1 + x_1 + x_2 22.04/7.90 22.04/7.90 22.04/7.90 22.04/7.90 22.04/7.90 From the DPs we obtained the following set of size-change graphs: 22.04/7.90 *new_mergesort'(vz255, :(vz2560, :(vz25610, vz25611)), ba) -> new_mergesort'(new_merge1(vz255, vz2560, vz25610, ba), new_merge_pairs0(vz25611, ba), ba) (allowed arguments on rhs = {2, 3}) 22.04/7.90 The graph contains the following edges 2 > 2, 3 >= 3 22.04/7.90 22.04/7.90 22.04/7.90 22.04/7.90 We oriented the following set of usable rules [AAECC05,FROCOS05]. 22.04/7.90 22.04/7.90 new_merge_pairs0([], ba) -> [] 22.04/7.90 new_merge_pairs0(:(vz256110, []), ba) -> :(vz256110, []) 22.04/7.90 new_merge_pairs0(:(vz256110, :(vz2561110, vz2561111)), ba) -> :(new_merge2(vz256110, vz2561110, ba), new_merge_pairs0(vz2561111, ba)) 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (22) 22.04/7.90 YES 22.04/7.90 22.04/7.90 ---------------------------------------- 22.04/7.90 22.04/7.90 (23) 22.04/7.90 Obligation: 22.04/7.90 Q DP problem: 22.04/7.90 The TRS P consists of the following rules: 22.04/7.90 22.04/7.90 new_primMulNat(Succ(vz2580000), Succ(vz2570100)) -> new_primMulNat(vz2580000, Succ(vz2570100)) 22.04/7.90 22.04/7.90 R is empty. 22.04/7.90 Q is empty. 22.04/7.90 We have to consider all minimal (P,Q,R)-chains. 22.04/7.91 ---------------------------------------- 22.04/7.91 22.04/7.91 (24) QDPSizeChangeProof (EQUIVALENT) 22.04/7.91 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. 22.04/7.91 22.04/7.91 From the DPs we obtained the following set of size-change graphs: 22.04/7.91 *new_primMulNat(Succ(vz2580000), Succ(vz2570100)) -> new_primMulNat(vz2580000, Succ(vz2570100)) 22.04/7.91 The graph contains the following edges 1 > 1, 2 >= 2 22.04/7.91 22.04/7.91 22.04/7.91 ---------------------------------------- 22.04/7.91 22.04/7.91 (25) 22.04/7.91 YES 22.04/7.91 22.04/7.91 ---------------------------------------- 22.04/7.91 22.04/7.91 (26) 22.04/7.91 Obligation: 22.04/7.91 Q DP problem: 22.04/7.91 The TRS P consists of the following rules: 22.04/7.91 22.04/7.91 new_merge0(vz265, vz266, vz267, vz268, EQ, ba) -> new_merge(vz267, :(vz265, vz268), ba) 22.04/7.91 new_merge0(vz265, vz266, vz267, vz268, GT, ba) -> new_merge(:(vz266, vz267), vz268, ba) 22.04/7.91 new_merge0(vz265, vz266, vz267, vz268, LT, ba) -> new_merge(vz267, :(vz265, vz268), ba) 22.04/7.91 new_merge(:(vz2550, vz2551), :(vz25600, vz25601), bb) -> new_merge0(vz25600, vz2550, vz2551, vz25601, new_compare(vz2550, vz25600, bb), bb) 22.04/7.91 22.04/7.91 The TRS R consists of the following rules: 22.04/7.91 22.04/7.91 new_primCmpNat0(Succ(vz2550000), Zero) -> GT 22.04/7.91 new_compare4(vz2550, vz25600) -> error([]) 22.04/7.91 new_primCmpNat0(Zero, Zero) -> EQ 22.04/7.91 new_primMulNat0(Zero, Zero) -> Zero 22.04/7.91 new_compare11(vz2550, vz25600, cc) -> error([]) 22.04/7.91 new_sr(vz258010, Pos(vz257000)) -> Neg(new_primMulNat0(vz258010, vz257000)) 22.04/7.91 new_primMulNat0(Succ(vz2580000), Succ(vz2570100)) -> new_primPlusNat0(new_primMulNat0(vz2580000, Succ(vz2570100)), vz2570100) 22.04/7.91 new_compare3(Float(vz25800, Pos(vz258010)), Float(vz25700, Neg(vz257010))) -> new_compare10(new_sr0(vz25800, vz257010), new_sr(vz258010, vz25700)) 22.04/7.91 new_primCmpNat1(Succ(vz2560000), vz255000) -> new_primCmpNat0(vz2560000, vz255000) 22.04/7.91 new_sr1(Pos(vz258000), vz257010) -> Neg(new_primMulNat0(vz258000, vz257010)) 22.04/7.91 new_primCmpNat0(Succ(vz2550000), Succ(vz25600000)) -> new_primCmpNat0(vz2550000, vz25600000) 22.04/7.91 new_compare(vz2550, vz25600, ty_Integer) -> new_compare13(vz2550, vz25600) 22.04/7.91 new_sr2(vz258010, Neg(vz257000)) -> Neg(new_primMulNat0(vz258010, vz257000)) 22.04/7.91 new_primCmpNat1(Zero, vz255000) -> LT 22.04/7.91 new_compare3(Float(vz25800, Neg(vz258010)), Float(vz25700, Pos(vz257010))) -> new_compare10(new_sr1(vz25800, vz257010), new_sr2(vz258010, vz25700)) 22.04/7.91 new_compare10(Neg(Zero), Pos(Succ(vz2560000))) -> LT 22.04/7.91 new_primPlusNat1(Succ(vz27000), Zero) -> Succ(vz27000) 22.04/7.91 new_primPlusNat1(Zero, Succ(vz25701000)) -> Succ(vz25701000) 22.04/7.91 new_compare10(Pos(Succ(vz255000)), Neg(vz256000)) -> GT 22.04/7.91 new_sr0(Neg(vz258000), vz257010) -> Neg(new_primMulNat0(vz258000, vz257010)) 22.04/7.91 new_compare10(Pos(Zero), Neg(Zero)) -> EQ 22.04/7.91 new_compare10(Neg(Zero), Pos(Zero)) -> EQ 22.04/7.91 new_compare6(vz2550, vz25600, bd, be, bf) -> error([]) 22.04/7.91 new_compare(vz2550, vz25600, ty_@0) -> new_compare2(vz2550, vz25600) 22.04/7.91 new_compare(vz2550, vz25600, ty_Int) -> new_compare10(vz2550, vz25600) 22.04/7.91 new_compare(vz2550, vz25600, app(ty_[], cc)) -> new_compare11(vz2550, vz25600, cc) 22.04/7.91 new_compare8(vz2550, vz25600, ca, cb) -> error([]) 22.04/7.91 new_sr(vz258010, Neg(vz257000)) -> Pos(new_primMulNat0(vz258010, vz257000)) 22.04/7.91 new_compare(vz2550, vz25600, app(app(ty_Either, ca), cb)) -> new_compare8(vz2550, vz25600, ca, cb) 22.04/7.91 new_compare(vz2550, vz25600, app(app(app(ty_@3, bd), be), bf)) -> new_compare6(vz2550, vz25600, bd, be, bf) 22.04/7.91 new_compare(vz2550, vz25600, ty_Double) -> new_compare9(vz2550, vz25600) 22.04/7.91 new_compare10(Neg(Zero), Neg(Zero)) -> EQ 22.04/7.91 new_compare13(vz2550, vz25600) -> error([]) 22.04/7.91 new_compare3(Float(vz25800, Neg(vz258010)), Float(vz25700, Neg(vz257010))) -> new_compare10(new_sr1(vz25800, vz257010), new_sr(vz258010, vz25700)) 22.04/7.91 new_compare(vz2550, vz25600, ty_Bool) -> new_compare4(vz2550, vz25600) 22.04/7.91 new_compare10(Pos(Zero), Pos(Zero)) -> EQ 22.04/7.91 new_compare10(Neg(Zero), Neg(Succ(vz2560000))) -> new_primCmpNat2(vz2560000, Zero) 22.04/7.91 new_primPlusNat0(Succ(vz2700), vz2570100) -> Succ(Succ(new_primPlusNat1(vz2700, vz2570100))) 22.04/7.91 new_sr0(Pos(vz258000), vz257010) -> Pos(new_primMulNat0(vz258000, vz257010)) 22.04/7.91 new_compare(vz2550, vz25600, app(ty_Ratio, cd)) -> new_compare12(vz2550, vz25600, cd) 22.04/7.91 new_compare2(vz2550, vz25600) -> error([]) 22.04/7.91 new_sr1(Neg(vz258000), vz257010) -> Pos(new_primMulNat0(vz258000, vz257010)) 22.04/7.91 new_compare10(Pos(Succ(vz255000)), Pos(vz256000)) -> new_primCmpNat2(vz255000, vz256000) 22.04/7.91 new_compare(vz2550, vz25600, app(ty_Maybe, bc)) -> new_compare0(vz2550, vz25600, bc) 22.04/7.91 new_compare7(vz2550, vz25600, bg, bh) -> error([]) 22.04/7.91 new_compare10(Neg(Succ(vz255000)), Neg(vz256000)) -> new_primCmpNat1(vz256000, vz255000) 22.04/7.91 new_sr2(vz258010, Pos(vz257000)) -> Pos(new_primMulNat0(vz258010, vz257000)) 22.04/7.91 new_compare(vz2550, vz25600, ty_Char) -> new_compare5(vz2550, vz25600) 22.04/7.91 new_compare5(vz2550, vz25600) -> error([]) 22.04/7.91 new_primCmpNat2(vz255000, Succ(vz2560000)) -> new_primCmpNat0(vz255000, vz2560000) 22.04/7.91 new_primPlusNat1(Succ(vz27000), Succ(vz25701000)) -> Succ(Succ(new_primPlusNat1(vz27000, vz25701000))) 22.04/7.91 new_primPlusNat1(Zero, Zero) -> Zero 22.04/7.91 new_compare12(vz2550, vz25600, cd) -> error([]) 22.04/7.91 new_compare3(Float(vz25800, Pos(vz258010)), Float(vz25700, Pos(vz257010))) -> new_compare10(new_sr0(vz25800, vz257010), new_sr2(vz258010, vz25700)) 22.04/7.91 new_primMulNat0(Succ(vz2580000), Zero) -> Zero 22.04/7.91 new_primMulNat0(Zero, Succ(vz2570100)) -> Zero 22.04/7.91 new_compare(vz2550, vz25600, ty_Ordering) -> new_compare1(vz2550, vz25600) 22.04/7.91 new_primPlusNat0(Zero, vz2570100) -> Succ(vz2570100) 22.04/7.91 new_primCmpNat0(Zero, Succ(vz25600000)) -> LT 22.04/7.91 new_primCmpNat2(vz255000, Zero) -> GT 22.04/7.91 new_compare(vz2550, vz25600, app(app(ty_@2, bg), bh)) -> new_compare7(vz2550, vz25600, bg, bh) 22.04/7.91 new_compare0(vz2550, vz25600, bc) -> error([]) 22.04/7.91 new_compare10(Neg(Succ(vz255000)), Pos(vz256000)) -> LT 22.04/7.91 new_compare1(vz2550, vz25600) -> error([]) 22.04/7.91 new_compare10(Pos(Zero), Neg(Succ(vz2560000))) -> GT 22.04/7.91 new_compare10(Pos(Zero), Pos(Succ(vz2560000))) -> new_primCmpNat1(Zero, vz2560000) 22.04/7.91 new_compare9(vz2550, vz25600) -> error([]) 22.04/7.91 new_compare(vz2550, vz25600, ty_Float) -> new_compare3(vz2550, vz25600) 22.04/7.91 22.04/7.91 The set Q consists of the following terms: 22.04/7.91 22.04/7.91 new_compare(x0, x1, ty_Bool) 22.04/7.91 new_compare3(Float(x0, Pos(x1)), Float(x2, Neg(x3))) 22.04/7.91 new_compare3(Float(x0, Neg(x1)), Float(x2, Pos(x3))) 22.04/7.91 new_compare0(x0, x1, x2) 22.04/7.91 new_compare10(Neg(Zero), Neg(Succ(x0))) 22.04/7.91 new_primPlusNat0(Succ(x0), x1) 22.04/7.91 new_compare9(x0, x1) 22.04/7.91 new_compare(x0, x1, ty_Double) 22.04/7.91 new_sr2(x0, Pos(x1)) 22.04/7.91 new_compare(x0, x1, ty_Ordering) 22.04/7.91 new_compare10(Neg(Zero), Pos(Succ(x0))) 22.04/7.91 new_primPlusNat1(Zero, Succ(x0)) 22.04/7.91 new_compare10(Pos(Zero), Neg(Succ(x0))) 22.04/7.91 new_compare(x0, x1, ty_Char) 22.04/7.91 new_compare(x0, x1, ty_@0) 22.04/7.91 new_compare3(Float(x0, Pos(x1)), Float(x2, Pos(x3))) 22.04/7.91 new_compare10(Pos(Zero), Neg(Zero)) 22.04/7.91 new_compare10(Neg(Zero), Pos(Zero)) 22.04/7.91 new_compare3(Float(x0, Neg(x1)), Float(x2, Neg(x3))) 22.04/7.91 new_primCmpNat0(Succ(x0), Succ(x1)) 22.04/7.91 new_primCmpNat0(Zero, Succ(x0)) 22.04/7.91 new_compare5(x0, x1) 22.04/7.91 new_sr1(Pos(x0), x1) 22.04/7.91 new_primPlusNat1(Succ(x0), Succ(x1)) 22.04/7.91 new_compare10(Pos(Zero), Pos(Succ(x0))) 22.04/7.91 new_primMulNat0(Zero, Zero) 22.04/7.91 new_sr2(x0, Neg(x1)) 22.04/7.91 new_primPlusNat1(Zero, Zero) 22.04/7.91 new_primPlusNat1(Succ(x0), Zero) 22.04/7.91 new_primCmpNat1(Succ(x0), x1) 22.04/7.91 new_primCmpNat2(x0, Zero) 22.04/7.91 new_compare10(Pos(Succ(x0)), Pos(x1)) 22.04/7.91 new_compare10(Pos(Zero), Pos(Zero)) 22.04/7.91 new_compare(x0, x1, ty_Float) 22.04/7.91 new_compare(x0, x1, ty_Integer) 22.04/7.91 new_sr1(Neg(x0), x1) 22.04/7.91 new_compare(x0, x1, ty_Int) 22.04/7.91 new_primMulNat0(Succ(x0), Succ(x1)) 22.04/7.91 new_primCmpNat0(Succ(x0), Zero) 22.04/7.91 new_compare11(x0, x1, x2) 22.04/7.91 new_compare13(x0, x1) 22.04/7.91 new_primCmpNat1(Zero, x0) 22.04/7.91 new_compare2(x0, x1) 22.04/7.91 new_compare(x0, x1, app(ty_Maybe, x2)) 22.04/7.91 new_sr0(Neg(x0), x1) 22.04/7.91 new_compare(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 22.04/7.91 new_compare7(x0, x1, x2, x3) 22.04/7.91 new_compare4(x0, x1) 22.04/7.91 new_compare8(x0, x1, x2, x3) 22.04/7.91 new_compare(x0, x1, app(ty_Ratio, x2)) 22.04/7.91 new_sr(x0, Neg(x1)) 22.04/7.91 new_compare10(Neg(Zero), Neg(Zero)) 22.04/7.91 new_compare10(Pos(Succ(x0)), Neg(x1)) 22.04/7.91 new_compare10(Neg(Succ(x0)), Pos(x1)) 22.04/7.91 new_primMulNat0(Zero, Succ(x0)) 22.04/7.91 new_primPlusNat0(Zero, x0) 22.04/7.91 new_sr0(Pos(x0), x1) 22.04/7.91 new_compare12(x0, x1, x2) 22.04/7.91 new_compare6(x0, x1, x2, x3, x4) 22.04/7.91 new_compare1(x0, x1) 22.04/7.91 new_sr(x0, Pos(x1)) 22.04/7.91 new_compare(x0, x1, app(app(ty_Either, x2), x3)) 22.04/7.91 new_primCmpNat0(Zero, Zero) 22.04/7.91 new_primMulNat0(Succ(x0), Zero) 22.04/7.91 new_primCmpNat2(x0, Succ(x1)) 22.04/7.91 new_compare(x0, x1, app(ty_[], x2)) 22.04/7.91 new_compare10(Neg(Succ(x0)), Neg(x1)) 22.04/7.91 new_compare(x0, x1, app(app(ty_@2, x2), x3)) 22.04/7.91 22.04/7.91 We have to consider all minimal (P,Q,R)-chains. 22.04/7.91 ---------------------------------------- 22.04/7.91 22.04/7.91 (27) QDPOrderProof (EQUIVALENT) 22.04/7.91 We use the reduction pair processor [LPAR04,JAR06]. 22.04/7.91 22.04/7.91 22.04/7.91 The following pairs can be oriented strictly and are deleted. 22.04/7.91 22.04/7.91 new_merge(:(vz2550, vz2551), :(vz25600, vz25601), bb) -> new_merge0(vz25600, vz2550, vz2551, vz25601, new_compare(vz2550, vz25600, bb), bb) 22.04/7.91 The remaining pairs can at least be oriented weakly. 22.04/7.91 Used ordering: Polynomial interpretation [POLO]: 22.04/7.91 22.04/7.91 POL(:(x_1, x_2)) = 1 + x_1 + x_2 22.04/7.91 POL(EQ) = 0 22.04/7.91 POL(Float(x_1, x_2)) = x_1 22.04/7.91 POL(GT) = 0 22.04/7.91 POL(LT) = 0 22.04/7.91 POL(Neg(x_1)) = 0 22.04/7.91 POL(Pos(x_1)) = 0 22.04/7.91 POL(Succ(x_1)) = 0 22.04/7.91 POL(Zero) = 0 22.04/7.91 POL([]) = 1 22.04/7.91 POL(app(x_1, x_2)) = 1 + x_1 + x_2 22.04/7.91 POL(error(x_1)) = 1 + x_1 22.04/7.91 POL(new_compare(x_1, x_2, x_3)) = x_1 + x_2 + x_3 22.04/7.91 POL(new_compare0(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 22.04/7.91 POL(new_compare1(x_1, x_2)) = 1 + x_1 + x_2 22.04/7.91 POL(new_compare10(x_1, x_2)) = 0 22.04/7.91 POL(new_compare11(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 22.04/7.91 POL(new_compare12(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 22.04/7.91 POL(new_compare13(x_1, x_2)) = 1 + x_1 + x_2 22.04/7.91 POL(new_compare2(x_1, x_2)) = 1 + x_1 + x_2 22.04/7.91 POL(new_compare3(x_1, x_2)) = 1 22.04/7.91 POL(new_compare4(x_1, x_2)) = 1 + x_1 + x_2 22.04/7.91 POL(new_compare5(x_1, x_2)) = 1 + x_1 + x_2 22.04/7.91 POL(new_compare6(x_1, x_2, x_3, x_4, x_5)) = 1 + x_1 + x_2 + x_3 + x_4 + x_5 22.04/7.91 POL(new_compare7(x_1, x_2, x_3, x_4)) = 1 + x_1 + x_2 + x_3 + x_4 22.04/7.91 POL(new_compare8(x_1, x_2, x_3, x_4)) = 1 + x_1 + x_2 + x_3 + x_4 22.04/7.91 POL(new_compare9(x_1, x_2)) = 1 + x_1 + x_2 22.04/7.91 POL(new_merge(x_1, x_2, x_3)) = x_1 + x_2 + x_3 22.04/7.91 POL(new_merge0(x_1, x_2, x_3, x_4, x_5, x_6)) = 1 + x_1 + x_2 + x_3 + x_4 + x_6 22.04/7.91 POL(new_primCmpNat0(x_1, x_2)) = 1 22.04/7.91 POL(new_primCmpNat1(x_1, x_2)) = 1 + x_2 22.04/7.91 POL(new_primCmpNat2(x_1, x_2)) = 1 + x_1 22.04/7.91 POL(new_primMulNat0(x_1, x_2)) = 0 22.04/7.91 POL(new_primPlusNat0(x_1, x_2)) = x_2 22.04/7.91 POL(new_primPlusNat1(x_1, x_2)) = 0 22.04/7.91 POL(new_sr(x_1, x_2)) = x_1 + x_2 22.04/7.91 POL(new_sr0(x_1, x_2)) = 1 + x_1 + x_2 22.04/7.91 POL(new_sr1(x_1, x_2)) = 1 + x_1 + x_2 22.04/7.91 POL(new_sr2(x_1, x_2)) = x_1 + x_2 22.04/7.91 POL(ty_@0) = 1 22.04/7.91 POL(ty_@2) = 1 22.04/7.91 POL(ty_@3) = 1 22.04/7.91 POL(ty_Bool) = 1 22.04/7.91 POL(ty_Char) = 1 22.04/7.91 POL(ty_Double) = 1 22.04/7.91 POL(ty_Either) = 1 22.04/7.91 POL(ty_Float) = 1 22.04/7.91 POL(ty_Int) = 1 22.04/7.91 POL(ty_Integer) = 1 22.04/7.91 POL(ty_Maybe) = 1 22.04/7.91 POL(ty_Ordering) = 1 22.04/7.91 POL(ty_Ratio) = 1 22.04/7.91 POL(ty_[]) = 1 22.04/7.91 22.04/7.91 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 22.04/7.91 none 22.04/7.91 22.04/7.91 22.04/7.91 ---------------------------------------- 22.04/7.91 22.04/7.91 (28) 22.04/7.91 Obligation: 22.04/7.91 Q DP problem: 22.04/7.91 The TRS P consists of the following rules: 22.04/7.91 22.04/7.91 new_merge0(vz265, vz266, vz267, vz268, EQ, ba) -> new_merge(vz267, :(vz265, vz268), ba) 22.04/7.91 new_merge0(vz265, vz266, vz267, vz268, GT, ba) -> new_merge(:(vz266, vz267), vz268, ba) 22.04/7.91 new_merge0(vz265, vz266, vz267, vz268, LT, ba) -> new_merge(vz267, :(vz265, vz268), ba) 22.04/7.91 22.04/7.91 The TRS R consists of the following rules: 22.04/7.91 22.04/7.91 new_primCmpNat0(Succ(vz2550000), Zero) -> GT 22.04/7.91 new_compare4(vz2550, vz25600) -> error([]) 22.04/7.91 new_primCmpNat0(Zero, Zero) -> EQ 22.04/7.91 new_primMulNat0(Zero, Zero) -> Zero 22.04/7.91 new_compare11(vz2550, vz25600, cc) -> error([]) 22.04/7.91 new_sr(vz258010, Pos(vz257000)) -> Neg(new_primMulNat0(vz258010, vz257000)) 22.04/7.91 new_primMulNat0(Succ(vz2580000), Succ(vz2570100)) -> new_primPlusNat0(new_primMulNat0(vz2580000, Succ(vz2570100)), vz2570100) 22.04/7.91 new_compare3(Float(vz25800, Pos(vz258010)), Float(vz25700, Neg(vz257010))) -> new_compare10(new_sr0(vz25800, vz257010), new_sr(vz258010, vz25700)) 22.04/7.91 new_primCmpNat1(Succ(vz2560000), vz255000) -> new_primCmpNat0(vz2560000, vz255000) 22.04/7.91 new_sr1(Pos(vz258000), vz257010) -> Neg(new_primMulNat0(vz258000, vz257010)) 22.04/7.91 new_primCmpNat0(Succ(vz2550000), Succ(vz25600000)) -> new_primCmpNat0(vz2550000, vz25600000) 22.04/7.91 new_compare(vz2550, vz25600, ty_Integer) -> new_compare13(vz2550, vz25600) 22.04/7.91 new_sr2(vz258010, Neg(vz257000)) -> Neg(new_primMulNat0(vz258010, vz257000)) 22.04/7.91 new_primCmpNat1(Zero, vz255000) -> LT 22.04/7.91 new_compare3(Float(vz25800, Neg(vz258010)), Float(vz25700, Pos(vz257010))) -> new_compare10(new_sr1(vz25800, vz257010), new_sr2(vz258010, vz25700)) 22.04/7.91 new_compare10(Neg(Zero), Pos(Succ(vz2560000))) -> LT 22.04/7.91 new_primPlusNat1(Succ(vz27000), Zero) -> Succ(vz27000) 22.04/7.91 new_primPlusNat1(Zero, Succ(vz25701000)) -> Succ(vz25701000) 22.04/7.91 new_compare10(Pos(Succ(vz255000)), Neg(vz256000)) -> GT 22.04/7.91 new_sr0(Neg(vz258000), vz257010) -> Neg(new_primMulNat0(vz258000, vz257010)) 22.04/7.91 new_compare10(Pos(Zero), Neg(Zero)) -> EQ 22.04/7.91 new_compare10(Neg(Zero), Pos(Zero)) -> EQ 22.04/7.91 new_compare6(vz2550, vz25600, bd, be, bf) -> error([]) 22.04/7.91 new_compare(vz2550, vz25600, ty_@0) -> new_compare2(vz2550, vz25600) 22.04/7.91 new_compare(vz2550, vz25600, ty_Int) -> new_compare10(vz2550, vz25600) 22.04/7.91 new_compare(vz2550, vz25600, app(ty_[], cc)) -> new_compare11(vz2550, vz25600, cc) 22.04/7.91 new_compare8(vz2550, vz25600, ca, cb) -> error([]) 22.04/7.91 new_sr(vz258010, Neg(vz257000)) -> Pos(new_primMulNat0(vz258010, vz257000)) 22.04/7.91 new_compare(vz2550, vz25600, app(app(ty_Either, ca), cb)) -> new_compare8(vz2550, vz25600, ca, cb) 22.04/7.91 new_compare(vz2550, vz25600, app(app(app(ty_@3, bd), be), bf)) -> new_compare6(vz2550, vz25600, bd, be, bf) 22.04/7.91 new_compare(vz2550, vz25600, ty_Double) -> new_compare9(vz2550, vz25600) 22.04/7.91 new_compare10(Neg(Zero), Neg(Zero)) -> EQ 22.04/7.91 new_compare13(vz2550, vz25600) -> error([]) 22.04/7.91 new_compare3(Float(vz25800, Neg(vz258010)), Float(vz25700, Neg(vz257010))) -> new_compare10(new_sr1(vz25800, vz257010), new_sr(vz258010, vz25700)) 22.04/7.91 new_compare(vz2550, vz25600, ty_Bool) -> new_compare4(vz2550, vz25600) 22.04/7.91 new_compare10(Pos(Zero), Pos(Zero)) -> EQ 22.04/7.91 new_compare10(Neg(Zero), Neg(Succ(vz2560000))) -> new_primCmpNat2(vz2560000, Zero) 22.04/7.91 new_primPlusNat0(Succ(vz2700), vz2570100) -> Succ(Succ(new_primPlusNat1(vz2700, vz2570100))) 22.04/7.91 new_sr0(Pos(vz258000), vz257010) -> Pos(new_primMulNat0(vz258000, vz257010)) 22.04/7.91 new_compare(vz2550, vz25600, app(ty_Ratio, cd)) -> new_compare12(vz2550, vz25600, cd) 22.04/7.91 new_compare2(vz2550, vz25600) -> error([]) 22.04/7.91 new_sr1(Neg(vz258000), vz257010) -> Pos(new_primMulNat0(vz258000, vz257010)) 22.04/7.91 new_compare10(Pos(Succ(vz255000)), Pos(vz256000)) -> new_primCmpNat2(vz255000, vz256000) 22.04/7.91 new_compare(vz2550, vz25600, app(ty_Maybe, bc)) -> new_compare0(vz2550, vz25600, bc) 22.04/7.91 new_compare7(vz2550, vz25600, bg, bh) -> error([]) 22.04/7.91 new_compare10(Neg(Succ(vz255000)), Neg(vz256000)) -> new_primCmpNat1(vz256000, vz255000) 22.04/7.91 new_sr2(vz258010, Pos(vz257000)) -> Pos(new_primMulNat0(vz258010, vz257000)) 22.04/7.91 new_compare(vz2550, vz25600, ty_Char) -> new_compare5(vz2550, vz25600) 22.04/7.91 new_compare5(vz2550, vz25600) -> error([]) 22.04/7.91 new_primCmpNat2(vz255000, Succ(vz2560000)) -> new_primCmpNat0(vz255000, vz2560000) 22.04/7.91 new_primPlusNat1(Succ(vz27000), Succ(vz25701000)) -> Succ(Succ(new_primPlusNat1(vz27000, vz25701000))) 22.04/7.91 new_primPlusNat1(Zero, Zero) -> Zero 22.04/7.91 new_compare12(vz2550, vz25600, cd) -> error([]) 22.04/7.91 new_compare3(Float(vz25800, Pos(vz258010)), Float(vz25700, Pos(vz257010))) -> new_compare10(new_sr0(vz25800, vz257010), new_sr2(vz258010, vz25700)) 22.04/7.91 new_primMulNat0(Succ(vz2580000), Zero) -> Zero 22.04/7.91 new_primMulNat0(Zero, Succ(vz2570100)) -> Zero 22.04/7.91 new_compare(vz2550, vz25600, ty_Ordering) -> new_compare1(vz2550, vz25600) 22.04/7.91 new_primPlusNat0(Zero, vz2570100) -> Succ(vz2570100) 22.04/7.91 new_primCmpNat0(Zero, Succ(vz25600000)) -> LT 22.04/7.91 new_primCmpNat2(vz255000, Zero) -> GT 22.04/7.91 new_compare(vz2550, vz25600, app(app(ty_@2, bg), bh)) -> new_compare7(vz2550, vz25600, bg, bh) 22.04/7.91 new_compare0(vz2550, vz25600, bc) -> error([]) 22.04/7.91 new_compare10(Neg(Succ(vz255000)), Pos(vz256000)) -> LT 22.04/7.91 new_compare1(vz2550, vz25600) -> error([]) 22.04/7.91 new_compare10(Pos(Zero), Neg(Succ(vz2560000))) -> GT 22.04/7.91 new_compare10(Pos(Zero), Pos(Succ(vz2560000))) -> new_primCmpNat1(Zero, vz2560000) 22.04/7.91 new_compare9(vz2550, vz25600) -> error([]) 22.04/7.91 new_compare(vz2550, vz25600, ty_Float) -> new_compare3(vz2550, vz25600) 22.04/7.91 22.04/7.91 The set Q consists of the following terms: 22.04/7.91 22.04/7.91 new_compare(x0, x1, ty_Bool) 22.04/7.91 new_compare3(Float(x0, Pos(x1)), Float(x2, Neg(x3))) 22.04/7.91 new_compare3(Float(x0, Neg(x1)), Float(x2, Pos(x3))) 22.04/7.91 new_compare0(x0, x1, x2) 22.04/7.91 new_compare10(Neg(Zero), Neg(Succ(x0))) 22.04/7.91 new_primPlusNat0(Succ(x0), x1) 22.04/7.91 new_compare9(x0, x1) 22.04/7.91 new_compare(x0, x1, ty_Double) 22.04/7.91 new_sr2(x0, Pos(x1)) 22.04/7.91 new_compare(x0, x1, ty_Ordering) 22.04/7.91 new_compare10(Neg(Zero), Pos(Succ(x0))) 22.04/7.91 new_primPlusNat1(Zero, Succ(x0)) 22.04/7.91 new_compare10(Pos(Zero), Neg(Succ(x0))) 22.04/7.91 new_compare(x0, x1, ty_Char) 22.04/7.91 new_compare(x0, x1, ty_@0) 22.04/7.91 new_compare3(Float(x0, Pos(x1)), Float(x2, Pos(x3))) 22.04/7.91 new_compare10(Pos(Zero), Neg(Zero)) 22.04/7.91 new_compare10(Neg(Zero), Pos(Zero)) 22.04/7.91 new_compare3(Float(x0, Neg(x1)), Float(x2, Neg(x3))) 22.04/7.91 new_primCmpNat0(Succ(x0), Succ(x1)) 22.04/7.91 new_primCmpNat0(Zero, Succ(x0)) 22.04/7.91 new_compare5(x0, x1) 22.04/7.91 new_sr1(Pos(x0), x1) 22.04/7.91 new_primPlusNat1(Succ(x0), Succ(x1)) 22.04/7.91 new_compare10(Pos(Zero), Pos(Succ(x0))) 22.04/7.91 new_primMulNat0(Zero, Zero) 22.04/7.91 new_sr2(x0, Neg(x1)) 22.04/7.91 new_primPlusNat1(Zero, Zero) 22.04/7.91 new_primPlusNat1(Succ(x0), Zero) 22.04/7.91 new_primCmpNat1(Succ(x0), x1) 22.04/7.91 new_primCmpNat2(x0, Zero) 22.04/7.91 new_compare10(Pos(Succ(x0)), Pos(x1)) 22.04/7.91 new_compare10(Pos(Zero), Pos(Zero)) 22.04/7.91 new_compare(x0, x1, ty_Float) 22.04/7.91 new_compare(x0, x1, ty_Integer) 22.04/7.91 new_sr1(Neg(x0), x1) 22.04/7.91 new_compare(x0, x1, ty_Int) 22.04/7.91 new_primMulNat0(Succ(x0), Succ(x1)) 22.04/7.91 new_primCmpNat0(Succ(x0), Zero) 22.04/7.91 new_compare11(x0, x1, x2) 22.04/7.91 new_compare13(x0, x1) 22.04/7.91 new_primCmpNat1(Zero, x0) 22.04/7.91 new_compare2(x0, x1) 22.04/7.91 new_compare(x0, x1, app(ty_Maybe, x2)) 22.04/7.91 new_sr0(Neg(x0), x1) 22.04/7.91 new_compare(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 22.04/7.91 new_compare7(x0, x1, x2, x3) 22.04/7.91 new_compare4(x0, x1) 22.04/7.91 new_compare8(x0, x1, x2, x3) 22.04/7.91 new_compare(x0, x1, app(ty_Ratio, x2)) 22.04/7.91 new_sr(x0, Neg(x1)) 22.04/7.91 new_compare10(Neg(Zero), Neg(Zero)) 22.04/7.91 new_compare10(Pos(Succ(x0)), Neg(x1)) 22.04/7.91 new_compare10(Neg(Succ(x0)), Pos(x1)) 22.04/7.91 new_primMulNat0(Zero, Succ(x0)) 22.04/7.91 new_primPlusNat0(Zero, x0) 22.04/7.91 new_sr0(Pos(x0), x1) 22.04/7.91 new_compare12(x0, x1, x2) 22.04/7.91 new_compare6(x0, x1, x2, x3, x4) 22.04/7.91 new_compare1(x0, x1) 22.04/7.91 new_sr(x0, Pos(x1)) 22.04/7.91 new_compare(x0, x1, app(app(ty_Either, x2), x3)) 22.04/7.91 new_primCmpNat0(Zero, Zero) 22.04/7.91 new_primMulNat0(Succ(x0), Zero) 22.04/7.91 new_primCmpNat2(x0, Succ(x1)) 22.04/7.91 new_compare(x0, x1, app(ty_[], x2)) 22.04/7.91 new_compare10(Neg(Succ(x0)), Neg(x1)) 22.04/7.91 new_compare(x0, x1, app(app(ty_@2, x2), x3)) 22.04/7.91 22.04/7.91 We have to consider all minimal (P,Q,R)-chains. 22.04/7.91 ---------------------------------------- 22.04/7.91 22.04/7.91 (29) DependencyGraphProof (EQUIVALENT) 22.04/7.91 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 22.04/7.91 ---------------------------------------- 22.04/7.91 22.04/7.91 (30) 22.04/7.91 TRUE 22.04/7.91 22.04/7.91 ---------------------------------------- 22.04/7.91 22.04/7.91 (31) 22.04/7.91 Obligation: 22.04/7.91 Q DP problem: 22.04/7.91 The TRS P consists of the following rules: 22.04/7.91 22.04/7.91 new_primPlusNat(Succ(vz27000), Succ(vz25701000)) -> new_primPlusNat(vz27000, vz25701000) 22.04/7.91 22.04/7.91 R is empty. 22.04/7.91 Q is empty. 22.04/7.91 We have to consider all minimal (P,Q,R)-chains. 22.04/7.91 ---------------------------------------- 22.04/7.91 22.04/7.91 (32) QDPSizeChangeProof (EQUIVALENT) 22.04/7.91 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. 22.04/7.91 22.04/7.91 From the DPs we obtained the following set of size-change graphs: 22.04/7.91 *new_primPlusNat(Succ(vz27000), Succ(vz25701000)) -> new_primPlusNat(vz27000, vz25701000) 22.04/7.91 The graph contains the following edges 1 > 1, 2 > 2 22.04/7.91 22.04/7.91 22.04/7.91 ---------------------------------------- 22.04/7.91 22.04/7.91 (33) 22.04/7.91 YES 22.27/7.95 EOF