11.38/4.67 YES 13.16/5.19 proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs 13.16/5.19 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 13.16/5.19 13.16/5.19 13.16/5.19 H-Termination with start terms of the given HASKELL could be proven: 13.16/5.19 13.16/5.19 (0) HASKELL 13.16/5.19 (1) BR [EQUIVALENT, 0 ms] 13.16/5.19 (2) HASKELL 13.16/5.19 (3) COR [EQUIVALENT, 18 ms] 13.16/5.19 (4) HASKELL 13.16/5.19 (5) Narrow [SOUND, 0 ms] 13.16/5.19 (6) AND 13.16/5.19 (7) QDP 13.16/5.19 (8) TransformationProof [EQUIVALENT, 0 ms] 13.16/5.19 (9) QDP 13.16/5.19 (10) UsableRulesProof [EQUIVALENT, 0 ms] 13.16/5.19 (11) QDP 13.16/5.19 (12) QReductionProof [EQUIVALENT, 0 ms] 13.16/5.19 (13) QDP 13.16/5.19 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.16/5.19 (15) YES 13.16/5.19 (16) QDP 13.16/5.19 (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.16/5.19 (18) YES 13.16/5.19 (19) QDP 13.16/5.19 (20) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.16/5.19 (21) YES 13.16/5.19 (22) QDP 13.16/5.19 (23) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.16/5.19 (24) YES 13.16/5.19 (25) QDP 13.16/5.19 (26) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.16/5.19 (27) YES 13.16/5.19 (28) QDP 13.16/5.19 (29) TransformationProof [EQUIVALENT, 0 ms] 13.16/5.19 (30) QDP 13.16/5.20 (31) UsableRulesProof [EQUIVALENT, 0 ms] 13.16/5.20 (32) QDP 13.16/5.20 (33) QReductionProof [EQUIVALENT, 0 ms] 13.16/5.20 (34) QDP 13.16/5.20 (35) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.16/5.20 (36) YES 13.16/5.20 13.16/5.20 13.16/5.20 ---------------------------------------- 13.16/5.20 13.16/5.20 (0) 13.16/5.20 Obligation: 13.16/5.20 mainModule Main 13.16/5.20 module Maybe where { 13.16/5.20 import qualified List; 13.16/5.20 import qualified Main; 13.16/5.20 import qualified Prelude; 13.16/5.20 } 13.16/5.20 module List where { 13.16/5.20 import qualified Main; 13.16/5.20 import qualified Maybe; 13.16/5.20 import qualified Prelude; 13.16/5.20 isPrefixOf :: Eq a => [a] -> [a] -> Bool; 13.16/5.20 isPrefixOf [] _ = True; 13.16/5.20 isPrefixOf _ [] = False; 13.16/5.20 isPrefixOf (x : xs) (y : ys) = x == y && isPrefixOf xs ys; 13.16/5.20 13.16/5.20 isSuffixOf :: Eq a => [a] -> [a] -> Bool; 13.16/5.20 isSuffixOf x y = reverse x `isPrefixOf` reverse y; 13.16/5.20 13.16/5.20 } 13.16/5.20 module Main where { 13.16/5.20 import qualified List; 13.16/5.20 import qualified Maybe; 13.16/5.20 import qualified Prelude; 13.16/5.20 } 13.16/5.20 13.16/5.20 ---------------------------------------- 13.16/5.20 13.16/5.20 (1) BR (EQUIVALENT) 13.16/5.20 Replaced joker patterns by fresh variables and removed binding patterns. 13.16/5.20 ---------------------------------------- 13.16/5.20 13.16/5.20 (2) 13.16/5.20 Obligation: 13.16/5.20 mainModule Main 13.16/5.20 module Maybe where { 13.16/5.20 import qualified List; 13.16/5.20 import qualified Main; 13.16/5.20 import qualified Prelude; 13.16/5.20 } 13.16/5.20 module List where { 13.16/5.20 import qualified Main; 13.16/5.20 import qualified Maybe; 13.16/5.20 import qualified Prelude; 13.16/5.20 isPrefixOf :: Eq a => [a] -> [a] -> Bool; 13.16/5.20 isPrefixOf [] wu = True; 13.16/5.20 isPrefixOf wv [] = False; 13.16/5.20 isPrefixOf (x : xs) (y : ys) = x == y && isPrefixOf xs ys; 13.16/5.20 13.16/5.20 isSuffixOf :: Eq a => [a] -> [a] -> Bool; 13.16/5.20 isSuffixOf x y = reverse x `isPrefixOf` reverse y; 13.16/5.20 13.16/5.20 } 13.16/5.20 module Main where { 13.16/5.20 import qualified List; 13.16/5.20 import qualified Maybe; 13.16/5.20 import qualified Prelude; 13.16/5.20 } 13.16/5.20 13.16/5.20 ---------------------------------------- 13.16/5.20 13.16/5.20 (3) COR (EQUIVALENT) 13.16/5.20 Cond Reductions: 13.16/5.20 The following Function with conditions 13.16/5.20 "undefined |Falseundefined; 13.16/5.20 " 13.16/5.20 is transformed to 13.16/5.20 "undefined = undefined1; 13.16/5.20 " 13.16/5.20 "undefined0 True = undefined; 13.16/5.20 " 13.16/5.20 "undefined1 = undefined0 False; 13.16/5.20 " 13.16/5.20 13.16/5.20 ---------------------------------------- 13.16/5.20 13.16/5.20 (4) 13.16/5.20 Obligation: 13.16/5.20 mainModule Main 13.16/5.20 module Maybe where { 13.16/5.20 import qualified List; 13.16/5.20 import qualified Main; 13.16/5.20 import qualified Prelude; 13.16/5.20 } 13.16/5.20 module List where { 13.16/5.20 import qualified Main; 13.16/5.20 import qualified Maybe; 13.16/5.20 import qualified Prelude; 13.16/5.20 isPrefixOf :: Eq a => [a] -> [a] -> Bool; 13.16/5.20 isPrefixOf [] wu = True; 13.16/5.20 isPrefixOf wv [] = False; 13.16/5.20 isPrefixOf (x : xs) (y : ys) = x == y && isPrefixOf xs ys; 13.16/5.20 13.16/5.20 isSuffixOf :: Eq a => [a] -> [a] -> Bool; 13.16/5.20 isSuffixOf x y = reverse x `isPrefixOf` reverse y; 13.16/5.20 13.16/5.20 } 13.16/5.20 module Main where { 13.16/5.20 import qualified List; 13.16/5.20 import qualified Maybe; 13.16/5.20 import qualified Prelude; 13.16/5.20 } 13.16/5.20 13.16/5.20 ---------------------------------------- 13.16/5.20 13.16/5.20 (5) Narrow (SOUND) 13.16/5.20 Haskell To QDPs 13.16/5.20 13.16/5.20 digraph dp_graph { 13.16/5.20 node [outthreshold=100, inthreshold=100];1[label="List.isSuffixOf",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 13.16/5.20 3[label="List.isSuffixOf ww3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 13.16/5.20 4[label="List.isSuffixOf ww3 ww4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 13.16/5.20 5[label="List.isPrefixOf (reverse ww3) (reverse ww4)",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 13.16/5.20 6[label="List.isPrefixOf (foldl (flip (:)) [] ww3) (reverse ww4)",fontsize=16,color="burlywood",shape="box"];497[label="ww3/ww30 : ww31",fontsize=10,color="white",style="solid",shape="box"];6 -> 497[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 497 -> 7[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 498[label="ww3/[]",fontsize=10,color="white",style="solid",shape="box"];6 -> 498[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 498 -> 8[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 7[label="List.isPrefixOf (foldl (flip (:)) [] (ww30 : ww31)) (reverse ww4)",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 13.16/5.20 8[label="List.isPrefixOf (foldl (flip (:)) [] []) (reverse ww4)",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 13.16/5.20 9 -> 230[label="",style="dashed", color="red", weight=0]; 13.16/5.20 9[label="List.isPrefixOf (foldl (flip (:)) (flip (:) [] ww30) ww31) (reverse ww4)",fontsize=16,color="magenta"];9 -> 231[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 9 -> 232[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 9 -> 233[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 9 -> 234[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 10[label="List.isPrefixOf [] (reverse ww4)",fontsize=16,color="black",shape="box"];10 -> 13[label="",style="solid", color="black", weight=3]; 13.16/5.20 231[label="ww4",fontsize=16,color="green",shape="box"];232[label="ww30",fontsize=16,color="green",shape="box"];233[label="ww31",fontsize=16,color="green",shape="box"];234[label="[]",fontsize=16,color="green",shape="box"];230[label="List.isPrefixOf (foldl (flip (:)) (flip (:) ww14 ww15) ww16) (reverse ww17)",fontsize=16,color="burlywood",shape="triangle"];499[label="ww16/ww160 : ww161",fontsize=10,color="white",style="solid",shape="box"];230 -> 499[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 499 -> 267[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 500[label="ww16/[]",fontsize=10,color="white",style="solid",shape="box"];230 -> 500[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 500 -> 268[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 13[label="True",fontsize=16,color="green",shape="box"];267[label="List.isPrefixOf (foldl (flip (:)) (flip (:) ww14 ww15) (ww160 : ww161)) (reverse ww17)",fontsize=16,color="black",shape="box"];267 -> 269[label="",style="solid", color="black", weight=3]; 13.16/5.20 268[label="List.isPrefixOf (foldl (flip (:)) (flip (:) ww14 ww15) []) (reverse ww17)",fontsize=16,color="black",shape="box"];268 -> 270[label="",style="solid", color="black", weight=3]; 13.16/5.20 269 -> 230[label="",style="dashed", color="red", weight=0]; 13.16/5.20 269[label="List.isPrefixOf (foldl (flip (:)) (flip (:) (flip (:) ww14 ww15) ww160) ww161) (reverse ww17)",fontsize=16,color="magenta"];269 -> 271[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 269 -> 272[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 269 -> 273[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 270[label="List.isPrefixOf (flip (:) ww14 ww15) (reverse ww17)",fontsize=16,color="black",shape="box"];270 -> 274[label="",style="solid", color="black", weight=3]; 13.16/5.20 271[label="ww160",fontsize=16,color="green",shape="box"];272[label="ww161",fontsize=16,color="green",shape="box"];273[label="flip (:) ww14 ww15",fontsize=16,color="black",shape="triangle"];273 -> 275[label="",style="solid", color="black", weight=3]; 13.16/5.20 274[label="List.isPrefixOf ((:) ww15 ww14) (reverse ww17)",fontsize=16,color="black",shape="box"];274 -> 276[label="",style="solid", color="black", weight=3]; 13.16/5.20 275[label="(:) ww15 ww14",fontsize=16,color="green",shape="box"];276 -> 281[label="",style="dashed", color="red", weight=0]; 13.16/5.20 276[label="List.isPrefixOf ((:) ww15 ww14) (foldl (flip (:)) [] ww17)",fontsize=16,color="magenta"];276 -> 282[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 276 -> 283[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 282[label="ww17",fontsize=16,color="green",shape="box"];283[label="[]",fontsize=16,color="green",shape="box"];281[label="List.isPrefixOf ((:) ww15 ww14) (foldl (flip (:)) ww18 ww171)",fontsize=16,color="burlywood",shape="triangle"];501[label="ww171/ww1710 : ww1711",fontsize=10,color="white",style="solid",shape="box"];281 -> 501[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 501 -> 285[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 502[label="ww171/[]",fontsize=10,color="white",style="solid",shape="box"];281 -> 502[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 502 -> 286[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 285[label="List.isPrefixOf ((:) ww15 ww14) (foldl (flip (:)) ww18 (ww1710 : ww1711))",fontsize=16,color="black",shape="box"];285 -> 287[label="",style="solid", color="black", weight=3]; 13.16/5.20 286[label="List.isPrefixOf ((:) ww15 ww14) (foldl (flip (:)) ww18 [])",fontsize=16,color="black",shape="box"];286 -> 288[label="",style="solid", color="black", weight=3]; 13.16/5.20 287 -> 281[label="",style="dashed", color="red", weight=0]; 13.16/5.20 287[label="List.isPrefixOf ((:) ww15 ww14) (foldl (flip (:)) (flip (:) ww18 ww1710) ww1711)",fontsize=16,color="magenta"];287 -> 289[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 287 -> 290[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 288[label="List.isPrefixOf ((:) ww15 ww14) ww18",fontsize=16,color="burlywood",shape="box"];503[label="ww18/ww180 : ww181",fontsize=10,color="white",style="solid",shape="box"];288 -> 503[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 503 -> 291[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 504[label="ww18/[]",fontsize=10,color="white",style="solid",shape="box"];288 -> 504[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 504 -> 292[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 289[label="ww1711",fontsize=16,color="green",shape="box"];290 -> 273[label="",style="dashed", color="red", weight=0]; 13.16/5.20 290[label="flip (:) ww18 ww1710",fontsize=16,color="magenta"];290 -> 293[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 290 -> 294[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 291[label="List.isPrefixOf ((:) ww15 ww14) (ww180 : ww181)",fontsize=16,color="black",shape="box"];291 -> 295[label="",style="solid", color="black", weight=3]; 13.16/5.20 292[label="List.isPrefixOf ((:) ww15 ww14) []",fontsize=16,color="black",shape="box"];292 -> 296[label="",style="solid", color="black", weight=3]; 13.16/5.20 293[label="ww1710",fontsize=16,color="green",shape="box"];294[label="ww18",fontsize=16,color="green",shape="box"];295 -> 297[label="",style="dashed", color="red", weight=0]; 13.16/5.20 295[label="ww15 == ww180 && List.isPrefixOf ww14 ww181",fontsize=16,color="magenta"];295 -> 298[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 295 -> 299[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 295 -> 300[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 296[label="False",fontsize=16,color="green",shape="box"];298[label="ww181",fontsize=16,color="green",shape="box"];299[label="ww14",fontsize=16,color="green",shape="box"];300[label="ww15 == ww180",fontsize=16,color="blue",shape="box"];505[label="== :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 505[label="",style="solid", color="blue", weight=9]; 13.16/5.20 505 -> 301[label="",style="solid", color="blue", weight=3]; 13.16/5.20 506[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 506[label="",style="solid", color="blue", weight=9]; 13.16/5.20 506 -> 302[label="",style="solid", color="blue", weight=3]; 13.16/5.20 507[label="== :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 507[label="",style="solid", color="blue", weight=9]; 13.16/5.20 507 -> 303[label="",style="solid", color="blue", weight=3]; 13.16/5.20 508[label="== :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 508[label="",style="solid", color="blue", weight=9]; 13.16/5.20 508 -> 304[label="",style="solid", color="blue", weight=3]; 13.16/5.20 509[label="== :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 509[label="",style="solid", color="blue", weight=9]; 13.16/5.20 509 -> 305[label="",style="solid", color="blue", weight=3]; 13.16/5.20 510[label="== :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 510[label="",style="solid", color="blue", weight=9]; 13.16/5.20 510 -> 306[label="",style="solid", color="blue", weight=3]; 13.16/5.20 511[label="== :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 511[label="",style="solid", color="blue", weight=9]; 13.16/5.20 511 -> 307[label="",style="solid", color="blue", weight=3]; 13.16/5.20 512[label="== :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 512[label="",style="solid", color="blue", weight=9]; 13.16/5.20 512 -> 308[label="",style="solid", color="blue", weight=3]; 13.16/5.20 513[label="== :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 513[label="",style="solid", color="blue", weight=9]; 13.16/5.20 513 -> 309[label="",style="solid", color="blue", weight=3]; 13.16/5.20 514[label="== :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 514[label="",style="solid", color="blue", weight=9]; 13.16/5.20 514 -> 310[label="",style="solid", color="blue", weight=3]; 13.16/5.20 515[label="== :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 515[label="",style="solid", color="blue", weight=9]; 13.16/5.20 515 -> 311[label="",style="solid", color="blue", weight=3]; 13.16/5.20 516[label="== :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 516[label="",style="solid", color="blue", weight=9]; 13.16/5.20 516 -> 312[label="",style="solid", color="blue", weight=3]; 13.16/5.20 517[label="== :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 517[label="",style="solid", color="blue", weight=9]; 13.16/5.20 517 -> 313[label="",style="solid", color="blue", weight=3]; 13.16/5.20 518[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];300 -> 518[label="",style="solid", color="blue", weight=9]; 13.16/5.20 518 -> 314[label="",style="solid", color="blue", weight=3]; 13.16/5.20 297[label="ww23 && List.isPrefixOf ww24 ww25",fontsize=16,color="burlywood",shape="triangle"];519[label="ww23/False",fontsize=10,color="white",style="solid",shape="box"];297 -> 519[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 519 -> 315[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 520[label="ww23/True",fontsize=10,color="white",style="solid",shape="box"];297 -> 520[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 520 -> 316[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 301[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];301 -> 317[label="",style="solid", color="black", weight=3]; 13.16/5.20 302[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];302 -> 318[label="",style="solid", color="black", weight=3]; 13.16/5.20 303[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];303 -> 319[label="",style="solid", color="black", weight=3]; 13.16/5.20 304[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];304 -> 320[label="",style="solid", color="black", weight=3]; 13.16/5.20 305[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];305 -> 321[label="",style="solid", color="black", weight=3]; 13.16/5.20 306[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];306 -> 322[label="",style="solid", color="black", weight=3]; 13.16/5.20 307[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];307 -> 323[label="",style="solid", color="black", weight=3]; 13.16/5.20 308[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];308 -> 324[label="",style="solid", color="black", weight=3]; 13.16/5.20 309[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];309 -> 325[label="",style="solid", color="black", weight=3]; 13.16/5.20 310[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];310 -> 326[label="",style="solid", color="black", weight=3]; 13.16/5.20 311[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];311 -> 327[label="",style="solid", color="black", weight=3]; 13.16/5.20 312[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];312 -> 328[label="",style="solid", color="black", weight=3]; 13.16/5.20 313[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];313 -> 329[label="",style="solid", color="black", weight=3]; 13.16/5.20 314[label="ww15 == ww180",fontsize=16,color="black",shape="triangle"];314 -> 330[label="",style="solid", color="black", weight=3]; 13.16/5.20 315[label="False && List.isPrefixOf ww24 ww25",fontsize=16,color="black",shape="box"];315 -> 331[label="",style="solid", color="black", weight=3]; 13.16/5.20 316[label="True && List.isPrefixOf ww24 ww25",fontsize=16,color="black",shape="box"];316 -> 332[label="",style="solid", color="black", weight=3]; 13.16/5.20 317[label="error []",fontsize=16,color="red",shape="box"];318[label="primEqInt ww15 ww180",fontsize=16,color="burlywood",shape="box"];521[label="ww15/Pos ww150",fontsize=10,color="white",style="solid",shape="box"];318 -> 521[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 521 -> 333[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 522[label="ww15/Neg ww150",fontsize=10,color="white",style="solid",shape="box"];318 -> 522[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 522 -> 334[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 319[label="error []",fontsize=16,color="red",shape="box"];320[label="error []",fontsize=16,color="red",shape="box"];321[label="error []",fontsize=16,color="red",shape="box"];322[label="error []",fontsize=16,color="red",shape="box"];323[label="error []",fontsize=16,color="red",shape="box"];324[label="primEqFloat ww15 ww180",fontsize=16,color="burlywood",shape="box"];523[label="ww15/Float ww150 ww151",fontsize=10,color="white",style="solid",shape="box"];324 -> 523[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 523 -> 335[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 325[label="error []",fontsize=16,color="red",shape="box"];326[label="error []",fontsize=16,color="red",shape="box"];327[label="error []",fontsize=16,color="red",shape="box"];328[label="error []",fontsize=16,color="red",shape="box"];329[label="error []",fontsize=16,color="red",shape="box"];330[label="error []",fontsize=16,color="red",shape="box"];331[label="False",fontsize=16,color="green",shape="box"];332[label="List.isPrefixOf ww24 ww25",fontsize=16,color="burlywood",shape="box"];524[label="ww24/ww240 : ww241",fontsize=10,color="white",style="solid",shape="box"];332 -> 524[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 524 -> 336[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 525[label="ww24/[]",fontsize=10,color="white",style="solid",shape="box"];332 -> 525[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 525 -> 337[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 333[label="primEqInt (Pos ww150) ww180",fontsize=16,color="burlywood",shape="box"];526[label="ww150/Succ ww1500",fontsize=10,color="white",style="solid",shape="box"];333 -> 526[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 526 -> 338[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 527[label="ww150/Zero",fontsize=10,color="white",style="solid",shape="box"];333 -> 527[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 527 -> 339[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 334[label="primEqInt (Neg ww150) ww180",fontsize=16,color="burlywood",shape="box"];528[label="ww150/Succ ww1500",fontsize=10,color="white",style="solid",shape="box"];334 -> 528[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 528 -> 340[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 529[label="ww150/Zero",fontsize=10,color="white",style="solid",shape="box"];334 -> 529[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 529 -> 341[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 335[label="primEqFloat (Float ww150 ww151) ww180",fontsize=16,color="burlywood",shape="box"];530[label="ww180/Float ww1800 ww1801",fontsize=10,color="white",style="solid",shape="box"];335 -> 530[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 530 -> 342[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 336[label="List.isPrefixOf (ww240 : ww241) ww25",fontsize=16,color="burlywood",shape="box"];531[label="ww25/ww250 : ww251",fontsize=10,color="white",style="solid",shape="box"];336 -> 531[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 531 -> 343[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 532[label="ww25/[]",fontsize=10,color="white",style="solid",shape="box"];336 -> 532[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 532 -> 344[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 337[label="List.isPrefixOf [] ww25",fontsize=16,color="black",shape="box"];337 -> 345[label="",style="solid", color="black", weight=3]; 13.16/5.20 338[label="primEqInt (Pos (Succ ww1500)) ww180",fontsize=16,color="burlywood",shape="box"];533[label="ww180/Pos ww1800",fontsize=10,color="white",style="solid",shape="box"];338 -> 533[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 533 -> 346[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 534[label="ww180/Neg ww1800",fontsize=10,color="white",style="solid",shape="box"];338 -> 534[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 534 -> 347[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 339[label="primEqInt (Pos Zero) ww180",fontsize=16,color="burlywood",shape="box"];535[label="ww180/Pos ww1800",fontsize=10,color="white",style="solid",shape="box"];339 -> 535[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 535 -> 348[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 536[label="ww180/Neg ww1800",fontsize=10,color="white",style="solid",shape="box"];339 -> 536[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 536 -> 349[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 340[label="primEqInt (Neg (Succ ww1500)) ww180",fontsize=16,color="burlywood",shape="box"];537[label="ww180/Pos ww1800",fontsize=10,color="white",style="solid",shape="box"];340 -> 537[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 537 -> 350[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 538[label="ww180/Neg ww1800",fontsize=10,color="white",style="solid",shape="box"];340 -> 538[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 538 -> 351[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 341[label="primEqInt (Neg Zero) ww180",fontsize=16,color="burlywood",shape="box"];539[label="ww180/Pos ww1800",fontsize=10,color="white",style="solid",shape="box"];341 -> 539[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 539 -> 352[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 540[label="ww180/Neg ww1800",fontsize=10,color="white",style="solid",shape="box"];341 -> 540[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 540 -> 353[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 342[label="primEqFloat (Float ww150 ww151) (Float ww1800 ww1801)",fontsize=16,color="black",shape="box"];342 -> 354[label="",style="solid", color="black", weight=3]; 13.16/5.20 343[label="List.isPrefixOf (ww240 : ww241) (ww250 : ww251)",fontsize=16,color="black",shape="box"];343 -> 355[label="",style="solid", color="black", weight=3]; 13.16/5.20 344[label="List.isPrefixOf (ww240 : ww241) []",fontsize=16,color="black",shape="box"];344 -> 356[label="",style="solid", color="black", weight=3]; 13.16/5.20 345[label="True",fontsize=16,color="green",shape="box"];346[label="primEqInt (Pos (Succ ww1500)) (Pos ww1800)",fontsize=16,color="burlywood",shape="box"];541[label="ww1800/Succ ww18000",fontsize=10,color="white",style="solid",shape="box"];346 -> 541[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 541 -> 357[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 542[label="ww1800/Zero",fontsize=10,color="white",style="solid",shape="box"];346 -> 542[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 542 -> 358[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 347[label="primEqInt (Pos (Succ ww1500)) (Neg ww1800)",fontsize=16,color="black",shape="box"];347 -> 359[label="",style="solid", color="black", weight=3]; 13.16/5.20 348[label="primEqInt (Pos Zero) (Pos ww1800)",fontsize=16,color="burlywood",shape="box"];543[label="ww1800/Succ ww18000",fontsize=10,color="white",style="solid",shape="box"];348 -> 543[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 543 -> 360[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 544[label="ww1800/Zero",fontsize=10,color="white",style="solid",shape="box"];348 -> 544[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 544 -> 361[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 349[label="primEqInt (Pos Zero) (Neg ww1800)",fontsize=16,color="burlywood",shape="box"];545[label="ww1800/Succ ww18000",fontsize=10,color="white",style="solid",shape="box"];349 -> 545[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 545 -> 362[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 546[label="ww1800/Zero",fontsize=10,color="white",style="solid",shape="box"];349 -> 546[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 546 -> 363[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 350[label="primEqInt (Neg (Succ ww1500)) (Pos ww1800)",fontsize=16,color="black",shape="box"];350 -> 364[label="",style="solid", color="black", weight=3]; 13.16/5.20 351[label="primEqInt (Neg (Succ ww1500)) (Neg ww1800)",fontsize=16,color="burlywood",shape="box"];547[label="ww1800/Succ ww18000",fontsize=10,color="white",style="solid",shape="box"];351 -> 547[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 547 -> 365[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 548[label="ww1800/Zero",fontsize=10,color="white",style="solid",shape="box"];351 -> 548[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 548 -> 366[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 352[label="primEqInt (Neg Zero) (Pos ww1800)",fontsize=16,color="burlywood",shape="box"];549[label="ww1800/Succ ww18000",fontsize=10,color="white",style="solid",shape="box"];352 -> 549[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 549 -> 367[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 550[label="ww1800/Zero",fontsize=10,color="white",style="solid",shape="box"];352 -> 550[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 550 -> 368[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 353[label="primEqInt (Neg Zero) (Neg ww1800)",fontsize=16,color="burlywood",shape="box"];551[label="ww1800/Succ ww18000",fontsize=10,color="white",style="solid",shape="box"];353 -> 551[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 551 -> 369[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 552[label="ww1800/Zero",fontsize=10,color="white",style="solid",shape="box"];353 -> 552[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 552 -> 370[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 354 -> 302[label="",style="dashed", color="red", weight=0]; 13.16/5.20 354[label="ww150 * ww1801 == ww151 * ww1800",fontsize=16,color="magenta"];354 -> 371[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 354 -> 372[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 355 -> 297[label="",style="dashed", color="red", weight=0]; 13.16/5.20 355[label="ww240 == ww250 && List.isPrefixOf ww241 ww251",fontsize=16,color="magenta"];355 -> 373[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 355 -> 374[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 355 -> 375[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 356[label="False",fontsize=16,color="green",shape="box"];357[label="primEqInt (Pos (Succ ww1500)) (Pos (Succ ww18000))",fontsize=16,color="black",shape="box"];357 -> 376[label="",style="solid", color="black", weight=3]; 13.16/5.20 358[label="primEqInt (Pos (Succ ww1500)) (Pos Zero)",fontsize=16,color="black",shape="box"];358 -> 377[label="",style="solid", color="black", weight=3]; 13.16/5.20 359[label="False",fontsize=16,color="green",shape="box"];360[label="primEqInt (Pos Zero) (Pos (Succ ww18000))",fontsize=16,color="black",shape="box"];360 -> 378[label="",style="solid", color="black", weight=3]; 13.16/5.20 361[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];361 -> 379[label="",style="solid", color="black", weight=3]; 13.16/5.20 362[label="primEqInt (Pos Zero) (Neg (Succ ww18000))",fontsize=16,color="black",shape="box"];362 -> 380[label="",style="solid", color="black", weight=3]; 13.16/5.20 363[label="primEqInt (Pos Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];363 -> 381[label="",style="solid", color="black", weight=3]; 13.16/5.20 364[label="False",fontsize=16,color="green",shape="box"];365[label="primEqInt (Neg (Succ ww1500)) (Neg (Succ ww18000))",fontsize=16,color="black",shape="box"];365 -> 382[label="",style="solid", color="black", weight=3]; 13.16/5.20 366[label="primEqInt (Neg (Succ ww1500)) (Neg Zero)",fontsize=16,color="black",shape="box"];366 -> 383[label="",style="solid", color="black", weight=3]; 13.16/5.20 367[label="primEqInt (Neg Zero) (Pos (Succ ww18000))",fontsize=16,color="black",shape="box"];367 -> 384[label="",style="solid", color="black", weight=3]; 13.16/5.20 368[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];368 -> 385[label="",style="solid", color="black", weight=3]; 13.16/5.20 369[label="primEqInt (Neg Zero) (Neg (Succ ww18000))",fontsize=16,color="black",shape="box"];369 -> 386[label="",style="solid", color="black", weight=3]; 13.16/5.20 370[label="primEqInt (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];370 -> 387[label="",style="solid", color="black", weight=3]; 13.16/5.20 371[label="ww150 * ww1801",fontsize=16,color="black",shape="triangle"];371 -> 388[label="",style="solid", color="black", weight=3]; 13.16/5.20 372 -> 371[label="",style="dashed", color="red", weight=0]; 13.16/5.20 372[label="ww151 * ww1800",fontsize=16,color="magenta"];372 -> 389[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 372 -> 390[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 373[label="ww251",fontsize=16,color="green",shape="box"];374[label="ww241",fontsize=16,color="green",shape="box"];375[label="ww240 == ww250",fontsize=16,color="blue",shape="box"];553[label="== :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 553[label="",style="solid", color="blue", weight=9]; 13.16/5.20 553 -> 391[label="",style="solid", color="blue", weight=3]; 13.16/5.20 554[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 554[label="",style="solid", color="blue", weight=9]; 13.16/5.20 554 -> 392[label="",style="solid", color="blue", weight=3]; 13.16/5.20 555[label="== :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 555[label="",style="solid", color="blue", weight=9]; 13.16/5.20 555 -> 393[label="",style="solid", color="blue", weight=3]; 13.16/5.20 556[label="== :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 556[label="",style="solid", color="blue", weight=9]; 13.16/5.20 556 -> 394[label="",style="solid", color="blue", weight=3]; 13.16/5.20 557[label="== :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 557[label="",style="solid", color="blue", weight=9]; 13.16/5.20 557 -> 395[label="",style="solid", color="blue", weight=3]; 13.16/5.20 558[label="== :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 558[label="",style="solid", color="blue", weight=9]; 13.16/5.20 558 -> 396[label="",style="solid", color="blue", weight=3]; 13.16/5.20 559[label="== :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 559[label="",style="solid", color="blue", weight=9]; 13.16/5.20 559 -> 397[label="",style="solid", color="blue", weight=3]; 13.16/5.20 560[label="== :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 560[label="",style="solid", color="blue", weight=9]; 13.16/5.20 560 -> 398[label="",style="solid", color="blue", weight=3]; 13.16/5.20 561[label="== :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 561[label="",style="solid", color="blue", weight=9]; 13.16/5.20 561 -> 399[label="",style="solid", color="blue", weight=3]; 13.16/5.20 562[label="== :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 562[label="",style="solid", color="blue", weight=9]; 13.16/5.20 562 -> 400[label="",style="solid", color="blue", weight=3]; 13.16/5.20 563[label="== :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 563[label="",style="solid", color="blue", weight=9]; 13.16/5.20 563 -> 401[label="",style="solid", color="blue", weight=3]; 13.16/5.20 564[label="== :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 564[label="",style="solid", color="blue", weight=9]; 13.16/5.20 564 -> 402[label="",style="solid", color="blue", weight=3]; 13.16/5.20 565[label="== :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 565[label="",style="solid", color="blue", weight=9]; 13.16/5.20 565 -> 403[label="",style="solid", color="blue", weight=3]; 13.16/5.20 566[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];375 -> 566[label="",style="solid", color="blue", weight=9]; 13.16/5.20 566 -> 404[label="",style="solid", color="blue", weight=3]; 13.16/5.20 376[label="primEqNat ww1500 ww18000",fontsize=16,color="burlywood",shape="triangle"];567[label="ww1500/Succ ww15000",fontsize=10,color="white",style="solid",shape="box"];376 -> 567[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 567 -> 405[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 568[label="ww1500/Zero",fontsize=10,color="white",style="solid",shape="box"];376 -> 568[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 568 -> 406[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 377[label="False",fontsize=16,color="green",shape="box"];378[label="False",fontsize=16,color="green",shape="box"];379[label="True",fontsize=16,color="green",shape="box"];380[label="False",fontsize=16,color="green",shape="box"];381[label="True",fontsize=16,color="green",shape="box"];382 -> 376[label="",style="dashed", color="red", weight=0]; 13.16/5.20 382[label="primEqNat ww1500 ww18000",fontsize=16,color="magenta"];382 -> 407[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 382 -> 408[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 383[label="False",fontsize=16,color="green",shape="box"];384[label="False",fontsize=16,color="green",shape="box"];385[label="True",fontsize=16,color="green",shape="box"];386[label="False",fontsize=16,color="green",shape="box"];387[label="True",fontsize=16,color="green",shape="box"];388[label="primMulInt ww150 ww1801",fontsize=16,color="burlywood",shape="box"];569[label="ww150/Pos ww1500",fontsize=10,color="white",style="solid",shape="box"];388 -> 569[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 569 -> 409[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 570[label="ww150/Neg ww1500",fontsize=10,color="white",style="solid",shape="box"];388 -> 570[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 570 -> 410[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 389[label="ww151",fontsize=16,color="green",shape="box"];390[label="ww1800",fontsize=16,color="green",shape="box"];391 -> 301[label="",style="dashed", color="red", weight=0]; 13.16/5.20 391[label="ww240 == ww250",fontsize=16,color="magenta"];391 -> 411[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 391 -> 412[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 392 -> 302[label="",style="dashed", color="red", weight=0]; 13.16/5.20 392[label="ww240 == ww250",fontsize=16,color="magenta"];392 -> 413[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 392 -> 414[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 393 -> 303[label="",style="dashed", color="red", weight=0]; 13.16/5.20 393[label="ww240 == ww250",fontsize=16,color="magenta"];393 -> 415[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 393 -> 416[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 394 -> 304[label="",style="dashed", color="red", weight=0]; 13.16/5.20 394[label="ww240 == ww250",fontsize=16,color="magenta"];394 -> 417[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 394 -> 418[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 395 -> 305[label="",style="dashed", color="red", weight=0]; 13.16/5.20 395[label="ww240 == ww250",fontsize=16,color="magenta"];395 -> 419[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 395 -> 420[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 396 -> 306[label="",style="dashed", color="red", weight=0]; 13.16/5.20 396[label="ww240 == ww250",fontsize=16,color="magenta"];396 -> 421[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 396 -> 422[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 397 -> 307[label="",style="dashed", color="red", weight=0]; 13.16/5.20 397[label="ww240 == ww250",fontsize=16,color="magenta"];397 -> 423[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 397 -> 424[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 398 -> 308[label="",style="dashed", color="red", weight=0]; 13.16/5.20 398[label="ww240 == ww250",fontsize=16,color="magenta"];398 -> 425[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 398 -> 426[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 399 -> 309[label="",style="dashed", color="red", weight=0]; 13.16/5.20 399[label="ww240 == ww250",fontsize=16,color="magenta"];399 -> 427[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 399 -> 428[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 400 -> 310[label="",style="dashed", color="red", weight=0]; 13.16/5.20 400[label="ww240 == ww250",fontsize=16,color="magenta"];400 -> 429[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 400 -> 430[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 401 -> 311[label="",style="dashed", color="red", weight=0]; 13.16/5.20 401[label="ww240 == ww250",fontsize=16,color="magenta"];401 -> 431[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 401 -> 432[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 402 -> 312[label="",style="dashed", color="red", weight=0]; 13.16/5.20 402[label="ww240 == ww250",fontsize=16,color="magenta"];402 -> 433[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 402 -> 434[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 403 -> 313[label="",style="dashed", color="red", weight=0]; 13.16/5.20 403[label="ww240 == ww250",fontsize=16,color="magenta"];403 -> 435[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 403 -> 436[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 404 -> 314[label="",style="dashed", color="red", weight=0]; 13.16/5.20 404[label="ww240 == ww250",fontsize=16,color="magenta"];404 -> 437[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 404 -> 438[label="",style="dashed", color="magenta", weight=3]; 13.16/5.20 405[label="primEqNat (Succ ww15000) ww18000",fontsize=16,color="burlywood",shape="box"];571[label="ww18000/Succ ww180000",fontsize=10,color="white",style="solid",shape="box"];405 -> 571[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 571 -> 439[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 572[label="ww18000/Zero",fontsize=10,color="white",style="solid",shape="box"];405 -> 572[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 572 -> 440[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 406[label="primEqNat Zero ww18000",fontsize=16,color="burlywood",shape="box"];573[label="ww18000/Succ ww180000",fontsize=10,color="white",style="solid",shape="box"];406 -> 573[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 573 -> 441[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 574[label="ww18000/Zero",fontsize=10,color="white",style="solid",shape="box"];406 -> 574[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 574 -> 442[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 407[label="ww1500",fontsize=16,color="green",shape="box"];408[label="ww18000",fontsize=16,color="green",shape="box"];409[label="primMulInt (Pos ww1500) ww1801",fontsize=16,color="burlywood",shape="box"];575[label="ww1801/Pos ww18010",fontsize=10,color="white",style="solid",shape="box"];409 -> 575[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 575 -> 443[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 576[label="ww1801/Neg ww18010",fontsize=10,color="white",style="solid",shape="box"];409 -> 576[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 576 -> 444[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 410[label="primMulInt (Neg ww1500) ww1801",fontsize=16,color="burlywood",shape="box"];577[label="ww1801/Pos ww18010",fontsize=10,color="white",style="solid",shape="box"];410 -> 577[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 577 -> 445[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 578[label="ww1801/Neg ww18010",fontsize=10,color="white",style="solid",shape="box"];410 -> 578[label="",style="solid", color="burlywood", weight=9]; 13.16/5.20 578 -> 446[label="",style="solid", color="burlywood", weight=3]; 13.16/5.20 411[label="ww240",fontsize=16,color="green",shape="box"];412[label="ww250",fontsize=16,color="green",shape="box"];413[label="ww240",fontsize=16,color="green",shape="box"];414[label="ww250",fontsize=16,color="green",shape="box"];415[label="ww240",fontsize=16,color="green",shape="box"];416[label="ww250",fontsize=16,color="green",shape="box"];417[label="ww240",fontsize=16,color="green",shape="box"];418[label="ww250",fontsize=16,color="green",shape="box"];419[label="ww240",fontsize=16,color="green",shape="box"];420[label="ww250",fontsize=16,color="green",shape="box"];421[label="ww240",fontsize=16,color="green",shape="box"];422[label="ww250",fontsize=16,color="green",shape="box"];423[label="ww240",fontsize=16,color="green",shape="box"];424[label="ww250",fontsize=16,color="green",shape="box"];425[label="ww240",fontsize=16,color="green",shape="box"];426[label="ww250",fontsize=16,color="green",shape="box"];427[label="ww240",fontsize=16,color="green",shape="box"];428[label="ww250",fontsize=16,color="green",shape="box"];429[label="ww240",fontsize=16,color="green",shape="box"];430[label="ww250",fontsize=16,color="green",shape="box"];431[label="ww240",fontsize=16,color="green",shape="box"];432[label="ww250",fontsize=16,color="green",shape="box"];433[label="ww240",fontsize=16,color="green",shape="box"];434[label="ww250",fontsize=16,color="green",shape="box"];435[label="ww240",fontsize=16,color="green",shape="box"];436[label="ww250",fontsize=16,color="green",shape="box"];437[label="ww240",fontsize=16,color="green",shape="box"];438[label="ww250",fontsize=16,color="green",shape="box"];439[label="primEqNat (Succ ww15000) (Succ ww180000)",fontsize=16,color="black",shape="box"];439 -> 447[label="",style="solid", color="black", weight=3]; 13.36/5.20 440[label="primEqNat (Succ ww15000) Zero",fontsize=16,color="black",shape="box"];440 -> 448[label="",style="solid", color="black", weight=3]; 13.36/5.20 441[label="primEqNat Zero (Succ ww180000)",fontsize=16,color="black",shape="box"];441 -> 449[label="",style="solid", color="black", weight=3]; 13.36/5.20 442[label="primEqNat Zero Zero",fontsize=16,color="black",shape="box"];442 -> 450[label="",style="solid", color="black", weight=3]; 13.36/5.20 443[label="primMulInt (Pos ww1500) (Pos ww18010)",fontsize=16,color="black",shape="box"];443 -> 451[label="",style="solid", color="black", weight=3]; 13.36/5.20 444[label="primMulInt (Pos ww1500) (Neg ww18010)",fontsize=16,color="black",shape="box"];444 -> 452[label="",style="solid", color="black", weight=3]; 13.36/5.20 445[label="primMulInt (Neg ww1500) (Pos ww18010)",fontsize=16,color="black",shape="box"];445 -> 453[label="",style="solid", color="black", weight=3]; 13.36/5.20 446[label="primMulInt (Neg ww1500) (Neg ww18010)",fontsize=16,color="black",shape="box"];446 -> 454[label="",style="solid", color="black", weight=3]; 13.36/5.20 447 -> 376[label="",style="dashed", color="red", weight=0]; 13.36/5.20 447[label="primEqNat ww15000 ww180000",fontsize=16,color="magenta"];447 -> 455[label="",style="dashed", color="magenta", weight=3]; 13.36/5.20 447 -> 456[label="",style="dashed", color="magenta", weight=3]; 13.36/5.20 448[label="False",fontsize=16,color="green",shape="box"];449[label="False",fontsize=16,color="green",shape="box"];450[label="True",fontsize=16,color="green",shape="box"];451[label="Pos (primMulNat ww1500 ww18010)",fontsize=16,color="green",shape="box"];451 -> 457[label="",style="dashed", color="green", weight=3]; 13.36/5.20 452[label="Neg (primMulNat ww1500 ww18010)",fontsize=16,color="green",shape="box"];452 -> 458[label="",style="dashed", color="green", weight=3]; 13.36/5.20 453[label="Neg (primMulNat ww1500 ww18010)",fontsize=16,color="green",shape="box"];453 -> 459[label="",style="dashed", color="green", weight=3]; 13.36/5.20 454[label="Pos (primMulNat ww1500 ww18010)",fontsize=16,color="green",shape="box"];454 -> 460[label="",style="dashed", color="green", weight=3]; 13.36/5.20 455[label="ww15000",fontsize=16,color="green",shape="box"];456[label="ww180000",fontsize=16,color="green",shape="box"];457[label="primMulNat ww1500 ww18010",fontsize=16,color="burlywood",shape="triangle"];579[label="ww1500/Succ ww15000",fontsize=10,color="white",style="solid",shape="box"];457 -> 579[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 579 -> 461[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 580[label="ww1500/Zero",fontsize=10,color="white",style="solid",shape="box"];457 -> 580[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 580 -> 462[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 458 -> 457[label="",style="dashed", color="red", weight=0]; 13.36/5.20 458[label="primMulNat ww1500 ww18010",fontsize=16,color="magenta"];458 -> 463[label="",style="dashed", color="magenta", weight=3]; 13.36/5.20 459 -> 457[label="",style="dashed", color="red", weight=0]; 13.36/5.20 459[label="primMulNat ww1500 ww18010",fontsize=16,color="magenta"];459 -> 464[label="",style="dashed", color="magenta", weight=3]; 13.36/5.20 460 -> 457[label="",style="dashed", color="red", weight=0]; 13.36/5.20 460[label="primMulNat ww1500 ww18010",fontsize=16,color="magenta"];460 -> 465[label="",style="dashed", color="magenta", weight=3]; 13.36/5.20 460 -> 466[label="",style="dashed", color="magenta", weight=3]; 13.36/5.20 461[label="primMulNat (Succ ww15000) ww18010",fontsize=16,color="burlywood",shape="box"];581[label="ww18010/Succ ww180100",fontsize=10,color="white",style="solid",shape="box"];461 -> 581[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 581 -> 467[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 582[label="ww18010/Zero",fontsize=10,color="white",style="solid",shape="box"];461 -> 582[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 582 -> 468[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 462[label="primMulNat Zero ww18010",fontsize=16,color="burlywood",shape="box"];583[label="ww18010/Succ ww180100",fontsize=10,color="white",style="solid",shape="box"];462 -> 583[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 583 -> 469[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 584[label="ww18010/Zero",fontsize=10,color="white",style="solid",shape="box"];462 -> 584[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 584 -> 470[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 463[label="ww18010",fontsize=16,color="green",shape="box"];464[label="ww1500",fontsize=16,color="green",shape="box"];465[label="ww1500",fontsize=16,color="green",shape="box"];466[label="ww18010",fontsize=16,color="green",shape="box"];467[label="primMulNat (Succ ww15000) (Succ ww180100)",fontsize=16,color="black",shape="box"];467 -> 471[label="",style="solid", color="black", weight=3]; 13.36/5.20 468[label="primMulNat (Succ ww15000) Zero",fontsize=16,color="black",shape="box"];468 -> 472[label="",style="solid", color="black", weight=3]; 13.36/5.20 469[label="primMulNat Zero (Succ ww180100)",fontsize=16,color="black",shape="box"];469 -> 473[label="",style="solid", color="black", weight=3]; 13.36/5.20 470[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];470 -> 474[label="",style="solid", color="black", weight=3]; 13.36/5.20 471 -> 475[label="",style="dashed", color="red", weight=0]; 13.36/5.20 471[label="primPlusNat (primMulNat ww15000 (Succ ww180100)) (Succ ww180100)",fontsize=16,color="magenta"];471 -> 476[label="",style="dashed", color="magenta", weight=3]; 13.36/5.20 472[label="Zero",fontsize=16,color="green",shape="box"];473[label="Zero",fontsize=16,color="green",shape="box"];474[label="Zero",fontsize=16,color="green",shape="box"];476 -> 457[label="",style="dashed", color="red", weight=0]; 13.36/5.20 476[label="primMulNat ww15000 (Succ ww180100)",fontsize=16,color="magenta"];476 -> 477[label="",style="dashed", color="magenta", weight=3]; 13.36/5.20 476 -> 478[label="",style="dashed", color="magenta", weight=3]; 13.36/5.20 475[label="primPlusNat ww26 (Succ ww180100)",fontsize=16,color="burlywood",shape="triangle"];585[label="ww26/Succ ww260",fontsize=10,color="white",style="solid",shape="box"];475 -> 585[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 585 -> 479[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 586[label="ww26/Zero",fontsize=10,color="white",style="solid",shape="box"];475 -> 586[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 586 -> 480[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 477[label="ww15000",fontsize=16,color="green",shape="box"];478[label="Succ ww180100",fontsize=16,color="green",shape="box"];479[label="primPlusNat (Succ ww260) (Succ ww180100)",fontsize=16,color="black",shape="box"];479 -> 481[label="",style="solid", color="black", weight=3]; 13.36/5.20 480[label="primPlusNat Zero (Succ ww180100)",fontsize=16,color="black",shape="box"];480 -> 482[label="",style="solid", color="black", weight=3]; 13.36/5.20 481[label="Succ (Succ (primPlusNat ww260 ww180100))",fontsize=16,color="green",shape="box"];481 -> 483[label="",style="dashed", color="green", weight=3]; 13.36/5.20 482[label="Succ ww180100",fontsize=16,color="green",shape="box"];483[label="primPlusNat ww260 ww180100",fontsize=16,color="burlywood",shape="triangle"];587[label="ww260/Succ ww2600",fontsize=10,color="white",style="solid",shape="box"];483 -> 587[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 587 -> 484[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 588[label="ww260/Zero",fontsize=10,color="white",style="solid",shape="box"];483 -> 588[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 588 -> 485[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 484[label="primPlusNat (Succ ww2600) ww180100",fontsize=16,color="burlywood",shape="box"];589[label="ww180100/Succ ww1801000",fontsize=10,color="white",style="solid",shape="box"];484 -> 589[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 589 -> 486[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 590[label="ww180100/Zero",fontsize=10,color="white",style="solid",shape="box"];484 -> 590[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 590 -> 487[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 485[label="primPlusNat Zero ww180100",fontsize=16,color="burlywood",shape="box"];591[label="ww180100/Succ ww1801000",fontsize=10,color="white",style="solid",shape="box"];485 -> 591[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 591 -> 488[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 592[label="ww180100/Zero",fontsize=10,color="white",style="solid",shape="box"];485 -> 592[label="",style="solid", color="burlywood", weight=9]; 13.36/5.20 592 -> 489[label="",style="solid", color="burlywood", weight=3]; 13.36/5.20 486[label="primPlusNat (Succ ww2600) (Succ ww1801000)",fontsize=16,color="black",shape="box"];486 -> 490[label="",style="solid", color="black", weight=3]; 13.36/5.20 487[label="primPlusNat (Succ ww2600) Zero",fontsize=16,color="black",shape="box"];487 -> 491[label="",style="solid", color="black", weight=3]; 13.36/5.20 488[label="primPlusNat Zero (Succ ww1801000)",fontsize=16,color="black",shape="box"];488 -> 492[label="",style="solid", color="black", weight=3]; 13.36/5.20 489[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];489 -> 493[label="",style="solid", color="black", weight=3]; 13.36/5.20 490[label="Succ (Succ (primPlusNat ww2600 ww1801000))",fontsize=16,color="green",shape="box"];490 -> 494[label="",style="dashed", color="green", weight=3]; 13.36/5.20 491[label="Succ ww2600",fontsize=16,color="green",shape="box"];492[label="Succ ww1801000",fontsize=16,color="green",shape="box"];493[label="Zero",fontsize=16,color="green",shape="box"];494 -> 483[label="",style="dashed", color="red", weight=0]; 13.36/5.20 494[label="primPlusNat ww2600 ww1801000",fontsize=16,color="magenta"];494 -> 495[label="",style="dashed", color="magenta", weight=3]; 13.36/5.20 494 -> 496[label="",style="dashed", color="magenta", weight=3]; 13.36/5.20 495[label="ww2600",fontsize=16,color="green",shape="box"];496[label="ww1801000",fontsize=16,color="green",shape="box"];} 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (6) 13.36/5.20 Complex Obligation (AND) 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (7) 13.36/5.20 Obligation: 13.36/5.20 Q DP problem: 13.36/5.20 The TRS P consists of the following rules: 13.36/5.20 13.36/5.20 new_isPrefixOf(ww15, ww14, ww18, :(ww1710, ww1711), ba) -> new_isPrefixOf(ww15, ww14, new_flip(ww18, ww1710, ba), ww1711, ba) 13.36/5.20 13.36/5.20 The TRS R consists of the following rules: 13.36/5.20 13.36/5.20 new_flip(ww14, ww15, ba) -> :(ww15, ww14) 13.36/5.20 13.36/5.20 The set Q consists of the following terms: 13.36/5.20 13.36/5.20 new_flip(x0, x1, x2) 13.36/5.20 13.36/5.20 We have to consider all minimal (P,Q,R)-chains. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (8) TransformationProof (EQUIVALENT) 13.36/5.20 By rewriting [LPAR04] the rule new_isPrefixOf(ww15, ww14, ww18, :(ww1710, ww1711), ba) -> new_isPrefixOf(ww15, ww14, new_flip(ww18, ww1710, ba), ww1711, ba) at position [2] we obtained the following new rules [LPAR04]: 13.36/5.20 13.36/5.20 (new_isPrefixOf(ww15, ww14, ww18, :(ww1710, ww1711), ba) -> new_isPrefixOf(ww15, ww14, :(ww1710, ww18), ww1711, ba),new_isPrefixOf(ww15, ww14, ww18, :(ww1710, ww1711), ba) -> new_isPrefixOf(ww15, ww14, :(ww1710, ww18), ww1711, ba)) 13.36/5.20 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (9) 13.36/5.20 Obligation: 13.36/5.20 Q DP problem: 13.36/5.20 The TRS P consists of the following rules: 13.36/5.20 13.36/5.20 new_isPrefixOf(ww15, ww14, ww18, :(ww1710, ww1711), ba) -> new_isPrefixOf(ww15, ww14, :(ww1710, ww18), ww1711, ba) 13.36/5.20 13.36/5.20 The TRS R consists of the following rules: 13.36/5.20 13.36/5.20 new_flip(ww14, ww15, ba) -> :(ww15, ww14) 13.36/5.20 13.36/5.20 The set Q consists of the following terms: 13.36/5.20 13.36/5.20 new_flip(x0, x1, x2) 13.36/5.20 13.36/5.20 We have to consider all minimal (P,Q,R)-chains. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (10) UsableRulesProof (EQUIVALENT) 13.36/5.20 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (11) 13.36/5.20 Obligation: 13.36/5.20 Q DP problem: 13.36/5.20 The TRS P consists of the following rules: 13.36/5.20 13.36/5.20 new_isPrefixOf(ww15, ww14, ww18, :(ww1710, ww1711), ba) -> new_isPrefixOf(ww15, ww14, :(ww1710, ww18), ww1711, ba) 13.36/5.20 13.36/5.20 R is empty. 13.36/5.20 The set Q consists of the following terms: 13.36/5.20 13.36/5.20 new_flip(x0, x1, x2) 13.36/5.20 13.36/5.20 We have to consider all minimal (P,Q,R)-chains. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (12) QReductionProof (EQUIVALENT) 13.36/5.20 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 13.36/5.20 13.36/5.20 new_flip(x0, x1, x2) 13.36/5.20 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (13) 13.36/5.20 Obligation: 13.36/5.20 Q DP problem: 13.36/5.20 The TRS P consists of the following rules: 13.36/5.20 13.36/5.20 new_isPrefixOf(ww15, ww14, ww18, :(ww1710, ww1711), ba) -> new_isPrefixOf(ww15, ww14, :(ww1710, ww18), ww1711, ba) 13.36/5.20 13.36/5.20 R is empty. 13.36/5.20 Q is empty. 13.36/5.20 We have to consider all minimal (P,Q,R)-chains. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (14) QDPSizeChangeProof (EQUIVALENT) 13.36/5.20 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.36/5.20 13.36/5.20 From the DPs we obtained the following set of size-change graphs: 13.36/5.20 *new_isPrefixOf(ww15, ww14, ww18, :(ww1710, ww1711), ba) -> new_isPrefixOf(ww15, ww14, :(ww1710, ww18), ww1711, ba) 13.36/5.20 The graph contains the following edges 1 >= 1, 2 >= 2, 4 > 4, 5 >= 5 13.36/5.20 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (15) 13.36/5.20 YES 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (16) 13.36/5.20 Obligation: 13.36/5.20 Q DP problem: 13.36/5.20 The TRS P consists of the following rules: 13.36/5.20 13.36/5.20 new_primMulNat(Succ(ww15000), Succ(ww180100)) -> new_primMulNat(ww15000, Succ(ww180100)) 13.36/5.20 13.36/5.20 R is empty. 13.36/5.20 Q is empty. 13.36/5.20 We have to consider all minimal (P,Q,R)-chains. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (17) QDPSizeChangeProof (EQUIVALENT) 13.36/5.20 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.36/5.20 13.36/5.20 From the DPs we obtained the following set of size-change graphs: 13.36/5.20 *new_primMulNat(Succ(ww15000), Succ(ww180100)) -> new_primMulNat(ww15000, Succ(ww180100)) 13.36/5.20 The graph contains the following edges 1 > 1, 2 >= 2 13.36/5.20 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (18) 13.36/5.20 YES 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (19) 13.36/5.20 Obligation: 13.36/5.20 Q DP problem: 13.36/5.20 The TRS P consists of the following rules: 13.36/5.20 13.36/5.20 new_asAs(True, :(ww240, ww241), :(ww250, ww251), ba) -> new_asAs(new_esEs(ww240, ww250, ba), ww241, ww251, ba) 13.36/5.20 13.36/5.20 The TRS R consists of the following rules: 13.36/5.20 13.36/5.20 new_esEs(ww240, ww250, app(ty_Ratio, db)) -> new_esEs3(ww240, ww250, db) 13.36/5.20 new_primPlusNat0(Succ(ww2600), Zero) -> Succ(ww2600) 13.36/5.20 new_primPlusNat0(Zero, Succ(ww1801000)) -> Succ(ww1801000) 13.36/5.20 new_esEs7(ww15, ww180, be, bf) -> error([]) 13.36/5.20 new_primMulNat0(Zero, Zero) -> Zero 13.36/5.20 new_primPlusNat0(Zero, Zero) -> Zero 13.36/5.20 new_esEs13(ww15, ww180) -> error([]) 13.36/5.20 new_esEs1(ww15, ww180) -> error([]) 13.36/5.20 new_primPlusNat1(Zero, ww180100) -> Succ(ww180100) 13.36/5.20 new_esEs6(Pos(Zero), Neg(Succ(ww18000))) -> False 13.36/5.20 new_esEs6(Neg(Zero), Pos(Succ(ww18000))) -> False 13.36/5.20 new_esEs6(Neg(Zero), Neg(Zero)) -> True 13.36/5.20 new_esEs10(ww15, ww180, bg, bh) -> error([]) 13.36/5.20 new_esEs9(ww15, ww180) -> error([]) 13.36/5.20 new_sr(Neg(ww1500), Neg(ww18010)) -> Pos(new_primMulNat0(ww1500, ww18010)) 13.36/5.20 new_esEs6(Pos(Succ(ww1500)), Neg(ww1800)) -> False 13.36/5.20 new_esEs6(Neg(Succ(ww1500)), Pos(ww1800)) -> False 13.36/5.20 new_esEs12(ww15, ww180) -> error([]) 13.36/5.20 new_esEs0(ww15, ww180, bb) -> error([]) 13.36/5.20 new_esEs(ww240, ww250, ty_@0) -> new_esEs8(ww240, ww250) 13.36/5.20 new_esEs(ww240, ww250, ty_Double) -> new_esEs12(ww240, ww250) 13.36/5.20 new_primEqNat0(Succ(ww15000), Zero) -> False 13.36/5.20 new_primEqNat0(Zero, Succ(ww180000)) -> False 13.36/5.20 new_esEs11(ww15, ww180, ca, cb, cc) -> error([]) 13.36/5.20 new_esEs(ww240, ww250, app(app(ty_Either, cd), ce)) -> new_esEs10(ww240, ww250, cd, ce) 13.36/5.20 new_esEs(ww240, ww250, ty_Float) -> new_esEs5(ww240, ww250) 13.36/5.20 new_esEs(ww240, ww250, app(app(ty_@2, dc), dd)) -> new_esEs7(ww240, ww250, dc, dd) 13.36/5.20 new_esEs3(ww15, ww180, bc) -> error([]) 13.36/5.20 new_primPlusNat0(Succ(ww2600), Succ(ww1801000)) -> Succ(Succ(new_primPlusNat0(ww2600, ww1801000))) 13.36/5.20 new_esEs8(ww15, ww180) -> error([]) 13.36/5.20 new_esEs(ww240, ww250, ty_Bool) -> new_esEs13(ww240, ww250) 13.36/5.20 new_primMulNat0(Succ(ww15000), Succ(ww180100)) -> new_primPlusNat1(new_primMulNat0(ww15000, Succ(ww180100)), ww180100) 13.36/5.20 new_primEqNat0(Zero, Zero) -> True 13.36/5.20 new_esEs6(Pos(Succ(ww1500)), Pos(Succ(ww18000))) -> new_primEqNat0(ww1500, ww18000) 13.36/5.20 new_esEs(ww240, ww250, ty_Ordering) -> new_esEs2(ww240, ww250) 13.36/5.20 new_esEs(ww240, ww250, ty_Integer) -> new_esEs9(ww240, ww250) 13.36/5.20 new_esEs6(Pos(Zero), Neg(Zero)) -> True 13.36/5.20 new_esEs6(Neg(Zero), Pos(Zero)) -> True 13.36/5.20 new_esEs4(ww15, ww180, bd) -> error([]) 13.36/5.20 new_esEs6(Neg(Succ(ww1500)), Neg(Zero)) -> False 13.36/5.20 new_esEs6(Neg(Zero), Neg(Succ(ww18000))) -> False 13.36/5.20 new_esEs(ww240, ww250, ty_Int) -> new_esEs6(ww240, ww250) 13.36/5.20 new_esEs6(Neg(Succ(ww1500)), Neg(Succ(ww18000))) -> new_primEqNat0(ww1500, ww18000) 13.36/5.20 new_esEs(ww240, ww250, app(app(app(ty_@3, cf), cg), da)) -> new_esEs11(ww240, ww250, cf, cg, da) 13.36/5.20 new_sr(Pos(ww1500), Neg(ww18010)) -> Neg(new_primMulNat0(ww1500, ww18010)) 13.36/5.20 new_sr(Neg(ww1500), Pos(ww18010)) -> Neg(new_primMulNat0(ww1500, ww18010)) 13.36/5.20 new_esEs2(ww15, ww180) -> error([]) 13.36/5.20 new_esEs5(Float(ww150, ww151), Float(ww1800, ww1801)) -> new_esEs6(new_sr(ww150, ww1801), new_sr(ww151, ww1800)) 13.36/5.20 new_primMulNat0(Succ(ww15000), Zero) -> Zero 13.36/5.20 new_primMulNat0(Zero, Succ(ww180100)) -> Zero 13.36/5.20 new_primEqNat0(Succ(ww15000), Succ(ww180000)) -> new_primEqNat0(ww15000, ww180000) 13.36/5.20 new_sr(Pos(ww1500), Pos(ww18010)) -> Pos(new_primMulNat0(ww1500, ww18010)) 13.36/5.20 new_esEs(ww240, ww250, ty_Char) -> new_esEs1(ww240, ww250) 13.36/5.20 new_esEs6(Pos(Succ(ww1500)), Pos(Zero)) -> False 13.36/5.20 new_esEs6(Pos(Zero), Pos(Succ(ww18000))) -> False 13.36/5.20 new_esEs(ww240, ww250, app(ty_Maybe, df)) -> new_esEs4(ww240, ww250, df) 13.36/5.20 new_esEs6(Pos(Zero), Pos(Zero)) -> True 13.36/5.20 new_esEs(ww240, ww250, app(ty_[], de)) -> new_esEs0(ww240, ww250, de) 13.36/5.20 new_primPlusNat1(Succ(ww260), ww180100) -> Succ(Succ(new_primPlusNat0(ww260, ww180100))) 13.36/5.20 13.36/5.20 The set Q consists of the following terms: 13.36/5.20 13.36/5.20 new_primMulNat0(Succ(x0), Zero) 13.36/5.20 new_primEqNat0(Zero, Zero) 13.36/5.20 new_esEs6(Pos(Zero), Pos(Zero)) 13.36/5.20 new_sr(Neg(x0), Neg(x1)) 13.36/5.20 new_esEs(x0, x1, ty_Integer) 13.36/5.20 new_esEs(x0, x1, app(app(ty_Either, x2), x3)) 13.36/5.20 new_esEs6(Pos(Zero), Neg(Zero)) 13.36/5.20 new_esEs6(Neg(Zero), Pos(Zero)) 13.36/5.20 new_esEs(x0, x1, app(ty_Maybe, x2)) 13.36/5.20 new_esEs(x0, x1, ty_@0) 13.36/5.20 new_esEs(x0, x1, ty_Int) 13.36/5.20 new_esEs2(x0, x1) 13.36/5.20 new_esEs6(Pos(Succ(x0)), Pos(Succ(x1))) 13.36/5.20 new_esEs(x0, x1, app(ty_[], x2)) 13.36/5.20 new_primMulNat0(Zero, Zero) 13.36/5.20 new_esEs6(Neg(Succ(x0)), Neg(Succ(x1))) 13.36/5.20 new_primPlusNat0(Succ(x0), Succ(x1)) 13.36/5.20 new_primMulNat0(Succ(x0), Succ(x1)) 13.36/5.20 new_esEs1(x0, x1) 13.36/5.20 new_esEs12(x0, x1) 13.36/5.20 new_esEs(x0, x1, ty_Float) 13.36/5.20 new_esEs3(x0, x1, x2) 13.36/5.20 new_esEs9(x0, x1) 13.36/5.20 new_esEs(x0, x1, ty_Bool) 13.36/5.20 new_esEs(x0, x1, app(ty_Ratio, x2)) 13.36/5.20 new_primPlusNat0(Succ(x0), Zero) 13.36/5.20 new_esEs(x0, x1, app(app(ty_@2, x2), x3)) 13.36/5.20 new_primEqNat0(Succ(x0), Zero) 13.36/5.20 new_esEs11(x0, x1, x2, x3, x4) 13.36/5.20 new_esEs6(Pos(Zero), Pos(Succ(x0))) 13.36/5.20 new_esEs8(x0, x1) 13.36/5.20 new_esEs6(Pos(Succ(x0)), Pos(Zero)) 13.36/5.20 new_esEs(x0, x1, ty_Ordering) 13.36/5.20 new_primMulNat0(Zero, Succ(x0)) 13.36/5.20 new_primPlusNat1(Zero, x0) 13.36/5.20 new_primEqNat0(Succ(x0), Succ(x1)) 13.36/5.20 new_esEs6(Pos(Zero), Neg(Succ(x0))) 13.36/5.20 new_esEs6(Neg(Zero), Pos(Succ(x0))) 13.36/5.20 new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 13.36/5.20 new_esEs4(x0, x1, x2) 13.36/5.20 new_esEs6(Neg(Succ(x0)), Neg(Zero)) 13.36/5.20 new_esEs7(x0, x1, x2, x3) 13.36/5.20 new_esEs5(Float(x0, x1), Float(x2, x3)) 13.36/5.20 new_primEqNat0(Zero, Succ(x0)) 13.36/5.20 new_primPlusNat1(Succ(x0), x1) 13.36/5.20 new_esEs6(Neg(Zero), Neg(Zero)) 13.36/5.20 new_esEs(x0, x1, ty_Double) 13.36/5.20 new_esEs10(x0, x1, x2, x3) 13.36/5.20 new_sr(Pos(x0), Pos(x1)) 13.36/5.20 new_primPlusNat0(Zero, Succ(x0)) 13.36/5.20 new_esEs0(x0, x1, x2) 13.36/5.20 new_sr(Pos(x0), Neg(x1)) 13.36/5.20 new_sr(Neg(x0), Pos(x1)) 13.36/5.20 new_esEs(x0, x1, ty_Char) 13.36/5.20 new_esEs13(x0, x1) 13.36/5.20 new_esEs6(Neg(Zero), Neg(Succ(x0))) 13.36/5.20 new_primPlusNat0(Zero, Zero) 13.36/5.20 new_esEs6(Pos(Succ(x0)), Neg(x1)) 13.36/5.20 new_esEs6(Neg(Succ(x0)), Pos(x1)) 13.36/5.20 13.36/5.20 We have to consider all minimal (P,Q,R)-chains. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (20) QDPSizeChangeProof (EQUIVALENT) 13.36/5.20 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.36/5.20 13.36/5.20 From the DPs we obtained the following set of size-change graphs: 13.36/5.20 *new_asAs(True, :(ww240, ww241), :(ww250, ww251), ba) -> new_asAs(new_esEs(ww240, ww250, ba), ww241, ww251, ba) 13.36/5.20 The graph contains the following edges 2 > 2, 3 > 3, 4 >= 4 13.36/5.20 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (21) 13.36/5.20 YES 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (22) 13.36/5.20 Obligation: 13.36/5.20 Q DP problem: 13.36/5.20 The TRS P consists of the following rules: 13.36/5.20 13.36/5.20 new_primPlusNat(Succ(ww2600), Succ(ww1801000)) -> new_primPlusNat(ww2600, ww1801000) 13.36/5.20 13.36/5.20 R is empty. 13.36/5.20 Q is empty. 13.36/5.20 We have to consider all minimal (P,Q,R)-chains. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (23) QDPSizeChangeProof (EQUIVALENT) 13.36/5.20 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.36/5.20 13.36/5.20 From the DPs we obtained the following set of size-change graphs: 13.36/5.20 *new_primPlusNat(Succ(ww2600), Succ(ww1801000)) -> new_primPlusNat(ww2600, ww1801000) 13.36/5.20 The graph contains the following edges 1 > 1, 2 > 2 13.36/5.20 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (24) 13.36/5.20 YES 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (25) 13.36/5.20 Obligation: 13.36/5.20 Q DP problem: 13.36/5.20 The TRS P consists of the following rules: 13.36/5.20 13.36/5.20 new_primEqNat(Succ(ww15000), Succ(ww180000)) -> new_primEqNat(ww15000, ww180000) 13.36/5.20 13.36/5.20 R is empty. 13.36/5.20 Q is empty. 13.36/5.20 We have to consider all minimal (P,Q,R)-chains. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (26) QDPSizeChangeProof (EQUIVALENT) 13.36/5.20 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.36/5.20 13.36/5.20 From the DPs we obtained the following set of size-change graphs: 13.36/5.20 *new_primEqNat(Succ(ww15000), Succ(ww180000)) -> new_primEqNat(ww15000, ww180000) 13.36/5.20 The graph contains the following edges 1 > 1, 2 > 2 13.36/5.20 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (27) 13.36/5.20 YES 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (28) 13.36/5.20 Obligation: 13.36/5.20 Q DP problem: 13.36/5.20 The TRS P consists of the following rules: 13.36/5.20 13.36/5.20 new_isPrefixOf0(ww14, ww15, :(ww160, ww161), ww17, ba) -> new_isPrefixOf0(new_flip(ww14, ww15, ba), ww160, ww161, ww17, ba) 13.36/5.20 13.36/5.20 The TRS R consists of the following rules: 13.36/5.20 13.36/5.20 new_flip(ww14, ww15, ba) -> :(ww15, ww14) 13.36/5.20 13.36/5.20 The set Q consists of the following terms: 13.36/5.20 13.36/5.20 new_flip(x0, x1, x2) 13.36/5.20 13.36/5.20 We have to consider all minimal (P,Q,R)-chains. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (29) TransformationProof (EQUIVALENT) 13.36/5.20 By rewriting [LPAR04] the rule new_isPrefixOf0(ww14, ww15, :(ww160, ww161), ww17, ba) -> new_isPrefixOf0(new_flip(ww14, ww15, ba), ww160, ww161, ww17, ba) at position [0] we obtained the following new rules [LPAR04]: 13.36/5.20 13.36/5.20 (new_isPrefixOf0(ww14, ww15, :(ww160, ww161), ww17, ba) -> new_isPrefixOf0(:(ww15, ww14), ww160, ww161, ww17, ba),new_isPrefixOf0(ww14, ww15, :(ww160, ww161), ww17, ba) -> new_isPrefixOf0(:(ww15, ww14), ww160, ww161, ww17, ba)) 13.36/5.20 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (30) 13.36/5.20 Obligation: 13.36/5.20 Q DP problem: 13.36/5.20 The TRS P consists of the following rules: 13.36/5.20 13.36/5.20 new_isPrefixOf0(ww14, ww15, :(ww160, ww161), ww17, ba) -> new_isPrefixOf0(:(ww15, ww14), ww160, ww161, ww17, ba) 13.36/5.20 13.36/5.20 The TRS R consists of the following rules: 13.36/5.20 13.36/5.20 new_flip(ww14, ww15, ba) -> :(ww15, ww14) 13.36/5.20 13.36/5.20 The set Q consists of the following terms: 13.36/5.20 13.36/5.20 new_flip(x0, x1, x2) 13.36/5.20 13.36/5.20 We have to consider all minimal (P,Q,R)-chains. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (31) UsableRulesProof (EQUIVALENT) 13.36/5.20 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (32) 13.36/5.20 Obligation: 13.36/5.20 Q DP problem: 13.36/5.20 The TRS P consists of the following rules: 13.36/5.20 13.36/5.20 new_isPrefixOf0(ww14, ww15, :(ww160, ww161), ww17, ba) -> new_isPrefixOf0(:(ww15, ww14), ww160, ww161, ww17, ba) 13.36/5.20 13.36/5.20 R is empty. 13.36/5.20 The set Q consists of the following terms: 13.36/5.20 13.36/5.20 new_flip(x0, x1, x2) 13.36/5.20 13.36/5.20 We have to consider all minimal (P,Q,R)-chains. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (33) QReductionProof (EQUIVALENT) 13.36/5.20 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 13.36/5.20 13.36/5.20 new_flip(x0, x1, x2) 13.36/5.20 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (34) 13.36/5.20 Obligation: 13.36/5.20 Q DP problem: 13.36/5.20 The TRS P consists of the following rules: 13.36/5.20 13.36/5.20 new_isPrefixOf0(ww14, ww15, :(ww160, ww161), ww17, ba) -> new_isPrefixOf0(:(ww15, ww14), ww160, ww161, ww17, ba) 13.36/5.20 13.36/5.20 R is empty. 13.36/5.20 Q is empty. 13.36/5.20 We have to consider all minimal (P,Q,R)-chains. 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (35) QDPSizeChangeProof (EQUIVALENT) 13.36/5.20 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.36/5.20 13.36/5.20 From the DPs we obtained the following set of size-change graphs: 13.36/5.20 *new_isPrefixOf0(ww14, ww15, :(ww160, ww161), ww17, ba) -> new_isPrefixOf0(:(ww15, ww14), ww160, ww161, ww17, ba) 13.36/5.20 The graph contains the following edges 3 > 2, 3 > 3, 4 >= 4, 5 >= 5 13.36/5.20 13.36/5.20 13.36/5.20 ---------------------------------------- 13.36/5.20 13.36/5.20 (36) 13.36/5.20 YES 13.36/5.23 EOF