11.82/4.68 YES 13.37/5.19 proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs 13.37/5.19 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 13.37/5.19 13.37/5.19 13.37/5.19 H-Termination with start terms of the given HASKELL could be proven: 13.37/5.19 13.37/5.19 (0) HASKELL 13.37/5.19 (1) BR [EQUIVALENT, 0 ms] 13.37/5.19 (2) HASKELL 13.37/5.19 (3) COR [EQUIVALENT, 0 ms] 13.37/5.19 (4) HASKELL 13.37/5.19 (5) Narrow [SOUND, 0 ms] 13.37/5.19 (6) AND 13.37/5.19 (7) QDP 13.37/5.19 (8) TransformationProof [EQUIVALENT, 0 ms] 13.37/5.19 (9) QDP 13.37/5.19 (10) UsableRulesProof [EQUIVALENT, 0 ms] 13.37/5.19 (11) QDP 13.37/5.19 (12) QReductionProof [EQUIVALENT, 0 ms] 13.37/5.19 (13) QDP 13.37/5.19 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.37/5.19 (15) YES 13.37/5.19 (16) QDP 13.37/5.19 (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.37/5.19 (18) YES 13.37/5.19 (19) QDP 13.37/5.19 (20) TransformationProof [EQUIVALENT, 0 ms] 13.37/5.19 (21) QDP 13.37/5.19 (22) DependencyGraphProof [EQUIVALENT, 0 ms] 13.37/5.19 (23) TRUE 13.37/5.19 (24) QDP 13.37/5.19 (25) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.37/5.19 (26) YES 13.37/5.19 (27) QDP 13.37/5.19 (28) TransformationProof [EQUIVALENT, 0 ms] 13.37/5.19 (29) QDP 13.37/5.19 (30) UsableRulesProof [EQUIVALENT, 0 ms] 13.37/5.19 (31) QDP 13.37/5.19 (32) QReductionProof [EQUIVALENT, 0 ms] 13.37/5.19 (33) QDP 13.37/5.19 (34) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.37/5.19 (35) YES 13.37/5.19 13.37/5.19 13.37/5.19 ---------------------------------------- 13.37/5.19 13.37/5.19 (0) 13.37/5.19 Obligation: 13.37/5.19 mainModule Main 13.37/5.19 module Maybe where { 13.37/5.19 import qualified List; 13.37/5.19 import qualified Main; 13.37/5.19 import qualified Prelude; 13.37/5.19 } 13.37/5.19 module List where { 13.37/5.19 import qualified Main; 13.37/5.19 import qualified Maybe; 13.37/5.19 import qualified Prelude; 13.37/5.19 isPrefixOf :: Eq a => [a] -> [a] -> Bool; 13.37/5.19 isPrefixOf [] _ = True; 13.37/5.19 isPrefixOf _ [] = False; 13.37/5.19 isPrefixOf (x : xs) (y : ys) = x == y && isPrefixOf xs ys; 13.37/5.19 13.37/5.19 isSuffixOf :: Eq a => [a] -> [a] -> Bool; 13.37/5.19 isSuffixOf x y = reverse x `isPrefixOf` reverse y; 13.37/5.19 13.37/5.19 } 13.37/5.19 module Main where { 13.37/5.19 import qualified List; 13.37/5.19 import qualified Maybe; 13.37/5.19 import qualified Prelude; 13.37/5.19 } 13.37/5.19 13.37/5.19 ---------------------------------------- 13.37/5.19 13.37/5.19 (1) BR (EQUIVALENT) 13.37/5.19 Replaced joker patterns by fresh variables and removed binding patterns. 13.37/5.19 ---------------------------------------- 13.37/5.19 13.37/5.19 (2) 13.37/5.19 Obligation: 13.37/5.19 mainModule Main 13.37/5.19 module Maybe where { 13.37/5.19 import qualified List; 13.37/5.19 import qualified Main; 13.37/5.19 import qualified Prelude; 13.37/5.19 } 13.37/5.19 module List where { 13.37/5.19 import qualified Main; 13.37/5.19 import qualified Maybe; 13.37/5.19 import qualified Prelude; 13.37/5.19 isPrefixOf :: Eq a => [a] -> [a] -> Bool; 13.37/5.19 isPrefixOf [] wu = True; 13.37/5.19 isPrefixOf wv [] = False; 13.37/5.19 isPrefixOf (x : xs) (y : ys) = x == y && isPrefixOf xs ys; 13.37/5.19 13.37/5.19 isSuffixOf :: Eq a => [a] -> [a] -> Bool; 13.37/5.19 isSuffixOf x y = reverse x `isPrefixOf` reverse y; 13.37/5.19 13.37/5.19 } 13.37/5.19 module Main where { 13.37/5.19 import qualified List; 13.37/5.19 import qualified Maybe; 13.37/5.19 import qualified Prelude; 13.37/5.19 } 13.37/5.19 13.37/5.19 ---------------------------------------- 13.37/5.19 13.37/5.19 (3) COR (EQUIVALENT) 13.37/5.19 Cond Reductions: 13.37/5.19 The following Function with conditions 13.37/5.19 "undefined |Falseundefined; 13.37/5.19 " 13.37/5.19 is transformed to 13.37/5.19 "undefined = undefined1; 13.37/5.19 " 13.37/5.19 "undefined0 True = undefined; 13.37/5.19 " 13.37/5.19 "undefined1 = undefined0 False; 13.37/5.19 " 13.37/5.19 13.37/5.19 ---------------------------------------- 13.37/5.19 13.37/5.19 (4) 13.37/5.19 Obligation: 13.37/5.19 mainModule Main 13.37/5.19 module Maybe where { 13.37/5.19 import qualified List; 13.37/5.19 import qualified Main; 13.37/5.19 import qualified Prelude; 13.37/5.19 } 13.37/5.19 module List where { 13.37/5.19 import qualified Main; 13.37/5.19 import qualified Maybe; 13.37/5.19 import qualified Prelude; 13.37/5.19 isPrefixOf :: Eq a => [a] -> [a] -> Bool; 13.37/5.19 isPrefixOf [] wu = True; 13.37/5.19 isPrefixOf wv [] = False; 13.37/5.19 isPrefixOf (x : xs) (y : ys) = x == y && isPrefixOf xs ys; 13.37/5.19 13.37/5.19 isSuffixOf :: Eq a => [a] -> [a] -> Bool; 13.37/5.19 isSuffixOf x y = reverse x `isPrefixOf` reverse y; 13.37/5.19 13.37/5.19 } 13.37/5.19 module Main where { 13.37/5.19 import qualified List; 13.37/5.19 import qualified Maybe; 13.37/5.19 import qualified Prelude; 13.37/5.19 } 13.37/5.19 13.37/5.19 ---------------------------------------- 13.37/5.19 13.37/5.19 (5) Narrow (SOUND) 13.37/5.19 Haskell To QDPs 13.37/5.19 13.37/5.19 digraph dp_graph { 13.37/5.19 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.37/5.19 3[label="List.isSuffixOf ww3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 13.37/5.19 4[label="List.isSuffixOf ww3 ww4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 13.37/5.19 5[label="List.isPrefixOf (reverse ww3) (reverse ww4)",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 13.37/5.19 6[label="List.isPrefixOf (foldl (flip (:)) [] ww3) (reverse ww4)",fontsize=16,color="burlywood",shape="box"];504[label="ww3/ww30 : ww31",fontsize=10,color="white",style="solid",shape="box"];6 -> 504[label="",style="solid", color="burlywood", weight=9]; 13.37/5.19 504 -> 7[label="",style="solid", color="burlywood", weight=3]; 13.37/5.19 505[label="ww3/[]",fontsize=10,color="white",style="solid",shape="box"];6 -> 505[label="",style="solid", color="burlywood", weight=9]; 13.37/5.19 505 -> 8[label="",style="solid", color="burlywood", weight=3]; 13.37/5.19 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.37/5.19 8[label="List.isPrefixOf (foldl (flip (:)) [] []) (reverse ww4)",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 13.37/5.19 9 -> 237[label="",style="dashed", color="red", weight=0]; 13.37/5.19 9[label="List.isPrefixOf (foldl (flip (:)) (flip (:) [] ww30) ww31) (reverse ww4)",fontsize=16,color="magenta"];9 -> 238[label="",style="dashed", color="magenta", weight=3]; 13.37/5.19 9 -> 239[label="",style="dashed", color="magenta", weight=3]; 13.37/5.19 9 -> 240[label="",style="dashed", color="magenta", weight=3]; 13.37/5.19 9 -> 241[label="",style="dashed", color="magenta", weight=3]; 13.37/5.19 10[label="List.isPrefixOf [] (reverse ww4)",fontsize=16,color="black",shape="box"];10 -> 13[label="",style="solid", color="black", weight=3]; 13.37/5.19 238[label="[]",fontsize=16,color="green",shape="box"];239[label="ww4",fontsize=16,color="green",shape="box"];240[label="ww31",fontsize=16,color="green",shape="box"];241[label="ww30",fontsize=16,color="green",shape="box"];237[label="List.isPrefixOf (foldl (flip (:)) (flip (:) ww15 ww16) ww17) (reverse ww18)",fontsize=16,color="burlywood",shape="triangle"];506[label="ww17/ww170 : ww171",fontsize=10,color="white",style="solid",shape="box"];237 -> 506[label="",style="solid", color="burlywood", weight=9]; 13.37/5.19 506 -> 274[label="",style="solid", color="burlywood", weight=3]; 13.37/5.19 507[label="ww17/[]",fontsize=10,color="white",style="solid",shape="box"];237 -> 507[label="",style="solid", color="burlywood", weight=9]; 13.37/5.19 507 -> 275[label="",style="solid", color="burlywood", weight=3]; 13.37/5.19 13[label="True",fontsize=16,color="green",shape="box"];274[label="List.isPrefixOf (foldl (flip (:)) (flip (:) ww15 ww16) (ww170 : ww171)) (reverse ww18)",fontsize=16,color="black",shape="box"];274 -> 276[label="",style="solid", color="black", weight=3]; 13.37/5.19 275[label="List.isPrefixOf (foldl (flip (:)) (flip (:) ww15 ww16) []) (reverse ww18)",fontsize=16,color="black",shape="box"];275 -> 277[label="",style="solid", color="black", weight=3]; 13.37/5.19 276 -> 237[label="",style="dashed", color="red", weight=0]; 13.37/5.19 276[label="List.isPrefixOf (foldl (flip (:)) (flip (:) (flip (:) ww15 ww16) ww170) ww171) (reverse ww18)",fontsize=16,color="magenta"];276 -> 278[label="",style="dashed", color="magenta", weight=3]; 13.37/5.19 276 -> 279[label="",style="dashed", color="magenta", weight=3]; 13.37/5.19 276 -> 280[label="",style="dashed", color="magenta", weight=3]; 13.37/5.19 277[label="List.isPrefixOf (flip (:) ww15 ww16) (reverse ww18)",fontsize=16,color="black",shape="box"];277 -> 281[label="",style="solid", color="black", weight=3]; 13.37/5.20 278[label="flip (:) ww15 ww16",fontsize=16,color="black",shape="triangle"];278 -> 282[label="",style="solid", color="black", weight=3]; 13.37/5.20 279[label="ww171",fontsize=16,color="green",shape="box"];280[label="ww170",fontsize=16,color="green",shape="box"];281[label="List.isPrefixOf ((:) ww16 ww15) (reverse ww18)",fontsize=16,color="black",shape="box"];281 -> 283[label="",style="solid", color="black", weight=3]; 13.37/5.20 282[label="(:) ww16 ww15",fontsize=16,color="green",shape="box"];283 -> 288[label="",style="dashed", color="red", weight=0]; 13.37/5.20 283[label="List.isPrefixOf ((:) ww16 ww15) (foldl (flip (:)) [] ww18)",fontsize=16,color="magenta"];283 -> 289[label="",style="dashed", color="magenta", weight=3]; 13.37/5.20 283 -> 290[label="",style="dashed", color="magenta", weight=3]; 13.37/5.20 289[label="[]",fontsize=16,color="green",shape="box"];290[label="ww18",fontsize=16,color="green",shape="box"];288[label="List.isPrefixOf ((:) ww16 ww15) (foldl (flip (:)) ww19 ww181)",fontsize=16,color="burlywood",shape="triangle"];508[label="ww181/ww1810 : ww1811",fontsize=10,color="white",style="solid",shape="box"];288 -> 508[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 508 -> 292[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 509[label="ww181/[]",fontsize=10,color="white",style="solid",shape="box"];288 -> 509[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 509 -> 293[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 292[label="List.isPrefixOf ((:) ww16 ww15) (foldl (flip (:)) ww19 (ww1810 : ww1811))",fontsize=16,color="black",shape="box"];292 -> 294[label="",style="solid", color="black", weight=3]; 13.70/5.20 293[label="List.isPrefixOf ((:) ww16 ww15) (foldl (flip (:)) ww19 [])",fontsize=16,color="black",shape="box"];293 -> 295[label="",style="solid", color="black", weight=3]; 13.70/5.20 294 -> 288[label="",style="dashed", color="red", weight=0]; 13.70/5.20 294[label="List.isPrefixOf ((:) ww16 ww15) (foldl (flip (:)) (flip (:) ww19 ww1810) ww1811)",fontsize=16,color="magenta"];294 -> 296[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 294 -> 297[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 295[label="List.isPrefixOf ((:) ww16 ww15) ww19",fontsize=16,color="burlywood",shape="box"];510[label="ww19/ww190 : ww191",fontsize=10,color="white",style="solid",shape="box"];295 -> 510[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 510 -> 298[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 511[label="ww19/[]",fontsize=10,color="white",style="solid",shape="box"];295 -> 511[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 511 -> 299[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 296 -> 278[label="",style="dashed", color="red", weight=0]; 13.70/5.20 296[label="flip (:) ww19 ww1810",fontsize=16,color="magenta"];296 -> 300[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 296 -> 301[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 297[label="ww1811",fontsize=16,color="green",shape="box"];298[label="List.isPrefixOf ((:) ww16 ww15) (ww190 : ww191)",fontsize=16,color="black",shape="box"];298 -> 302[label="",style="solid", color="black", weight=3]; 13.70/5.20 299[label="List.isPrefixOf ((:) ww16 ww15) []",fontsize=16,color="black",shape="box"];299 -> 303[label="",style="solid", color="black", weight=3]; 13.70/5.20 300[label="ww19",fontsize=16,color="green",shape="box"];301[label="ww1810",fontsize=16,color="green",shape="box"];302 -> 304[label="",style="dashed", color="red", weight=0]; 13.70/5.20 302[label="ww16 == ww190 && List.isPrefixOf ww15 ww191",fontsize=16,color="magenta"];302 -> 305[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 302 -> 306[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 302 -> 307[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 303[label="False",fontsize=16,color="green",shape="box"];305[label="ww16 == ww190",fontsize=16,color="blue",shape="box"];512[label="== :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 512[label="",style="solid", color="blue", weight=9]; 13.70/5.20 512 -> 308[label="",style="solid", color="blue", weight=3]; 13.70/5.20 513[label="== :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 513[label="",style="solid", color="blue", weight=9]; 13.70/5.20 513 -> 309[label="",style="solid", color="blue", weight=3]; 13.70/5.20 514[label="== :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 514[label="",style="solid", color="blue", weight=9]; 13.70/5.20 514 -> 310[label="",style="solid", color="blue", weight=3]; 13.70/5.20 515[label="== :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 515[label="",style="solid", color="blue", weight=9]; 13.70/5.20 515 -> 311[label="",style="solid", color="blue", weight=3]; 13.70/5.20 516[label="== :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 516[label="",style="solid", color="blue", weight=9]; 13.70/5.20 516 -> 312[label="",style="solid", color="blue", weight=3]; 13.70/5.20 517[label="== :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 517[label="",style="solid", color="blue", weight=9]; 13.70/5.20 517 -> 313[label="",style="solid", color="blue", weight=3]; 13.70/5.20 518[label="== :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 518[label="",style="solid", color="blue", weight=9]; 13.70/5.20 518 -> 314[label="",style="solid", color="blue", weight=3]; 13.70/5.20 519[label="== :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 519[label="",style="solid", color="blue", weight=9]; 13.70/5.20 519 -> 315[label="",style="solid", color="blue", weight=3]; 13.70/5.20 520[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 520[label="",style="solid", color="blue", weight=9]; 13.70/5.20 520 -> 316[label="",style="solid", color="blue", weight=3]; 13.70/5.20 521[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 521[label="",style="solid", color="blue", weight=9]; 13.70/5.20 521 -> 317[label="",style="solid", color="blue", weight=3]; 13.70/5.20 522[label="== :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 522[label="",style="solid", color="blue", weight=9]; 13.70/5.20 522 -> 318[label="",style="solid", color="blue", weight=3]; 13.70/5.20 523[label="== :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 523[label="",style="solid", color="blue", weight=9]; 13.70/5.20 523 -> 319[label="",style="solid", color="blue", weight=3]; 13.70/5.20 524[label="== :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 524[label="",style="solid", color="blue", weight=9]; 13.70/5.20 524 -> 320[label="",style="solid", color="blue", weight=3]; 13.70/5.20 525[label="== :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];305 -> 525[label="",style="solid", color="blue", weight=9]; 13.70/5.20 525 -> 321[label="",style="solid", color="blue", weight=3]; 13.70/5.20 306[label="ww15",fontsize=16,color="green",shape="box"];307[label="ww191",fontsize=16,color="green",shape="box"];304[label="ww24 && List.isPrefixOf ww25 ww26",fontsize=16,color="burlywood",shape="triangle"];526[label="ww24/False",fontsize=10,color="white",style="solid",shape="box"];304 -> 526[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 526 -> 322[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 527[label="ww24/True",fontsize=10,color="white",style="solid",shape="box"];304 -> 527[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 527 -> 323[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 308[label="ww16 == ww190",fontsize=16,color="black",shape="triangle"];308 -> 324[label="",style="solid", color="black", weight=3]; 13.70/5.20 309[label="ww16 == ww190",fontsize=16,color="black",shape="triangle"];309 -> 325[label="",style="solid", color="black", weight=3]; 13.70/5.20 310[label="ww16 == ww190",fontsize=16,color="black",shape="triangle"];310 -> 326[label="",style="solid", color="black", weight=3]; 13.70/5.20 311[label="ww16 == ww190",fontsize=16,color="black",shape="triangle"];311 -> 327[label="",style="solid", color="black", weight=3]; 13.70/5.20 312[label="ww16 == ww190",fontsize=16,color="burlywood",shape="triangle"];528[label="ww16/ww160 :% ww161",fontsize=10,color="white",style="solid",shape="box"];312 -> 528[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 528 -> 328[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 313[label="ww16 == ww190",fontsize=16,color="black",shape="triangle"];313 -> 329[label="",style="solid", color="black", weight=3]; 13.70/5.20 314[label="ww16 == ww190",fontsize=16,color="black",shape="triangle"];314 -> 330[label="",style="solid", color="black", weight=3]; 13.70/5.20 315[label="ww16 == ww190",fontsize=16,color="black",shape="triangle"];315 -> 331[label="",style="solid", color="black", weight=3]; 13.70/5.20 316[label="ww16 == ww190",fontsize=16,color="black",shape="triangle"];316 -> 332[label="",style="solid", color="black", weight=3]; 13.70/5.20 317[label="ww16 == ww190",fontsize=16,color="black",shape="triangle"];317 -> 333[label="",style="solid", color="black", weight=3]; 13.70/5.20 318[label="ww16 == ww190",fontsize=16,color="black",shape="triangle"];318 -> 334[label="",style="solid", color="black", weight=3]; 13.70/5.20 319[label="ww16 == ww190",fontsize=16,color="black",shape="triangle"];319 -> 335[label="",style="solid", color="black", weight=3]; 13.70/5.20 320[label="ww16 == ww190",fontsize=16,color="black",shape="triangle"];320 -> 336[label="",style="solid", color="black", weight=3]; 13.70/5.20 321[label="ww16 == ww190",fontsize=16,color="black",shape="triangle"];321 -> 337[label="",style="solid", color="black", weight=3]; 13.70/5.20 322[label="False && List.isPrefixOf ww25 ww26",fontsize=16,color="black",shape="box"];322 -> 338[label="",style="solid", color="black", weight=3]; 13.70/5.20 323[label="True && List.isPrefixOf ww25 ww26",fontsize=16,color="black",shape="box"];323 -> 339[label="",style="solid", color="black", weight=3]; 13.70/5.20 324[label="error []",fontsize=16,color="red",shape="box"];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="ww160 :% ww161 == ww190",fontsize=16,color="burlywood",shape="box"];529[label="ww190/ww1900 :% ww1901",fontsize=10,color="white",style="solid",shape="box"];328 -> 529[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 529 -> 340[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 329[label="error []",fontsize=16,color="red",shape="box"];330[label="error []",fontsize=16,color="red",shape="box"];331[label="error []",fontsize=16,color="red",shape="box"];332[label="primEqInt ww16 ww190",fontsize=16,color="burlywood",shape="box"];530[label="ww16/Pos ww160",fontsize=10,color="white",style="solid",shape="box"];332 -> 530[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 530 -> 341[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 531[label="ww16/Neg ww160",fontsize=10,color="white",style="solid",shape="box"];332 -> 531[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 531 -> 342[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 333[label="error []",fontsize=16,color="red",shape="box"];334[label="error []",fontsize=16,color="red",shape="box"];335[label="error []",fontsize=16,color="red",shape="box"];336[label="error []",fontsize=16,color="red",shape="box"];337[label="error []",fontsize=16,color="red",shape="box"];338[label="False",fontsize=16,color="green",shape="box"];339[label="List.isPrefixOf ww25 ww26",fontsize=16,color="burlywood",shape="box"];532[label="ww25/ww250 : ww251",fontsize=10,color="white",style="solid",shape="box"];339 -> 532[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 532 -> 343[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 533[label="ww25/[]",fontsize=10,color="white",style="solid",shape="box"];339 -> 533[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 533 -> 344[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 340[label="ww160 :% ww161 == ww1900 :% ww1901",fontsize=16,color="black",shape="box"];340 -> 345[label="",style="solid", color="black", weight=3]; 13.70/5.20 341[label="primEqInt (Pos ww160) ww190",fontsize=16,color="burlywood",shape="box"];534[label="ww160/Succ ww1600",fontsize=10,color="white",style="solid",shape="box"];341 -> 534[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 534 -> 346[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 535[label="ww160/Zero",fontsize=10,color="white",style="solid",shape="box"];341 -> 535[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 535 -> 347[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 342[label="primEqInt (Neg ww160) ww190",fontsize=16,color="burlywood",shape="box"];536[label="ww160/Succ ww1600",fontsize=10,color="white",style="solid",shape="box"];342 -> 536[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 536 -> 348[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 537[label="ww160/Zero",fontsize=10,color="white",style="solid",shape="box"];342 -> 537[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 537 -> 349[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 343[label="List.isPrefixOf (ww250 : ww251) ww26",fontsize=16,color="burlywood",shape="box"];538[label="ww26/ww260 : ww261",fontsize=10,color="white",style="solid",shape="box"];343 -> 538[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 538 -> 350[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 539[label="ww26/[]",fontsize=10,color="white",style="solid",shape="box"];343 -> 539[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 539 -> 351[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 344[label="List.isPrefixOf [] ww26",fontsize=16,color="black",shape="box"];344 -> 352[label="",style="solid", color="black", weight=3]; 13.70/5.20 345 -> 353[label="",style="dashed", color="red", weight=0]; 13.70/5.20 345[label="ww160 == ww1900 && ww161 == ww1901",fontsize=16,color="magenta"];345 -> 354[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 345 -> 355[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 345 -> 356[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 346[label="primEqInt (Pos (Succ ww1600)) ww190",fontsize=16,color="burlywood",shape="box"];540[label="ww190/Pos ww1900",fontsize=10,color="white",style="solid",shape="box"];346 -> 540[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 540 -> 357[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 541[label="ww190/Neg ww1900",fontsize=10,color="white",style="solid",shape="box"];346 -> 541[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 541 -> 358[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 347[label="primEqInt (Pos Zero) ww190",fontsize=16,color="burlywood",shape="box"];542[label="ww190/Pos ww1900",fontsize=10,color="white",style="solid",shape="box"];347 -> 542[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 542 -> 359[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 543[label="ww190/Neg ww1900",fontsize=10,color="white",style="solid",shape="box"];347 -> 543[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 543 -> 360[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 348[label="primEqInt (Neg (Succ ww1600)) ww190",fontsize=16,color="burlywood",shape="box"];544[label="ww190/Pos ww1900",fontsize=10,color="white",style="solid",shape="box"];348 -> 544[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 544 -> 361[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 545[label="ww190/Neg ww1900",fontsize=10,color="white",style="solid",shape="box"];348 -> 545[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 545 -> 362[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 349[label="primEqInt (Neg Zero) ww190",fontsize=16,color="burlywood",shape="box"];546[label="ww190/Pos ww1900",fontsize=10,color="white",style="solid",shape="box"];349 -> 546[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 546 -> 363[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 547[label="ww190/Neg ww1900",fontsize=10,color="white",style="solid",shape="box"];349 -> 547[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 547 -> 364[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 350[label="List.isPrefixOf (ww250 : ww251) (ww260 : ww261)",fontsize=16,color="black",shape="box"];350 -> 365[label="",style="solid", color="black", weight=3]; 13.70/5.20 351[label="List.isPrefixOf (ww250 : ww251) []",fontsize=16,color="black",shape="box"];351 -> 366[label="",style="solid", color="black", weight=3]; 13.70/5.20 352[label="True",fontsize=16,color="green",shape="box"];354[label="ww161",fontsize=16,color="green",shape="box"];355[label="ww160 == ww1900",fontsize=16,color="blue",shape="box"];548[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];355 -> 548[label="",style="solid", color="blue", weight=9]; 13.70/5.20 548 -> 367[label="",style="solid", color="blue", weight=3]; 13.70/5.20 549[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];355 -> 549[label="",style="solid", color="blue", weight=9]; 13.70/5.20 549 -> 368[label="",style="solid", color="blue", weight=3]; 13.70/5.20 356[label="ww1901",fontsize=16,color="green",shape="box"];353[label="ww31 && ww32 == ww33",fontsize=16,color="burlywood",shape="triangle"];550[label="ww31/False",fontsize=10,color="white",style="solid",shape="box"];353 -> 550[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 550 -> 369[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 551[label="ww31/True",fontsize=10,color="white",style="solid",shape="box"];353 -> 551[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 551 -> 370[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 357[label="primEqInt (Pos (Succ ww1600)) (Pos ww1900)",fontsize=16,color="burlywood",shape="box"];552[label="ww1900/Succ ww19000",fontsize=10,color="white",style="solid",shape="box"];357 -> 552[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 552 -> 371[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 553[label="ww1900/Zero",fontsize=10,color="white",style="solid",shape="box"];357 -> 553[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 553 -> 372[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 358[label="primEqInt (Pos (Succ ww1600)) (Neg ww1900)",fontsize=16,color="black",shape="box"];358 -> 373[label="",style="solid", color="black", weight=3]; 13.70/5.20 359[label="primEqInt (Pos Zero) (Pos ww1900)",fontsize=16,color="burlywood",shape="box"];554[label="ww1900/Succ ww19000",fontsize=10,color="white",style="solid",shape="box"];359 -> 554[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 554 -> 374[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 555[label="ww1900/Zero",fontsize=10,color="white",style="solid",shape="box"];359 -> 555[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 555 -> 375[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 360[label="primEqInt (Pos Zero) (Neg ww1900)",fontsize=16,color="burlywood",shape="box"];556[label="ww1900/Succ ww19000",fontsize=10,color="white",style="solid",shape="box"];360 -> 556[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 556 -> 376[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 557[label="ww1900/Zero",fontsize=10,color="white",style="solid",shape="box"];360 -> 557[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 557 -> 377[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 361[label="primEqInt (Neg (Succ ww1600)) (Pos ww1900)",fontsize=16,color="black",shape="box"];361 -> 378[label="",style="solid", color="black", weight=3]; 13.70/5.20 362[label="primEqInt (Neg (Succ ww1600)) (Neg ww1900)",fontsize=16,color="burlywood",shape="box"];558[label="ww1900/Succ ww19000",fontsize=10,color="white",style="solid",shape="box"];362 -> 558[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 558 -> 379[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 559[label="ww1900/Zero",fontsize=10,color="white",style="solid",shape="box"];362 -> 559[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 559 -> 380[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 363[label="primEqInt (Neg Zero) (Pos ww1900)",fontsize=16,color="burlywood",shape="box"];560[label="ww1900/Succ ww19000",fontsize=10,color="white",style="solid",shape="box"];363 -> 560[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 560 -> 381[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 561[label="ww1900/Zero",fontsize=10,color="white",style="solid",shape="box"];363 -> 561[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 561 -> 382[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 364[label="primEqInt (Neg Zero) (Neg ww1900)",fontsize=16,color="burlywood",shape="box"];562[label="ww1900/Succ ww19000",fontsize=10,color="white",style="solid",shape="box"];364 -> 562[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 562 -> 383[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 563[label="ww1900/Zero",fontsize=10,color="white",style="solid",shape="box"];364 -> 563[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 563 -> 384[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 365 -> 304[label="",style="dashed", color="red", weight=0]; 13.70/5.20 365[label="ww250 == ww260 && List.isPrefixOf ww251 ww261",fontsize=16,color="magenta"];365 -> 385[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 365 -> 386[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 365 -> 387[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 366[label="False",fontsize=16,color="green",shape="box"];367 -> 316[label="",style="dashed", color="red", weight=0]; 13.70/5.20 367[label="ww160 == ww1900",fontsize=16,color="magenta"];367 -> 388[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 367 -> 389[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 368 -> 317[label="",style="dashed", color="red", weight=0]; 13.70/5.20 368[label="ww160 == ww1900",fontsize=16,color="magenta"];368 -> 390[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 368 -> 391[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 369[label="False && ww32 == ww33",fontsize=16,color="black",shape="box"];369 -> 392[label="",style="solid", color="black", weight=3]; 13.70/5.20 370[label="True && ww32 == ww33",fontsize=16,color="black",shape="box"];370 -> 393[label="",style="solid", color="black", weight=3]; 13.70/5.20 371[label="primEqInt (Pos (Succ ww1600)) (Pos (Succ ww19000))",fontsize=16,color="black",shape="box"];371 -> 394[label="",style="solid", color="black", weight=3]; 13.70/5.20 372[label="primEqInt (Pos (Succ ww1600)) (Pos Zero)",fontsize=16,color="black",shape="box"];372 -> 395[label="",style="solid", color="black", weight=3]; 13.70/5.20 373[label="False",fontsize=16,color="green",shape="box"];374[label="primEqInt (Pos Zero) (Pos (Succ ww19000))",fontsize=16,color="black",shape="box"];374 -> 396[label="",style="solid", color="black", weight=3]; 13.70/5.20 375[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];375 -> 397[label="",style="solid", color="black", weight=3]; 13.70/5.20 376[label="primEqInt (Pos Zero) (Neg (Succ ww19000))",fontsize=16,color="black",shape="box"];376 -> 398[label="",style="solid", color="black", weight=3]; 13.70/5.20 377[label="primEqInt (Pos Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];377 -> 399[label="",style="solid", color="black", weight=3]; 13.70/5.20 378[label="False",fontsize=16,color="green",shape="box"];379[label="primEqInt (Neg (Succ ww1600)) (Neg (Succ ww19000))",fontsize=16,color="black",shape="box"];379 -> 400[label="",style="solid", color="black", weight=3]; 13.70/5.20 380[label="primEqInt (Neg (Succ ww1600)) (Neg Zero)",fontsize=16,color="black",shape="box"];380 -> 401[label="",style="solid", color="black", weight=3]; 13.70/5.20 381[label="primEqInt (Neg Zero) (Pos (Succ ww19000))",fontsize=16,color="black",shape="box"];381 -> 402[label="",style="solid", color="black", weight=3]; 13.70/5.20 382[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];382 -> 403[label="",style="solid", color="black", weight=3]; 13.70/5.20 383[label="primEqInt (Neg Zero) (Neg (Succ ww19000))",fontsize=16,color="black",shape="box"];383 -> 404[label="",style="solid", color="black", weight=3]; 13.70/5.20 384[label="primEqInt (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];384 -> 405[label="",style="solid", color="black", weight=3]; 13.70/5.20 385[label="ww250 == ww260",fontsize=16,color="blue",shape="box"];564[label="== :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 564[label="",style="solid", color="blue", weight=9]; 13.70/5.20 564 -> 406[label="",style="solid", color="blue", weight=3]; 13.70/5.20 565[label="== :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 565[label="",style="solid", color="blue", weight=9]; 13.70/5.20 565 -> 407[label="",style="solid", color="blue", weight=3]; 13.70/5.20 566[label="== :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 566[label="",style="solid", color="blue", weight=9]; 13.70/5.20 566 -> 408[label="",style="solid", color="blue", weight=3]; 13.70/5.20 567[label="== :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 567[label="",style="solid", color="blue", weight=9]; 13.70/5.20 567 -> 409[label="",style="solid", color="blue", weight=3]; 13.70/5.20 568[label="== :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 568[label="",style="solid", color="blue", weight=9]; 13.70/5.20 568 -> 410[label="",style="solid", color="blue", weight=3]; 13.70/5.20 569[label="== :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 569[label="",style="solid", color="blue", weight=9]; 13.70/5.20 569 -> 411[label="",style="solid", color="blue", weight=3]; 13.70/5.20 570[label="== :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 570[label="",style="solid", color="blue", weight=9]; 13.70/5.20 570 -> 412[label="",style="solid", color="blue", weight=3]; 13.70/5.20 571[label="== :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 571[label="",style="solid", color="blue", weight=9]; 13.70/5.20 571 -> 413[label="",style="solid", color="blue", weight=3]; 13.70/5.20 572[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 572[label="",style="solid", color="blue", weight=9]; 13.70/5.20 572 -> 414[label="",style="solid", color="blue", weight=3]; 13.70/5.20 573[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 573[label="",style="solid", color="blue", weight=9]; 13.70/5.20 573 -> 415[label="",style="solid", color="blue", weight=3]; 13.70/5.20 574[label="== :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 574[label="",style="solid", color="blue", weight=9]; 13.70/5.20 574 -> 416[label="",style="solid", color="blue", weight=3]; 13.70/5.20 575[label="== :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 575[label="",style="solid", color="blue", weight=9]; 13.70/5.20 575 -> 417[label="",style="solid", color="blue", weight=3]; 13.70/5.20 576[label="== :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 576[label="",style="solid", color="blue", weight=9]; 13.70/5.20 576 -> 418[label="",style="solid", color="blue", weight=3]; 13.70/5.20 577[label="== :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];385 -> 577[label="",style="solid", color="blue", weight=9]; 13.70/5.20 577 -> 419[label="",style="solid", color="blue", weight=3]; 13.70/5.20 386[label="ww251",fontsize=16,color="green",shape="box"];387[label="ww261",fontsize=16,color="green",shape="box"];388[label="ww1900",fontsize=16,color="green",shape="box"];389[label="ww160",fontsize=16,color="green",shape="box"];390[label="ww1900",fontsize=16,color="green",shape="box"];391[label="ww160",fontsize=16,color="green",shape="box"];392[label="False",fontsize=16,color="green",shape="box"];393[label="ww32 == ww33",fontsize=16,color="blue",shape="box"];578[label="== :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 578[label="",style="solid", color="blue", weight=9]; 13.70/5.20 578 -> 420[label="",style="solid", color="blue", weight=3]; 13.70/5.20 579[label="== :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 579[label="",style="solid", color="blue", weight=9]; 13.70/5.20 579 -> 421[label="",style="solid", color="blue", weight=3]; 13.70/5.20 580[label="== :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 580[label="",style="solid", color="blue", weight=9]; 13.70/5.20 580 -> 422[label="",style="solid", color="blue", weight=3]; 13.70/5.20 581[label="== :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 581[label="",style="solid", color="blue", weight=9]; 13.70/5.20 581 -> 423[label="",style="solid", color="blue", weight=3]; 13.70/5.20 582[label="== :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 582[label="",style="solid", color="blue", weight=9]; 13.70/5.20 582 -> 424[label="",style="solid", color="blue", weight=3]; 13.70/5.20 583[label="== :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 583[label="",style="solid", color="blue", weight=9]; 13.70/5.20 583 -> 425[label="",style="solid", color="blue", weight=3]; 13.70/5.20 584[label="== :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 584[label="",style="solid", color="blue", weight=9]; 13.70/5.20 584 -> 426[label="",style="solid", color="blue", weight=3]; 13.70/5.20 585[label="== :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 585[label="",style="solid", color="blue", weight=9]; 13.70/5.20 585 -> 427[label="",style="solid", color="blue", weight=3]; 13.70/5.20 586[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 586[label="",style="solid", color="blue", weight=9]; 13.70/5.20 586 -> 428[label="",style="solid", color="blue", weight=3]; 13.70/5.20 587[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 587[label="",style="solid", color="blue", weight=9]; 13.70/5.20 587 -> 429[label="",style="solid", color="blue", weight=3]; 13.70/5.20 588[label="== :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 588[label="",style="solid", color="blue", weight=9]; 13.70/5.20 588 -> 430[label="",style="solid", color="blue", weight=3]; 13.70/5.20 589[label="== :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 589[label="",style="solid", color="blue", weight=9]; 13.70/5.20 589 -> 431[label="",style="solid", color="blue", weight=3]; 13.70/5.20 590[label="== :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 590[label="",style="solid", color="blue", weight=9]; 13.70/5.20 590 -> 432[label="",style="solid", color="blue", weight=3]; 13.70/5.20 591[label="== :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];393 -> 591[label="",style="solid", color="blue", weight=9]; 13.70/5.20 591 -> 433[label="",style="solid", color="blue", weight=3]; 13.70/5.20 394[label="primEqNat ww1600 ww19000",fontsize=16,color="burlywood",shape="triangle"];592[label="ww1600/Succ ww16000",fontsize=10,color="white",style="solid",shape="box"];394 -> 592[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 592 -> 434[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 593[label="ww1600/Zero",fontsize=10,color="white",style="solid",shape="box"];394 -> 593[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 593 -> 435[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 395[label="False",fontsize=16,color="green",shape="box"];396[label="False",fontsize=16,color="green",shape="box"];397[label="True",fontsize=16,color="green",shape="box"];398[label="False",fontsize=16,color="green",shape="box"];399[label="True",fontsize=16,color="green",shape="box"];400 -> 394[label="",style="dashed", color="red", weight=0]; 13.70/5.20 400[label="primEqNat ww1600 ww19000",fontsize=16,color="magenta"];400 -> 436[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 400 -> 437[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 401[label="False",fontsize=16,color="green",shape="box"];402[label="False",fontsize=16,color="green",shape="box"];403[label="True",fontsize=16,color="green",shape="box"];404[label="False",fontsize=16,color="green",shape="box"];405[label="True",fontsize=16,color="green",shape="box"];406 -> 308[label="",style="dashed", color="red", weight=0]; 13.70/5.20 406[label="ww250 == ww260",fontsize=16,color="magenta"];406 -> 438[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 406 -> 439[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 407 -> 309[label="",style="dashed", color="red", weight=0]; 13.70/5.20 407[label="ww250 == ww260",fontsize=16,color="magenta"];407 -> 440[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 407 -> 441[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 408 -> 310[label="",style="dashed", color="red", weight=0]; 13.70/5.20 408[label="ww250 == ww260",fontsize=16,color="magenta"];408 -> 442[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 408 -> 443[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 409 -> 311[label="",style="dashed", color="red", weight=0]; 13.70/5.20 409[label="ww250 == ww260",fontsize=16,color="magenta"];409 -> 444[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 409 -> 445[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 410 -> 312[label="",style="dashed", color="red", weight=0]; 13.70/5.20 410[label="ww250 == ww260",fontsize=16,color="magenta"];410 -> 446[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 410 -> 447[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 411 -> 313[label="",style="dashed", color="red", weight=0]; 13.70/5.20 411[label="ww250 == ww260",fontsize=16,color="magenta"];411 -> 448[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 411 -> 449[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 412 -> 314[label="",style="dashed", color="red", weight=0]; 13.70/5.20 412[label="ww250 == ww260",fontsize=16,color="magenta"];412 -> 450[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 412 -> 451[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 413 -> 315[label="",style="dashed", color="red", weight=0]; 13.70/5.20 413[label="ww250 == ww260",fontsize=16,color="magenta"];413 -> 452[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 413 -> 453[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 414 -> 316[label="",style="dashed", color="red", weight=0]; 13.70/5.20 414[label="ww250 == ww260",fontsize=16,color="magenta"];414 -> 454[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 414 -> 455[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 415 -> 317[label="",style="dashed", color="red", weight=0]; 13.70/5.20 415[label="ww250 == ww260",fontsize=16,color="magenta"];415 -> 456[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 415 -> 457[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 416 -> 318[label="",style="dashed", color="red", weight=0]; 13.70/5.20 416[label="ww250 == ww260",fontsize=16,color="magenta"];416 -> 458[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 416 -> 459[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 417 -> 319[label="",style="dashed", color="red", weight=0]; 13.70/5.20 417[label="ww250 == ww260",fontsize=16,color="magenta"];417 -> 460[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 417 -> 461[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 418 -> 320[label="",style="dashed", color="red", weight=0]; 13.70/5.20 418[label="ww250 == ww260",fontsize=16,color="magenta"];418 -> 462[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 418 -> 463[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 419 -> 321[label="",style="dashed", color="red", weight=0]; 13.70/5.20 419[label="ww250 == ww260",fontsize=16,color="magenta"];419 -> 464[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 419 -> 465[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 420 -> 308[label="",style="dashed", color="red", weight=0]; 13.70/5.20 420[label="ww32 == ww33",fontsize=16,color="magenta"];420 -> 466[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 420 -> 467[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 421 -> 309[label="",style="dashed", color="red", weight=0]; 13.70/5.20 421[label="ww32 == ww33",fontsize=16,color="magenta"];421 -> 468[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 421 -> 469[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 422 -> 310[label="",style="dashed", color="red", weight=0]; 13.70/5.20 422[label="ww32 == ww33",fontsize=16,color="magenta"];422 -> 470[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 422 -> 471[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 423 -> 311[label="",style="dashed", color="red", weight=0]; 13.70/5.20 423[label="ww32 == ww33",fontsize=16,color="magenta"];423 -> 472[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 423 -> 473[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 424 -> 312[label="",style="dashed", color="red", weight=0]; 13.70/5.20 424[label="ww32 == ww33",fontsize=16,color="magenta"];424 -> 474[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 424 -> 475[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 425 -> 313[label="",style="dashed", color="red", weight=0]; 13.70/5.20 425[label="ww32 == ww33",fontsize=16,color="magenta"];425 -> 476[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 425 -> 477[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 426 -> 314[label="",style="dashed", color="red", weight=0]; 13.70/5.20 426[label="ww32 == ww33",fontsize=16,color="magenta"];426 -> 478[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 426 -> 479[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 427 -> 315[label="",style="dashed", color="red", weight=0]; 13.70/5.20 427[label="ww32 == ww33",fontsize=16,color="magenta"];427 -> 480[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 427 -> 481[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 428 -> 316[label="",style="dashed", color="red", weight=0]; 13.70/5.20 428[label="ww32 == ww33",fontsize=16,color="magenta"];428 -> 482[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 428 -> 483[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 429 -> 317[label="",style="dashed", color="red", weight=0]; 13.70/5.20 429[label="ww32 == ww33",fontsize=16,color="magenta"];429 -> 484[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 429 -> 485[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 430 -> 318[label="",style="dashed", color="red", weight=0]; 13.70/5.20 430[label="ww32 == ww33",fontsize=16,color="magenta"];430 -> 486[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 430 -> 487[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 431 -> 319[label="",style="dashed", color="red", weight=0]; 13.70/5.20 431[label="ww32 == ww33",fontsize=16,color="magenta"];431 -> 488[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 431 -> 489[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 432 -> 320[label="",style="dashed", color="red", weight=0]; 13.70/5.20 432[label="ww32 == ww33",fontsize=16,color="magenta"];432 -> 490[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 432 -> 491[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 433 -> 321[label="",style="dashed", color="red", weight=0]; 13.70/5.20 433[label="ww32 == ww33",fontsize=16,color="magenta"];433 -> 492[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 433 -> 493[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 434[label="primEqNat (Succ ww16000) ww19000",fontsize=16,color="burlywood",shape="box"];594[label="ww19000/Succ ww190000",fontsize=10,color="white",style="solid",shape="box"];434 -> 594[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 594 -> 494[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 595[label="ww19000/Zero",fontsize=10,color="white",style="solid",shape="box"];434 -> 595[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 595 -> 495[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 435[label="primEqNat Zero ww19000",fontsize=16,color="burlywood",shape="box"];596[label="ww19000/Succ ww190000",fontsize=10,color="white",style="solid",shape="box"];435 -> 596[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 596 -> 496[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 597[label="ww19000/Zero",fontsize=10,color="white",style="solid",shape="box"];435 -> 597[label="",style="solid", color="burlywood", weight=9]; 13.70/5.20 597 -> 497[label="",style="solid", color="burlywood", weight=3]; 13.70/5.20 436[label="ww1600",fontsize=16,color="green",shape="box"];437[label="ww19000",fontsize=16,color="green",shape="box"];438[label="ww260",fontsize=16,color="green",shape="box"];439[label="ww250",fontsize=16,color="green",shape="box"];440[label="ww260",fontsize=16,color="green",shape="box"];441[label="ww250",fontsize=16,color="green",shape="box"];442[label="ww260",fontsize=16,color="green",shape="box"];443[label="ww250",fontsize=16,color="green",shape="box"];444[label="ww260",fontsize=16,color="green",shape="box"];445[label="ww250",fontsize=16,color="green",shape="box"];446[label="ww260",fontsize=16,color="green",shape="box"];447[label="ww250",fontsize=16,color="green",shape="box"];448[label="ww260",fontsize=16,color="green",shape="box"];449[label="ww250",fontsize=16,color="green",shape="box"];450[label="ww260",fontsize=16,color="green",shape="box"];451[label="ww250",fontsize=16,color="green",shape="box"];452[label="ww260",fontsize=16,color="green",shape="box"];453[label="ww250",fontsize=16,color="green",shape="box"];454[label="ww260",fontsize=16,color="green",shape="box"];455[label="ww250",fontsize=16,color="green",shape="box"];456[label="ww260",fontsize=16,color="green",shape="box"];457[label="ww250",fontsize=16,color="green",shape="box"];458[label="ww260",fontsize=16,color="green",shape="box"];459[label="ww250",fontsize=16,color="green",shape="box"];460[label="ww260",fontsize=16,color="green",shape="box"];461[label="ww250",fontsize=16,color="green",shape="box"];462[label="ww260",fontsize=16,color="green",shape="box"];463[label="ww250",fontsize=16,color="green",shape="box"];464[label="ww260",fontsize=16,color="green",shape="box"];465[label="ww250",fontsize=16,color="green",shape="box"];466[label="ww33",fontsize=16,color="green",shape="box"];467[label="ww32",fontsize=16,color="green",shape="box"];468[label="ww33",fontsize=16,color="green",shape="box"];469[label="ww32",fontsize=16,color="green",shape="box"];470[label="ww33",fontsize=16,color="green",shape="box"];471[label="ww32",fontsize=16,color="green",shape="box"];472[label="ww33",fontsize=16,color="green",shape="box"];473[label="ww32",fontsize=16,color="green",shape="box"];474[label="ww33",fontsize=16,color="green",shape="box"];475[label="ww32",fontsize=16,color="green",shape="box"];476[label="ww33",fontsize=16,color="green",shape="box"];477[label="ww32",fontsize=16,color="green",shape="box"];478[label="ww33",fontsize=16,color="green",shape="box"];479[label="ww32",fontsize=16,color="green",shape="box"];480[label="ww33",fontsize=16,color="green",shape="box"];481[label="ww32",fontsize=16,color="green",shape="box"];482[label="ww33",fontsize=16,color="green",shape="box"];483[label="ww32",fontsize=16,color="green",shape="box"];484[label="ww33",fontsize=16,color="green",shape="box"];485[label="ww32",fontsize=16,color="green",shape="box"];486[label="ww33",fontsize=16,color="green",shape="box"];487[label="ww32",fontsize=16,color="green",shape="box"];488[label="ww33",fontsize=16,color="green",shape="box"];489[label="ww32",fontsize=16,color="green",shape="box"];490[label="ww33",fontsize=16,color="green",shape="box"];491[label="ww32",fontsize=16,color="green",shape="box"];492[label="ww33",fontsize=16,color="green",shape="box"];493[label="ww32",fontsize=16,color="green",shape="box"];494[label="primEqNat (Succ ww16000) (Succ ww190000)",fontsize=16,color="black",shape="box"];494 -> 498[label="",style="solid", color="black", weight=3]; 13.70/5.20 495[label="primEqNat (Succ ww16000) Zero",fontsize=16,color="black",shape="box"];495 -> 499[label="",style="solid", color="black", weight=3]; 13.70/5.20 496[label="primEqNat Zero (Succ ww190000)",fontsize=16,color="black",shape="box"];496 -> 500[label="",style="solid", color="black", weight=3]; 13.70/5.20 497[label="primEqNat Zero Zero",fontsize=16,color="black",shape="box"];497 -> 501[label="",style="solid", color="black", weight=3]; 13.70/5.20 498 -> 394[label="",style="dashed", color="red", weight=0]; 13.70/5.20 498[label="primEqNat ww16000 ww190000",fontsize=16,color="magenta"];498 -> 502[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 498 -> 503[label="",style="dashed", color="magenta", weight=3]; 13.70/5.20 499[label="False",fontsize=16,color="green",shape="box"];500[label="False",fontsize=16,color="green",shape="box"];501[label="True",fontsize=16,color="green",shape="box"];502[label="ww16000",fontsize=16,color="green",shape="box"];503[label="ww190000",fontsize=16,color="green",shape="box"];} 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (6) 13.70/5.20 Complex Obligation (AND) 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (7) 13.70/5.20 Obligation: 13.70/5.20 Q DP problem: 13.70/5.20 The TRS P consists of the following rules: 13.70/5.20 13.70/5.20 new_isPrefixOf(ww16, ww15, ww19, :(ww1810, ww1811), ba) -> new_isPrefixOf(ww16, ww15, new_flip(ww19, ww1810, ba), ww1811, ba) 13.70/5.20 13.70/5.20 The TRS R consists of the following rules: 13.70/5.20 13.70/5.20 new_flip(ww15, ww16, ba) -> :(ww16, ww15) 13.70/5.20 13.70/5.20 The set Q consists of the following terms: 13.70/5.20 13.70/5.20 new_flip(x0, x1, x2) 13.70/5.20 13.70/5.20 We have to consider all minimal (P,Q,R)-chains. 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (8) TransformationProof (EQUIVALENT) 13.70/5.20 By rewriting [LPAR04] the rule new_isPrefixOf(ww16, ww15, ww19, :(ww1810, ww1811), ba) -> new_isPrefixOf(ww16, ww15, new_flip(ww19, ww1810, ba), ww1811, ba) at position [2] we obtained the following new rules [LPAR04]: 13.70/5.20 13.70/5.20 (new_isPrefixOf(ww16, ww15, ww19, :(ww1810, ww1811), ba) -> new_isPrefixOf(ww16, ww15, :(ww1810, ww19), ww1811, ba),new_isPrefixOf(ww16, ww15, ww19, :(ww1810, ww1811), ba) -> new_isPrefixOf(ww16, ww15, :(ww1810, ww19), ww1811, ba)) 13.70/5.20 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (9) 13.70/5.20 Obligation: 13.70/5.20 Q DP problem: 13.70/5.20 The TRS P consists of the following rules: 13.70/5.20 13.70/5.20 new_isPrefixOf(ww16, ww15, ww19, :(ww1810, ww1811), ba) -> new_isPrefixOf(ww16, ww15, :(ww1810, ww19), ww1811, ba) 13.70/5.20 13.70/5.20 The TRS R consists of the following rules: 13.70/5.20 13.70/5.20 new_flip(ww15, ww16, ba) -> :(ww16, ww15) 13.70/5.20 13.70/5.20 The set Q consists of the following terms: 13.70/5.20 13.70/5.20 new_flip(x0, x1, x2) 13.70/5.20 13.70/5.20 We have to consider all minimal (P,Q,R)-chains. 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (10) UsableRulesProof (EQUIVALENT) 13.70/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.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (11) 13.70/5.20 Obligation: 13.70/5.20 Q DP problem: 13.70/5.20 The TRS P consists of the following rules: 13.70/5.20 13.70/5.20 new_isPrefixOf(ww16, ww15, ww19, :(ww1810, ww1811), ba) -> new_isPrefixOf(ww16, ww15, :(ww1810, ww19), ww1811, ba) 13.70/5.20 13.70/5.20 R is empty. 13.70/5.20 The set Q consists of the following terms: 13.70/5.20 13.70/5.20 new_flip(x0, x1, x2) 13.70/5.20 13.70/5.20 We have to consider all minimal (P,Q,R)-chains. 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (12) QReductionProof (EQUIVALENT) 13.70/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.70/5.20 13.70/5.20 new_flip(x0, x1, x2) 13.70/5.20 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (13) 13.70/5.20 Obligation: 13.70/5.20 Q DP problem: 13.70/5.20 The TRS P consists of the following rules: 13.70/5.20 13.70/5.20 new_isPrefixOf(ww16, ww15, ww19, :(ww1810, ww1811), ba) -> new_isPrefixOf(ww16, ww15, :(ww1810, ww19), ww1811, ba) 13.70/5.20 13.70/5.20 R is empty. 13.70/5.20 Q is empty. 13.70/5.20 We have to consider all minimal (P,Q,R)-chains. 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (14) QDPSizeChangeProof (EQUIVALENT) 13.70/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.70/5.20 13.70/5.20 From the DPs we obtained the following set of size-change graphs: 13.70/5.20 *new_isPrefixOf(ww16, ww15, ww19, :(ww1810, ww1811), ba) -> new_isPrefixOf(ww16, ww15, :(ww1810, ww19), ww1811, ba) 13.70/5.20 The graph contains the following edges 1 >= 1, 2 >= 2, 4 > 4, 5 >= 5 13.70/5.20 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (15) 13.70/5.20 YES 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (16) 13.70/5.20 Obligation: 13.70/5.20 Q DP problem: 13.70/5.20 The TRS P consists of the following rules: 13.70/5.20 13.70/5.20 new_asAs0(True, :(ww250, ww251), :(ww260, ww261), ba) -> new_asAs0(new_esEs3(ww250, ww260, ba), ww251, ww261, ba) 13.70/5.20 13.70/5.20 The TRS R consists of the following rules: 13.70/5.20 13.70/5.20 new_esEs3(ww250, ww260, ty_Bool) -> new_esEs12(ww250, ww260) 13.70/5.20 new_asAs1(True, ww32, ww33, ty_Ordering) -> new_esEs14(ww32, ww33) 13.70/5.20 new_esEs15(ww16, ww190, ee, ef) -> error([]) 13.70/5.20 new_esEs2(Pos(Zero), Neg(Succ(ww19000))) -> False 13.70/5.20 new_esEs2(Neg(Zero), Pos(Succ(ww19000))) -> False 13.70/5.20 new_esEs7(ww16, ww190, eb, ec) -> error([]) 13.70/5.20 new_esEs5(ww16, ww190) -> error([]) 13.70/5.20 new_esEs13(ww16, ww190) -> error([]) 13.70/5.20 new_esEs3(ww250, ww260, app(app(app(ty_@3, de), df), dg)) -> new_esEs11(ww250, ww260, de, df, dg) 13.70/5.20 new_esEs1(ww16, ww190) -> error([]) 13.70/5.20 new_asAs1(True, ww32, ww33, app(ty_Ratio, bg)) -> new_esEs9(ww32, ww33, bg) 13.70/5.20 new_asAs1(True, ww32, ww33, ty_Int) -> new_esEs2(ww32, ww33) 13.70/5.20 new_asAs1(True, ww32, ww33, app(app(ty_@2, cd), ce)) -> new_esEs15(ww32, ww33, cd, ce) 13.70/5.20 new_esEs3(ww250, ww260, app(ty_[], db)) -> new_esEs6(ww250, ww260, db) 13.70/5.20 new_esEs6(ww16, ww190, bb) -> error([]) 13.70/5.20 new_asAs1(True, ww32, ww33, app(app(ty_Either, bd), be)) -> new_esEs7(ww32, ww33, bd, be) 13.70/5.20 new_esEs12(ww16, ww190) -> error([]) 13.70/5.20 new_esEs2(Neg(Succ(ww1600)), Neg(Succ(ww19000))) -> new_primEqNat0(ww1600, ww19000) 13.70/5.20 new_esEs2(Neg(Zero), Neg(Zero)) -> True 13.70/5.20 new_esEs4(ww16, ww190) -> error([]) 13.70/5.20 new_asAs1(True, ww32, ww33, ty_Char) -> new_esEs13(ww32, ww33) 13.70/5.20 new_esEs10(ww16, ww190, cf) -> error([]) 13.70/5.20 new_esEs3(ww250, ww260, ty_Int) -> new_esEs2(ww250, ww260) 13.70/5.20 new_primEqNat0(Succ(ww16000), Zero) -> False 13.70/5.20 new_primEqNat0(Zero, Succ(ww190000)) -> False 13.70/5.20 new_esEs11(ww16, ww190, eg, eh, fa) -> error([]) 13.70/5.20 new_esEs3(ww250, ww260, ty_Double) -> new_esEs5(ww250, ww260) 13.70/5.20 new_esEs3(ww250, ww260, app(app(ty_@2, dh), ea)) -> new_esEs15(ww250, ww260, dh, ea) 13.70/5.20 new_esEs9(:%(ww160, ww161), :%(ww1900, ww1901), ed) -> new_asAs1(new_esEs0(ww160, ww1900, ed), ww161, ww1901, ed) 13.70/5.20 new_asAs1(True, ww32, ww33, app(ty_Maybe, bh)) -> new_esEs10(ww32, ww33, bh) 13.70/5.20 new_esEs0(ww160, ww1900, ty_Int) -> new_esEs2(ww160, ww1900) 13.70/5.20 new_asAs1(False, ww32, ww33, bc) -> False 13.70/5.20 new_esEs3(ww250, ww260, ty_Char) -> new_esEs13(ww250, ww260) 13.70/5.20 new_esEs0(ww160, ww1900, ty_Integer) -> new_esEs1(ww160, ww1900) 13.70/5.20 new_esEs8(ww16, ww190) -> error([]) 13.70/5.20 new_asAs1(True, ww32, ww33, ty_@0) -> new_esEs4(ww32, ww33) 13.70/5.20 new_esEs3(ww250, ww260, ty_Ordering) -> new_esEs14(ww250, ww260) 13.70/5.20 new_esEs3(ww250, ww260, ty_Integer) -> new_esEs1(ww250, ww260) 13.70/5.20 new_esEs3(ww250, ww260, app(ty_Ratio, dc)) -> new_esEs9(ww250, ww260, dc) 13.70/5.20 new_primEqNat0(Zero, Zero) -> True 13.70/5.20 new_esEs2(Neg(Succ(ww1600)), Neg(Zero)) -> False 13.70/5.20 new_esEs2(Neg(Zero), Neg(Succ(ww19000))) -> False 13.70/5.20 new_esEs3(ww250, ww260, app(ty_Maybe, dd)) -> new_esEs10(ww250, ww260, dd) 13.70/5.20 new_esEs3(ww250, ww260, ty_@0) -> new_esEs4(ww250, ww260) 13.70/5.20 new_asAs1(True, ww32, ww33, ty_Float) -> new_esEs8(ww32, ww33) 13.70/5.20 new_esEs2(Pos(Succ(ww1600)), Neg(ww1900)) -> False 13.70/5.20 new_esEs2(Neg(Succ(ww1600)), Pos(ww1900)) -> False 13.70/5.20 new_esEs3(ww250, ww260, app(app(ty_Either, cg), da)) -> new_esEs7(ww250, ww260, cg, da) 13.70/5.20 new_asAs1(True, ww32, ww33, app(app(app(ty_@3, ca), cb), cc)) -> new_esEs11(ww32, ww33, ca, cb, cc) 13.70/5.20 new_asAs1(True, ww32, ww33, ty_Bool) -> new_esEs12(ww32, ww33) 13.70/5.20 new_asAs1(True, ww32, ww33, ty_Double) -> new_esEs5(ww32, ww33) 13.70/5.20 new_esEs2(Pos(Succ(ww1600)), Pos(Succ(ww19000))) -> new_primEqNat0(ww1600, ww19000) 13.70/5.20 new_esEs2(Pos(Zero), Neg(Zero)) -> True 13.70/5.20 new_esEs2(Neg(Zero), Pos(Zero)) -> True 13.70/5.20 new_esEs14(ww16, ww190) -> error([]) 13.70/5.20 new_primEqNat0(Succ(ww16000), Succ(ww190000)) -> new_primEqNat0(ww16000, ww190000) 13.70/5.20 new_asAs1(True, ww32, ww33, ty_Integer) -> new_esEs1(ww32, ww33) 13.70/5.20 new_esEs2(Pos(Succ(ww1600)), Pos(Zero)) -> False 13.70/5.20 new_esEs2(Pos(Zero), Pos(Succ(ww19000))) -> False 13.70/5.20 new_asAs1(True, ww32, ww33, app(ty_[], bf)) -> new_esEs6(ww32, ww33, bf) 13.70/5.20 new_esEs2(Pos(Zero), Pos(Zero)) -> True 13.70/5.20 new_esEs3(ww250, ww260, ty_Float) -> new_esEs8(ww250, ww260) 13.70/5.20 13.70/5.20 The set Q consists of the following terms: 13.70/5.20 13.70/5.20 new_esEs3(x0, x1, ty_@0) 13.70/5.20 new_primEqNat0(Zero, Zero) 13.70/5.20 new_esEs3(x0, x1, ty_Char) 13.70/5.20 new_asAs1(True, x0, x1, ty_Double) 13.70/5.20 new_esEs2(Pos(Zero), Neg(Succ(x0))) 13.70/5.20 new_esEs2(Neg(Zero), Pos(Succ(x0))) 13.70/5.20 new_asAs1(True, x0, x1, ty_@0) 13.70/5.20 new_esEs3(x0, x1, app(ty_[], x2)) 13.70/5.20 new_esEs2(Neg(Zero), Neg(Succ(x0))) 13.70/5.20 new_esEs2(Pos(Succ(x0)), Pos(Zero)) 13.70/5.20 new_esEs9(:%(x0, x1), :%(x2, x3), x4) 13.70/5.20 new_esEs3(x0, x1, ty_Double) 13.70/5.20 new_esEs2(Pos(Zero), Pos(Succ(x0))) 13.70/5.20 new_asAs1(True, x0, x1, ty_Char) 13.70/5.20 new_primEqNat0(Succ(x0), Succ(x1)) 13.70/5.20 new_asAs1(True, x0, x1, ty_Ordering) 13.70/5.20 new_esEs5(x0, x1) 13.70/5.20 new_esEs3(x0, x1, ty_Ordering) 13.70/5.20 new_esEs2(Neg(Succ(x0)), Neg(Succ(x1))) 13.70/5.20 new_asAs1(False, x0, x1, x2) 13.70/5.20 new_esEs11(x0, x1, x2, x3, x4) 13.70/5.20 new_asAs1(True, x0, x1, app(ty_Maybe, x2)) 13.70/5.20 new_esEs3(x0, x1, app(app(ty_@2, x2), x3)) 13.70/5.20 new_esEs13(x0, x1) 13.70/5.20 new_esEs2(Neg(Zero), Neg(Zero)) 13.70/5.20 new_esEs3(x0, x1, ty_Int) 13.70/5.20 new_asAs1(True, x0, x1, ty_Int) 13.70/5.20 new_asAs1(True, x0, x1, app(ty_Ratio, x2)) 13.70/5.20 new_esEs8(x0, x1) 13.70/5.20 new_esEs3(x0, x1, app(ty_Maybe, x2)) 13.70/5.20 new_esEs7(x0, x1, x2, x3) 13.70/5.20 new_esEs3(x0, x1, app(ty_Ratio, x2)) 13.70/5.20 new_esEs3(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 13.70/5.20 new_esEs14(x0, x1) 13.70/5.20 new_esEs2(Pos(Zero), Neg(Zero)) 13.70/5.20 new_esEs2(Neg(Zero), Pos(Zero)) 13.70/5.20 new_esEs12(x0, x1) 13.70/5.20 new_primEqNat0(Succ(x0), Zero) 13.70/5.20 new_esEs0(x0, x1, ty_Integer) 13.70/5.20 new_esEs2(Neg(Succ(x0)), Neg(Zero)) 13.70/5.20 new_primEqNat0(Zero, Succ(x0)) 13.70/5.20 new_esEs0(x0, x1, ty_Int) 13.70/5.20 new_esEs3(x0, x1, app(app(ty_Either, x2), x3)) 13.70/5.20 new_asAs1(True, x0, x1, app(ty_[], x2)) 13.70/5.20 new_asAs1(True, x0, x1, ty_Integer) 13.70/5.20 new_esEs3(x0, x1, ty_Bool) 13.70/5.20 new_esEs3(x0, x1, ty_Integer) 13.70/5.20 new_esEs10(x0, x1, x2) 13.70/5.20 new_esEs2(Pos(Succ(x0)), Neg(x1)) 13.70/5.20 new_esEs2(Neg(Succ(x0)), Pos(x1)) 13.70/5.20 new_esEs1(x0, x1) 13.70/5.20 new_asAs1(True, x0, x1, ty_Bool) 13.70/5.20 new_asAs1(True, x0, x1, app(app(ty_Either, x2), x3)) 13.70/5.20 new_asAs1(True, x0, x1, app(app(ty_@2, x2), x3)) 13.70/5.20 new_asAs1(True, x0, x1, ty_Float) 13.70/5.20 new_esEs2(Pos(Succ(x0)), Pos(Succ(x1))) 13.70/5.20 new_esEs4(x0, x1) 13.70/5.20 new_esEs2(Pos(Zero), Pos(Zero)) 13.70/5.20 new_esEs3(x0, x1, ty_Float) 13.70/5.20 new_esEs6(x0, x1, x2) 13.70/5.20 new_esEs15(x0, x1, x2, x3) 13.70/5.20 new_asAs1(True, x0, x1, app(app(app(ty_@3, x2), x3), x4)) 13.70/5.20 13.70/5.20 We have to consider all minimal (P,Q,R)-chains. 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (17) QDPSizeChangeProof (EQUIVALENT) 13.70/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.70/5.20 13.70/5.20 From the DPs we obtained the following set of size-change graphs: 13.70/5.20 *new_asAs0(True, :(ww250, ww251), :(ww260, ww261), ba) -> new_asAs0(new_esEs3(ww250, ww260, ba), ww251, ww261, ba) 13.70/5.20 The graph contains the following edges 2 > 2, 3 > 3, 4 >= 4 13.70/5.20 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (18) 13.70/5.20 YES 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (19) 13.70/5.20 Obligation: 13.70/5.20 Q DP problem: 13.70/5.20 The TRS P consists of the following rules: 13.70/5.20 13.70/5.20 new_esEs(:%(ww160, ww161), :%(ww1900, ww1901), ba) -> new_asAs(new_esEs0(ww160, ww1900, ba), ww161, ww1901, ba) 13.70/5.20 new_asAs(True, ww32, ww33, app(ty_Ratio, bb)) -> new_esEs(ww32, ww33, bb) 13.70/5.20 13.70/5.20 The TRS R consists of the following rules: 13.70/5.20 13.70/5.20 new_esEs2(Neg(Succ(ww1600)), Neg(Succ(ww19000))) -> new_primEqNat0(ww1600, ww19000) 13.70/5.20 new_esEs2(Neg(Zero), Neg(Zero)) -> True 13.70/5.20 new_esEs2(Pos(Succ(ww1600)), Pos(Succ(ww19000))) -> new_primEqNat0(ww1600, ww19000) 13.70/5.20 new_esEs2(Pos(Zero), Neg(Succ(ww19000))) -> False 13.70/5.20 new_esEs2(Neg(Zero), Pos(Succ(ww19000))) -> False 13.70/5.20 new_esEs2(Pos(Zero), Neg(Zero)) -> True 13.70/5.20 new_esEs2(Neg(Zero), Pos(Zero)) -> True 13.70/5.20 new_primEqNat0(Zero, Zero) -> True 13.70/5.20 new_primEqNat0(Succ(ww16000), Zero) -> False 13.70/5.20 new_primEqNat0(Zero, Succ(ww190000)) -> False 13.70/5.20 new_esEs2(Neg(Succ(ww1600)), Neg(Zero)) -> False 13.70/5.20 new_esEs2(Neg(Zero), Neg(Succ(ww19000))) -> False 13.70/5.20 new_primEqNat0(Succ(ww16000), Succ(ww190000)) -> new_primEqNat0(ww16000, ww190000) 13.70/5.20 new_esEs0(ww160, ww1900, ty_Int) -> new_esEs2(ww160, ww1900) 13.70/5.20 new_esEs1(ww16, ww190) -> error([]) 13.70/5.20 new_esEs0(ww160, ww1900, ty_Integer) -> new_esEs1(ww160, ww1900) 13.70/5.20 new_esEs2(Pos(Succ(ww1600)), Neg(ww1900)) -> False 13.70/5.20 new_esEs2(Neg(Succ(ww1600)), Pos(ww1900)) -> False 13.70/5.20 new_esEs2(Pos(Succ(ww1600)), Pos(Zero)) -> False 13.70/5.20 new_esEs2(Pos(Zero), Pos(Succ(ww19000))) -> False 13.70/5.20 new_esEs2(Pos(Zero), Pos(Zero)) -> True 13.70/5.20 13.70/5.20 The set Q consists of the following terms: 13.70/5.20 13.70/5.20 new_primEqNat0(Zero, Zero) 13.70/5.20 new_esEs2(Pos(Zero), Neg(Succ(x0))) 13.70/5.20 new_esEs2(Neg(Zero), Pos(Succ(x0))) 13.70/5.20 new_esEs2(Pos(Zero), Neg(Zero)) 13.70/5.20 new_esEs2(Neg(Zero), Pos(Zero)) 13.70/5.20 new_esEs2(Neg(Succ(x0)), Neg(Succ(x1))) 13.70/5.20 new_esEs2(Pos(Succ(x0)), Neg(x1)) 13.70/5.20 new_esEs2(Neg(Succ(x0)), Pos(x1)) 13.70/5.20 new_esEs2(Neg(Zero), Neg(Succ(x0))) 13.70/5.20 new_esEs1(x0, x1) 13.70/5.20 new_esEs2(Pos(Succ(x0)), Pos(Zero)) 13.70/5.20 new_esEs2(Pos(Succ(x0)), Pos(Succ(x1))) 13.70/5.20 new_esEs2(Pos(Zero), Pos(Succ(x0))) 13.70/5.20 new_esEs2(Pos(Zero), Pos(Zero)) 13.70/5.20 new_primEqNat0(Succ(x0), Zero) 13.70/5.20 new_esEs2(Neg(Succ(x0)), Neg(Zero)) 13.70/5.20 new_esEs0(x0, x1, ty_Integer) 13.70/5.20 new_primEqNat0(Zero, Succ(x0)) 13.70/5.20 new_esEs0(x0, x1, ty_Int) 13.70/5.20 new_esEs2(Neg(Zero), Neg(Zero)) 13.70/5.20 new_primEqNat0(Succ(x0), Succ(x1)) 13.70/5.20 13.70/5.20 We have to consider all minimal (P,Q,R)-chains. 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (20) TransformationProof (EQUIVALENT) 13.70/5.20 By narrowing [LPAR04] the rule new_esEs(:%(ww160, ww161), :%(ww1900, ww1901), ba) -> new_asAs(new_esEs0(ww160, ww1900, ba), ww161, ww1901, ba) at position [0] we obtained the following new rules [LPAR04]: 13.70/5.20 13.70/5.20 (new_esEs(:%(x0, y1), :%(x1, y3), ty_Int) -> new_asAs(new_esEs2(x0, x1), y1, y3, ty_Int),new_esEs(:%(x0, y1), :%(x1, y3), ty_Int) -> new_asAs(new_esEs2(x0, x1), y1, y3, ty_Int)) 13.70/5.20 (new_esEs(:%(x0, y1), :%(x1, y3), ty_Integer) -> new_asAs(new_esEs1(x0, x1), y1, y3, ty_Integer),new_esEs(:%(x0, y1), :%(x1, y3), ty_Integer) -> new_asAs(new_esEs1(x0, x1), y1, y3, ty_Integer)) 13.70/5.20 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (21) 13.70/5.20 Obligation: 13.70/5.20 Q DP problem: 13.70/5.20 The TRS P consists of the following rules: 13.70/5.20 13.70/5.20 new_asAs(True, ww32, ww33, app(ty_Ratio, bb)) -> new_esEs(ww32, ww33, bb) 13.70/5.20 new_esEs(:%(x0, y1), :%(x1, y3), ty_Int) -> new_asAs(new_esEs2(x0, x1), y1, y3, ty_Int) 13.70/5.20 new_esEs(:%(x0, y1), :%(x1, y3), ty_Integer) -> new_asAs(new_esEs1(x0, x1), y1, y3, ty_Integer) 13.70/5.20 13.70/5.20 The TRS R consists of the following rules: 13.70/5.20 13.70/5.20 new_esEs2(Neg(Succ(ww1600)), Neg(Succ(ww19000))) -> new_primEqNat0(ww1600, ww19000) 13.70/5.20 new_esEs2(Neg(Zero), Neg(Zero)) -> True 13.70/5.20 new_esEs2(Pos(Succ(ww1600)), Pos(Succ(ww19000))) -> new_primEqNat0(ww1600, ww19000) 13.70/5.20 new_esEs2(Pos(Zero), Neg(Succ(ww19000))) -> False 13.70/5.20 new_esEs2(Neg(Zero), Pos(Succ(ww19000))) -> False 13.70/5.20 new_esEs2(Pos(Zero), Neg(Zero)) -> True 13.70/5.20 new_esEs2(Neg(Zero), Pos(Zero)) -> True 13.70/5.20 new_primEqNat0(Zero, Zero) -> True 13.70/5.20 new_primEqNat0(Succ(ww16000), Zero) -> False 13.70/5.20 new_primEqNat0(Zero, Succ(ww190000)) -> False 13.70/5.20 new_esEs2(Neg(Succ(ww1600)), Neg(Zero)) -> False 13.70/5.20 new_esEs2(Neg(Zero), Neg(Succ(ww19000))) -> False 13.70/5.20 new_primEqNat0(Succ(ww16000), Succ(ww190000)) -> new_primEqNat0(ww16000, ww190000) 13.70/5.20 new_esEs0(ww160, ww1900, ty_Int) -> new_esEs2(ww160, ww1900) 13.70/5.20 new_esEs1(ww16, ww190) -> error([]) 13.70/5.20 new_esEs0(ww160, ww1900, ty_Integer) -> new_esEs1(ww160, ww1900) 13.70/5.20 new_esEs2(Pos(Succ(ww1600)), Neg(ww1900)) -> False 13.70/5.20 new_esEs2(Neg(Succ(ww1600)), Pos(ww1900)) -> False 13.70/5.20 new_esEs2(Pos(Succ(ww1600)), Pos(Zero)) -> False 13.70/5.20 new_esEs2(Pos(Zero), Pos(Succ(ww19000))) -> False 13.70/5.20 new_esEs2(Pos(Zero), Pos(Zero)) -> True 13.70/5.20 13.70/5.20 The set Q consists of the following terms: 13.70/5.20 13.70/5.20 new_primEqNat0(Zero, Zero) 13.70/5.20 new_esEs2(Pos(Zero), Neg(Succ(x0))) 13.70/5.20 new_esEs2(Neg(Zero), Pos(Succ(x0))) 13.70/5.20 new_esEs2(Pos(Zero), Neg(Zero)) 13.70/5.20 new_esEs2(Neg(Zero), Pos(Zero)) 13.70/5.20 new_esEs2(Neg(Succ(x0)), Neg(Succ(x1))) 13.70/5.20 new_esEs2(Pos(Succ(x0)), Neg(x1)) 13.70/5.20 new_esEs2(Neg(Succ(x0)), Pos(x1)) 13.70/5.20 new_esEs2(Neg(Zero), Neg(Succ(x0))) 13.70/5.20 new_esEs1(x0, x1) 13.70/5.20 new_esEs2(Pos(Succ(x0)), Pos(Zero)) 13.70/5.20 new_esEs2(Pos(Succ(x0)), Pos(Succ(x1))) 13.70/5.20 new_esEs2(Pos(Zero), Pos(Succ(x0))) 13.70/5.20 new_esEs2(Pos(Zero), Pos(Zero)) 13.70/5.20 new_primEqNat0(Succ(x0), Zero) 13.70/5.20 new_esEs2(Neg(Succ(x0)), Neg(Zero)) 13.70/5.20 new_esEs0(x0, x1, ty_Integer) 13.70/5.20 new_primEqNat0(Zero, Succ(x0)) 13.70/5.20 new_esEs0(x0, x1, ty_Int) 13.70/5.20 new_esEs2(Neg(Zero), Neg(Zero)) 13.70/5.20 new_primEqNat0(Succ(x0), Succ(x1)) 13.70/5.20 13.70/5.20 We have to consider all minimal (P,Q,R)-chains. 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (22) DependencyGraphProof (EQUIVALENT) 13.70/5.20 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (23) 13.70/5.20 TRUE 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (24) 13.70/5.20 Obligation: 13.70/5.20 Q DP problem: 13.70/5.20 The TRS P consists of the following rules: 13.70/5.20 13.70/5.20 new_primEqNat(Succ(ww16000), Succ(ww190000)) -> new_primEqNat(ww16000, ww190000) 13.70/5.20 13.70/5.20 R is empty. 13.70/5.20 Q is empty. 13.70/5.20 We have to consider all minimal (P,Q,R)-chains. 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (25) QDPSizeChangeProof (EQUIVALENT) 13.70/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.70/5.20 13.70/5.20 From the DPs we obtained the following set of size-change graphs: 13.70/5.20 *new_primEqNat(Succ(ww16000), Succ(ww190000)) -> new_primEqNat(ww16000, ww190000) 13.70/5.20 The graph contains the following edges 1 > 1, 2 > 2 13.70/5.20 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (26) 13.70/5.20 YES 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (27) 13.70/5.20 Obligation: 13.70/5.20 Q DP problem: 13.70/5.20 The TRS P consists of the following rules: 13.70/5.20 13.70/5.20 new_isPrefixOf0(ww15, ww16, :(ww170, ww171), ww18, ba) -> new_isPrefixOf0(new_flip(ww15, ww16, ba), ww170, ww171, ww18, ba) 13.70/5.20 13.70/5.20 The TRS R consists of the following rules: 13.70/5.20 13.70/5.20 new_flip(ww15, ww16, ba) -> :(ww16, ww15) 13.70/5.20 13.70/5.20 The set Q consists of the following terms: 13.70/5.20 13.70/5.20 new_flip(x0, x1, x2) 13.70/5.20 13.70/5.20 We have to consider all minimal (P,Q,R)-chains. 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (28) TransformationProof (EQUIVALENT) 13.70/5.20 By rewriting [LPAR04] the rule new_isPrefixOf0(ww15, ww16, :(ww170, ww171), ww18, ba) -> new_isPrefixOf0(new_flip(ww15, ww16, ba), ww170, ww171, ww18, ba) at position [0] we obtained the following new rules [LPAR04]: 13.70/5.20 13.70/5.20 (new_isPrefixOf0(ww15, ww16, :(ww170, ww171), ww18, ba) -> new_isPrefixOf0(:(ww16, ww15), ww170, ww171, ww18, ba),new_isPrefixOf0(ww15, ww16, :(ww170, ww171), ww18, ba) -> new_isPrefixOf0(:(ww16, ww15), ww170, ww171, ww18, ba)) 13.70/5.20 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (29) 13.70/5.20 Obligation: 13.70/5.20 Q DP problem: 13.70/5.20 The TRS P consists of the following rules: 13.70/5.20 13.70/5.20 new_isPrefixOf0(ww15, ww16, :(ww170, ww171), ww18, ba) -> new_isPrefixOf0(:(ww16, ww15), ww170, ww171, ww18, ba) 13.70/5.20 13.70/5.20 The TRS R consists of the following rules: 13.70/5.20 13.70/5.20 new_flip(ww15, ww16, ba) -> :(ww16, ww15) 13.70/5.20 13.70/5.20 The set Q consists of the following terms: 13.70/5.20 13.70/5.20 new_flip(x0, x1, x2) 13.70/5.20 13.70/5.20 We have to consider all minimal (P,Q,R)-chains. 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (30) UsableRulesProof (EQUIVALENT) 13.70/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.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (31) 13.70/5.20 Obligation: 13.70/5.20 Q DP problem: 13.70/5.20 The TRS P consists of the following rules: 13.70/5.20 13.70/5.20 new_isPrefixOf0(ww15, ww16, :(ww170, ww171), ww18, ba) -> new_isPrefixOf0(:(ww16, ww15), ww170, ww171, ww18, ba) 13.70/5.20 13.70/5.20 R is empty. 13.70/5.20 The set Q consists of the following terms: 13.70/5.20 13.70/5.20 new_flip(x0, x1, x2) 13.70/5.20 13.70/5.20 We have to consider all minimal (P,Q,R)-chains. 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (32) QReductionProof (EQUIVALENT) 13.70/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.70/5.20 13.70/5.20 new_flip(x0, x1, x2) 13.70/5.20 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (33) 13.70/5.20 Obligation: 13.70/5.20 Q DP problem: 13.70/5.20 The TRS P consists of the following rules: 13.70/5.20 13.70/5.20 new_isPrefixOf0(ww15, ww16, :(ww170, ww171), ww18, ba) -> new_isPrefixOf0(:(ww16, ww15), ww170, ww171, ww18, ba) 13.70/5.20 13.70/5.20 R is empty. 13.70/5.20 Q is empty. 13.70/5.20 We have to consider all minimal (P,Q,R)-chains. 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (34) QDPSizeChangeProof (EQUIVALENT) 13.70/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.70/5.20 13.70/5.20 From the DPs we obtained the following set of size-change graphs: 13.70/5.20 *new_isPrefixOf0(ww15, ww16, :(ww170, ww171), ww18, ba) -> new_isPrefixOf0(:(ww16, ww15), ww170, ww171, ww18, ba) 13.70/5.20 The graph contains the following edges 3 > 2, 3 > 3, 4 >= 4, 5 >= 5 13.70/5.20 13.70/5.20 13.70/5.20 ---------------------------------------- 13.70/5.20 13.70/5.20 (35) 13.70/5.20 YES 13.70/5.25 EOF