/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.hs /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES 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 be proven: (0) HASKELL (1) LR [EQUIVALENT, 0 ms] (2) HASKELL (3) BR [EQUIVALENT, 0 ms] (4) HASKELL (5) COR [EQUIVALENT, 0 ms] (6) HASKELL (7) NumRed [SOUND, 0 ms] (8) HASKELL (9) Narrow [SOUND, 0 ms] (10) QDP (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] (12) YES ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) LR (EQUIVALENT) Lambda Reductions: The following Lambda expression "\_->q" is transformed to "gtGt0 q _ = q; " ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "randomSelect (x : []) = x; randomSelect (x : xs)|terminatorrandomSelect xs|otherwisex; " is transformed to "randomSelect (x : []) = randomSelect3 (x : []); randomSelect (x : xs) = randomSelect2 (x : xs); " "randomSelect1 x xs True = randomSelect xs; randomSelect1 x xs False = randomSelect0 x xs otherwise; " "randomSelect0 x xs True = x; " "randomSelect2 (x : xs) = randomSelect1 x xs terminator; " "randomSelect3 (x : []) = x; randomSelect3 wv = randomSelect2 wv; " The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " ---------------------------------------- (6) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (7) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (8) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (9) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="print",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="print ww3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 4[label="putStrLn . show",fontsize=16,color="black",shape="box"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="putStrLn (show ww3)",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6 -> 7[label="",style="dashed", color="red", weight=0]; 6[label="putStr (show ww3) >> putChar (Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="magenta"];6 -> 8[label="",style="dashed", color="magenta", weight=3]; 6 -> 9[label="",style="dashed", color="magenta", weight=3]; 8[label="ww3",fontsize=16,color="green",shape="box"];9[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];7[label="putStr (show ww5) >> putChar (Char (Succ ww6))",fontsize=16,color="black",shape="triangle"];7 -> 10[label="",style="solid", color="black", weight=3]; 10[label="putStr (show ww5) >>= gtGt0 (putChar (Char (Succ ww6)))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 11 -> 156[label="",style="dashed", color="red", weight=0]; 11[label="primbindIO (putStr (show ww5)) (gtGt0 (putChar (Char (Succ ww6))))",fontsize=16,color="magenta"];11 -> 157[label="",style="dashed", color="magenta", weight=3]; 11 -> 158[label="",style="dashed", color="magenta", weight=3]; 157 -> 261[label="",style="dashed", color="red", weight=0]; 157[label="putStr (show ww5)",fontsize=16,color="magenta"];157 -> 262[label="",style="dashed", color="magenta", weight=3]; 158[label="putChar (Char (Succ ww6))",fontsize=16,color="black",shape="box"];158 -> 263[label="",style="solid", color="black", weight=3]; 156[label="primbindIO ww14 (gtGt0 ww13)",fontsize=16,color="burlywood",shape="triangle"];375[label="ww14/IO ww140",fontsize=10,color="white",style="solid",shape="box"];156 -> 375[label="",style="solid", color="burlywood", weight=9]; 375 -> 264[label="",style="solid", color="burlywood", weight=3]; 376[label="ww14/AProVE_IO ww140",fontsize=10,color="white",style="solid",shape="box"];156 -> 376[label="",style="solid", color="burlywood", weight=9]; 376 -> 265[label="",style="solid", color="burlywood", weight=3]; 377[label="ww14/AProVE_Exception ww140",fontsize=10,color="white",style="solid",shape="box"];156 -> 377[label="",style="solid", color="burlywood", weight=9]; 377 -> 266[label="",style="solid", color="burlywood", weight=3]; 378[label="ww14/AProVE_Error ww140",fontsize=10,color="white",style="solid",shape="box"];156 -> 378[label="",style="solid", color="burlywood", weight=9]; 378 -> 267[label="",style="solid", color="burlywood", weight=3]; 262[label="show ww5",fontsize=16,color="blue",shape="box"];379[label="show :: Bool -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 379[label="",style="solid", color="blue", weight=9]; 379 -> 268[label="",style="solid", color="blue", weight=3]; 380[label="show :: ([] a) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 380[label="",style="solid", color="blue", weight=9]; 380 -> 269[label="",style="solid", color="blue", weight=3]; 381[label="show :: Integer -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 381[label="",style="solid", color="blue", weight=9]; 381 -> 270[label="",style="solid", color="blue", weight=3]; 382[label="show :: (Either a b) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 382[label="",style="solid", color="blue", weight=9]; 382 -> 271[label="",style="solid", color="blue", weight=3]; 383[label="show :: Float -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 383[label="",style="solid", color="blue", weight=9]; 383 -> 272[label="",style="solid", color="blue", weight=3]; 384[label="show :: Char -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 384[label="",style="solid", color="blue", weight=9]; 384 -> 273[label="",style="solid", color="blue", weight=3]; 385[label="show :: Int -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 385[label="",style="solid", color="blue", weight=9]; 385 -> 274[label="",style="solid", color="blue", weight=3]; 386[label="show :: () -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 386[label="",style="solid", color="blue", weight=9]; 386 -> 275[label="",style="solid", color="blue", weight=3]; 387[label="show :: Ordering -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 387[label="",style="solid", color="blue", weight=9]; 387 -> 276[label="",style="solid", color="blue", weight=3]; 388[label="show :: ((@2) a b) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 388[label="",style="solid", color="blue", weight=9]; 388 -> 277[label="",style="solid", color="blue", weight=3]; 389[label="show :: (Maybe a) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 389[label="",style="solid", color="blue", weight=9]; 389 -> 278[label="",style="solid", color="blue", weight=3]; 390[label="show :: (Ratio a) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 390[label="",style="solid", color="blue", weight=9]; 390 -> 279[label="",style="solid", color="blue", weight=3]; 391[label="show :: IOErrorKind -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 391[label="",style="solid", color="blue", weight=9]; 391 -> 280[label="",style="solid", color="blue", weight=3]; 392[label="show :: HugsException -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 392[label="",style="solid", color="blue", weight=9]; 392 -> 281[label="",style="solid", color="blue", weight=3]; 393[label="show :: ((@3) a b c) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 393[label="",style="solid", color="blue", weight=9]; 393 -> 282[label="",style="solid", color="blue", weight=3]; 394[label="show :: Double -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 394[label="",style="solid", color="blue", weight=9]; 394 -> 283[label="",style="solid", color="blue", weight=3]; 395[label="show :: IOError -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 395[label="",style="solid", color="blue", weight=9]; 395 -> 284[label="",style="solid", color="blue", weight=3]; 396[label="show :: (IO a) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];262 -> 396[label="",style="solid", color="blue", weight=9]; 396 -> 285[label="",style="solid", color="blue", weight=3]; 261[label="putStr ww17",fontsize=16,color="burlywood",shape="triangle"];397[label="ww17/ww170 : ww171",fontsize=10,color="white",style="solid",shape="box"];261 -> 397[label="",style="solid", color="burlywood", weight=9]; 397 -> 286[label="",style="solid", color="burlywood", weight=3]; 398[label="ww17/[]",fontsize=10,color="white",style="solid",shape="box"];261 -> 398[label="",style="solid", color="burlywood", weight=9]; 398 -> 287[label="",style="solid", color="burlywood", weight=3]; 263 -> 352[label="",style="dashed", color="red", weight=0]; 263[label="(seq Char (Succ ww6) output)",fontsize=16,color="magenta"];263 -> 353[label="",style="dashed", color="magenta", weight=3]; 263 -> 354[label="",style="dashed", color="magenta", weight=3]; 264[label="primbindIO (IO ww140) (gtGt0 ww13)",fontsize=16,color="black",shape="box"];264 -> 289[label="",style="solid", color="black", weight=3]; 265[label="primbindIO (AProVE_IO ww140) (gtGt0 ww13)",fontsize=16,color="black",shape="box"];265 -> 290[label="",style="solid", color="black", weight=3]; 266[label="primbindIO (AProVE_Exception ww140) (gtGt0 ww13)",fontsize=16,color="black",shape="box"];266 -> 291[label="",style="solid", color="black", weight=3]; 267[label="primbindIO (AProVE_Error ww140) (gtGt0 ww13)",fontsize=16,color="black",shape="box"];267 -> 292[label="",style="solid", color="black", weight=3]; 268[label="show ww5",fontsize=16,color="black",shape="box"];268 -> 293[label="",style="solid", color="black", weight=3]; 269[label="show ww5",fontsize=16,color="black",shape="box"];269 -> 294[label="",style="solid", color="black", weight=3]; 270[label="show ww5",fontsize=16,color="black",shape="box"];270 -> 295[label="",style="solid", color="black", weight=3]; 271[label="show ww5",fontsize=16,color="black",shape="box"];271 -> 296[label="",style="solid", color="black", weight=3]; 272[label="show ww5",fontsize=16,color="black",shape="box"];272 -> 297[label="",style="solid", color="black", weight=3]; 273[label="show ww5",fontsize=16,color="black",shape="box"];273 -> 298[label="",style="solid", color="black", weight=3]; 274[label="show ww5",fontsize=16,color="black",shape="box"];274 -> 299[label="",style="solid", color="black", weight=3]; 275[label="show ww5",fontsize=16,color="black",shape="box"];275 -> 300[label="",style="solid", color="black", weight=3]; 276[label="show ww5",fontsize=16,color="black",shape="box"];276 -> 301[label="",style="solid", color="black", weight=3]; 277[label="show ww5",fontsize=16,color="black",shape="box"];277 -> 302[label="",style="solid", color="black", weight=3]; 278[label="show ww5",fontsize=16,color="black",shape="box"];278 -> 303[label="",style="solid", color="black", weight=3]; 279[label="show ww5",fontsize=16,color="black",shape="box"];279 -> 304[label="",style="solid", color="black", weight=3]; 280[label="show ww5",fontsize=16,color="black",shape="box"];280 -> 305[label="",style="solid", color="black", weight=3]; 281[label="show ww5",fontsize=16,color="black",shape="box"];281 -> 306[label="",style="solid", color="black", weight=3]; 282[label="show ww5",fontsize=16,color="black",shape="box"];282 -> 307[label="",style="solid", color="black", weight=3]; 283[label="show ww5",fontsize=16,color="black",shape="box"];283 -> 308[label="",style="solid", color="black", weight=3]; 284[label="show ww5",fontsize=16,color="black",shape="box"];284 -> 309[label="",style="solid", color="black", weight=3]; 285[label="show ww5",fontsize=16,color="black",shape="box"];285 -> 310[label="",style="solid", color="black", weight=3]; 286[label="putStr (ww170 : ww171)",fontsize=16,color="black",shape="box"];286 -> 311[label="",style="solid", color="black", weight=3]; 287[label="putStr []",fontsize=16,color="black",shape="box"];287 -> 312[label="",style="solid", color="black", weight=3]; 353 -> 312[label="",style="dashed", color="red", weight=0]; 353[label="output",fontsize=16,color="magenta"];354[label="Char (Succ ww6)",fontsize=16,color="green",shape="box"];352[label="(seq ww170 ww19)",fontsize=16,color="black",shape="triangle"];352 -> 356[label="",style="solid", color="black", weight=3]; 289[label="error []",fontsize=16,color="red",shape="box"];290[label="gtGt0 ww13 ww140",fontsize=16,color="black",shape="box"];290 -> 314[label="",style="solid", color="black", weight=3]; 291[label="AProVE_Exception ww140",fontsize=16,color="green",shape="box"];292[label="AProVE_Error ww140",fontsize=16,color="green",shape="box"];293[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];293 -> 315[label="",style="solid", color="black", weight=3]; 294[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];294 -> 316[label="",style="solid", color="black", weight=3]; 295[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];295 -> 317[label="",style="solid", color="black", weight=3]; 296[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];296 -> 318[label="",style="solid", color="black", weight=3]; 297[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];297 -> 319[label="",style="solid", color="black", weight=3]; 298[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];298 -> 320[label="",style="solid", color="black", weight=3]; 299[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];299 -> 321[label="",style="solid", color="black", weight=3]; 300[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];300 -> 322[label="",style="solid", color="black", weight=3]; 301[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];301 -> 323[label="",style="solid", color="black", weight=3]; 302[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];302 -> 324[label="",style="solid", color="black", weight=3]; 303[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];303 -> 325[label="",style="solid", color="black", weight=3]; 304[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];304 -> 326[label="",style="solid", color="black", weight=3]; 305[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];305 -> 327[label="",style="solid", color="black", weight=3]; 306[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];306 -> 328[label="",style="solid", color="black", weight=3]; 307[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];307 -> 329[label="",style="solid", color="black", weight=3]; 308[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];308 -> 330[label="",style="solid", color="black", weight=3]; 309[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];309 -> 331[label="",style="solid", color="black", weight=3]; 310[label="showsPrec (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];310 -> 332[label="",style="solid", color="black", weight=3]; 311 -> 333[label="",style="dashed", color="red", weight=0]; 311[label="putChar ww170 >> putStr ww171",fontsize=16,color="magenta"];311 -> 334[label="",style="dashed", color="magenta", weight=3]; 312[label="output",fontsize=16,color="black",shape="triangle"];312 -> 335[label="",style="solid", color="black", weight=3]; 356[label="enforceWHNF (WHNF ww170) ww19",fontsize=16,color="black",shape="box"];356 -> 359[label="",style="solid", color="black", weight=3]; 314[label="ww13",fontsize=16,color="green",shape="box"];315[label="error []",fontsize=16,color="red",shape="box"];316[label="error []",fontsize=16,color="red",shape="box"];317[label="error []",fontsize=16,color="red",shape="box"];318[label="error []",fontsize=16,color="red",shape="box"];319[label="primShowsFloat (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];319 -> 336[label="",style="solid", color="black", weight=3]; 320[label="error []",fontsize=16,color="red",shape="box"];321[label="error []",fontsize=16,color="red",shape="box"];322[label="error []",fontsize=16,color="red",shape="box"];323[label="error []",fontsize=16,color="red",shape="box"];324[label="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="error []",fontsize=16,color="red",shape="box"];329[label="error []",fontsize=16,color="red",shape="box"];330[label="error []",fontsize=16,color="red",shape="box"];331[label="error []",fontsize=16,color="red",shape="box"];332[label="error []",fontsize=16,color="red",shape="box"];334 -> 261[label="",style="dashed", color="red", weight=0]; 334[label="putStr ww171",fontsize=16,color="magenta"];334 -> 337[label="",style="dashed", color="magenta", weight=3]; 333[label="putChar ww170 >> ww18",fontsize=16,color="black",shape="triangle"];333 -> 338[label="",style="solid", color="black", weight=3]; 335[label="randomSelect (aIOE IOError_FullError : aIOE IOError_PermDenied : AProVE_IO () : [])",fontsize=16,color="black",shape="box"];335 -> 339[label="",style="solid", color="black", weight=3]; 359[label="ww19",fontsize=16,color="green",shape="box"];336[label="terminator (Pos Zero) ww5 []",fontsize=16,color="black",shape="box"];336 -> 340[label="",style="solid", color="black", weight=3]; 337[label="ww171",fontsize=16,color="green",shape="box"];338[label="putChar ww170 >>= gtGt0 ww18",fontsize=16,color="black",shape="box"];338 -> 341[label="",style="solid", color="black", weight=3]; 339[label="randomSelect2 (aIOE IOError_FullError : aIOE IOError_PermDenied : AProVE_IO () : [])",fontsize=16,color="black",shape="box"];339 -> 342[label="",style="solid", color="black", weight=3]; 340[label="ter6m (Pos Zero) ww5 []",fontsize=16,color="green",shape="box"];340 -> 343[label="",style="dashed", color="green", weight=3]; 340 -> 344[label="",style="dashed", color="green", weight=3]; 340 -> 345[label="",style="dashed", color="green", weight=3]; 341 -> 156[label="",style="dashed", color="red", weight=0]; 341[label="primbindIO (putChar ww170) (gtGt0 ww18)",fontsize=16,color="magenta"];341 -> 346[label="",style="dashed", color="magenta", weight=3]; 341 -> 347[label="",style="dashed", color="magenta", weight=3]; 342[label="randomSelect1 (aIOE IOError_FullError) (aIOE IOError_PermDenied : AProVE_IO () : []) terminator",fontsize=16,color="black",shape="box"];342 -> 348[label="",style="solid", color="black", weight=3]; 343[label="Pos Zero",fontsize=16,color="green",shape="box"];344[label="ww5",fontsize=16,color="green",shape="box"];345[label="[]",fontsize=16,color="green",shape="box"];346[label="putChar ww170",fontsize=16,color="black",shape="box"];346 -> 349[label="",style="solid", color="black", weight=3]; 347[label="ww18",fontsize=16,color="green",shape="box"];348[label="randomSelect1 (aIOE IOError_FullError) (aIOE IOError_PermDenied : AProVE_IO () : []) ter7m",fontsize=16,color="burlywood",shape="box"];399[label="ter7m/False",fontsize=10,color="white",style="solid",shape="box"];348 -> 399[label="",style="solid", color="burlywood", weight=9]; 399 -> 350[label="",style="solid", color="burlywood", weight=3]; 400[label="ter7m/True",fontsize=10,color="white",style="solid",shape="box"];348 -> 400[label="",style="solid", color="burlywood", weight=9]; 400 -> 351[label="",style="solid", color="burlywood", weight=3]; 349 -> 352[label="",style="dashed", color="red", weight=0]; 349[label="(seq ww170 output)",fontsize=16,color="magenta"];349 -> 355[label="",style="dashed", color="magenta", weight=3]; 350[label="randomSelect1 (aIOE IOError_FullError) (aIOE IOError_PermDenied : AProVE_IO () : []) False",fontsize=16,color="black",shape="box"];350 -> 357[label="",style="solid", color="black", weight=3]; 351[label="randomSelect1 (aIOE IOError_FullError) (aIOE IOError_PermDenied : AProVE_IO () : []) True",fontsize=16,color="black",shape="box"];351 -> 358[label="",style="solid", color="black", weight=3]; 355 -> 312[label="",style="dashed", color="red", weight=0]; 355[label="output",fontsize=16,color="magenta"];357[label="randomSelect0 (aIOE IOError_FullError) (aIOE IOError_PermDenied : AProVE_IO () : []) otherwise",fontsize=16,color="black",shape="box"];357 -> 360[label="",style="solid", color="black", weight=3]; 358[label="randomSelect (aIOE IOError_PermDenied : AProVE_IO () : [])",fontsize=16,color="black",shape="box"];358 -> 361[label="",style="solid", color="black", weight=3]; 360[label="randomSelect0 (aIOE IOError_FullError) (aIOE IOError_PermDenied : AProVE_IO () : []) True",fontsize=16,color="black",shape="box"];360 -> 362[label="",style="solid", color="black", weight=3]; 361[label="randomSelect2 (aIOE IOError_PermDenied : AProVE_IO () : [])",fontsize=16,color="black",shape="box"];361 -> 363[label="",style="solid", color="black", weight=3]; 362[label="aIOE IOError_FullError",fontsize=16,color="black",shape="box"];362 -> 364[label="",style="solid", color="black", weight=3]; 363[label="randomSelect1 (aIOE IOError_PermDenied) (AProVE_IO () : []) terminator",fontsize=16,color="black",shape="box"];363 -> 365[label="",style="solid", color="black", weight=3]; 364[label="AProVE_Exception (AET_IOError (IOError IOError_FullError [] [] Nothing))",fontsize=16,color="green",shape="box"];365[label="randomSelect1 (aIOE IOError_PermDenied) (AProVE_IO () : []) ter8m",fontsize=16,color="burlywood",shape="box"];401[label="ter8m/False",fontsize=10,color="white",style="solid",shape="box"];365 -> 401[label="",style="solid", color="burlywood", weight=9]; 401 -> 366[label="",style="solid", color="burlywood", weight=3]; 402[label="ter8m/True",fontsize=10,color="white",style="solid",shape="box"];365 -> 402[label="",style="solid", color="burlywood", weight=9]; 402 -> 367[label="",style="solid", color="burlywood", weight=3]; 366[label="randomSelect1 (aIOE IOError_PermDenied) (AProVE_IO () : []) False",fontsize=16,color="black",shape="box"];366 -> 368[label="",style="solid", color="black", weight=3]; 367[label="randomSelect1 (aIOE IOError_PermDenied) (AProVE_IO () : []) True",fontsize=16,color="black",shape="box"];367 -> 369[label="",style="solid", color="black", weight=3]; 368[label="randomSelect0 (aIOE IOError_PermDenied) (AProVE_IO () : []) otherwise",fontsize=16,color="black",shape="box"];368 -> 370[label="",style="solid", color="black", weight=3]; 369[label="randomSelect (AProVE_IO () : [])",fontsize=16,color="black",shape="box"];369 -> 371[label="",style="solid", color="black", weight=3]; 370[label="randomSelect0 (aIOE IOError_PermDenied) (AProVE_IO () : []) True",fontsize=16,color="black",shape="box"];370 -> 372[label="",style="solid", color="black", weight=3]; 371[label="randomSelect3 (AProVE_IO () : [])",fontsize=16,color="black",shape="box"];371 -> 373[label="",style="solid", color="black", weight=3]; 372[label="aIOE IOError_PermDenied",fontsize=16,color="black",shape="box"];372 -> 374[label="",style="solid", color="black", weight=3]; 373[label="AProVE_IO ()",fontsize=16,color="green",shape="box"];374[label="AProVE_Exception (AET_IOError (IOError IOError_PermDenied [] [] Nothing))",fontsize=16,color="green",shape="box"];} ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: new_putStr(:(ww170, ww171)) -> new_putStr(ww171) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (11) 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_putStr(:(ww170, ww171)) -> new_putStr(ww171) The graph contains the following edges 1 > 1 ---------------------------------------- (12) YES