10.42/4.24 MAYBE 13.14/4.97 proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs 13.14/4.97 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 13.14/4.97 13.14/4.97 13.14/4.97 H-Termination with start terms of the given HASKELL could not be shown: 13.14/4.97 13.14/4.97 (0) HASKELL 13.14/4.97 (1) LR [EQUIVALENT, 0 ms] 13.14/4.97 (2) HASKELL 13.14/4.97 (3) IFR [EQUIVALENT, 0 ms] 13.14/4.97 (4) HASKELL 13.14/4.97 (5) BR [EQUIVALENT, 0 ms] 13.14/4.97 (6) HASKELL 13.14/4.97 (7) COR [EQUIVALENT, 0 ms] 13.14/4.97 (8) HASKELL 13.14/4.97 (9) LetRed [EQUIVALENT, 0 ms] 13.14/4.97 (10) HASKELL 13.14/4.97 (11) NumRed [SOUND, 0 ms] 13.14/4.97 (12) HASKELL 13.14/4.97 (13) Narrow [SOUND, 0 ms] 13.14/4.97 (14) AND 13.14/4.97 (15) QDP 13.14/4.97 (16) DependencyGraphProof [EQUIVALENT, 0 ms] 13.14/4.97 (17) QDP 13.14/4.97 (18) TransformationProof [EQUIVALENT, 0 ms] 13.14/4.97 (19) QDP 13.14/4.97 (20) TransformationProof [EQUIVALENT, 0 ms] 13.14/4.97 (21) QDP 13.14/4.97 (22) TransformationProof [EQUIVALENT, 0 ms] 13.14/4.97 (23) QDP 13.14/4.97 (24) TransformationProof [EQUIVALENT, 0 ms] 13.14/4.97 (25) QDP 13.14/4.97 (26) TransformationProof [EQUIVALENT, 0 ms] 13.14/4.97 (27) QDP 13.14/4.97 (28) NonTerminationLoopProof [COMPLETE, 0 ms] 13.14/4.97 (29) NO 13.14/4.97 (30) QDP 13.14/4.97 (31) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.14/4.97 (32) YES 13.14/4.97 (33) Narrow [COMPLETE, 0 ms] 13.14/4.97 (34) TRUE 13.14/4.97 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (0) 13.14/4.97 Obligation: 13.14/4.97 mainModule Main 13.14/4.97 module Main where { 13.14/4.97 import qualified Prelude; 13.14/4.97 } 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (1) LR (EQUIVALENT) 13.14/4.97 Lambda Reductions: 13.14/4.97 The following Lambda expression 13.14/4.97 "\ex->if isEOFError ex then return '\10' else ioError ex" 13.14/4.97 is transformed to 13.14/4.97 "getRest0 ex = if isEOFError ex then return '\10' else ioError ex; 13.14/4.97 " 13.14/4.97 The following Lambda expression 13.14/4.97 "\cs->return (c : cs)" 13.14/4.97 is transformed to 13.14/4.97 "getRest1 c cs = return (c : cs); 13.14/4.97 " 13.14/4.97 The following Lambda expression 13.14/4.97 "\c->if c == '\10' then return [] else getRest >>= getRest1 c" 13.14/4.97 is transformed to 13.14/4.97 "getRest2 c = if c == '\10' then return [] else getRest >>= getRest1 c; 13.14/4.97 " 13.14/4.97 The following Lambda expression 13.14/4.97 "\ls->return (c : ls)" 13.14/4.97 is transformed to 13.14/4.97 "getLine0 c ls = return (c : ls); 13.14/4.97 " 13.14/4.97 The following Lambda expression 13.14/4.97 "\c->if c == '\10' then return [] else getRest >>= getLine0 c" 13.14/4.97 is transformed to 13.14/4.97 "getLine1 c = if c == '\10' then return [] else getRest >>= getLine0 c; 13.14/4.97 " 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (2) 13.14/4.97 Obligation: 13.14/4.97 mainModule Main 13.14/4.97 module Main where { 13.14/4.97 import qualified Prelude; 13.14/4.97 } 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (3) IFR (EQUIVALENT) 13.14/4.97 If Reductions: 13.14/4.97 The following If expression 13.14/4.97 "if isEOFError ex then return '\10' else ioError ex" 13.14/4.97 is transformed to 13.14/4.97 "getRest00 ex True = return '\10'; 13.14/4.97 getRest00 ex False = ioError ex; 13.14/4.97 " 13.14/4.97 The following If expression 13.14/4.97 "if c == '\10' then return [] else getRest >>= getLine0 c" 13.14/4.97 is transformed to 13.14/4.97 "getLine10 c True = return []; 13.14/4.97 getLine10 c False = getRest >>= getLine0 c; 13.14/4.97 " 13.14/4.97 The following If expression 13.14/4.97 "if c == '\10' then return [] else getRest >>= getRest1 c" 13.14/4.97 is transformed to 13.14/4.97 "getRest20 c True = return []; 13.14/4.97 getRest20 c False = getRest >>= getRest1 c; 13.14/4.97 " 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (4) 13.14/4.97 Obligation: 13.14/4.97 mainModule Main 13.14/4.97 module Main where { 13.14/4.97 import qualified Prelude; 13.14/4.97 } 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (5) BR (EQUIVALENT) 13.14/4.97 Replaced joker patterns by fresh variables and removed binding patterns. 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (6) 13.14/4.97 Obligation: 13.14/4.97 mainModule Main 13.14/4.97 module Main where { 13.14/4.97 import qualified Prelude; 13.14/4.97 } 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (7) COR (EQUIVALENT) 13.14/4.97 Cond Reductions: 13.14/4.97 The following Function with conditions 13.14/4.97 "undefined |Falseundefined; 13.14/4.97 " 13.14/4.97 is transformed to 13.14/4.97 "undefined = undefined1; 13.14/4.97 " 13.14/4.97 "undefined0 True = undefined; 13.14/4.97 " 13.14/4.97 "undefined1 = undefined0 False; 13.14/4.97 " 13.14/4.97 The following Function with conditions 13.14/4.97 "getChar |terminatorreturn terminator|otherwiseaIOE IOError_EOF; 13.14/4.97 " 13.14/4.97 is transformed to 13.14/4.97 "getChar = getChar2; 13.14/4.97 " 13.14/4.97 "getChar0 True = aIOE IOError_EOF; 13.14/4.97 " 13.14/4.97 "getChar1 True = return terminator; 13.14/4.97 getChar1 False = getChar0 otherwise; 13.14/4.97 " 13.14/4.97 "getChar2 = getChar1 terminator; 13.14/4.97 " 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (8) 13.14/4.97 Obligation: 13.14/4.97 mainModule Main 13.14/4.97 module Main where { 13.14/4.97 import qualified Prelude; 13.14/4.97 } 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (9) LetRed (EQUIVALENT) 13.14/4.97 Let/Where Reductions: 13.14/4.97 The bindings of the following Let/Where expression 13.14/4.97 "getChar >>= getLine1 where { 13.14/4.97 getLine0 c ls = return (c : ls); 13.14/4.97 ; 13.14/4.97 getLine1 c = getLine10 c (c == '\10'); 13.14/4.97 ; 13.14/4.97 getLine10 c True = return []; 13.14/4.97 getLine10 c False = getRest >>= getLine0 c; 13.14/4.97 ; 13.14/4.97 getRest = catch getChar getRest0 >>= getRest2; 13.14/4.97 ; 13.14/4.97 getRest0 ex = getRest00 ex (isEOFError ex); 13.14/4.97 ; 13.14/4.97 getRest00 ex True = return '\10'; 13.14/4.97 getRest00 ex False = ioError ex; 13.14/4.97 ; 13.14/4.97 getRest1 c cs = return (c : cs); 13.14/4.97 ; 13.14/4.97 getRest2 c = getRest20 c (c == '\10'); 13.14/4.97 ; 13.14/4.97 getRest20 c True = return []; 13.14/4.97 getRest20 c False = getRest >>= getRest1 c; 13.14/4.97 } 13.14/4.97 " 13.14/4.97 are unpacked to the following functions on top level 13.14/4.97 "getLineGetLine0 c ls = return (c : ls); 13.14/4.97 " 13.14/4.97 "getLineGetRest20 c True = return []; 13.14/4.97 getLineGetRest20 c False = getLineGetRest >>= getLineGetRest1 c; 13.14/4.97 " 13.14/4.97 "getLineGetRest0 ex = getLineGetRest00 ex (isEOFError ex); 13.14/4.97 " 13.14/4.97 "getLineGetRest00 ex True = return '\10'; 13.14/4.97 getLineGetRest00 ex False = ioError ex; 13.14/4.97 " 13.14/4.97 "getLineGetLine10 c True = return []; 13.14/4.97 getLineGetLine10 c False = getLineGetRest >>= getLineGetLine0 c; 13.14/4.97 " 13.14/4.97 "getLineGetLine1 c = getLineGetLine10 c (c == '\10'); 13.14/4.97 " 13.14/4.97 "getLineGetRest1 c cs = return (c : cs); 13.14/4.97 " 13.14/4.97 "getLineGetRest2 c = getLineGetRest20 c (c == '\10'); 13.14/4.97 " 13.14/4.97 "getLineGetRest = catch getChar getLineGetRest0 >>= getLineGetRest2; 13.14/4.97 " 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (10) 13.14/4.97 Obligation: 13.14/4.97 mainModule Main 13.14/4.97 module Main where { 13.14/4.97 import qualified Prelude; 13.14/4.97 } 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (11) NumRed (SOUND) 13.14/4.97 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (12) 13.14/4.97 Obligation: 13.14/4.97 mainModule Main 13.14/4.97 module Main where { 13.14/4.97 import qualified Prelude; 13.14/4.97 } 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (13) Narrow (SOUND) 13.14/4.97 Haskell To QDPs 13.14/4.97 13.14/4.97 digraph dp_graph { 13.14/4.97 node [outthreshold=100, inthreshold=100];1[label="getLine",fontsize=16,color="black",shape="box"];1 -> 3[label="",style="solid", color="black", weight=3]; 13.14/4.97 3[label="getChar >>= getLineGetLine1",fontsize=16,color="black",shape="box"];3 -> 4[label="",style="solid", color="black", weight=3]; 13.14/4.97 4[label="primbindIO getChar getLineGetLine1",fontsize=16,color="black",shape="box"];4 -> 5[label="",style="solid", color="black", weight=3]; 13.14/4.97 5[label="primbindIO getChar2 getLineGetLine1",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 13.14/4.97 6[label="primbindIO (getChar1 terminator) getLineGetLine1",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 13.14/4.97 7[label="primbindIO (getChar1 ter0m) getLineGetLine1",fontsize=16,color="burlywood",shape="box"];662[label="ter0m/False",fontsize=10,color="white",style="solid",shape="box"];7 -> 662[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 662 -> 8[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 663[label="ter0m/True",fontsize=10,color="white",style="solid",shape="box"];7 -> 663[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 663 -> 9[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 8[label="primbindIO (getChar1 False) getLineGetLine1",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 13.14/4.97 9[label="primbindIO (getChar1 True) getLineGetLine1",fontsize=16,color="black",shape="box"];9 -> 11[label="",style="solid", color="black", weight=3]; 13.14/4.97 10[label="primbindIO (getChar0 otherwise) getLineGetLine1",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 13.14/4.97 11[label="primbindIO (return terminator) getLineGetLine1",fontsize=16,color="black",shape="box"];11 -> 13[label="",style="solid", color="black", weight=3]; 13.14/4.97 12[label="primbindIO (getChar0 True) getLineGetLine1",fontsize=16,color="black",shape="box"];12 -> 14[label="",style="solid", color="black", weight=3]; 13.14/4.97 13[label="primbindIO (primretIO terminator) getLineGetLine1",fontsize=16,color="black",shape="box"];13 -> 15[label="",style="solid", color="black", weight=3]; 13.14/4.97 14[label="primbindIO (aIOE IOError_EOF) getLineGetLine1",fontsize=16,color="black",shape="box"];14 -> 16[label="",style="solid", color="black", weight=3]; 13.14/4.97 15[label="primbindIO (AProVE_IO terminator) getLineGetLine1",fontsize=16,color="black",shape="box"];15 -> 17[label="",style="solid", color="black", weight=3]; 13.14/4.97 16[label="primbindIO (AProVE_Exception (AET_IOError (IOError IOError_EOF [] [] Nothing))) getLineGetLine1",fontsize=16,color="black",shape="box"];16 -> 18[label="",style="solid", color="black", weight=3]; 13.14/4.97 17[label="getLineGetLine1 terminator",fontsize=16,color="black",shape="box"];17 -> 19[label="",style="solid", color="black", weight=3]; 13.14/4.97 18[label="AProVE_Exception (AET_IOError (IOError IOError_EOF [] [] Nothing))",fontsize=16,color="green",shape="box"];19 -> 20[label="",style="dashed", color="red", weight=0]; 13.14/4.97 19[label="getLineGetLine10 terminator (terminator == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="magenta"];19 -> 21[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 21[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];20[label="getLineGetLine10 terminator (terminator == Char (Succ wv4))",fontsize=16,color="black",shape="triangle"];20 -> 22[label="",style="solid", color="black", weight=3]; 13.14/4.97 22[label="getLineGetLine10 terminator (primEqChar terminator (Char (Succ wv4)))",fontsize=16,color="black",shape="box"];22 -> 23[label="",style="solid", color="black", weight=3]; 13.14/4.97 23[label="getLineGetLine10 ter1m (primEqChar ter1m (Char (Succ wv4)))",fontsize=16,color="burlywood",shape="box"];664[label="ter1m/Char ter1m0",fontsize=10,color="white",style="solid",shape="box"];23 -> 664[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 664 -> 24[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 24[label="getLineGetLine10 (Char ter1m0) (primEqChar (Char ter1m0) (Char (Succ wv4)))",fontsize=16,color="black",shape="box"];24 -> 25[label="",style="solid", color="black", weight=3]; 13.14/4.97 25[label="getLineGetLine10 (Char ter1m0) (primEqNat ter1m0 (Succ wv4))",fontsize=16,color="burlywood",shape="box"];665[label="ter1m0/Succ ter1m00",fontsize=10,color="white",style="solid",shape="box"];25 -> 665[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 665 -> 26[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 666[label="ter1m0/Zero",fontsize=10,color="white",style="solid",shape="box"];25 -> 666[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 666 -> 27[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 26[label="getLineGetLine10 (Char (Succ ter1m00)) (primEqNat (Succ ter1m00) (Succ wv4))",fontsize=16,color="black",shape="box"];26 -> 28[label="",style="solid", color="black", weight=3]; 13.14/4.97 27[label="getLineGetLine10 (Char Zero) (primEqNat Zero (Succ wv4))",fontsize=16,color="black",shape="box"];27 -> 29[label="",style="solid", color="black", weight=3]; 13.14/4.97 28 -> 146[label="",style="dashed", color="red", weight=0]; 13.14/4.97 28[label="getLineGetLine10 (Char (Succ ter1m00)) (primEqNat ter1m00 wv4)",fontsize=16,color="magenta"];28 -> 147[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 28 -> 148[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 28 -> 149[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 29[label="getLineGetLine10 (Char Zero) False",fontsize=16,color="black",shape="box"];29 -> 32[label="",style="solid", color="black", weight=3]; 13.14/4.97 147[label="wv4",fontsize=16,color="green",shape="box"];148[label="ter1m00",fontsize=16,color="green",shape="box"];149[label="ter1m00",fontsize=16,color="green",shape="box"];146[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat wv7 wv8)",fontsize=16,color="burlywood",shape="triangle"];667[label="wv7/Succ wv70",fontsize=10,color="white",style="solid",shape="box"];146 -> 667[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 667 -> 165[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 668[label="wv7/Zero",fontsize=10,color="white",style="solid",shape="box"];146 -> 668[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 668 -> 166[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 32[label="getLineGetRest >>= getLineGetLine0 (Char Zero)",fontsize=16,color="black",shape="box"];32 -> 37[label="",style="solid", color="black", weight=3]; 13.14/4.97 165[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat (Succ wv70) wv8)",fontsize=16,color="burlywood",shape="box"];669[label="wv8/Succ wv80",fontsize=10,color="white",style="solid",shape="box"];165 -> 669[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 669 -> 169[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 670[label="wv8/Zero",fontsize=10,color="white",style="solid",shape="box"];165 -> 670[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 670 -> 170[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 166[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat Zero wv8)",fontsize=16,color="burlywood",shape="box"];671[label="wv8/Succ wv80",fontsize=10,color="white",style="solid",shape="box"];166 -> 671[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 671 -> 171[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 672[label="wv8/Zero",fontsize=10,color="white",style="solid",shape="box"];166 -> 672[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 672 -> 172[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 37 -> 245[label="",style="dashed", color="red", weight=0]; 13.14/4.97 37[label="primbindIO getLineGetRest (getLineGetLine0 (Char Zero))",fontsize=16,color="magenta"];37 -> 246[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 169[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat (Succ wv70) (Succ wv80))",fontsize=16,color="black",shape="box"];169 -> 176[label="",style="solid", color="black", weight=3]; 13.14/4.97 170[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat (Succ wv70) Zero)",fontsize=16,color="black",shape="box"];170 -> 177[label="",style="solid", color="black", weight=3]; 13.14/4.97 171[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat Zero (Succ wv80))",fontsize=16,color="black",shape="box"];171 -> 178[label="",style="solid", color="black", weight=3]; 13.14/4.97 172[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat Zero Zero)",fontsize=16,color="black",shape="box"];172 -> 179[label="",style="solid", color="black", weight=3]; 13.14/4.97 246[label="getLineGetRest",fontsize=16,color="black",shape="triangle"];246 -> 295[label="",style="solid", color="black", weight=3]; 13.14/4.97 245[label="primbindIO wv16 (getLineGetLine0 (Char Zero))",fontsize=16,color="burlywood",shape="triangle"];673[label="wv16/IO wv160",fontsize=10,color="white",style="solid",shape="box"];245 -> 673[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 673 -> 296[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 674[label="wv16/AProVE_IO wv160",fontsize=10,color="white",style="solid",shape="box"];245 -> 674[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 674 -> 297[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 675[label="wv16/AProVE_Exception wv160",fontsize=10,color="white",style="solid",shape="box"];245 -> 675[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 675 -> 298[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 676[label="wv16/AProVE_Error wv160",fontsize=10,color="white",style="solid",shape="box"];245 -> 676[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 676 -> 299[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 176 -> 146[label="",style="dashed", color="red", weight=0]; 13.14/4.97 176[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat wv70 wv80)",fontsize=16,color="magenta"];176 -> 182[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 176 -> 183[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 177[label="getLineGetLine10 (Char (Succ wv6)) False",fontsize=16,color="black",shape="triangle"];177 -> 184[label="",style="solid", color="black", weight=3]; 13.14/4.97 178 -> 177[label="",style="dashed", color="red", weight=0]; 13.14/4.97 178[label="getLineGetLine10 (Char (Succ wv6)) False",fontsize=16,color="magenta"];179[label="getLineGetLine10 (Char (Succ wv6)) True",fontsize=16,color="black",shape="box"];179 -> 185[label="",style="solid", color="black", weight=3]; 13.14/4.97 295[label="catch getChar getLineGetRest0 >>= getLineGetRest2",fontsize=16,color="black",shape="box"];295 -> 302[label="",style="solid", color="black", weight=3]; 13.14/4.97 296[label="primbindIO (IO wv160) (getLineGetLine0 (Char Zero))",fontsize=16,color="black",shape="box"];296 -> 303[label="",style="solid", color="black", weight=3]; 13.14/4.97 297[label="primbindIO (AProVE_IO wv160) (getLineGetLine0 (Char Zero))",fontsize=16,color="black",shape="box"];297 -> 304[label="",style="solid", color="black", weight=3]; 13.14/4.97 298[label="primbindIO (AProVE_Exception wv160) (getLineGetLine0 (Char Zero))",fontsize=16,color="black",shape="box"];298 -> 305[label="",style="solid", color="black", weight=3]; 13.14/4.97 299[label="primbindIO (AProVE_Error wv160) (getLineGetLine0 (Char Zero))",fontsize=16,color="black",shape="box"];299 -> 306[label="",style="solid", color="black", weight=3]; 13.14/4.97 182[label="wv80",fontsize=16,color="green",shape="box"];183[label="wv70",fontsize=16,color="green",shape="box"];184[label="getLineGetRest >>= getLineGetLine0 (Char (Succ wv6))",fontsize=16,color="black",shape="box"];184 -> 188[label="",style="solid", color="black", weight=3]; 13.14/4.97 185[label="return []",fontsize=16,color="black",shape="triangle"];185 -> 189[label="",style="solid", color="black", weight=3]; 13.14/4.97 302[label="primbindIO (catch getChar getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];302 -> 309[label="",style="solid", color="black", weight=3]; 13.14/4.97 303[label="error []",fontsize=16,color="red",shape="box"];304[label="getLineGetLine0 (Char Zero) wv160",fontsize=16,color="black",shape="box"];304 -> 310[label="",style="solid", color="black", weight=3]; 13.14/4.97 305[label="AProVE_Exception wv160",fontsize=16,color="green",shape="box"];306[label="AProVE_Error wv160",fontsize=16,color="green",shape="box"];188 -> 422[label="",style="dashed", color="red", weight=0]; 13.14/4.97 188[label="primbindIO getLineGetRest (getLineGetLine0 (Char (Succ wv6)))",fontsize=16,color="magenta"];188 -> 423[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 188 -> 424[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 189[label="primretIO []",fontsize=16,color="black",shape="box"];189 -> 193[label="",style="solid", color="black", weight=3]; 13.14/4.97 309[label="primbindIO (pCatch (errorFrame getChar) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];309 -> 313[label="",style="solid", color="black", weight=3]; 13.14/4.97 310[label="return (Char Zero : wv160)",fontsize=16,color="black",shape="triangle"];310 -> 314[label="",style="solid", color="black", weight=3]; 13.14/4.97 423 -> 246[label="",style="dashed", color="red", weight=0]; 13.14/4.97 423[label="getLineGetRest",fontsize=16,color="magenta"];424[label="wv6",fontsize=16,color="green",shape="box"];422[label="primbindIO wv37 (getLineGetLine0 (Char (Succ wv19)))",fontsize=16,color="burlywood",shape="triangle"];677[label="wv37/IO wv370",fontsize=10,color="white",style="solid",shape="box"];422 -> 677[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 677 -> 501[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 678[label="wv37/AProVE_IO wv370",fontsize=10,color="white",style="solid",shape="box"];422 -> 678[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 678 -> 502[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 679[label="wv37/AProVE_Exception wv370",fontsize=10,color="white",style="solid",shape="box"];422 -> 679[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 679 -> 503[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 680[label="wv37/AProVE_Error wv370",fontsize=10,color="white",style="solid",shape="box"];422 -> 680[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 680 -> 504[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 193[label="AProVE_IO []",fontsize=16,color="green",shape="box"];313[label="primbindIO (pCatch (errorFrame getChar2) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];313 -> 317[label="",style="solid", color="black", weight=3]; 13.14/4.97 314[label="primretIO (Char Zero : wv160)",fontsize=16,color="black",shape="box"];314 -> 318[label="",style="solid", color="black", weight=3]; 13.14/4.97 501[label="primbindIO (IO wv370) (getLineGetLine0 (Char (Succ wv19)))",fontsize=16,color="black",shape="box"];501 -> 511[label="",style="solid", color="black", weight=3]; 13.14/4.97 502[label="primbindIO (AProVE_IO wv370) (getLineGetLine0 (Char (Succ wv19)))",fontsize=16,color="black",shape="box"];502 -> 512[label="",style="solid", color="black", weight=3]; 13.14/4.97 503[label="primbindIO (AProVE_Exception wv370) (getLineGetLine0 (Char (Succ wv19)))",fontsize=16,color="black",shape="box"];503 -> 513[label="",style="solid", color="black", weight=3]; 13.14/4.97 504[label="primbindIO (AProVE_Error wv370) (getLineGetLine0 (Char (Succ wv19)))",fontsize=16,color="black",shape="box"];504 -> 514[label="",style="solid", color="black", weight=3]; 13.14/4.97 317[label="primbindIO (pCatch (errorFrame (getChar1 terminator)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];317 -> 321[label="",style="solid", color="black", weight=3]; 13.14/4.97 318[label="AProVE_IO (Char Zero : wv160)",fontsize=16,color="green",shape="box"];511[label="error []",fontsize=16,color="red",shape="box"];512[label="getLineGetLine0 (Char (Succ wv19)) wv370",fontsize=16,color="black",shape="box"];512 -> 522[label="",style="solid", color="black", weight=3]; 13.14/4.97 513[label="AProVE_Exception wv370",fontsize=16,color="green",shape="box"];514[label="AProVE_Error wv370",fontsize=16,color="green",shape="box"];321[label="primbindIO (pCatch (errorFrame (getChar1 ter7m)) getLineGetRest0) getLineGetRest2",fontsize=16,color="burlywood",shape="box"];681[label="ter7m/False",fontsize=10,color="white",style="solid",shape="box"];321 -> 681[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 681 -> 326[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 682[label="ter7m/True",fontsize=10,color="white",style="solid",shape="box"];321 -> 682[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 682 -> 327[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 522[label="return (Char (Succ wv19) : wv370)",fontsize=16,color="black",shape="triangle"];522 -> 532[label="",style="solid", color="black", weight=3]; 13.14/4.97 326[label="primbindIO (pCatch (errorFrame (getChar1 False)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];326 -> 330[label="",style="solid", color="black", weight=3]; 13.14/4.97 327[label="primbindIO (pCatch (errorFrame (getChar1 True)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];327 -> 331[label="",style="solid", color="black", weight=3]; 13.14/4.97 532[label="primretIO (Char (Succ wv19) : wv370)",fontsize=16,color="black",shape="box"];532 -> 539[label="",style="solid", color="black", weight=3]; 13.14/4.97 330[label="primbindIO (pCatch (errorFrame (getChar0 otherwise)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];330 -> 335[label="",style="solid", color="black", weight=3]; 13.14/4.97 331[label="primbindIO (pCatch (errorFrame (return terminator)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];331 -> 336[label="",style="solid", color="black", weight=3]; 13.14/4.97 539[label="AProVE_IO (Char (Succ wv19) : wv370)",fontsize=16,color="green",shape="box"];335[label="primbindIO (pCatch (errorFrame (getChar0 True)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];335 -> 339[label="",style="solid", color="black", weight=3]; 13.14/4.97 336[label="primbindIO (pCatch (errorFrame (primretIO terminator)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];336 -> 340[label="",style="solid", color="black", weight=3]; 13.14/4.97 339[label="primbindIO (pCatch (errorFrame (aIOE IOError_EOF)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];339 -> 343[label="",style="solid", color="black", weight=3]; 13.14/4.97 340[label="primbindIO (pCatch (errorFrame (AProVE_IO terminator)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];340 -> 344[label="",style="solid", color="black", weight=3]; 13.14/4.97 343[label="primbindIO (pCatch (errorFrame (AProVE_Exception (AET_IOError (IOError IOError_EOF [] [] Nothing)))) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];343 -> 347[label="",style="solid", color="black", weight=3]; 13.14/4.97 344[label="primbindIO (pCatch (AProVE_IO terminator) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];344 -> 348[label="",style="solid", color="black", weight=3]; 13.14/4.97 347[label="primbindIO (pCatch (AProVE_Exception (AET_IOError (IOError IOError_EOF [] [] Nothing))) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];347 -> 352[label="",style="solid", color="black", weight=3]; 13.14/4.97 348[label="primbindIO (AProVE_IO terminator) getLineGetRest2",fontsize=16,color="black",shape="box"];348 -> 353[label="",style="solid", color="black", weight=3]; 13.14/4.97 352[label="primbindIO (getLineGetRest0 (IOError IOError_EOF [] [] Nothing)) getLineGetRest2",fontsize=16,color="black",shape="box"];352 -> 360[label="",style="solid", color="black", weight=3]; 13.14/4.97 353[label="getLineGetRest2 terminator",fontsize=16,color="black",shape="box"];353 -> 361[label="",style="solid", color="black", weight=3]; 13.14/4.97 360[label="primbindIO (getLineGetRest00 (IOError IOError_EOF [] [] Nothing) (isEOFError (IOError IOError_EOF [] [] Nothing))) getLineGetRest2",fontsize=16,color="black",shape="box"];360 -> 366[label="",style="solid", color="black", weight=3]; 13.14/4.97 361 -> 367[label="",style="dashed", color="red", weight=0]; 13.14/4.97 361[label="getLineGetRest20 terminator (terminator == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="magenta"];361 -> 368[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 366[label="primbindIO (getLineGetRest00 (IOError IOError_EOF [] [] Nothing) True) getLineGetRest2",fontsize=16,color="black",shape="box"];366 -> 369[label="",style="solid", color="black", weight=3]; 13.14/4.97 368[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];367[label="getLineGetRest20 terminator (terminator == Char (Succ wv28))",fontsize=16,color="black",shape="triangle"];367 -> 370[label="",style="solid", color="black", weight=3]; 13.14/4.97 369 -> 377[label="",style="dashed", color="red", weight=0]; 13.14/4.97 369[label="primbindIO (return (Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) getLineGetRest2",fontsize=16,color="magenta"];369 -> 378[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 370[label="getLineGetRest20 terminator (primEqChar terminator (Char (Succ wv28)))",fontsize=16,color="black",shape="box"];370 -> 379[label="",style="solid", color="black", weight=3]; 13.14/4.97 378[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];377[label="primbindIO (return (Char (Succ wv31))) getLineGetRest2",fontsize=16,color="black",shape="triangle"];377 -> 380[label="",style="solid", color="black", weight=3]; 13.14/4.97 379[label="getLineGetRest20 ter9m (primEqChar ter9m (Char (Succ wv28)))",fontsize=16,color="burlywood",shape="triangle"];683[label="ter9m/Char ter9m0",fontsize=10,color="white",style="solid",shape="box"];379 -> 683[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 683 -> 389[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 380[label="primbindIO (primretIO (Char (Succ wv31))) getLineGetRest2",fontsize=16,color="black",shape="box"];380 -> 390[label="",style="solid", color="black", weight=3]; 13.14/4.97 389[label="getLineGetRest20 (Char ter9m0) (primEqChar (Char ter9m0) (Char (Succ wv28)))",fontsize=16,color="black",shape="box"];389 -> 400[label="",style="solid", color="black", weight=3]; 13.14/4.97 390[label="primbindIO (AProVE_IO (Char (Succ wv31))) getLineGetRest2",fontsize=16,color="black",shape="box"];390 -> 401[label="",style="solid", color="black", weight=3]; 13.14/4.97 400[label="getLineGetRest20 (Char ter9m0) (primEqNat ter9m0 (Succ wv28))",fontsize=16,color="burlywood",shape="box"];684[label="ter9m0/Succ ter9m00",fontsize=10,color="white",style="solid",shape="box"];400 -> 684[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 684 -> 408[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 685[label="ter9m0/Zero",fontsize=10,color="white",style="solid",shape="box"];400 -> 685[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 685 -> 409[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 401[label="getLineGetRest2 (Char (Succ wv31))",fontsize=16,color="black",shape="box"];401 -> 410[label="",style="solid", color="black", weight=3]; 13.14/4.97 408[label="getLineGetRest20 (Char (Succ ter9m00)) (primEqNat (Succ ter9m00) (Succ wv28))",fontsize=16,color="black",shape="box"];408 -> 413[label="",style="solid", color="black", weight=3]; 13.14/4.97 409[label="getLineGetRest20 (Char Zero) (primEqNat Zero (Succ wv28))",fontsize=16,color="black",shape="box"];409 -> 414[label="",style="solid", color="black", weight=3]; 13.14/4.97 410 -> 415[label="",style="dashed", color="red", weight=0]; 13.14/4.97 410[label="getLineGetRest20 (Char (Succ wv31)) (Char (Succ wv31) == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="magenta"];410 -> 416[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 410 -> 417[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 413 -> 615[label="",style="dashed", color="red", weight=0]; 13.14/4.97 413[label="getLineGetRest20 (Char (Succ ter9m00)) (primEqNat ter9m00 wv28)",fontsize=16,color="magenta"];413 -> 616[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 413 -> 617[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 413 -> 618[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 414[label="getLineGetRest20 (Char Zero) False",fontsize=16,color="black",shape="box"];414 -> 420[label="",style="solid", color="black", weight=3]; 13.14/4.97 416[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];417[label="wv31",fontsize=16,color="green",shape="box"];415[label="getLineGetRest20 (Char (Succ wv35)) (Char (Succ wv35) == Char (Succ wv36))",fontsize=16,color="black",shape="triangle"];415 -> 421[label="",style="solid", color="black", weight=3]; 13.14/4.97 616[label="ter9m00",fontsize=16,color="green",shape="box"];617[label="ter9m00",fontsize=16,color="green",shape="box"];618[label="wv28",fontsize=16,color="green",shape="box"];615[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat wv43 wv44)",fontsize=16,color="burlywood",shape="triangle"];686[label="wv43/Succ wv430",fontsize=10,color="white",style="solid",shape="box"];615 -> 686[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 686 -> 634[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 687[label="wv43/Zero",fontsize=10,color="white",style="solid",shape="box"];615 -> 687[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 687 -> 635[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 420 -> 509[label="",style="dashed", color="red", weight=0]; 13.14/4.97 420[label="getLineGetRest >>= getLineGetRest1 (Char Zero)",fontsize=16,color="magenta"];420 -> 510[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 421 -> 379[label="",style="dashed", color="red", weight=0]; 13.14/4.97 421[label="getLineGetRest20 (Char (Succ wv35)) (primEqChar (Char (Succ wv35)) (Char (Succ wv36)))",fontsize=16,color="magenta"];421 -> 515[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 421 -> 516[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 634[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat (Succ wv430) wv44)",fontsize=16,color="burlywood",shape="box"];688[label="wv44/Succ wv440",fontsize=10,color="white",style="solid",shape="box"];634 -> 688[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 688 -> 636[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 689[label="wv44/Zero",fontsize=10,color="white",style="solid",shape="box"];634 -> 689[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 689 -> 637[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 635[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat Zero wv44)",fontsize=16,color="burlywood",shape="box"];690[label="wv44/Succ wv440",fontsize=10,color="white",style="solid",shape="box"];635 -> 690[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 690 -> 638[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 691[label="wv44/Zero",fontsize=10,color="white",style="solid",shape="box"];635 -> 691[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 691 -> 639[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 510 -> 246[label="",style="dashed", color="red", weight=0]; 13.14/4.97 510[label="getLineGetRest",fontsize=16,color="magenta"];509[label="wv38 >>= getLineGetRest1 (Char Zero)",fontsize=16,color="black",shape="triangle"];509 -> 521[label="",style="solid", color="black", weight=3]; 13.14/4.97 515[label="Char (Succ wv35)",fontsize=16,color="green",shape="box"];516[label="wv36",fontsize=16,color="green",shape="box"];636[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat (Succ wv430) (Succ wv440))",fontsize=16,color="black",shape="box"];636 -> 640[label="",style="solid", color="black", weight=3]; 13.14/4.97 637[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat (Succ wv430) Zero)",fontsize=16,color="black",shape="box"];637 -> 641[label="",style="solid", color="black", weight=3]; 13.14/4.97 638[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat Zero (Succ wv440))",fontsize=16,color="black",shape="box"];638 -> 642[label="",style="solid", color="black", weight=3]; 13.14/4.97 639[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat Zero Zero)",fontsize=16,color="black",shape="box"];639 -> 643[label="",style="solid", color="black", weight=3]; 13.14/4.97 521[label="primbindIO wv38 (getLineGetRest1 (Char Zero))",fontsize=16,color="burlywood",shape="box"];692[label="wv38/IO wv380",fontsize=10,color="white",style="solid",shape="box"];521 -> 692[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 692 -> 528[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 693[label="wv38/AProVE_IO wv380",fontsize=10,color="white",style="solid",shape="box"];521 -> 693[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 693 -> 529[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 694[label="wv38/AProVE_Exception wv380",fontsize=10,color="white",style="solid",shape="box"];521 -> 694[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 694 -> 530[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 695[label="wv38/AProVE_Error wv380",fontsize=10,color="white",style="solid",shape="box"];521 -> 695[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 695 -> 531[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 640 -> 615[label="",style="dashed", color="red", weight=0]; 13.14/4.97 640[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat wv430 wv440)",fontsize=16,color="magenta"];640 -> 644[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 640 -> 645[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 641[label="getLineGetRest20 (Char (Succ wv42)) False",fontsize=16,color="black",shape="triangle"];641 -> 646[label="",style="solid", color="black", weight=3]; 13.14/4.97 642 -> 641[label="",style="dashed", color="red", weight=0]; 13.14/4.97 642[label="getLineGetRest20 (Char (Succ wv42)) False",fontsize=16,color="magenta"];643[label="getLineGetRest20 (Char (Succ wv42)) True",fontsize=16,color="black",shape="box"];643 -> 647[label="",style="solid", color="black", weight=3]; 13.14/4.97 528[label="primbindIO (IO wv380) (getLineGetRest1 (Char Zero))",fontsize=16,color="black",shape="box"];528 -> 542[label="",style="solid", color="black", weight=3]; 13.14/4.97 529[label="primbindIO (AProVE_IO wv380) (getLineGetRest1 (Char Zero))",fontsize=16,color="black",shape="box"];529 -> 543[label="",style="solid", color="black", weight=3]; 13.14/4.97 530[label="primbindIO (AProVE_Exception wv380) (getLineGetRest1 (Char Zero))",fontsize=16,color="black",shape="box"];530 -> 544[label="",style="solid", color="black", weight=3]; 13.14/4.97 531[label="primbindIO (AProVE_Error wv380) (getLineGetRest1 (Char Zero))",fontsize=16,color="black",shape="box"];531 -> 545[label="",style="solid", color="black", weight=3]; 13.14/4.97 644[label="wv430",fontsize=16,color="green",shape="box"];645[label="wv440",fontsize=16,color="green",shape="box"];646 -> 648[label="",style="dashed", color="red", weight=0]; 13.14/4.97 646[label="getLineGetRest >>= getLineGetRest1 (Char (Succ wv42))",fontsize=16,color="magenta"];646 -> 649[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 647 -> 185[label="",style="dashed", color="red", weight=0]; 13.14/4.97 647[label="return []",fontsize=16,color="magenta"];542[label="error []",fontsize=16,color="red",shape="box"];543[label="getLineGetRest1 (Char Zero) wv380",fontsize=16,color="black",shape="box"];543 -> 552[label="",style="solid", color="black", weight=3]; 13.14/4.97 544[label="AProVE_Exception wv380",fontsize=16,color="green",shape="box"];545[label="AProVE_Error wv380",fontsize=16,color="green",shape="box"];649 -> 246[label="",style="dashed", color="red", weight=0]; 13.14/4.97 649[label="getLineGetRest",fontsize=16,color="magenta"];648[label="wv45 >>= getLineGetRest1 (Char (Succ wv42))",fontsize=16,color="black",shape="triangle"];648 -> 650[label="",style="solid", color="black", weight=3]; 13.14/4.97 552 -> 310[label="",style="dashed", color="red", weight=0]; 13.14/4.97 552[label="return (Char Zero : wv380)",fontsize=16,color="magenta"];552 -> 566[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 650[label="primbindIO wv45 (getLineGetRest1 (Char (Succ wv42)))",fontsize=16,color="burlywood",shape="box"];696[label="wv45/IO wv450",fontsize=10,color="white",style="solid",shape="box"];650 -> 696[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 696 -> 651[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 697[label="wv45/AProVE_IO wv450",fontsize=10,color="white",style="solid",shape="box"];650 -> 697[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 697 -> 652[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 698[label="wv45/AProVE_Exception wv450",fontsize=10,color="white",style="solid",shape="box"];650 -> 698[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 698 -> 653[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 699[label="wv45/AProVE_Error wv450",fontsize=10,color="white",style="solid",shape="box"];650 -> 699[label="",style="solid", color="burlywood", weight=9]; 13.14/4.97 699 -> 654[label="",style="solid", color="burlywood", weight=3]; 13.14/4.97 566[label="wv380",fontsize=16,color="green",shape="box"];651[label="primbindIO (IO wv450) (getLineGetRest1 (Char (Succ wv42)))",fontsize=16,color="black",shape="box"];651 -> 655[label="",style="solid", color="black", weight=3]; 13.14/4.97 652[label="primbindIO (AProVE_IO wv450) (getLineGetRest1 (Char (Succ wv42)))",fontsize=16,color="black",shape="box"];652 -> 656[label="",style="solid", color="black", weight=3]; 13.14/4.97 653[label="primbindIO (AProVE_Exception wv450) (getLineGetRest1 (Char (Succ wv42)))",fontsize=16,color="black",shape="box"];653 -> 657[label="",style="solid", color="black", weight=3]; 13.14/4.97 654[label="primbindIO (AProVE_Error wv450) (getLineGetRest1 (Char (Succ wv42)))",fontsize=16,color="black",shape="box"];654 -> 658[label="",style="solid", color="black", weight=3]; 13.14/4.97 655[label="error []",fontsize=16,color="red",shape="box"];656[label="getLineGetRest1 (Char (Succ wv42)) wv450",fontsize=16,color="black",shape="box"];656 -> 659[label="",style="solid", color="black", weight=3]; 13.14/4.97 657[label="AProVE_Exception wv450",fontsize=16,color="green",shape="box"];658[label="AProVE_Error wv450",fontsize=16,color="green",shape="box"];659 -> 522[label="",style="dashed", color="red", weight=0]; 13.14/4.97 659[label="return (Char (Succ wv42) : wv450)",fontsize=16,color="magenta"];659 -> 660[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 659 -> 661[label="",style="dashed", color="magenta", weight=3]; 13.14/4.97 660[label="wv42",fontsize=16,color="green",shape="box"];661[label="wv450",fontsize=16,color="green",shape="box"];} 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (14) 13.14/4.97 Complex Obligation (AND) 13.14/4.97 13.14/4.97 ---------------------------------------- 13.14/4.97 13.14/4.97 (15) 13.14/4.97 Obligation: 13.14/4.97 Q DP problem: 13.14/4.97 The TRS P consists of the following rules: 13.14/4.97 13.14/4.97 new_getLineGetRest -> new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.97 new_primbindIO(wv31) -> new_getLineGetRest200(wv31, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest20(wv28) -> new_getLineGetRest 13.14/4.98 new_getLineGetRest201(Char(Succ(ter9m00)), wv28) -> new_getLineGetRest202(wv28) 13.14/4.98 new_getLineGetRest200(wv35, wv36) -> new_getLineGetRest201(Char(Succ(wv35)), wv36) 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest203 13.14/4.98 new_getLineGetRest203 -> new_getLineGetRest 13.14/4.98 new_getLineGetRest -> new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest202(wv440) 13.14/4.98 new_getLineGetRest202(Zero) -> new_getLineGetRest 13.14/4.98 new_getLineGetRest20(wv28) -> new_getLineGetRest202(wv28) 13.14/4.98 new_getLineGetRest201(Char(Zero), wv28) -> new_getLineGetRest 13.14/4.98 13.14/4.98 R is empty. 13.14/4.98 Q is empty. 13.14/4.98 We have to consider all minimal (P,Q,R)-chains. 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (16) DependencyGraphProof (EQUIVALENT) 13.14/4.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (17) 13.14/4.98 Obligation: 13.14/4.98 Q DP problem: 13.14/4.98 The TRS P consists of the following rules: 13.14/4.98 13.14/4.98 new_primbindIO(wv31) -> new_getLineGetRest200(wv31, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest200(wv35, wv36) -> new_getLineGetRest201(Char(Succ(wv35)), wv36) 13.14/4.98 new_getLineGetRest201(Char(Succ(ter9m00)), wv28) -> new_getLineGetRest202(wv28) 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest203 13.14/4.98 new_getLineGetRest203 -> new_getLineGetRest 13.14/4.98 new_getLineGetRest -> new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest -> new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest20(wv28) -> new_getLineGetRest 13.14/4.98 new_getLineGetRest20(wv28) -> new_getLineGetRest202(wv28) 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest202(wv440) 13.14/4.98 new_getLineGetRest202(Zero) -> new_getLineGetRest 13.14/4.98 13.14/4.98 R is empty. 13.14/4.98 Q is empty. 13.14/4.98 We have to consider all minimal (P,Q,R)-chains. 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (18) TransformationProof (EQUIVALENT) 13.14/4.98 By instantiating [LPAR04] the rule new_primbindIO(wv31) -> new_getLineGetRest200(wv31, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) we obtained the following new rules [LPAR04]: 13.14/4.98 13.14/4.98 (new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest200(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))),new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest200(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))) 13.14/4.98 13.14/4.98 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (19) 13.14/4.98 Obligation: 13.14/4.98 Q DP problem: 13.14/4.98 The TRS P consists of the following rules: 13.14/4.98 13.14/4.98 new_getLineGetRest200(wv35, wv36) -> new_getLineGetRest201(Char(Succ(wv35)), wv36) 13.14/4.98 new_getLineGetRest201(Char(Succ(ter9m00)), wv28) -> new_getLineGetRest202(wv28) 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest203 13.14/4.98 new_getLineGetRest203 -> new_getLineGetRest 13.14/4.98 new_getLineGetRest -> new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest -> new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest20(wv28) -> new_getLineGetRest 13.14/4.98 new_getLineGetRest20(wv28) -> new_getLineGetRest202(wv28) 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest202(wv440) 13.14/4.98 new_getLineGetRest202(Zero) -> new_getLineGetRest 13.14/4.98 new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest200(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 13.14/4.98 R is empty. 13.14/4.98 Q is empty. 13.14/4.98 We have to consider all minimal (P,Q,R)-chains. 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (20) TransformationProof (EQUIVALENT) 13.14/4.98 By instantiating [LPAR04] the rule new_getLineGetRest200(wv35, wv36) -> new_getLineGetRest201(Char(Succ(wv35)), wv36) we obtained the following new rules [LPAR04]: 13.14/4.98 13.14/4.98 (new_getLineGetRest200(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest201(Char(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))),new_getLineGetRest200(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest201(Char(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))) 13.14/4.98 13.14/4.98 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (21) 13.14/4.98 Obligation: 13.14/4.98 Q DP problem: 13.14/4.98 The TRS P consists of the following rules: 13.14/4.98 13.14/4.98 new_getLineGetRest201(Char(Succ(ter9m00)), wv28) -> new_getLineGetRest202(wv28) 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest203 13.14/4.98 new_getLineGetRest203 -> new_getLineGetRest 13.14/4.98 new_getLineGetRest -> new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest -> new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest20(wv28) -> new_getLineGetRest 13.14/4.98 new_getLineGetRest20(wv28) -> new_getLineGetRest202(wv28) 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest202(wv440) 13.14/4.98 new_getLineGetRest202(Zero) -> new_getLineGetRest 13.14/4.98 new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest200(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest200(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest201(Char(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 13.14/4.98 R is empty. 13.14/4.98 Q is empty. 13.14/4.98 We have to consider all minimal (P,Q,R)-chains. 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (22) TransformationProof (EQUIVALENT) 13.14/4.98 By instantiating [LPAR04] the rule new_getLineGetRest201(Char(Succ(ter9m00)), wv28) -> new_getLineGetRest202(wv28) we obtained the following new rules [LPAR04]: 13.14/4.98 13.14/4.98 (new_getLineGetRest201(Char(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest202(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))),new_getLineGetRest201(Char(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest202(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))) 13.14/4.98 13.14/4.98 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (23) 13.14/4.98 Obligation: 13.14/4.98 Q DP problem: 13.14/4.98 The TRS P consists of the following rules: 13.14/4.98 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest203 13.14/4.98 new_getLineGetRest203 -> new_getLineGetRest 13.14/4.98 new_getLineGetRest -> new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest -> new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest20(wv28) -> new_getLineGetRest 13.14/4.98 new_getLineGetRest20(wv28) -> new_getLineGetRest202(wv28) 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest202(wv440) 13.14/4.98 new_getLineGetRest202(Zero) -> new_getLineGetRest 13.14/4.98 new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest200(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest200(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest201(Char(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest201(Char(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest202(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 13.14/4.98 R is empty. 13.14/4.98 Q is empty. 13.14/4.98 We have to consider all minimal (P,Q,R)-chains. 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (24) TransformationProof (EQUIVALENT) 13.14/4.98 By instantiating [LPAR04] the rule new_getLineGetRest20(wv28) -> new_getLineGetRest we obtained the following new rules [LPAR04]: 13.14/4.98 13.14/4.98 (new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest,new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest) 13.14/4.98 13.14/4.98 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (25) 13.14/4.98 Obligation: 13.14/4.98 Q DP problem: 13.14/4.98 The TRS P consists of the following rules: 13.14/4.98 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest203 13.14/4.98 new_getLineGetRest203 -> new_getLineGetRest 13.14/4.98 new_getLineGetRest -> new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest -> new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest20(wv28) -> new_getLineGetRest202(wv28) 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest202(wv440) 13.14/4.98 new_getLineGetRest202(Zero) -> new_getLineGetRest 13.14/4.98 new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest200(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest200(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest201(Char(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest201(Char(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest202(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest 13.14/4.98 13.14/4.98 R is empty. 13.14/4.98 Q is empty. 13.14/4.98 We have to consider all minimal (P,Q,R)-chains. 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (26) TransformationProof (EQUIVALENT) 13.14/4.98 By instantiating [LPAR04] the rule new_getLineGetRest20(wv28) -> new_getLineGetRest202(wv28) we obtained the following new rules [LPAR04]: 13.14/4.98 13.14/4.98 (new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest202(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))),new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest202(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))) 13.14/4.98 13.14/4.98 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (27) 13.14/4.98 Obligation: 13.14/4.98 Q DP problem: 13.14/4.98 The TRS P consists of the following rules: 13.14/4.98 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest203 13.14/4.98 new_getLineGetRest203 -> new_getLineGetRest 13.14/4.98 new_getLineGetRest -> new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest -> new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest202(Succ(wv440)) -> new_getLineGetRest202(wv440) 13.14/4.98 new_getLineGetRest202(Zero) -> new_getLineGetRest 13.14/4.98 new_primbindIO(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest200(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest200(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest201(Char(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest201(Char(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest202(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest 13.14/4.98 new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest202(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 13.14/4.98 R is empty. 13.14/4.98 Q is empty. 13.14/4.98 We have to consider all minimal (P,Q,R)-chains. 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (28) NonTerminationLoopProof (COMPLETE) 13.14/4.98 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 13.14/4.98 Found a loop by narrowing to the left: 13.14/4.98 13.14/4.98 s = new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) evaluates to t =new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 13.14/4.98 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 13.14/4.98 * Matcher: [ ] 13.14/4.98 * Semiunifier: [ ] 13.14/4.98 13.14/4.98 -------------------------------------------------------------------------------- 13.14/4.98 Rewriting sequence 13.14/4.98 13.14/4.98 new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest 13.14/4.98 with rule new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) -> new_getLineGetRest at position [] and matcher [ ] 13.14/4.98 13.14/4.98 new_getLineGetRest -> new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 with rule new_getLineGetRest -> new_getLineGetRest20(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))) 13.14/4.98 13.14/4.98 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 13.14/4.98 13.14/4.98 13.14/4.98 All these steps are and every following step will be a correct step w.r.t to Q. 13.14/4.98 13.14/4.98 13.14/4.98 13.14/4.98 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (29) 13.14/4.98 NO 13.14/4.98 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (30) 13.14/4.98 Obligation: 13.14/4.98 Q DP problem: 13.14/4.98 The TRS P consists of the following rules: 13.14/4.98 13.14/4.98 new_getLineGetLine10(wv6, Succ(wv70), Succ(wv80)) -> new_getLineGetLine10(wv6, wv70, wv80) 13.14/4.98 13.14/4.98 R is empty. 13.14/4.98 Q is empty. 13.14/4.98 We have to consider all minimal (P,Q,R)-chains. 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (31) QDPSizeChangeProof (EQUIVALENT) 13.14/4.98 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.14/4.98 13.14/4.98 From the DPs we obtained the following set of size-change graphs: 13.14/4.98 *new_getLineGetLine10(wv6, Succ(wv70), Succ(wv80)) -> new_getLineGetLine10(wv6, wv70, wv80) 13.14/4.98 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 13.14/4.98 13.14/4.98 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (32) 13.14/4.98 YES 13.14/4.98 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (33) Narrow (COMPLETE) 13.14/4.98 Haskell To QDPs 13.14/4.98 13.14/4.98 digraph dp_graph { 13.14/4.98 node [outthreshold=100, inthreshold=100];1[label="getLine",fontsize=16,color="black",shape="box"];1 -> 3[label="",style="solid", color="black", weight=3]; 13.14/4.98 3[label="getChar >>= getLineGetLine1",fontsize=16,color="black",shape="box"];3 -> 4[label="",style="solid", color="black", weight=3]; 13.14/4.98 4[label="primbindIO getChar getLineGetLine1",fontsize=16,color="black",shape="box"];4 -> 5[label="",style="solid", color="black", weight=3]; 13.14/4.98 5[label="primbindIO getChar2 getLineGetLine1",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 13.14/4.98 6[label="primbindIO (getChar1 terminator) getLineGetLine1",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 13.14/4.98 7[label="primbindIO (getChar1 ter0m) getLineGetLine1",fontsize=16,color="burlywood",shape="box"];662[label="ter0m/False",fontsize=10,color="white",style="solid",shape="box"];7 -> 662[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 662 -> 8[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 663[label="ter0m/True",fontsize=10,color="white",style="solid",shape="box"];7 -> 663[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 663 -> 9[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 8[label="primbindIO (getChar1 False) getLineGetLine1",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 13.14/4.98 9[label="primbindIO (getChar1 True) getLineGetLine1",fontsize=16,color="black",shape="box"];9 -> 11[label="",style="solid", color="black", weight=3]; 13.14/4.98 10[label="primbindIO (getChar0 otherwise) getLineGetLine1",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 13.14/4.98 11[label="primbindIO (return terminator) getLineGetLine1",fontsize=16,color="black",shape="box"];11 -> 13[label="",style="solid", color="black", weight=3]; 13.14/4.98 12[label="primbindIO (getChar0 True) getLineGetLine1",fontsize=16,color="black",shape="box"];12 -> 14[label="",style="solid", color="black", weight=3]; 13.14/4.98 13[label="primbindIO (primretIO terminator) getLineGetLine1",fontsize=16,color="black",shape="box"];13 -> 15[label="",style="solid", color="black", weight=3]; 13.14/4.98 14[label="primbindIO (aIOE IOError_EOF) getLineGetLine1",fontsize=16,color="black",shape="box"];14 -> 16[label="",style="solid", color="black", weight=3]; 13.14/4.98 15[label="primbindIO (AProVE_IO terminator) getLineGetLine1",fontsize=16,color="black",shape="box"];15 -> 17[label="",style="solid", color="black", weight=3]; 13.14/4.98 16[label="primbindIO (AProVE_Exception (AET_IOError (IOError IOError_EOF [] [] Nothing))) getLineGetLine1",fontsize=16,color="black",shape="box"];16 -> 18[label="",style="solid", color="black", weight=3]; 13.14/4.98 17[label="getLineGetLine1 terminator",fontsize=16,color="black",shape="box"];17 -> 19[label="",style="solid", color="black", weight=3]; 13.14/4.98 18[label="AProVE_Exception (AET_IOError (IOError IOError_EOF [] [] Nothing))",fontsize=16,color="green",shape="box"];19 -> 20[label="",style="dashed", color="red", weight=0]; 13.14/4.98 19[label="getLineGetLine10 terminator (terminator == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="magenta"];19 -> 21[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 21[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];20[label="getLineGetLine10 terminator (terminator == Char (Succ wv4))",fontsize=16,color="black",shape="triangle"];20 -> 22[label="",style="solid", color="black", weight=3]; 13.14/4.98 22[label="getLineGetLine10 terminator (primEqChar terminator (Char (Succ wv4)))",fontsize=16,color="black",shape="box"];22 -> 23[label="",style="solid", color="black", weight=3]; 13.14/4.98 23[label="getLineGetLine10 ter1m (primEqChar ter1m (Char (Succ wv4)))",fontsize=16,color="burlywood",shape="box"];664[label="ter1m/Char ter1m0",fontsize=10,color="white",style="solid",shape="box"];23 -> 664[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 664 -> 24[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 24[label="getLineGetLine10 (Char ter1m0) (primEqChar (Char ter1m0) (Char (Succ wv4)))",fontsize=16,color="black",shape="box"];24 -> 25[label="",style="solid", color="black", weight=3]; 13.14/4.98 25[label="getLineGetLine10 (Char ter1m0) (primEqNat ter1m0 (Succ wv4))",fontsize=16,color="burlywood",shape="box"];665[label="ter1m0/Succ ter1m00",fontsize=10,color="white",style="solid",shape="box"];25 -> 665[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 665 -> 26[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 666[label="ter1m0/Zero",fontsize=10,color="white",style="solid",shape="box"];25 -> 666[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 666 -> 27[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 26[label="getLineGetLine10 (Char (Succ ter1m00)) (primEqNat (Succ ter1m00) (Succ wv4))",fontsize=16,color="black",shape="box"];26 -> 28[label="",style="solid", color="black", weight=3]; 13.14/4.98 27[label="getLineGetLine10 (Char Zero) (primEqNat Zero (Succ wv4))",fontsize=16,color="black",shape="box"];27 -> 29[label="",style="solid", color="black", weight=3]; 13.14/4.98 28 -> 146[label="",style="dashed", color="red", weight=0]; 13.14/4.98 28[label="getLineGetLine10 (Char (Succ ter1m00)) (primEqNat ter1m00 wv4)",fontsize=16,color="magenta"];28 -> 147[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 28 -> 148[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 28 -> 149[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 29[label="getLineGetLine10 (Char Zero) False",fontsize=16,color="black",shape="box"];29 -> 32[label="",style="solid", color="black", weight=3]; 13.14/4.98 147[label="wv4",fontsize=16,color="green",shape="box"];148[label="ter1m00",fontsize=16,color="green",shape="box"];149[label="ter1m00",fontsize=16,color="green",shape="box"];146[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat wv7 wv8)",fontsize=16,color="burlywood",shape="triangle"];667[label="wv7/Succ wv70",fontsize=10,color="white",style="solid",shape="box"];146 -> 667[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 667 -> 165[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 668[label="wv7/Zero",fontsize=10,color="white",style="solid",shape="box"];146 -> 668[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 668 -> 166[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 32[label="getLineGetRest >>= getLineGetLine0 (Char Zero)",fontsize=16,color="black",shape="box"];32 -> 37[label="",style="solid", color="black", weight=3]; 13.14/4.98 165[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat (Succ wv70) wv8)",fontsize=16,color="burlywood",shape="box"];669[label="wv8/Succ wv80",fontsize=10,color="white",style="solid",shape="box"];165 -> 669[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 669 -> 169[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 670[label="wv8/Zero",fontsize=10,color="white",style="solid",shape="box"];165 -> 670[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 670 -> 170[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 166[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat Zero wv8)",fontsize=16,color="burlywood",shape="box"];671[label="wv8/Succ wv80",fontsize=10,color="white",style="solid",shape="box"];166 -> 671[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 671 -> 171[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 672[label="wv8/Zero",fontsize=10,color="white",style="solid",shape="box"];166 -> 672[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 672 -> 172[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 37 -> 245[label="",style="dashed", color="red", weight=0]; 13.14/4.98 37[label="primbindIO getLineGetRest (getLineGetLine0 (Char Zero))",fontsize=16,color="magenta"];37 -> 246[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 169[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat (Succ wv70) (Succ wv80))",fontsize=16,color="black",shape="box"];169 -> 176[label="",style="solid", color="black", weight=3]; 13.14/4.98 170[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat (Succ wv70) Zero)",fontsize=16,color="black",shape="box"];170 -> 177[label="",style="solid", color="black", weight=3]; 13.14/4.98 171[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat Zero (Succ wv80))",fontsize=16,color="black",shape="box"];171 -> 178[label="",style="solid", color="black", weight=3]; 13.14/4.98 172[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat Zero Zero)",fontsize=16,color="black",shape="box"];172 -> 179[label="",style="solid", color="black", weight=3]; 13.14/4.98 246[label="getLineGetRest",fontsize=16,color="black",shape="triangle"];246 -> 295[label="",style="solid", color="black", weight=3]; 13.14/4.98 245[label="primbindIO wv16 (getLineGetLine0 (Char Zero))",fontsize=16,color="burlywood",shape="triangle"];673[label="wv16/IO wv160",fontsize=10,color="white",style="solid",shape="box"];245 -> 673[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 673 -> 296[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 674[label="wv16/AProVE_IO wv160",fontsize=10,color="white",style="solid",shape="box"];245 -> 674[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 674 -> 297[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 675[label="wv16/AProVE_Exception wv160",fontsize=10,color="white",style="solid",shape="box"];245 -> 675[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 675 -> 298[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 676[label="wv16/AProVE_Error wv160",fontsize=10,color="white",style="solid",shape="box"];245 -> 676[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 676 -> 299[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 176 -> 146[label="",style="dashed", color="red", weight=0]; 13.14/4.98 176[label="getLineGetLine10 (Char (Succ wv6)) (primEqNat wv70 wv80)",fontsize=16,color="magenta"];176 -> 182[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 176 -> 183[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 177[label="getLineGetLine10 (Char (Succ wv6)) False",fontsize=16,color="black",shape="triangle"];177 -> 184[label="",style="solid", color="black", weight=3]; 13.14/4.98 178 -> 177[label="",style="dashed", color="red", weight=0]; 13.14/4.98 178[label="getLineGetLine10 (Char (Succ wv6)) False",fontsize=16,color="magenta"];179[label="getLineGetLine10 (Char (Succ wv6)) True",fontsize=16,color="black",shape="box"];179 -> 185[label="",style="solid", color="black", weight=3]; 13.14/4.98 295[label="catch getChar getLineGetRest0 >>= getLineGetRest2",fontsize=16,color="black",shape="box"];295 -> 302[label="",style="solid", color="black", weight=3]; 13.14/4.98 296[label="primbindIO (IO wv160) (getLineGetLine0 (Char Zero))",fontsize=16,color="black",shape="box"];296 -> 303[label="",style="solid", color="black", weight=3]; 13.14/4.98 297[label="primbindIO (AProVE_IO wv160) (getLineGetLine0 (Char Zero))",fontsize=16,color="black",shape="box"];297 -> 304[label="",style="solid", color="black", weight=3]; 13.14/4.98 298[label="primbindIO (AProVE_Exception wv160) (getLineGetLine0 (Char Zero))",fontsize=16,color="black",shape="box"];298 -> 305[label="",style="solid", color="black", weight=3]; 13.14/4.98 299[label="primbindIO (AProVE_Error wv160) (getLineGetLine0 (Char Zero))",fontsize=16,color="black",shape="box"];299 -> 306[label="",style="solid", color="black", weight=3]; 13.14/4.98 182[label="wv80",fontsize=16,color="green",shape="box"];183[label="wv70",fontsize=16,color="green",shape="box"];184[label="getLineGetRest >>= getLineGetLine0 (Char (Succ wv6))",fontsize=16,color="black",shape="box"];184 -> 188[label="",style="solid", color="black", weight=3]; 13.14/4.98 185[label="return []",fontsize=16,color="black",shape="triangle"];185 -> 189[label="",style="solid", color="black", weight=3]; 13.14/4.98 302[label="primbindIO (catch getChar getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];302 -> 309[label="",style="solid", color="black", weight=3]; 13.14/4.98 303[label="error []",fontsize=16,color="red",shape="box"];304[label="getLineGetLine0 (Char Zero) wv160",fontsize=16,color="black",shape="box"];304 -> 310[label="",style="solid", color="black", weight=3]; 13.14/4.98 305[label="AProVE_Exception wv160",fontsize=16,color="green",shape="box"];306[label="AProVE_Error wv160",fontsize=16,color="green",shape="box"];188 -> 422[label="",style="dashed", color="red", weight=0]; 13.14/4.98 188[label="primbindIO getLineGetRest (getLineGetLine0 (Char (Succ wv6)))",fontsize=16,color="magenta"];188 -> 423[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 188 -> 424[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 189[label="primretIO []",fontsize=16,color="black",shape="box"];189 -> 193[label="",style="solid", color="black", weight=3]; 13.14/4.98 309[label="primbindIO (pCatch (errorFrame getChar) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];309 -> 313[label="",style="solid", color="black", weight=3]; 13.14/4.98 310[label="return (Char Zero : wv160)",fontsize=16,color="black",shape="triangle"];310 -> 314[label="",style="solid", color="black", weight=3]; 13.14/4.98 423 -> 246[label="",style="dashed", color="red", weight=0]; 13.14/4.98 423[label="getLineGetRest",fontsize=16,color="magenta"];424[label="wv6",fontsize=16,color="green",shape="box"];422[label="primbindIO wv37 (getLineGetLine0 (Char (Succ wv19)))",fontsize=16,color="burlywood",shape="triangle"];677[label="wv37/IO wv370",fontsize=10,color="white",style="solid",shape="box"];422 -> 677[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 677 -> 501[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 678[label="wv37/AProVE_IO wv370",fontsize=10,color="white",style="solid",shape="box"];422 -> 678[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 678 -> 502[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 679[label="wv37/AProVE_Exception wv370",fontsize=10,color="white",style="solid",shape="box"];422 -> 679[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 679 -> 503[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 680[label="wv37/AProVE_Error wv370",fontsize=10,color="white",style="solid",shape="box"];422 -> 680[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 680 -> 504[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 193[label="AProVE_IO []",fontsize=16,color="green",shape="box"];313[label="primbindIO (pCatch (errorFrame getChar2) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];313 -> 317[label="",style="solid", color="black", weight=3]; 13.14/4.98 314[label="primretIO (Char Zero : wv160)",fontsize=16,color="black",shape="box"];314 -> 318[label="",style="solid", color="black", weight=3]; 13.14/4.98 501[label="primbindIO (IO wv370) (getLineGetLine0 (Char (Succ wv19)))",fontsize=16,color="black",shape="box"];501 -> 511[label="",style="solid", color="black", weight=3]; 13.14/4.98 502[label="primbindIO (AProVE_IO wv370) (getLineGetLine0 (Char (Succ wv19)))",fontsize=16,color="black",shape="box"];502 -> 512[label="",style="solid", color="black", weight=3]; 13.14/4.98 503[label="primbindIO (AProVE_Exception wv370) (getLineGetLine0 (Char (Succ wv19)))",fontsize=16,color="black",shape="box"];503 -> 513[label="",style="solid", color="black", weight=3]; 13.14/4.98 504[label="primbindIO (AProVE_Error wv370) (getLineGetLine0 (Char (Succ wv19)))",fontsize=16,color="black",shape="box"];504 -> 514[label="",style="solid", color="black", weight=3]; 13.14/4.98 317[label="primbindIO (pCatch (errorFrame (getChar1 terminator)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];317 -> 321[label="",style="solid", color="black", weight=3]; 13.14/4.98 318[label="AProVE_IO (Char Zero : wv160)",fontsize=16,color="green",shape="box"];511[label="error []",fontsize=16,color="red",shape="box"];512[label="getLineGetLine0 (Char (Succ wv19)) wv370",fontsize=16,color="black",shape="box"];512 -> 522[label="",style="solid", color="black", weight=3]; 13.14/4.98 513[label="AProVE_Exception wv370",fontsize=16,color="green",shape="box"];514[label="AProVE_Error wv370",fontsize=16,color="green",shape="box"];321[label="primbindIO (pCatch (errorFrame (getChar1 ter7m)) getLineGetRest0) getLineGetRest2",fontsize=16,color="burlywood",shape="box"];681[label="ter7m/False",fontsize=10,color="white",style="solid",shape="box"];321 -> 681[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 681 -> 326[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 682[label="ter7m/True",fontsize=10,color="white",style="solid",shape="box"];321 -> 682[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 682 -> 327[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 522[label="return (Char (Succ wv19) : wv370)",fontsize=16,color="black",shape="triangle"];522 -> 532[label="",style="solid", color="black", weight=3]; 13.14/4.98 326[label="primbindIO (pCatch (errorFrame (getChar1 False)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];326 -> 330[label="",style="solid", color="black", weight=3]; 13.14/4.98 327[label="primbindIO (pCatch (errorFrame (getChar1 True)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];327 -> 331[label="",style="solid", color="black", weight=3]; 13.14/4.98 532[label="primretIO (Char (Succ wv19) : wv370)",fontsize=16,color="black",shape="box"];532 -> 539[label="",style="solid", color="black", weight=3]; 13.14/4.98 330[label="primbindIO (pCatch (errorFrame (getChar0 otherwise)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];330 -> 335[label="",style="solid", color="black", weight=3]; 13.14/4.98 331[label="primbindIO (pCatch (errorFrame (return terminator)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];331 -> 336[label="",style="solid", color="black", weight=3]; 13.14/4.98 539[label="AProVE_IO (Char (Succ wv19) : wv370)",fontsize=16,color="green",shape="box"];335[label="primbindIO (pCatch (errorFrame (getChar0 True)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];335 -> 339[label="",style="solid", color="black", weight=3]; 13.14/4.98 336[label="primbindIO (pCatch (errorFrame (primretIO terminator)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];336 -> 340[label="",style="solid", color="black", weight=3]; 13.14/4.98 339[label="primbindIO (pCatch (errorFrame (aIOE IOError_EOF)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];339 -> 343[label="",style="solid", color="black", weight=3]; 13.14/4.98 340[label="primbindIO (pCatch (errorFrame (AProVE_IO terminator)) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];340 -> 344[label="",style="solid", color="black", weight=3]; 13.14/4.98 343[label="primbindIO (pCatch (errorFrame (AProVE_Exception (AET_IOError (IOError IOError_EOF [] [] Nothing)))) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];343 -> 347[label="",style="solid", color="black", weight=3]; 13.14/4.98 344[label="primbindIO (pCatch (AProVE_IO terminator) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];344 -> 348[label="",style="solid", color="black", weight=3]; 13.14/4.98 347[label="primbindIO (pCatch (AProVE_Exception (AET_IOError (IOError IOError_EOF [] [] Nothing))) getLineGetRest0) getLineGetRest2",fontsize=16,color="black",shape="box"];347 -> 352[label="",style="solid", color="black", weight=3]; 13.14/4.98 348[label="primbindIO (AProVE_IO terminator) getLineGetRest2",fontsize=16,color="black",shape="box"];348 -> 353[label="",style="solid", color="black", weight=3]; 13.14/4.98 352[label="primbindIO (getLineGetRest0 (IOError IOError_EOF [] [] Nothing)) getLineGetRest2",fontsize=16,color="black",shape="box"];352 -> 360[label="",style="solid", color="black", weight=3]; 13.14/4.98 353[label="getLineGetRest2 terminator",fontsize=16,color="black",shape="box"];353 -> 361[label="",style="solid", color="black", weight=3]; 13.14/4.98 360[label="primbindIO (getLineGetRest00 (IOError IOError_EOF [] [] Nothing) (isEOFError (IOError IOError_EOF [] [] Nothing))) getLineGetRest2",fontsize=16,color="black",shape="box"];360 -> 366[label="",style="solid", color="black", weight=3]; 13.14/4.98 361 -> 367[label="",style="dashed", color="red", weight=0]; 13.14/4.98 361[label="getLineGetRest20 terminator (terminator == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="magenta"];361 -> 368[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 366[label="primbindIO (getLineGetRest00 (IOError IOError_EOF [] [] Nothing) True) getLineGetRest2",fontsize=16,color="black",shape="box"];366 -> 369[label="",style="solid", color="black", weight=3]; 13.14/4.98 368[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];367[label="getLineGetRest20 terminator (terminator == Char (Succ wv28))",fontsize=16,color="black",shape="triangle"];367 -> 370[label="",style="solid", color="black", weight=3]; 13.14/4.98 369 -> 377[label="",style="dashed", color="red", weight=0]; 13.14/4.98 369[label="primbindIO (return (Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) getLineGetRest2",fontsize=16,color="magenta"];369 -> 378[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 370[label="getLineGetRest20 terminator (primEqChar terminator (Char (Succ wv28)))",fontsize=16,color="black",shape="box"];370 -> 379[label="",style="solid", color="black", weight=3]; 13.14/4.98 378[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];377[label="primbindIO (return (Char (Succ wv31))) getLineGetRest2",fontsize=16,color="black",shape="triangle"];377 -> 380[label="",style="solid", color="black", weight=3]; 13.14/4.98 379[label="getLineGetRest20 ter9m (primEqChar ter9m (Char (Succ wv28)))",fontsize=16,color="burlywood",shape="triangle"];683[label="ter9m/Char ter9m0",fontsize=10,color="white",style="solid",shape="box"];379 -> 683[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 683 -> 389[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 380[label="primbindIO (primretIO (Char (Succ wv31))) getLineGetRest2",fontsize=16,color="black",shape="box"];380 -> 390[label="",style="solid", color="black", weight=3]; 13.14/4.98 389[label="getLineGetRest20 (Char ter9m0) (primEqChar (Char ter9m0) (Char (Succ wv28)))",fontsize=16,color="black",shape="box"];389 -> 400[label="",style="solid", color="black", weight=3]; 13.14/4.98 390[label="primbindIO (AProVE_IO (Char (Succ wv31))) getLineGetRest2",fontsize=16,color="black",shape="box"];390 -> 401[label="",style="solid", color="black", weight=3]; 13.14/4.98 400[label="getLineGetRest20 (Char ter9m0) (primEqNat ter9m0 (Succ wv28))",fontsize=16,color="burlywood",shape="box"];684[label="ter9m0/Succ ter9m00",fontsize=10,color="white",style="solid",shape="box"];400 -> 684[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 684 -> 408[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 685[label="ter9m0/Zero",fontsize=10,color="white",style="solid",shape="box"];400 -> 685[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 685 -> 409[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 401[label="getLineGetRest2 (Char (Succ wv31))",fontsize=16,color="black",shape="box"];401 -> 410[label="",style="solid", color="black", weight=3]; 13.14/4.98 408[label="getLineGetRest20 (Char (Succ ter9m00)) (primEqNat (Succ ter9m00) (Succ wv28))",fontsize=16,color="black",shape="box"];408 -> 413[label="",style="solid", color="black", weight=3]; 13.14/4.98 409[label="getLineGetRest20 (Char Zero) (primEqNat Zero (Succ wv28))",fontsize=16,color="black",shape="box"];409 -> 414[label="",style="solid", color="black", weight=3]; 13.14/4.98 410 -> 415[label="",style="dashed", color="red", weight=0]; 13.14/4.98 410[label="getLineGetRest20 (Char (Succ wv31)) (Char (Succ wv31) == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="magenta"];410 -> 416[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 410 -> 417[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 413 -> 615[label="",style="dashed", color="red", weight=0]; 13.14/4.98 413[label="getLineGetRest20 (Char (Succ ter9m00)) (primEqNat ter9m00 wv28)",fontsize=16,color="magenta"];413 -> 616[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 413 -> 617[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 413 -> 618[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 414[label="getLineGetRest20 (Char Zero) False",fontsize=16,color="black",shape="box"];414 -> 420[label="",style="solid", color="black", weight=3]; 13.14/4.98 416[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];417[label="wv31",fontsize=16,color="green",shape="box"];415[label="getLineGetRest20 (Char (Succ wv35)) (Char (Succ wv35) == Char (Succ wv36))",fontsize=16,color="black",shape="triangle"];415 -> 421[label="",style="solid", color="black", weight=3]; 13.14/4.98 616[label="ter9m00",fontsize=16,color="green",shape="box"];617[label="ter9m00",fontsize=16,color="green",shape="box"];618[label="wv28",fontsize=16,color="green",shape="box"];615[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat wv43 wv44)",fontsize=16,color="burlywood",shape="triangle"];686[label="wv43/Succ wv430",fontsize=10,color="white",style="solid",shape="box"];615 -> 686[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 686 -> 634[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 687[label="wv43/Zero",fontsize=10,color="white",style="solid",shape="box"];615 -> 687[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 687 -> 635[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 420 -> 509[label="",style="dashed", color="red", weight=0]; 13.14/4.98 420[label="getLineGetRest >>= getLineGetRest1 (Char Zero)",fontsize=16,color="magenta"];420 -> 510[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 421 -> 379[label="",style="dashed", color="red", weight=0]; 13.14/4.98 421[label="getLineGetRest20 (Char (Succ wv35)) (primEqChar (Char (Succ wv35)) (Char (Succ wv36)))",fontsize=16,color="magenta"];421 -> 515[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 421 -> 516[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 634[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat (Succ wv430) wv44)",fontsize=16,color="burlywood",shape="box"];688[label="wv44/Succ wv440",fontsize=10,color="white",style="solid",shape="box"];634 -> 688[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 688 -> 636[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 689[label="wv44/Zero",fontsize=10,color="white",style="solid",shape="box"];634 -> 689[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 689 -> 637[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 635[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat Zero wv44)",fontsize=16,color="burlywood",shape="box"];690[label="wv44/Succ wv440",fontsize=10,color="white",style="solid",shape="box"];635 -> 690[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 690 -> 638[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 691[label="wv44/Zero",fontsize=10,color="white",style="solid",shape="box"];635 -> 691[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 691 -> 639[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 510 -> 246[label="",style="dashed", color="red", weight=0]; 13.14/4.98 510[label="getLineGetRest",fontsize=16,color="magenta"];509[label="wv38 >>= getLineGetRest1 (Char Zero)",fontsize=16,color="black",shape="triangle"];509 -> 521[label="",style="solid", color="black", weight=3]; 13.14/4.98 515[label="Char (Succ wv35)",fontsize=16,color="green",shape="box"];516[label="wv36",fontsize=16,color="green",shape="box"];636[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat (Succ wv430) (Succ wv440))",fontsize=16,color="black",shape="box"];636 -> 640[label="",style="solid", color="black", weight=3]; 13.14/4.98 637[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat (Succ wv430) Zero)",fontsize=16,color="black",shape="box"];637 -> 641[label="",style="solid", color="black", weight=3]; 13.14/4.98 638[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat Zero (Succ wv440))",fontsize=16,color="black",shape="box"];638 -> 642[label="",style="solid", color="black", weight=3]; 13.14/4.98 639[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat Zero Zero)",fontsize=16,color="black",shape="box"];639 -> 643[label="",style="solid", color="black", weight=3]; 13.14/4.98 521[label="primbindIO wv38 (getLineGetRest1 (Char Zero))",fontsize=16,color="burlywood",shape="box"];692[label="wv38/IO wv380",fontsize=10,color="white",style="solid",shape="box"];521 -> 692[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 692 -> 528[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 693[label="wv38/AProVE_IO wv380",fontsize=10,color="white",style="solid",shape="box"];521 -> 693[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 693 -> 529[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 694[label="wv38/AProVE_Exception wv380",fontsize=10,color="white",style="solid",shape="box"];521 -> 694[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 694 -> 530[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 695[label="wv38/AProVE_Error wv380",fontsize=10,color="white",style="solid",shape="box"];521 -> 695[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 695 -> 531[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 640 -> 615[label="",style="dashed", color="red", weight=0]; 13.14/4.98 640[label="getLineGetRest20 (Char (Succ wv42)) (primEqNat wv430 wv440)",fontsize=16,color="magenta"];640 -> 644[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 640 -> 645[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 641[label="getLineGetRest20 (Char (Succ wv42)) False",fontsize=16,color="black",shape="triangle"];641 -> 646[label="",style="solid", color="black", weight=3]; 13.14/4.98 642 -> 641[label="",style="dashed", color="red", weight=0]; 13.14/4.98 642[label="getLineGetRest20 (Char (Succ wv42)) False",fontsize=16,color="magenta"];643[label="getLineGetRest20 (Char (Succ wv42)) True",fontsize=16,color="black",shape="box"];643 -> 647[label="",style="solid", color="black", weight=3]; 13.14/4.98 528[label="primbindIO (IO wv380) (getLineGetRest1 (Char Zero))",fontsize=16,color="black",shape="box"];528 -> 542[label="",style="solid", color="black", weight=3]; 13.14/4.98 529[label="primbindIO (AProVE_IO wv380) (getLineGetRest1 (Char Zero))",fontsize=16,color="black",shape="box"];529 -> 543[label="",style="solid", color="black", weight=3]; 13.14/4.98 530[label="primbindIO (AProVE_Exception wv380) (getLineGetRest1 (Char Zero))",fontsize=16,color="black",shape="box"];530 -> 544[label="",style="solid", color="black", weight=3]; 13.14/4.98 531[label="primbindIO (AProVE_Error wv380) (getLineGetRest1 (Char Zero))",fontsize=16,color="black",shape="box"];531 -> 545[label="",style="solid", color="black", weight=3]; 13.14/4.98 644[label="wv430",fontsize=16,color="green",shape="box"];645[label="wv440",fontsize=16,color="green",shape="box"];646 -> 648[label="",style="dashed", color="red", weight=0]; 13.14/4.98 646[label="getLineGetRest >>= getLineGetRest1 (Char (Succ wv42))",fontsize=16,color="magenta"];646 -> 649[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 647 -> 185[label="",style="dashed", color="red", weight=0]; 13.14/4.98 647[label="return []",fontsize=16,color="magenta"];542[label="error []",fontsize=16,color="red",shape="box"];543[label="getLineGetRest1 (Char Zero) wv380",fontsize=16,color="black",shape="box"];543 -> 552[label="",style="solid", color="black", weight=3]; 13.14/4.98 544[label="AProVE_Exception wv380",fontsize=16,color="green",shape="box"];545[label="AProVE_Error wv380",fontsize=16,color="green",shape="box"];649 -> 246[label="",style="dashed", color="red", weight=0]; 13.14/4.98 649[label="getLineGetRest",fontsize=16,color="magenta"];648[label="wv45 >>= getLineGetRest1 (Char (Succ wv42))",fontsize=16,color="black",shape="triangle"];648 -> 650[label="",style="solid", color="black", weight=3]; 13.14/4.98 552 -> 310[label="",style="dashed", color="red", weight=0]; 13.14/4.98 552[label="return (Char Zero : wv380)",fontsize=16,color="magenta"];552 -> 566[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 650[label="primbindIO wv45 (getLineGetRest1 (Char (Succ wv42)))",fontsize=16,color="burlywood",shape="box"];696[label="wv45/IO wv450",fontsize=10,color="white",style="solid",shape="box"];650 -> 696[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 696 -> 651[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 697[label="wv45/AProVE_IO wv450",fontsize=10,color="white",style="solid",shape="box"];650 -> 697[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 697 -> 652[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 698[label="wv45/AProVE_Exception wv450",fontsize=10,color="white",style="solid",shape="box"];650 -> 698[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 698 -> 653[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 699[label="wv45/AProVE_Error wv450",fontsize=10,color="white",style="solid",shape="box"];650 -> 699[label="",style="solid", color="burlywood", weight=9]; 13.14/4.98 699 -> 654[label="",style="solid", color="burlywood", weight=3]; 13.14/4.98 566[label="wv380",fontsize=16,color="green",shape="box"];651[label="primbindIO (IO wv450) (getLineGetRest1 (Char (Succ wv42)))",fontsize=16,color="black",shape="box"];651 -> 655[label="",style="solid", color="black", weight=3]; 13.14/4.98 652[label="primbindIO (AProVE_IO wv450) (getLineGetRest1 (Char (Succ wv42)))",fontsize=16,color="black",shape="box"];652 -> 656[label="",style="solid", color="black", weight=3]; 13.14/4.98 653[label="primbindIO (AProVE_Exception wv450) (getLineGetRest1 (Char (Succ wv42)))",fontsize=16,color="black",shape="box"];653 -> 657[label="",style="solid", color="black", weight=3]; 13.14/4.98 654[label="primbindIO (AProVE_Error wv450) (getLineGetRest1 (Char (Succ wv42)))",fontsize=16,color="black",shape="box"];654 -> 658[label="",style="solid", color="black", weight=3]; 13.14/4.98 655[label="error []",fontsize=16,color="red",shape="box"];656[label="getLineGetRest1 (Char (Succ wv42)) wv450",fontsize=16,color="black",shape="box"];656 -> 659[label="",style="solid", color="black", weight=3]; 13.14/4.98 657[label="AProVE_Exception wv450",fontsize=16,color="green",shape="box"];658[label="AProVE_Error wv450",fontsize=16,color="green",shape="box"];659 -> 522[label="",style="dashed", color="red", weight=0]; 13.14/4.98 659[label="return (Char (Succ wv42) : wv450)",fontsize=16,color="magenta"];659 -> 660[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 659 -> 661[label="",style="dashed", color="magenta", weight=3]; 13.14/4.98 660[label="wv42",fontsize=16,color="green",shape="box"];661[label="wv450",fontsize=16,color="green",shape="box"];} 13.14/4.98 13.14/4.98 ---------------------------------------- 13.14/4.98 13.14/4.98 (34) 13.14/4.98 TRUE 13.25/5.08 EOF