13.65/6.27 YES 16.02/6.87 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 16.02/6.87 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 16.02/6.87 16.02/6.87 16.02/6.87 H-Termination with start terms of the given HASKELL could be proven: 16.02/6.87 16.02/6.87 (0) HASKELL 16.02/6.87 (1) IFR [EQUIVALENT, 0 ms] 16.02/6.87 (2) HASKELL 16.02/6.87 (3) BR [EQUIVALENT, 0 ms] 16.02/6.87 (4) HASKELL 16.02/6.87 (5) COR [EQUIVALENT, 0 ms] 16.02/6.87 (6) HASKELL 16.02/6.87 (7) NumRed [SOUND, 0 ms] 16.02/6.87 (8) HASKELL 16.02/6.87 (9) Narrow [SOUND, 0 ms] 16.02/6.87 (10) AND 16.02/6.87 (11) QDP 16.02/6.87 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 16.02/6.87 (13) YES 16.02/6.87 (14) QDP 16.02/6.87 (15) QDPSizeChangeProof [EQUIVALENT, 0 ms] 16.02/6.87 (16) YES 16.02/6.87 16.02/6.87 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (0) 16.02/6.87 Obligation: 16.02/6.87 mainModule Main 16.02/6.87 module Main where { 16.02/6.87 import qualified Prelude; 16.02/6.87 } 16.02/6.87 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (1) IFR (EQUIVALENT) 16.02/6.87 If Reductions: 16.02/6.87 The following If expression 16.02/6.87 "if b then (showChar '(') . p . showChar ')' else p" 16.02/6.87 is transformed to 16.02/6.87 "showParen0 p True = (showChar '(') . p . showChar ')'; 16.02/6.87 showParen0 p False = p; 16.02/6.87 " 16.02/6.87 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (2) 16.02/6.87 Obligation: 16.02/6.87 mainModule Main 16.02/6.87 module Main where { 16.02/6.87 import qualified Prelude; 16.02/6.87 } 16.02/6.87 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (3) BR (EQUIVALENT) 16.02/6.87 Replaced joker patterns by fresh variables and removed binding patterns. 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (4) 16.02/6.87 Obligation: 16.02/6.87 mainModule Main 16.02/6.87 module Main where { 16.02/6.87 import qualified Prelude; 16.02/6.87 } 16.02/6.87 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (5) COR (EQUIVALENT) 16.02/6.87 Cond Reductions: 16.02/6.87 The following Function with conditions 16.02/6.87 "undefined |Falseundefined; 16.02/6.87 " 16.02/6.87 is transformed to 16.02/6.87 "undefined = undefined1; 16.02/6.87 " 16.02/6.87 "undefined0 True = undefined; 16.02/6.87 " 16.02/6.87 "undefined1 = undefined0 False; 16.02/6.87 " 16.02/6.87 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (6) 16.02/6.87 Obligation: 16.02/6.87 mainModule Main 16.02/6.87 module Main where { 16.02/6.87 import qualified Prelude; 16.02/6.87 } 16.02/6.87 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (7) NumRed (SOUND) 16.02/6.87 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (8) 16.02/6.87 Obligation: 16.02/6.87 mainModule Main 16.02/6.87 module Main where { 16.02/6.87 import qualified Prelude; 16.02/6.87 } 16.02/6.87 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (9) Narrow (SOUND) 16.02/6.87 Haskell To QDPs 16.02/6.87 16.02/6.87 digraph dp_graph { 16.02/6.87 node [outthreshold=100, inthreshold=100];1[label="showsPrec",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 16.02/6.87 3[label="showsPrec vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 16.02/6.87 4[label="showsPrec vx3 vx4",fontsize=16,color="grey",shape="box"];4 -> 5[label="",style="dashed", color="grey", weight=3]; 16.02/6.87 5[label="showsPrec vx3 vx4 vx5",fontsize=16,color="burlywood",shape="triangle"];170[label="vx4/False",fontsize=10,color="white",style="solid",shape="box"];5 -> 170[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 170 -> 6[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 171[label="vx4/True",fontsize=10,color="white",style="solid",shape="box"];5 -> 171[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 171 -> 7[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 6[label="showsPrec vx3 False vx5",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 16.02/6.87 7[label="showsPrec vx3 True vx5",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 16.02/6.87 8 -> 18[label="",style="dashed", color="red", weight=0]; 16.02/6.87 8[label="showParen (vx3 > Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) (showString (Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))) : [])) vx5",fontsize=16,color="magenta"];8 -> 19[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 8 -> 20[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 8 -> 21[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 8 -> 22[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 9 -> 76[label="",style="dashed", color="red", weight=0]; 16.02/6.87 9[label="showParen (vx3 > Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) (showString (Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))) : [])) vx5",fontsize=16,color="magenta"];9 -> 77[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 9 -> 78[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 9 -> 79[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 9 -> 80[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 9 -> 81[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 9 -> 82[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 9 -> 83[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 9 -> 84[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 19[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];20[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];21[label="vx3",fontsize=16,color="green",shape="box"];22[label="vx5",fontsize=16,color="green",shape="box"];18[label="showParen (vx15 > Pos (Succ vx16)) (showString (Char (Succ vx17) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))) : [])) vx18",fontsize=16,color="black",shape="triangle"];18 -> 27[label="",style="solid", color="black", weight=3]; 16.02/6.87 77[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];78[label="vx3",fontsize=16,color="green",shape="box"];79[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];80[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];81[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];82[label="vx5",fontsize=16,color="green",shape="box"];83[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];84[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];76[label="showParen (vx46 > Pos (Succ vx47)) (showString (Char (Succ vx48) : Char (Succ vx49) : Char (Succ vx50) : Char (Succ vx51) : Char (Succ vx52) : [])) vx53",fontsize=16,color="black",shape="triangle"];76 -> 93[label="",style="solid", color="black", weight=3]; 16.02/6.87 27[label="showParen0 (showString (Char (Succ vx17) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))) : [])) (vx15 > Pos (Succ vx16)) vx18",fontsize=16,color="black",shape="box"];27 -> 94[label="",style="solid", color="black", weight=3]; 16.02/6.87 93[label="showParen0 (showString (Char (Succ vx48) : Char (Succ vx49) : Char (Succ vx50) : Char (Succ vx51) : Char (Succ vx52) : [])) (vx46 > Pos (Succ vx47)) vx53",fontsize=16,color="black",shape="box"];93 -> 95[label="",style="solid", color="black", weight=3]; 16.02/6.87 94 -> 96[label="",style="dashed", color="red", weight=0]; 16.02/6.87 94[label="showParen0 (showString (Char (Succ vx17) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))) : [])) (compare vx15 (Pos (Succ vx16)) == GT) vx18",fontsize=16,color="magenta"];94 -> 97[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 94 -> 98[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 94 -> 99[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 94 -> 100[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 94 -> 101[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 95 -> 96[label="",style="dashed", color="red", weight=0]; 16.02/6.87 95[label="showParen0 (showString (Char (Succ vx48) : Char (Succ vx49) : Char (Succ vx50) : Char (Succ vx51) : Char (Succ vx52) : [])) (compare vx46 (Pos (Succ vx47)) == GT) vx53",fontsize=16,color="magenta"];95 -> 102[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 95 -> 103[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 95 -> 104[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 95 -> 105[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 95 -> 106[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 97[label="vx17",fontsize=16,color="green",shape="box"];98[label="vx16",fontsize=16,color="green",shape="box"];99[label="Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))) : []",fontsize=16,color="green",shape="box"];100[label="vx15",fontsize=16,color="green",shape="box"];101[label="vx18",fontsize=16,color="green",shape="box"];96[label="showParen0 (showString (Char (Succ vx55) : vx56)) (compare vx57 (Pos (Succ vx58)) == GT) vx59",fontsize=16,color="black",shape="triangle"];96 -> 107[label="",style="solid", color="black", weight=3]; 16.02/6.87 102[label="vx48",fontsize=16,color="green",shape="box"];103[label="vx47",fontsize=16,color="green",shape="box"];104[label="Char (Succ vx49) : Char (Succ vx50) : Char (Succ vx51) : Char (Succ vx52) : []",fontsize=16,color="green",shape="box"];105[label="vx46",fontsize=16,color="green",shape="box"];106[label="vx53",fontsize=16,color="green",shape="box"];107[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpInt vx57 (Pos (Succ vx58)) == GT) vx59",fontsize=16,color="burlywood",shape="box"];172[label="vx57/Pos vx570",fontsize=10,color="white",style="solid",shape="box"];107 -> 172[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 172 -> 108[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 173[label="vx57/Neg vx570",fontsize=10,color="white",style="solid",shape="box"];107 -> 173[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 173 -> 109[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 108[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpInt (Pos vx570) (Pos (Succ vx58)) == GT) vx59",fontsize=16,color="burlywood",shape="box"];174[label="vx570/Succ vx5700",fontsize=10,color="white",style="solid",shape="box"];108 -> 174[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 174 -> 110[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 175[label="vx570/Zero",fontsize=10,color="white",style="solid",shape="box"];108 -> 175[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 175 -> 111[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 109[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpInt (Neg vx570) (Pos (Succ vx58)) == GT) vx59",fontsize=16,color="burlywood",shape="box"];176[label="vx570/Succ vx5700",fontsize=10,color="white",style="solid",shape="box"];109 -> 176[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 176 -> 112[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 177[label="vx570/Zero",fontsize=10,color="white",style="solid",shape="box"];109 -> 177[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 177 -> 113[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 110[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpInt (Pos (Succ vx5700)) (Pos (Succ vx58)) == GT) vx59",fontsize=16,color="black",shape="box"];110 -> 114[label="",style="solid", color="black", weight=3]; 16.02/6.87 111[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpInt (Pos Zero) (Pos (Succ vx58)) == GT) vx59",fontsize=16,color="black",shape="box"];111 -> 115[label="",style="solid", color="black", weight=3]; 16.02/6.87 112[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpInt (Neg (Succ vx5700)) (Pos (Succ vx58)) == GT) vx59",fontsize=16,color="black",shape="box"];112 -> 116[label="",style="solid", color="black", weight=3]; 16.02/6.87 113[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpInt (Neg Zero) (Pos (Succ vx58)) == GT) vx59",fontsize=16,color="black",shape="box"];113 -> 117[label="",style="solid", color="black", weight=3]; 16.02/6.87 114[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpNat (Succ vx5700) (Succ vx58) == GT) vx59",fontsize=16,color="black",shape="box"];114 -> 118[label="",style="solid", color="black", weight=3]; 16.02/6.87 115[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpNat Zero (Succ vx58) == GT) vx59",fontsize=16,color="black",shape="box"];115 -> 119[label="",style="solid", color="black", weight=3]; 16.02/6.87 116[label="showParen0 (showString (Char (Succ vx55) : vx56)) (LT == GT) vx59",fontsize=16,color="black",shape="triangle"];116 -> 120[label="",style="solid", color="black", weight=3]; 16.02/6.87 117 -> 116[label="",style="dashed", color="red", weight=0]; 16.02/6.87 117[label="showParen0 (showString (Char (Succ vx55) : vx56)) (LT == GT) vx59",fontsize=16,color="magenta"];118[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpNat vx5700 vx58 == GT) vx59",fontsize=16,color="burlywood",shape="triangle"];178[label="vx5700/Succ vx57000",fontsize=10,color="white",style="solid",shape="box"];118 -> 178[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 178 -> 121[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 179[label="vx5700/Zero",fontsize=10,color="white",style="solid",shape="box"];118 -> 179[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 179 -> 122[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 119 -> 116[label="",style="dashed", color="red", weight=0]; 16.02/6.87 119[label="showParen0 (showString (Char (Succ vx55) : vx56)) (LT == GT) vx59",fontsize=16,color="magenta"];120[label="showParen0 (showString (Char (Succ vx55) : vx56)) False vx59",fontsize=16,color="black",shape="triangle"];120 -> 123[label="",style="solid", color="black", weight=3]; 16.02/6.87 121[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpNat (Succ vx57000) vx58 == GT) vx59",fontsize=16,color="burlywood",shape="box"];180[label="vx58/Succ vx580",fontsize=10,color="white",style="solid",shape="box"];121 -> 180[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 180 -> 124[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 181[label="vx58/Zero",fontsize=10,color="white",style="solid",shape="box"];121 -> 181[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 181 -> 125[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 122[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpNat Zero vx58 == GT) vx59",fontsize=16,color="burlywood",shape="box"];182[label="vx58/Succ vx580",fontsize=10,color="white",style="solid",shape="box"];122 -> 182[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 182 -> 126[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 183[label="vx58/Zero",fontsize=10,color="white",style="solid",shape="box"];122 -> 183[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 183 -> 127[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 123[label="showString (Char (Succ vx55) : vx56) vx59",fontsize=16,color="black",shape="triangle"];123 -> 128[label="",style="solid", color="black", weight=3]; 16.02/6.87 124[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpNat (Succ vx57000) (Succ vx580) == GT) vx59",fontsize=16,color="black",shape="box"];124 -> 129[label="",style="solid", color="black", weight=3]; 16.02/6.87 125[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpNat (Succ vx57000) Zero == GT) vx59",fontsize=16,color="black",shape="box"];125 -> 130[label="",style="solid", color="black", weight=3]; 16.02/6.87 126[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpNat Zero (Succ vx580) == GT) vx59",fontsize=16,color="black",shape="box"];126 -> 131[label="",style="solid", color="black", weight=3]; 16.02/6.87 127[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpNat Zero Zero == GT) vx59",fontsize=16,color="black",shape="box"];127 -> 132[label="",style="solid", color="black", weight=3]; 16.02/6.87 128[label="(++) (Char (Succ vx55) : vx56) vx59",fontsize=16,color="black",shape="box"];128 -> 133[label="",style="solid", color="black", weight=3]; 16.02/6.87 129 -> 118[label="",style="dashed", color="red", weight=0]; 16.02/6.87 129[label="showParen0 (showString (Char (Succ vx55) : vx56)) (primCmpNat vx57000 vx580 == GT) vx59",fontsize=16,color="magenta"];129 -> 134[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 129 -> 135[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 130[label="showParen0 (showString (Char (Succ vx55) : vx56)) (GT == GT) vx59",fontsize=16,color="black",shape="box"];130 -> 136[label="",style="solid", color="black", weight=3]; 16.02/6.87 131 -> 116[label="",style="dashed", color="red", weight=0]; 16.02/6.87 131[label="showParen0 (showString (Char (Succ vx55) : vx56)) (LT == GT) vx59",fontsize=16,color="magenta"];132[label="showParen0 (showString (Char (Succ vx55) : vx56)) (EQ == GT) vx59",fontsize=16,color="black",shape="box"];132 -> 137[label="",style="solid", color="black", weight=3]; 16.02/6.87 133[label="Char (Succ vx55) : vx56 ++ vx59",fontsize=16,color="green",shape="box"];133 -> 138[label="",style="dashed", color="green", weight=3]; 16.02/6.87 134[label="vx580",fontsize=16,color="green",shape="box"];135[label="vx57000",fontsize=16,color="green",shape="box"];136[label="showParen0 (showString (Char (Succ vx55) : vx56)) True vx59",fontsize=16,color="black",shape="box"];136 -> 139[label="",style="solid", color="black", weight=3]; 16.02/6.87 137 -> 120[label="",style="dashed", color="red", weight=0]; 16.02/6.87 137[label="showParen0 (showString (Char (Succ vx55) : vx56)) False vx59",fontsize=16,color="magenta"];138[label="vx56 ++ vx59",fontsize=16,color="burlywood",shape="triangle"];184[label="vx56/vx560 : vx561",fontsize=10,color="white",style="solid",shape="box"];138 -> 184[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 184 -> 140[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 185[label="vx56/[]",fontsize=10,color="white",style="solid",shape="box"];138 -> 185[label="",style="solid", color="burlywood", weight=9]; 16.02/6.87 185 -> 141[label="",style="solid", color="burlywood", weight=3]; 16.02/6.87 139 -> 149[label="",style="dashed", color="red", weight=0]; 16.02/6.87 139[label="(showChar (Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))) . (showString (Char (Succ vx55) : vx56)) . showChar (Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];139 -> 150[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 139 -> 151[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 139 -> 152[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 139 -> 153[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 139 -> 154[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 140[label="(vx560 : vx561) ++ vx59",fontsize=16,color="black",shape="box"];140 -> 147[label="",style="solid", color="black", weight=3]; 16.02/6.87 141[label="[] ++ vx59",fontsize=16,color="black",shape="box"];141 -> 148[label="",style="solid", color="black", weight=3]; 16.02/6.87 150[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];151[label="vx56",fontsize=16,color="green",shape="box"];152[label="vx59",fontsize=16,color="green",shape="box"];153[label="vx55",fontsize=16,color="green",shape="box"];154[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];149[label="(showChar (Char (Succ vx66))) . (showString (Char (Succ vx67) : vx68)) . showChar (Char (Succ vx69))",fontsize=16,color="black",shape="triangle"];149 -> 160[label="",style="solid", color="black", weight=3]; 16.02/6.87 147[label="vx560 : vx561 ++ vx59",fontsize=16,color="green",shape="box"];147 -> 161[label="",style="dashed", color="green", weight=3]; 16.02/6.87 148[label="vx59",fontsize=16,color="green",shape="box"];160[label="showChar (Char (Succ vx66)) ((showString (Char (Succ vx67) : vx68)) . showChar (Char (Succ vx69)))",fontsize=16,color="black",shape="box"];160 -> 162[label="",style="solid", color="black", weight=3]; 16.02/6.87 161 -> 138[label="",style="dashed", color="red", weight=0]; 16.02/6.87 161[label="vx561 ++ vx59",fontsize=16,color="magenta"];161 -> 163[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 162[label="(:) Char (Succ vx66) (showString (Char (Succ vx67) : vx68)) . showChar (Char (Succ vx69))",fontsize=16,color="green",shape="box"];162 -> 164[label="",style="dashed", color="green", weight=3]; 16.02/6.87 163[label="vx561",fontsize=16,color="green",shape="box"];164[label="(showString (Char (Succ vx67) : vx68)) . showChar (Char (Succ vx69))",fontsize=16,color="black",shape="box"];164 -> 165[label="",style="solid", color="black", weight=3]; 16.02/6.87 165 -> 123[label="",style="dashed", color="red", weight=0]; 16.02/6.87 165[label="showString (Char (Succ vx67) : vx68) (showChar (Char (Succ vx69)) vx70)",fontsize=16,color="magenta"];165 -> 166[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 165 -> 167[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 165 -> 168[label="",style="dashed", color="magenta", weight=3]; 16.02/6.87 166[label="vx67",fontsize=16,color="green",shape="box"];167[label="vx68",fontsize=16,color="green",shape="box"];168[label="showChar (Char (Succ vx69)) vx70",fontsize=16,color="black",shape="box"];168 -> 169[label="",style="solid", color="black", weight=3]; 16.02/6.87 169[label="(:) Char (Succ vx69) vx70",fontsize=16,color="green",shape="box"];} 16.02/6.87 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (10) 16.02/6.87 Complex Obligation (AND) 16.02/6.87 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (11) 16.02/6.87 Obligation: 16.02/6.87 Q DP problem: 16.02/6.87 The TRS P consists of the following rules: 16.02/6.87 16.02/6.87 new_showParen0(vx55, vx56, Succ(vx57000), Succ(vx580), vx59) -> new_showParen0(vx55, vx56, vx57000, vx580, vx59) 16.02/6.87 16.02/6.87 R is empty. 16.02/6.87 Q is empty. 16.02/6.87 We have to consider all minimal (P,Q,R)-chains. 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (12) QDPSizeChangeProof (EQUIVALENT) 16.02/6.87 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. 16.02/6.87 16.02/6.87 From the DPs we obtained the following set of size-change graphs: 16.02/6.87 *new_showParen0(vx55, vx56, Succ(vx57000), Succ(vx580), vx59) -> new_showParen0(vx55, vx56, vx57000, vx580, vx59) 16.02/6.87 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4, 5 >= 5 16.02/6.87 16.02/6.87 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (13) 16.02/6.87 YES 16.02/6.87 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (14) 16.02/6.87 Obligation: 16.02/6.87 Q DP problem: 16.02/6.87 The TRS P consists of the following rules: 16.02/6.87 16.02/6.87 new_psPs(:(vx560, vx561), vx59) -> new_psPs(vx561, vx59) 16.02/6.87 16.02/6.87 R is empty. 16.02/6.87 Q is empty. 16.02/6.87 We have to consider all minimal (P,Q,R)-chains. 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (15) QDPSizeChangeProof (EQUIVALENT) 16.02/6.87 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. 16.02/6.87 16.02/6.87 From the DPs we obtained the following set of size-change graphs: 16.02/6.87 *new_psPs(:(vx560, vx561), vx59) -> new_psPs(vx561, vx59) 16.02/6.87 The graph contains the following edges 1 > 1, 2 >= 2 16.02/6.87 16.02/6.87 16.02/6.87 ---------------------------------------- 16.02/6.87 16.02/6.87 (16) 16.02/6.87 YES 16.08/6.94 EOF