/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.hs /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty H-Termination with start terms of the given HASKELL could not be shown: (0) HASKELL (1) LR [EQUIVALENT, 0 ms] (2) HASKELL (3) CR [EQUIVALENT, 0 ms] (4) HASKELL (5) BR [EQUIVALENT, 0 ms] (6) HASKELL (7) COR [EQUIVALENT, 0 ms] (8) HASKELL (9) LetRed [EQUIVALENT, 0 ms] (10) HASKELL (11) Narrow [SOUND, 0 ms] (12) AND (13) QDP (14) MRRProof [EQUIVALENT, 58 ms] (15) QDP (16) MRRProof [EQUIVALENT, 0 ms] (17) QDP (18) QReductionProof [EQUIVALENT, 0 ms] (19) QDP (20) MNOCProof [EQUIVALENT, 0 ms] (21) QDP (22) NonTerminationLoopProof [COMPLETE, 0 ms] (23) NO (24) QDP (25) DependencyGraphProof [EQUIVALENT, 0 ms] (26) QDP (27) QDPSizeChangeProof [EQUIVALENT, 0 ms] (28) YES (29) QDP (30) NonTerminationLoopProof [COMPLETE, 0 ms] (31) NO (32) QDP (33) NonTerminationLoopProof [COMPLETE, 0 ms] (34) NO (35) QDP (36) QDPSizeChangeProof [EQUIVALENT, 0 ms] (37) YES (38) QDP (39) NonTerminationLoopProof [COMPLETE, 0 ms] (40) NO (41) Narrow [COMPLETE, 0 ms] (42) TRUE ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) LR (EQUIVALENT) Lambda Reductions: The following Lambda expression "\x->Hugs_Catch (a x) f1 f2 s" is transformed to "hugs_catch0 a f1 f2 s x = Hugs_Catch (a x) f1 f2 s; " ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) CR (EQUIVALENT) Case Reductions: The following Case expression "case primCatchException (catch' m) of { Left exn -> f1 exn; Right (Hugs_Return a) -> s a; Right (Hugs_Error e) -> f2 e; Right (Hugs_ForkThread a b) -> Hugs_ForkThread (Hugs_Catch a f1 f2 s) b; Right (Hugs_YieldThread a) -> Hugs_YieldThread (Hugs_Catch a f1 f2 s); Right (Hugs_BlockThread a b) -> Hugs_BlockThread (hugs_catch0 a f1 f2 s) b; Right r -> r} " is transformed to "hugs_catch1 f1 s f2 (Left exn) = f1 exn; hugs_catch1 f1 s f2 (Right (Hugs_Return a)) = s a; hugs_catch1 f1 s f2 (Right (Hugs_Error e)) = f2 e; hugs_catch1 f1 s f2 (Right (Hugs_ForkThread a b)) = Hugs_ForkThread (Hugs_Catch a f1 f2 s) b; hugs_catch1 f1 s f2 (Right (Hugs_YieldThread a)) = Hugs_YieldThread (Hugs_Catch a f1 f2 s); hugs_catch1 f1 s f2 (Right (Hugs_BlockThread a b)) = Hugs_BlockThread (hugs_catch0 a f1 f2 s) b; hugs_catch1 f1 s f2 (Right r) = r; " ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (6) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (7) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " ---------------------------------------- (8) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (9) LetRed (EQUIVALENT) Let/Where Reductions: The bindings of the following Let/Where expression "hugs_catch1 f1 s f2 (primCatchException (catch' m)) where { catch' (Hugs_Catch m' f1' f2' s') = catch' (hugs_catch m' f1' f2' s'); catch' x = x; ; hugs_catch0 a f1 f2 s x = Hugs_Catch (a x) f1 f2 s; ; hugs_catch1 f1 s f2 (Left exn) = f1 exn; hugs_catch1 f1 s f2 (Right (Hugs_Return a)) = s a; hugs_catch1 f1 s f2 (Right (Hugs_Error e)) = f2 e; hugs_catch1 f1 s f2 (Right (Hugs_ForkThread a b)) = Hugs_ForkThread (Hugs_Catch a f1 f2 s) b; hugs_catch1 f1 s f2 (Right (Hugs_YieldThread a)) = Hugs_YieldThread (Hugs_Catch a f1 f2 s); hugs_catch1 f1 s f2 (Right (Hugs_BlockThread a b)) = Hugs_BlockThread (hugs_catch0 a f1 f2 s) b; hugs_catch1 f1 s f2 (Right r) = r; } " are unpacked to the following functions on top level "hugs_catchCatch' (Hugs_Catch m' f1' f2' s') = hugs_catchCatch' (hugs_catch m' f1' f2' s'); hugs_catchCatch' x = x; " "hugs_catchHugs_catch1 f1 s f2 (Left exn) = f1 exn; hugs_catchHugs_catch1 f1 s f2 (Right (Hugs_Return a)) = s a; hugs_catchHugs_catch1 f1 s f2 (Right (Hugs_Error e)) = f2 e; hugs_catchHugs_catch1 f1 s f2 (Right (Hugs_ForkThread a b)) = Hugs_ForkThread (Hugs_Catch a f1 f2 s) b; hugs_catchHugs_catch1 f1 s f2 (Right (Hugs_YieldThread a)) = Hugs_YieldThread (Hugs_Catch a f1 f2 s); hugs_catchHugs_catch1 f1 s f2 (Right (Hugs_BlockThread a b)) = Hugs_BlockThread (hugs_catchHugs_catch0 a f1 f2 s) b; hugs_catchHugs_catch1 f1 s f2 (Right r) = r; " "hugs_catchHugs_catch0 a f1 f2 s x = Hugs_Catch (a x) f1 f2 s; " ---------------------------------------- (10) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (11) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="basicIORun",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="basicIORun wu3",fontsize=16,color="burlywood",shape="triangle"];407[label="wu3/IO wu30",fontsize=10,color="white",style="solid",shape="box"];3 -> 407[label="",style="solid", color="burlywood", weight=9]; 407 -> 4[label="",style="solid", color="burlywood", weight=3]; 408[label="wu3/AProVE_IO wu30",fontsize=10,color="white",style="solid",shape="box"];3 -> 408[label="",style="solid", color="burlywood", weight=9]; 408 -> 5[label="",style="solid", color="burlywood", weight=3]; 409[label="wu3/AProVE_Exception wu30",fontsize=10,color="white",style="solid",shape="box"];3 -> 409[label="",style="solid", color="burlywood", weight=9]; 409 -> 6[label="",style="solid", color="burlywood", weight=3]; 410[label="wu3/AProVE_Error wu30",fontsize=10,color="white",style="solid",shape="box"];3 -> 410[label="",style="solid", color="burlywood", weight=9]; 410 -> 7[label="",style="solid", color="burlywood", weight=3]; 4[label="basicIORun (IO wu30)",fontsize=16,color="black",shape="box"];4 -> 8[label="",style="solid", color="black", weight=3]; 5[label="basicIORun (AProVE_IO wu30)",fontsize=16,color="black",shape="box"];5 -> 9[label="",style="solid", color="black", weight=3]; 6[label="basicIORun (AProVE_Exception wu30)",fontsize=16,color="black",shape="box"];6 -> 10[label="",style="solid", color="black", weight=3]; 7[label="basicIORun (AProVE_Error wu30)",fontsize=16,color="black",shape="box"];7 -> 11[label="",style="solid", color="black", weight=3]; 8 -> 243[label="",style="dashed", color="red", weight=0]; 8[label="loop (wu30 Hugs_Error (Hugs_Return . toObj) : [])",fontsize=16,color="magenta"];8 -> 244[label="",style="dashed", color="magenta", weight=3]; 8 -> 245[label="",style="dashed", color="magenta", weight=3]; 9[label="error []",fontsize=16,color="red",shape="box"];10[label="error []",fontsize=16,color="red",shape="box"];11[label="error []",fontsize=16,color="red",shape="box"];244[label="[]",fontsize=16,color="green",shape="box"];245[label="wu30 Hugs_Error (Hugs_Return . toObj)",fontsize=16,color="green",shape="box"];245 -> 320[label="",style="dashed", color="green", weight=3]; 245 -> 321[label="",style="dashed", color="green", weight=3]; 243[label="loop (wu8 : wu9)",fontsize=16,color="burlywood",shape="triangle"];411[label="wu8/Hugs_ExitWith wu80",fontsize=10,color="white",style="solid",shape="box"];243 -> 411[label="",style="solid", color="burlywood", weight=9]; 411 -> 322[label="",style="solid", color="burlywood", weight=3]; 412[label="wu8/Hugs_Error wu80",fontsize=10,color="white",style="solid",shape="box"];243 -> 412[label="",style="solid", color="burlywood", weight=9]; 412 -> 323[label="",style="solid", color="burlywood", weight=3]; 413[label="wu8/Hugs_Catch wu80 wu81 wu82 wu83",fontsize=10,color="white",style="solid",shape="box"];243 -> 413[label="",style="solid", color="burlywood", weight=9]; 413 -> 324[label="",style="solid", color="burlywood", weight=3]; 414[label="wu8/Hugs_ForkThread wu80 wu81",fontsize=10,color="white",style="solid",shape="box"];243 -> 414[label="",style="solid", color="burlywood", weight=9]; 414 -> 325[label="",style="solid", color="burlywood", weight=3]; 415[label="wu8/Hugs_DeadThread",fontsize=10,color="white",style="solid",shape="box"];243 -> 415[label="",style="solid", color="burlywood", weight=9]; 415 -> 326[label="",style="solid", color="burlywood", weight=3]; 416[label="wu8/Hugs_YieldThread wu80",fontsize=10,color="white",style="solid",shape="box"];243 -> 416[label="",style="solid", color="burlywood", weight=9]; 416 -> 327[label="",style="solid", color="burlywood", weight=3]; 417[label="wu8/Hugs_Return wu80",fontsize=10,color="white",style="solid",shape="box"];243 -> 417[label="",style="solid", color="burlywood", weight=9]; 417 -> 328[label="",style="solid", color="burlywood", weight=3]; 418[label="wu8/Hugs_BlockThread wu80 wu81",fontsize=10,color="white",style="solid",shape="box"];243 -> 418[label="",style="solid", color="burlywood", weight=9]; 418 -> 329[label="",style="solid", color="burlywood", weight=3]; 320[label="Hugs_Error",fontsize=16,color="green",shape="box"];321[label="Hugs_Return . toObj",fontsize=16,color="grey",shape="box"];321 -> 330[label="",style="dashed", color="grey", weight=3]; 322[label="loop (Hugs_ExitWith wu80 : wu9)",fontsize=16,color="black",shape="box"];322 -> 331[label="",style="solid", color="black", weight=3]; 323[label="loop (Hugs_Error wu80 : wu9)",fontsize=16,color="black",shape="box"];323 -> 332[label="",style="solid", color="black", weight=3]; 324[label="loop (Hugs_Catch wu80 wu81 wu82 wu83 : wu9)",fontsize=16,color="black",shape="box"];324 -> 333[label="",style="solid", color="black", weight=3]; 325[label="loop (Hugs_ForkThread wu80 wu81 : wu9)",fontsize=16,color="black",shape="box"];325 -> 334[label="",style="solid", color="black", weight=3]; 326[label="loop (Hugs_DeadThread : wu9)",fontsize=16,color="black",shape="box"];326 -> 335[label="",style="solid", color="black", weight=3]; 327[label="loop (Hugs_YieldThread wu80 : wu9)",fontsize=16,color="black",shape="box"];327 -> 336[label="",style="solid", color="black", weight=3]; 328[label="loop (Hugs_Return wu80 : wu9)",fontsize=16,color="burlywood",shape="box"];419[label="wu9/wu90 : wu91",fontsize=10,color="white",style="solid",shape="box"];328 -> 419[label="",style="solid", color="burlywood", weight=9]; 419 -> 337[label="",style="solid", color="burlywood", weight=3]; 420[label="wu9/[]",fontsize=10,color="white",style="solid",shape="box"];328 -> 420[label="",style="solid", color="burlywood", weight=9]; 420 -> 338[label="",style="solid", color="burlywood", weight=3]; 329[label="loop (Hugs_BlockThread wu80 wu81 : wu9)",fontsize=16,color="black",shape="box"];329 -> 339[label="",style="solid", color="black", weight=3]; 330[label="Hugs_Return . toObj",fontsize=16,color="black",shape="triangle"];330 -> 340[label="",style="solid", color="black", weight=3]; 331[label="Finished_ExitWith wu80",fontsize=16,color="green",shape="box"];332[label="Finished_Error wu80",fontsize=16,color="green",shape="box"];333 -> 243[label="",style="dashed", color="red", weight=0]; 333[label="loop (hugs_catch wu80 wu81 wu82 wu83 : wu9)",fontsize=16,color="magenta"];333 -> 341[label="",style="dashed", color="magenta", weight=3]; 334 -> 243[label="",style="dashed", color="red", weight=0]; 334[label="loop (wu80 : wu81 : wu9)",fontsize=16,color="magenta"];334 -> 342[label="",style="dashed", color="magenta", weight=3]; 334 -> 343[label="",style="dashed", color="magenta", weight=3]; 335[label="loop wu9",fontsize=16,color="burlywood",shape="triangle"];421[label="wu9/wu90 : wu91",fontsize=10,color="white",style="solid",shape="box"];335 -> 421[label="",style="solid", color="burlywood", weight=9]; 421 -> 344[label="",style="solid", color="burlywood", weight=3]; 422[label="wu9/[]",fontsize=10,color="white",style="solid",shape="box"];335 -> 422[label="",style="solid", color="burlywood", weight=9]; 422 -> 345[label="",style="solid", color="burlywood", weight=3]; 336 -> 335[label="",style="dashed", color="red", weight=0]; 336[label="loop (wu9 ++ wu80 : [])",fontsize=16,color="magenta"];336 -> 346[label="",style="dashed", color="magenta", weight=3]; 337[label="loop (Hugs_Return wu80 : wu90 : wu91)",fontsize=16,color="black",shape="box"];337 -> 347[label="",style="solid", color="black", weight=3]; 338[label="loop (Hugs_Return wu80 : [])",fontsize=16,color="black",shape="box"];338 -> 348[label="",style="solid", color="black", weight=3]; 339 -> 335[label="",style="dashed", color="red", weight=0]; 339[label="loop (wu81 wu80 : wu9)",fontsize=16,color="magenta"];339 -> 349[label="",style="dashed", color="magenta", weight=3]; 340[label="Hugs_Return (toObj wu10)",fontsize=16,color="green",shape="box"];340 -> 350[label="",style="dashed", color="green", weight=3]; 341[label="hugs_catch wu80 wu81 wu82 wu83",fontsize=16,color="black",shape="triangle"];341 -> 351[label="",style="solid", color="black", weight=3]; 342[label="wu81 : wu9",fontsize=16,color="green",shape="box"];343[label="wu80",fontsize=16,color="green",shape="box"];344[label="loop (wu90 : wu91)",fontsize=16,color="burlywood",shape="box"];423[label="wu90/Hugs_ExitWith wu900",fontsize=10,color="white",style="solid",shape="box"];344 -> 423[label="",style="solid", color="burlywood", weight=9]; 423 -> 352[label="",style="solid", color="burlywood", weight=3]; 424[label="wu90/Hugs_Error wu900",fontsize=10,color="white",style="solid",shape="box"];344 -> 424[label="",style="solid", color="burlywood", weight=9]; 424 -> 353[label="",style="solid", color="burlywood", weight=3]; 425[label="wu90/Hugs_Catch wu900 wu901 wu902 wu903",fontsize=10,color="white",style="solid",shape="box"];344 -> 425[label="",style="solid", color="burlywood", weight=9]; 425 -> 354[label="",style="solid", color="burlywood", weight=3]; 426[label="wu90/Hugs_ForkThread wu900 wu901",fontsize=10,color="white",style="solid",shape="box"];344 -> 426[label="",style="solid", color="burlywood", weight=9]; 426 -> 355[label="",style="solid", color="burlywood", weight=3]; 427[label="wu90/Hugs_DeadThread",fontsize=10,color="white",style="solid",shape="box"];344 -> 427[label="",style="solid", color="burlywood", weight=9]; 427 -> 356[label="",style="solid", color="burlywood", weight=3]; 428[label="wu90/Hugs_YieldThread wu900",fontsize=10,color="white",style="solid",shape="box"];344 -> 428[label="",style="solid", color="burlywood", weight=9]; 428 -> 357[label="",style="solid", color="burlywood", weight=3]; 429[label="wu90/Hugs_Return wu900",fontsize=10,color="white",style="solid",shape="box"];344 -> 429[label="",style="solid", color="burlywood", weight=9]; 429 -> 358[label="",style="solid", color="burlywood", weight=3]; 430[label="wu90/Hugs_BlockThread wu900 wu901",fontsize=10,color="white",style="solid",shape="box"];344 -> 430[label="",style="solid", color="burlywood", weight=9]; 430 -> 359[label="",style="solid", color="burlywood", weight=3]; 345[label="loop []",fontsize=16,color="black",shape="box"];345 -> 360[label="",style="solid", color="black", weight=3]; 346[label="wu9 ++ wu80 : []",fontsize=16,color="burlywood",shape="triangle"];431[label="wu9/wu90 : wu91",fontsize=10,color="white",style="solid",shape="box"];346 -> 431[label="",style="solid", color="burlywood", weight=9]; 431 -> 361[label="",style="solid", color="burlywood", weight=3]; 432[label="wu9/[]",fontsize=10,color="white",style="solid",shape="box"];346 -> 432[label="",style="solid", color="burlywood", weight=9]; 432 -> 362[label="",style="solid", color="burlywood", weight=3]; 347 -> 335[label="",style="dashed", color="red", weight=0]; 347[label="loop ((wu90 : wu91) ++ Hugs_Return wu80 : [])",fontsize=16,color="magenta"];347 -> 363[label="",style="dashed", color="magenta", weight=3]; 348[label="Finished_Return (fromObj wu80)",fontsize=16,color="green",shape="box"];348 -> 364[label="",style="dashed", color="green", weight=3]; 349[label="wu81 wu80 : wu9",fontsize=16,color="green",shape="box"];349 -> 365[label="",style="dashed", color="green", weight=3]; 350[label="toObj wu10",fontsize=16,color="black",shape="triangle"];350 -> 366[label="",style="solid", color="black", weight=3]; 351[label="hugs_catchHugs_catch1 wu81 wu83 wu82 (primCatchException (hugs_catchCatch' wu80))",fontsize=16,color="black",shape="triangle"];351 -> 367[label="",style="solid", color="black", weight=3]; 352[label="loop (Hugs_ExitWith wu900 : wu91)",fontsize=16,color="black",shape="box"];352 -> 368[label="",style="solid", color="black", weight=3]; 353[label="loop (Hugs_Error wu900 : wu91)",fontsize=16,color="black",shape="box"];353 -> 369[label="",style="solid", color="black", weight=3]; 354[label="loop (Hugs_Catch wu900 wu901 wu902 wu903 : wu91)",fontsize=16,color="black",shape="box"];354 -> 370[label="",style="solid", color="black", weight=3]; 355[label="loop (Hugs_ForkThread wu900 wu901 : wu91)",fontsize=16,color="black",shape="box"];355 -> 371[label="",style="solid", color="black", weight=3]; 356[label="loop (Hugs_DeadThread : wu91)",fontsize=16,color="black",shape="box"];356 -> 372[label="",style="solid", color="black", weight=3]; 357[label="loop (Hugs_YieldThread wu900 : wu91)",fontsize=16,color="black",shape="box"];357 -> 373[label="",style="solid", color="black", weight=3]; 358[label="loop (Hugs_Return wu900 : wu91)",fontsize=16,color="burlywood",shape="box"];433[label="wu91/wu910 : wu911",fontsize=10,color="white",style="solid",shape="box"];358 -> 433[label="",style="solid", color="burlywood", weight=9]; 433 -> 374[label="",style="solid", color="burlywood", weight=3]; 434[label="wu91/[]",fontsize=10,color="white",style="solid",shape="box"];358 -> 434[label="",style="solid", color="burlywood", weight=9]; 434 -> 375[label="",style="solid", color="burlywood", weight=3]; 359[label="loop (Hugs_BlockThread wu900 wu901 : wu91)",fontsize=16,color="black",shape="box"];359 -> 376[label="",style="solid", color="black", weight=3]; 360[label="error []",fontsize=16,color="black",shape="box"];360 -> 377[label="",style="solid", color="black", weight=3]; 361[label="(wu90 : wu91) ++ wu80 : []",fontsize=16,color="black",shape="box"];361 -> 378[label="",style="solid", color="black", weight=3]; 362[label="[] ++ wu80 : []",fontsize=16,color="black",shape="box"];362 -> 379[label="",style="solid", color="black", weight=3]; 363 -> 346[label="",style="dashed", color="red", weight=0]; 363[label="(wu90 : wu91) ++ Hugs_Return wu80 : []",fontsize=16,color="magenta"];363 -> 380[label="",style="dashed", color="magenta", weight=3]; 363 -> 381[label="",style="dashed", color="magenta", weight=3]; 364[label="fromObj wu80",fontsize=16,color="black",shape="triangle"];364 -> 382[label="",style="solid", color="black", weight=3]; 365[label="wu81 wu80",fontsize=16,color="green",shape="box"];365 -> 383[label="",style="dashed", color="green", weight=3]; 366 -> 350[label="",style="dashed", color="red", weight=0]; 366[label="toObj wu10",fontsize=16,color="magenta"];367 -> 351[label="",style="dashed", color="red", weight=0]; 367[label="hugs_catchHugs_catch1 wu81 wu83 wu82 (primCatchException (hugs_catchCatch' wu80))",fontsize=16,color="magenta"];368[label="Finished_ExitWith wu900",fontsize=16,color="green",shape="box"];369[label="Finished_Error wu900",fontsize=16,color="green",shape="box"];370 -> 335[label="",style="dashed", color="red", weight=0]; 370[label="loop (hugs_catch wu900 wu901 wu902 wu903 : wu91)",fontsize=16,color="magenta"];370 -> 384[label="",style="dashed", color="magenta", weight=3]; 371 -> 335[label="",style="dashed", color="red", weight=0]; 371[label="loop (wu900 : wu901 : wu91)",fontsize=16,color="magenta"];371 -> 385[label="",style="dashed", color="magenta", weight=3]; 372 -> 335[label="",style="dashed", color="red", weight=0]; 372[label="loop wu91",fontsize=16,color="magenta"];372 -> 386[label="",style="dashed", color="magenta", weight=3]; 373 -> 335[label="",style="dashed", color="red", weight=0]; 373[label="loop (wu91 ++ wu900 : [])",fontsize=16,color="magenta"];373 -> 387[label="",style="dashed", color="magenta", weight=3]; 374[label="loop (Hugs_Return wu900 : wu910 : wu911)",fontsize=16,color="black",shape="box"];374 -> 388[label="",style="solid", color="black", weight=3]; 375[label="loop (Hugs_Return wu900 : [])",fontsize=16,color="black",shape="box"];375 -> 389[label="",style="solid", color="black", weight=3]; 376 -> 335[label="",style="dashed", color="red", weight=0]; 376[label="loop (wu901 wu900 : wu91)",fontsize=16,color="magenta"];376 -> 390[label="",style="dashed", color="magenta", weight=3]; 377[label="error []",fontsize=16,color="red",shape="box"];378[label="wu90 : wu91 ++ wu80 : []",fontsize=16,color="green",shape="box"];378 -> 391[label="",style="dashed", color="green", weight=3]; 379[label="wu80 : []",fontsize=16,color="green",shape="box"];380[label="wu90 : wu91",fontsize=16,color="green",shape="box"];381[label="Hugs_Return wu80",fontsize=16,color="green",shape="box"];382 -> 364[label="",style="dashed", color="red", weight=0]; 382[label="fromObj wu80",fontsize=16,color="magenta"];383[label="wu80",fontsize=16,color="green",shape="box"];384[label="hugs_catch wu900 wu901 wu902 wu903 : wu91",fontsize=16,color="green",shape="box"];384 -> 392[label="",style="dashed", color="green", weight=3]; 385[label="wu900 : wu901 : wu91",fontsize=16,color="green",shape="box"];386[label="wu91",fontsize=16,color="green",shape="box"];387 -> 346[label="",style="dashed", color="red", weight=0]; 387[label="wu91 ++ wu900 : []",fontsize=16,color="magenta"];387 -> 393[label="",style="dashed", color="magenta", weight=3]; 387 -> 394[label="",style="dashed", color="magenta", weight=3]; 388 -> 335[label="",style="dashed", color="red", weight=0]; 388[label="loop ((wu910 : wu911) ++ Hugs_Return wu900 : [])",fontsize=16,color="magenta"];388 -> 395[label="",style="dashed", color="magenta", weight=3]; 389[label="Finished_Return (fromObj wu900)",fontsize=16,color="green",shape="box"];389 -> 396[label="",style="dashed", color="green", weight=3]; 390[label="wu901 wu900 : wu91",fontsize=16,color="green",shape="box"];390 -> 397[label="",style="dashed", color="green", weight=3]; 391 -> 346[label="",style="dashed", color="red", weight=0]; 391[label="wu91 ++ wu80 : []",fontsize=16,color="magenta"];391 -> 398[label="",style="dashed", color="magenta", weight=3]; 392 -> 341[label="",style="dashed", color="red", weight=0]; 392[label="hugs_catch wu900 wu901 wu902 wu903",fontsize=16,color="magenta"];392 -> 399[label="",style="dashed", color="magenta", weight=3]; 392 -> 400[label="",style="dashed", color="magenta", weight=3]; 392 -> 401[label="",style="dashed", color="magenta", weight=3]; 392 -> 402[label="",style="dashed", color="magenta", weight=3]; 393[label="wu91",fontsize=16,color="green",shape="box"];394[label="wu900",fontsize=16,color="green",shape="box"];395 -> 346[label="",style="dashed", color="red", weight=0]; 395[label="(wu910 : wu911) ++ Hugs_Return wu900 : []",fontsize=16,color="magenta"];395 -> 403[label="",style="dashed", color="magenta", weight=3]; 395 -> 404[label="",style="dashed", color="magenta", weight=3]; 396 -> 364[label="",style="dashed", color="red", weight=0]; 396[label="fromObj wu900",fontsize=16,color="magenta"];396 -> 405[label="",style="dashed", color="magenta", weight=3]; 397[label="wu901 wu900",fontsize=16,color="green",shape="box"];397 -> 406[label="",style="dashed", color="green", weight=3]; 398[label="wu91",fontsize=16,color="green",shape="box"];399[label="wu902",fontsize=16,color="green",shape="box"];400[label="wu903",fontsize=16,color="green",shape="box"];401[label="wu900",fontsize=16,color="green",shape="box"];402[label="wu901",fontsize=16,color="green",shape="box"];403[label="wu910 : wu911",fontsize=16,color="green",shape="box"];404[label="Hugs_Return wu900",fontsize=16,color="green",shape="box"];405[label="wu900",fontsize=16,color="green",shape="box"];406[label="wu900",fontsize=16,color="green",shape="box"];} ---------------------------------------- (12) Complex Obligation (AND) ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_loop(h) -> new_loop(h) The TRS R consists of the following rules: new_psPs0(:(wu90, wu91), wu80) -> :(wu90, new_psPs0(wu91, wu80)) new_hugs_catch(wu80, wu81, wu82, wu83) -> new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) new_psPs0([], wu80) -> :(wu80, []) new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) -> new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) The set Q consists of the following terms: new_psPs0(:(x0, x1), x2) new_hugs_catchHugs_catch10(x0, x1, x2, x3) new_hugs_catch(x0, x1, x2, x3) new_psPs0([], x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented rules of the TRS R: new_psPs0(:(wu90, wu91), wu80) -> :(wu90, new_psPs0(wu91, wu80)) new_psPs0([], wu80) -> :(wu80, []) Used ordering: Polynomial interpretation [POLO]: POL(:(x_1, x_2)) = 1 + x_1 + x_2 POL([]) = 2 POL(new_hugs_catch(x_1, x_2, x_3, x_4)) = 1 + 2*x_1 + 2*x_2 + 2*x_3 + x_4 POL(new_hugs_catchHugs_catch10(x_1, x_2, x_3, x_4)) = 1 + x_1 + x_2 + x_3 + x_4 POL(new_loop(x_1)) = x_1 POL(new_psPs0(x_1, x_2)) = 2 + 2*x_1 + x_2 ---------------------------------------- (15) Obligation: Q DP problem: The TRS P consists of the following rules: new_loop(h) -> new_loop(h) The TRS R consists of the following rules: new_hugs_catch(wu80, wu81, wu82, wu83) -> new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) -> new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) The set Q consists of the following terms: new_psPs0(:(x0, x1), x2) new_hugs_catchHugs_catch10(x0, x1, x2, x3) new_hugs_catch(x0, x1, x2, x3) new_psPs0([], x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (16) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented rules of the TRS R: new_hugs_catch(wu80, wu81, wu82, wu83) -> new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) Used ordering: Polynomial interpretation [POLO]: POL(new_hugs_catch(x_1, x_2, x_3, x_4)) = 2 + 2*x_1 + 2*x_2 + 2*x_3 + 2*x_4 POL(new_hugs_catchHugs_catch10(x_1, x_2, x_3, x_4)) = 1 + x_1 + x_2 + x_3 + x_4 POL(new_loop(x_1)) = x_1 ---------------------------------------- (17) Obligation: Q DP problem: The TRS P consists of the following rules: new_loop(h) -> new_loop(h) The TRS R consists of the following rules: new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) -> new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) The set Q consists of the following terms: new_psPs0(:(x0, x1), x2) new_hugs_catchHugs_catch10(x0, x1, x2, x3) new_hugs_catch(x0, x1, x2, x3) new_psPs0([], x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (18) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_psPs0(:(x0, x1), x2) new_hugs_catch(x0, x1, x2, x3) new_psPs0([], x0) ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: new_loop(h) -> new_loop(h) The TRS R consists of the following rules: new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) -> new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) The set Q consists of the following terms: new_hugs_catchHugs_catch10(x0, x1, x2, x3) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (20) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: new_loop(h) -> new_loop(h) The TRS R consists of the following rules: new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) -> new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (22) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = new_loop(h) evaluates to t =new_loop(h) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [ ] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from new_loop(h) to new_loop(h). ---------------------------------------- (23) NO ---------------------------------------- (24) Obligation: Q DP problem: The TRS P consists of the following rules: new_loop0(Hugs_ForkThread(wu80, wu81), wu9, h) -> new_loop0(wu80, :(wu81, wu9), h) new_loop0(Hugs_Catch(wu80, wu81, wu82, wu83), wu9, h) -> new_loop0(new_hugs_catch(wu80, wu81, wu82, wu83), wu9, h) The TRS R consists of the following rules: new_hugs_catch(wu80, wu81, wu82, wu83) -> new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) -> new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) The set Q consists of the following terms: new_hugs_catchHugs_catch10(x0, x1, x2, x3) new_hugs_catch(x0, x1, x2, x3) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (25) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (26) Obligation: Q DP problem: The TRS P consists of the following rules: new_loop0(Hugs_ForkThread(wu80, wu81), wu9, h) -> new_loop0(wu80, :(wu81, wu9), h) The TRS R consists of the following rules: new_hugs_catch(wu80, wu81, wu82, wu83) -> new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) -> new_hugs_catchHugs_catch10(wu81, wu83, wu82, wu80) The set Q consists of the following terms: new_hugs_catchHugs_catch10(x0, x1, x2, x3) new_hugs_catch(x0, x1, x2, x3) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (27) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_loop0(Hugs_ForkThread(wu80, wu81), wu9, h) -> new_loop0(wu80, :(wu81, wu9), h) The graph contains the following edges 1 > 1, 3 >= 3 ---------------------------------------- (28) YES ---------------------------------------- (29) Obligation: Q DP problem: The TRS P consists of the following rules: new_toObj(wu10, h) -> new_toObj(wu10, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (30) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = new_toObj(wu10, h) evaluates to t =new_toObj(wu10, h) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [ ] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from new_toObj(wu10, h) to new_toObj(wu10, h). ---------------------------------------- (31) NO ---------------------------------------- (32) Obligation: Q DP problem: The TRS P consists of the following rules: new_hugs_catchHugs_catch1(wu81, wu83, wu82, wu80) -> new_hugs_catchHugs_catch1(wu81, wu83, wu82, wu80) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (33) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = new_hugs_catchHugs_catch1(wu81, wu83, wu82, wu80) evaluates to t =new_hugs_catchHugs_catch1(wu81, wu83, wu82, wu80) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [ ] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from new_hugs_catchHugs_catch1(wu81, wu83, wu82, wu80) to new_hugs_catchHugs_catch1(wu81, wu83, wu82, wu80). ---------------------------------------- (34) NO ---------------------------------------- (35) Obligation: Q DP problem: The TRS P consists of the following rules: new_psPs(:(wu90, wu91), wu80) -> new_psPs(wu91, wu80) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (36) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_psPs(:(wu90, wu91), wu80) -> new_psPs(wu91, wu80) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (37) YES ---------------------------------------- (38) Obligation: Q DP problem: The TRS P consists of the following rules: new_fromObj(wu80, h) -> new_fromObj(wu80, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (39) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = new_fromObj(wu80, h) evaluates to t =new_fromObj(wu80, h) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [ ] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from new_fromObj(wu80, h) to new_fromObj(wu80, h). ---------------------------------------- (40) NO ---------------------------------------- (41) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="basicIORun",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="basicIORun wu3",fontsize=16,color="burlywood",shape="triangle"];407[label="wu3/IO wu30",fontsize=10,color="white",style="solid",shape="box"];3 -> 407[label="",style="solid", color="burlywood", weight=9]; 407 -> 4[label="",style="solid", color="burlywood", weight=3]; 408[label="wu3/AProVE_IO wu30",fontsize=10,color="white",style="solid",shape="box"];3 -> 408[label="",style="solid", color="burlywood", weight=9]; 408 -> 5[label="",style="solid", color="burlywood", weight=3]; 409[label="wu3/AProVE_Exception wu30",fontsize=10,color="white",style="solid",shape="box"];3 -> 409[label="",style="solid", color="burlywood", weight=9]; 409 -> 6[label="",style="solid", color="burlywood", weight=3]; 410[label="wu3/AProVE_Error wu30",fontsize=10,color="white",style="solid",shape="box"];3 -> 410[label="",style="solid", color="burlywood", weight=9]; 410 -> 7[label="",style="solid", color="burlywood", weight=3]; 4[label="basicIORun (IO wu30)",fontsize=16,color="black",shape="box"];4 -> 8[label="",style="solid", color="black", weight=3]; 5[label="basicIORun (AProVE_IO wu30)",fontsize=16,color="black",shape="box"];5 -> 9[label="",style="solid", color="black", weight=3]; 6[label="basicIORun (AProVE_Exception wu30)",fontsize=16,color="black",shape="box"];6 -> 10[label="",style="solid", color="black", weight=3]; 7[label="basicIORun (AProVE_Error wu30)",fontsize=16,color="black",shape="box"];7 -> 11[label="",style="solid", color="black", weight=3]; 8 -> 243[label="",style="dashed", color="red", weight=0]; 8[label="loop (wu30 Hugs_Error (Hugs_Return . toObj) : [])",fontsize=16,color="magenta"];8 -> 244[label="",style="dashed", color="magenta", weight=3]; 8 -> 245[label="",style="dashed", color="magenta", weight=3]; 9[label="error []",fontsize=16,color="red",shape="box"];10[label="error []",fontsize=16,color="red",shape="box"];11[label="error []",fontsize=16,color="red",shape="box"];244[label="[]",fontsize=16,color="green",shape="box"];245[label="wu30 Hugs_Error (Hugs_Return . toObj)",fontsize=16,color="green",shape="box"];245 -> 320[label="",style="dashed", color="green", weight=3]; 245 -> 321[label="",style="dashed", color="green", weight=3]; 243[label="loop (wu8 : wu9)",fontsize=16,color="burlywood",shape="triangle"];411[label="wu8/Hugs_ExitWith wu80",fontsize=10,color="white",style="solid",shape="box"];243 -> 411[label="",style="solid", color="burlywood", weight=9]; 411 -> 322[label="",style="solid", color="burlywood", weight=3]; 412[label="wu8/Hugs_Error wu80",fontsize=10,color="white",style="solid",shape="box"];243 -> 412[label="",style="solid", color="burlywood", weight=9]; 412 -> 323[label="",style="solid", color="burlywood", weight=3]; 413[label="wu8/Hugs_Catch wu80 wu81 wu82 wu83",fontsize=10,color="white",style="solid",shape="box"];243 -> 413[label="",style="solid", color="burlywood", weight=9]; 413 -> 324[label="",style="solid", color="burlywood", weight=3]; 414[label="wu8/Hugs_ForkThread wu80 wu81",fontsize=10,color="white",style="solid",shape="box"];243 -> 414[label="",style="solid", color="burlywood", weight=9]; 414 -> 325[label="",style="solid", color="burlywood", weight=3]; 415[label="wu8/Hugs_DeadThread",fontsize=10,color="white",style="solid",shape="box"];243 -> 415[label="",style="solid", color="burlywood", weight=9]; 415 -> 326[label="",style="solid", color="burlywood", weight=3]; 416[label="wu8/Hugs_YieldThread wu80",fontsize=10,color="white",style="solid",shape="box"];243 -> 416[label="",style="solid", color="burlywood", weight=9]; 416 -> 327[label="",style="solid", color="burlywood", weight=3]; 417[label="wu8/Hugs_Return wu80",fontsize=10,color="white",style="solid",shape="box"];243 -> 417[label="",style="solid", color="burlywood", weight=9]; 417 -> 328[label="",style="solid", color="burlywood", weight=3]; 418[label="wu8/Hugs_BlockThread wu80 wu81",fontsize=10,color="white",style="solid",shape="box"];243 -> 418[label="",style="solid", color="burlywood", weight=9]; 418 -> 329[label="",style="solid", color="burlywood", weight=3]; 320[label="Hugs_Error",fontsize=16,color="green",shape="box"];321[label="Hugs_Return . toObj",fontsize=16,color="grey",shape="box"];321 -> 330[label="",style="dashed", color="grey", weight=3]; 322[label="loop (Hugs_ExitWith wu80 : wu9)",fontsize=16,color="black",shape="box"];322 -> 331[label="",style="solid", color="black", weight=3]; 323[label="loop (Hugs_Error wu80 : wu9)",fontsize=16,color="black",shape="box"];323 -> 332[label="",style="solid", color="black", weight=3]; 324[label="loop (Hugs_Catch wu80 wu81 wu82 wu83 : wu9)",fontsize=16,color="black",shape="box"];324 -> 333[label="",style="solid", color="black", weight=3]; 325[label="loop (Hugs_ForkThread wu80 wu81 : wu9)",fontsize=16,color="black",shape="box"];325 -> 334[label="",style="solid", color="black", weight=3]; 326[label="loop (Hugs_DeadThread : wu9)",fontsize=16,color="black",shape="box"];326 -> 335[label="",style="solid", color="black", weight=3]; 327[label="loop (Hugs_YieldThread wu80 : wu9)",fontsize=16,color="black",shape="box"];327 -> 336[label="",style="solid", color="black", weight=3]; 328[label="loop (Hugs_Return wu80 : wu9)",fontsize=16,color="burlywood",shape="box"];419[label="wu9/wu90 : wu91",fontsize=10,color="white",style="solid",shape="box"];328 -> 419[label="",style="solid", color="burlywood", weight=9]; 419 -> 337[label="",style="solid", color="burlywood", weight=3]; 420[label="wu9/[]",fontsize=10,color="white",style="solid",shape="box"];328 -> 420[label="",style="solid", color="burlywood", weight=9]; 420 -> 338[label="",style="solid", color="burlywood", weight=3]; 329[label="loop (Hugs_BlockThread wu80 wu81 : wu9)",fontsize=16,color="black",shape="box"];329 -> 339[label="",style="solid", color="black", weight=3]; 330[label="Hugs_Return . toObj",fontsize=16,color="black",shape="triangle"];330 -> 340[label="",style="solid", color="black", weight=3]; 331[label="Finished_ExitWith wu80",fontsize=16,color="green",shape="box"];332[label="Finished_Error wu80",fontsize=16,color="green",shape="box"];333 -> 243[label="",style="dashed", color="red", weight=0]; 333[label="loop (hugs_catch wu80 wu81 wu82 wu83 : wu9)",fontsize=16,color="magenta"];333 -> 341[label="",style="dashed", color="magenta", weight=3]; 334 -> 243[label="",style="dashed", color="red", weight=0]; 334[label="loop (wu80 : wu81 : wu9)",fontsize=16,color="magenta"];334 -> 342[label="",style="dashed", color="magenta", weight=3]; 334 -> 343[label="",style="dashed", color="magenta", weight=3]; 335[label="loop wu9",fontsize=16,color="burlywood",shape="triangle"];421[label="wu9/wu90 : wu91",fontsize=10,color="white",style="solid",shape="box"];335 -> 421[label="",style="solid", color="burlywood", weight=9]; 421 -> 344[label="",style="solid", color="burlywood", weight=3]; 422[label="wu9/[]",fontsize=10,color="white",style="solid",shape="box"];335 -> 422[label="",style="solid", color="burlywood", weight=9]; 422 -> 345[label="",style="solid", color="burlywood", weight=3]; 336 -> 335[label="",style="dashed", color="red", weight=0]; 336[label="loop (wu9 ++ wu80 : [])",fontsize=16,color="magenta"];336 -> 346[label="",style="dashed", color="magenta", weight=3]; 337[label="loop (Hugs_Return wu80 : wu90 : wu91)",fontsize=16,color="black",shape="box"];337 -> 347[label="",style="solid", color="black", weight=3]; 338[label="loop (Hugs_Return wu80 : [])",fontsize=16,color="black",shape="box"];338 -> 348[label="",style="solid", color="black", weight=3]; 339 -> 335[label="",style="dashed", color="red", weight=0]; 339[label="loop (wu81 wu80 : wu9)",fontsize=16,color="magenta"];339 -> 349[label="",style="dashed", color="magenta", weight=3]; 340[label="Hugs_Return (toObj wu10)",fontsize=16,color="green",shape="box"];340 -> 350[label="",style="dashed", color="green", weight=3]; 341[label="hugs_catch wu80 wu81 wu82 wu83",fontsize=16,color="black",shape="triangle"];341 -> 351[label="",style="solid", color="black", weight=3]; 342[label="wu81 : wu9",fontsize=16,color="green",shape="box"];343[label="wu80",fontsize=16,color="green",shape="box"];344[label="loop (wu90 : wu91)",fontsize=16,color="burlywood",shape="box"];423[label="wu90/Hugs_ExitWith wu900",fontsize=10,color="white",style="solid",shape="box"];344 -> 423[label="",style="solid", color="burlywood", weight=9]; 423 -> 352[label="",style="solid", color="burlywood", weight=3]; 424[label="wu90/Hugs_Error wu900",fontsize=10,color="white",style="solid",shape="box"];344 -> 424[label="",style="solid", color="burlywood", weight=9]; 424 -> 353[label="",style="solid", color="burlywood", weight=3]; 425[label="wu90/Hugs_Catch wu900 wu901 wu902 wu903",fontsize=10,color="white",style="solid",shape="box"];344 -> 425[label="",style="solid", color="burlywood", weight=9]; 425 -> 354[label="",style="solid", color="burlywood", weight=3]; 426[label="wu90/Hugs_ForkThread wu900 wu901",fontsize=10,color="white",style="solid",shape="box"];344 -> 426[label="",style="solid", color="burlywood", weight=9]; 426 -> 355[label="",style="solid", color="burlywood", weight=3]; 427[label="wu90/Hugs_DeadThread",fontsize=10,color="white",style="solid",shape="box"];344 -> 427[label="",style="solid", color="burlywood", weight=9]; 427 -> 356[label="",style="solid", color="burlywood", weight=3]; 428[label="wu90/Hugs_YieldThread wu900",fontsize=10,color="white",style="solid",shape="box"];344 -> 428[label="",style="solid", color="burlywood", weight=9]; 428 -> 357[label="",style="solid", color="burlywood", weight=3]; 429[label="wu90/Hugs_Return wu900",fontsize=10,color="white",style="solid",shape="box"];344 -> 429[label="",style="solid", color="burlywood", weight=9]; 429 -> 358[label="",style="solid", color="burlywood", weight=3]; 430[label="wu90/Hugs_BlockThread wu900 wu901",fontsize=10,color="white",style="solid",shape="box"];344 -> 430[label="",style="solid", color="burlywood", weight=9]; 430 -> 359[label="",style="solid", color="burlywood", weight=3]; 345[label="loop []",fontsize=16,color="black",shape="box"];345 -> 360[label="",style="solid", color="black", weight=3]; 346[label="wu9 ++ wu80 : []",fontsize=16,color="burlywood",shape="triangle"];431[label="wu9/wu90 : wu91",fontsize=10,color="white",style="solid",shape="box"];346 -> 431[label="",style="solid", color="burlywood", weight=9]; 431 -> 361[label="",style="solid", color="burlywood", weight=3]; 432[label="wu9/[]",fontsize=10,color="white",style="solid",shape="box"];346 -> 432[label="",style="solid", color="burlywood", weight=9]; 432 -> 362[label="",style="solid", color="burlywood", weight=3]; 347 -> 335[label="",style="dashed", color="red", weight=0]; 347[label="loop ((wu90 : wu91) ++ Hugs_Return wu80 : [])",fontsize=16,color="magenta"];347 -> 363[label="",style="dashed", color="magenta", weight=3]; 348[label="Finished_Return (fromObj wu80)",fontsize=16,color="green",shape="box"];348 -> 364[label="",style="dashed", color="green", weight=3]; 349[label="wu81 wu80 : wu9",fontsize=16,color="green",shape="box"];349 -> 365[label="",style="dashed", color="green", weight=3]; 350[label="toObj wu10",fontsize=16,color="black",shape="triangle"];350 -> 366[label="",style="solid", color="black", weight=3]; 351[label="hugs_catchHugs_catch1 wu81 wu83 wu82 (primCatchException (hugs_catchCatch' wu80))",fontsize=16,color="black",shape="triangle"];351 -> 367[label="",style="solid", color="black", weight=3]; 352[label="loop (Hugs_ExitWith wu900 : wu91)",fontsize=16,color="black",shape="box"];352 -> 368[label="",style="solid", color="black", weight=3]; 353[label="loop (Hugs_Error wu900 : wu91)",fontsize=16,color="black",shape="box"];353 -> 369[label="",style="solid", color="black", weight=3]; 354[label="loop (Hugs_Catch wu900 wu901 wu902 wu903 : wu91)",fontsize=16,color="black",shape="box"];354 -> 370[label="",style="solid", color="black", weight=3]; 355[label="loop (Hugs_ForkThread wu900 wu901 : wu91)",fontsize=16,color="black",shape="box"];355 -> 371[label="",style="solid", color="black", weight=3]; 356[label="loop (Hugs_DeadThread : wu91)",fontsize=16,color="black",shape="box"];356 -> 372[label="",style="solid", color="black", weight=3]; 357[label="loop (Hugs_YieldThread wu900 : wu91)",fontsize=16,color="black",shape="box"];357 -> 373[label="",style="solid", color="black", weight=3]; 358[label="loop (Hugs_Return wu900 : wu91)",fontsize=16,color="burlywood",shape="box"];433[label="wu91/wu910 : wu911",fontsize=10,color="white",style="solid",shape="box"];358 -> 433[label="",style="solid", color="burlywood", weight=9]; 433 -> 374[label="",style="solid", color="burlywood", weight=3]; 434[label="wu91/[]",fontsize=10,color="white",style="solid",shape="box"];358 -> 434[label="",style="solid", color="burlywood", weight=9]; 434 -> 375[label="",style="solid", color="burlywood", weight=3]; 359[label="loop (Hugs_BlockThread wu900 wu901 : wu91)",fontsize=16,color="black",shape="box"];359 -> 376[label="",style="solid", color="black", weight=3]; 360[label="error []",fontsize=16,color="black",shape="box"];360 -> 377[label="",style="solid", color="black", weight=3]; 361[label="(wu90 : wu91) ++ wu80 : []",fontsize=16,color="black",shape="box"];361 -> 378[label="",style="solid", color="black", weight=3]; 362[label="[] ++ wu80 : []",fontsize=16,color="black",shape="box"];362 -> 379[label="",style="solid", color="black", weight=3]; 363 -> 346[label="",style="dashed", color="red", weight=0]; 363[label="(wu90 : wu91) ++ Hugs_Return wu80 : []",fontsize=16,color="magenta"];363 -> 380[label="",style="dashed", color="magenta", weight=3]; 363 -> 381[label="",style="dashed", color="magenta", weight=3]; 364[label="fromObj wu80",fontsize=16,color="black",shape="triangle"];364 -> 382[label="",style="solid", color="black", weight=3]; 365[label="wu81 wu80",fontsize=16,color="green",shape="box"];365 -> 383[label="",style="dashed", color="green", weight=3]; 366 -> 350[label="",style="dashed", color="red", weight=0]; 366[label="toObj wu10",fontsize=16,color="magenta"];367 -> 351[label="",style="dashed", color="red", weight=0]; 367[label="hugs_catchHugs_catch1 wu81 wu83 wu82 (primCatchException (hugs_catchCatch' wu80))",fontsize=16,color="magenta"];368[label="Finished_ExitWith wu900",fontsize=16,color="green",shape="box"];369[label="Finished_Error wu900",fontsize=16,color="green",shape="box"];370 -> 335[label="",style="dashed", color="red", weight=0]; 370[label="loop (hugs_catch wu900 wu901 wu902 wu903 : wu91)",fontsize=16,color="magenta"];370 -> 384[label="",style="dashed", color="magenta", weight=3]; 371 -> 335[label="",style="dashed", color="red", weight=0]; 371[label="loop (wu900 : wu901 : wu91)",fontsize=16,color="magenta"];371 -> 385[label="",style="dashed", color="magenta", weight=3]; 372 -> 335[label="",style="dashed", color="red", weight=0]; 372[label="loop wu91",fontsize=16,color="magenta"];372 -> 386[label="",style="dashed", color="magenta", weight=3]; 373 -> 335[label="",style="dashed", color="red", weight=0]; 373[label="loop (wu91 ++ wu900 : [])",fontsize=16,color="magenta"];373 -> 387[label="",style="dashed", color="magenta", weight=3]; 374[label="loop (Hugs_Return wu900 : wu910 : wu911)",fontsize=16,color="black",shape="box"];374 -> 388[label="",style="solid", color="black", weight=3]; 375[label="loop (Hugs_Return wu900 : [])",fontsize=16,color="black",shape="box"];375 -> 389[label="",style="solid", color="black", weight=3]; 376 -> 335[label="",style="dashed", color="red", weight=0]; 376[label="loop (wu901 wu900 : wu91)",fontsize=16,color="magenta"];376 -> 390[label="",style="dashed", color="magenta", weight=3]; 377[label="error []",fontsize=16,color="red",shape="box"];378[label="wu90 : wu91 ++ wu80 : []",fontsize=16,color="green",shape="box"];378 -> 391[label="",style="dashed", color="green", weight=3]; 379[label="wu80 : []",fontsize=16,color="green",shape="box"];380[label="wu90 : wu91",fontsize=16,color="green",shape="box"];381[label="Hugs_Return wu80",fontsize=16,color="green",shape="box"];382 -> 364[label="",style="dashed", color="red", weight=0]; 382[label="fromObj wu80",fontsize=16,color="magenta"];383[label="wu80",fontsize=16,color="green",shape="box"];384[label="hugs_catch wu900 wu901 wu902 wu903 : wu91",fontsize=16,color="green",shape="box"];384 -> 392[label="",style="dashed", color="green", weight=3]; 385[label="wu900 : wu901 : wu91",fontsize=16,color="green",shape="box"];386[label="wu91",fontsize=16,color="green",shape="box"];387 -> 346[label="",style="dashed", color="red", weight=0]; 387[label="wu91 ++ wu900 : []",fontsize=16,color="magenta"];387 -> 393[label="",style="dashed", color="magenta", weight=3]; 387 -> 394[label="",style="dashed", color="magenta", weight=3]; 388 -> 335[label="",style="dashed", color="red", weight=0]; 388[label="loop ((wu910 : wu911) ++ Hugs_Return wu900 : [])",fontsize=16,color="magenta"];388 -> 395[label="",style="dashed", color="magenta", weight=3]; 389[label="Finished_Return (fromObj wu900)",fontsize=16,color="green",shape="box"];389 -> 396[label="",style="dashed", color="green", weight=3]; 390[label="wu901 wu900 : wu91",fontsize=16,color="green",shape="box"];390 -> 397[label="",style="dashed", color="green", weight=3]; 391 -> 346[label="",style="dashed", color="red", weight=0]; 391[label="wu91 ++ wu80 : []",fontsize=16,color="magenta"];391 -> 398[label="",style="dashed", color="magenta", weight=3]; 392 -> 341[label="",style="dashed", color="red", weight=0]; 392[label="hugs_catch wu900 wu901 wu902 wu903",fontsize=16,color="magenta"];392 -> 399[label="",style="dashed", color="magenta", weight=3]; 392 -> 400[label="",style="dashed", color="magenta", weight=3]; 392 -> 401[label="",style="dashed", color="magenta", weight=3]; 392 -> 402[label="",style="dashed", color="magenta", weight=3]; 393[label="wu91",fontsize=16,color="green",shape="box"];394[label="wu900",fontsize=16,color="green",shape="box"];395 -> 346[label="",style="dashed", color="red", weight=0]; 395[label="(wu910 : wu911) ++ Hugs_Return wu900 : []",fontsize=16,color="magenta"];395 -> 403[label="",style="dashed", color="magenta", weight=3]; 395 -> 404[label="",style="dashed", color="magenta", weight=3]; 396 -> 364[label="",style="dashed", color="red", weight=0]; 396[label="fromObj wu900",fontsize=16,color="magenta"];396 -> 405[label="",style="dashed", color="magenta", weight=3]; 397[label="wu901 wu900",fontsize=16,color="green",shape="box"];397 -> 406[label="",style="dashed", color="green", weight=3]; 398[label="wu91",fontsize=16,color="green",shape="box"];399[label="wu902",fontsize=16,color="green",shape="box"];400[label="wu903",fontsize=16,color="green",shape="box"];401[label="wu900",fontsize=16,color="green",shape="box"];402[label="wu901",fontsize=16,color="green",shape="box"];403[label="wu910 : wu911",fontsize=16,color="green",shape="box"];404[label="Hugs_Return wu900",fontsize=16,color="green",shape="box"];405[label="wu900",fontsize=16,color="green",shape="box"];406[label="wu900",fontsize=16,color="green",shape="box"];} ---------------------------------------- (42) TRUE