8.02/3.58 YES 9.80/4.11 proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs 9.80/4.11 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 9.80/4.11 9.80/4.11 9.80/4.11 H-Termination with start terms of the given HASKELL could be proven: 9.80/4.11 9.80/4.11 (0) HASKELL 9.80/4.11 (1) IFR [EQUIVALENT, 0 ms] 9.80/4.11 (2) HASKELL 9.80/4.11 (3) BR [EQUIVALENT, 0 ms] 9.80/4.11 (4) HASKELL 9.80/4.11 (5) COR [EQUIVALENT, 0 ms] 9.80/4.11 (6) HASKELL 9.80/4.11 (7) NumRed [SOUND, 4 ms] 9.80/4.11 (8) HASKELL 9.80/4.11 (9) Narrow [EQUIVALENT, 94 ms] 9.80/4.11 (10) YES 9.80/4.11 9.80/4.11 9.80/4.11 ---------------------------------------- 9.80/4.11 9.80/4.11 (0) 9.80/4.11 Obligation: 9.80/4.11 mainModule Main 9.80/4.11 module Main where { 9.80/4.11 import qualified Prelude; 9.80/4.11 } 9.80/4.11 9.80/4.11 ---------------------------------------- 9.80/4.11 9.80/4.11 (1) IFR (EQUIVALENT) 9.80/4.11 If Reductions: 9.80/4.11 The following If expression 9.80/4.11 "if x < 0 then showParen (p > 6) ((showChar '-') . showPos (`negate` x)) else showPos x" 9.80/4.11 is transformed to 9.80/4.11 "showSigned0 p showPos x True = showParen (p > 6) ((showChar '-') . showPos (`negate` x)); 9.80/4.11 showSigned0 p showPos x False = showPos x; 9.80/4.11 " 9.80/4.11 The following If expression 9.80/4.11 "if b then (showChar '(') . p . showChar ')' else p" 9.80/4.11 is transformed to 9.80/4.11 "showParen0 p True = (showChar '(') . p . showChar ')'; 9.80/4.11 showParen0 p False = p; 9.80/4.11 " 9.80/4.11 9.80/4.11 ---------------------------------------- 9.80/4.11 9.80/4.11 (2) 9.80/4.11 Obligation: 9.80/4.11 mainModule Main 9.80/4.11 module Main where { 9.80/4.11 import qualified Prelude; 9.80/4.11 } 9.80/4.11 9.80/4.11 ---------------------------------------- 9.80/4.11 9.80/4.11 (3) BR (EQUIVALENT) 9.80/4.11 Replaced joker patterns by fresh variables and removed binding patterns. 9.80/4.11 ---------------------------------------- 9.80/4.11 9.80/4.11 (4) 9.80/4.11 Obligation: 9.80/4.11 mainModule Main 9.80/4.11 module Main where { 9.80/4.11 import qualified Prelude; 9.80/4.11 } 9.80/4.11 9.80/4.11 ---------------------------------------- 9.80/4.11 9.80/4.11 (5) COR (EQUIVALENT) 9.80/4.11 Cond Reductions: 9.80/4.11 The following Function with conditions 9.80/4.11 "undefined |Falseundefined; 9.80/4.11 " 9.80/4.11 is transformed to 9.80/4.11 "undefined = undefined1; 9.80/4.11 " 9.80/4.11 "undefined0 True = undefined; 9.80/4.11 " 9.80/4.11 "undefined1 = undefined0 False; 9.80/4.11 " 9.80/4.11 9.80/4.11 ---------------------------------------- 9.80/4.11 9.80/4.11 (6) 9.80/4.11 Obligation: 9.80/4.11 mainModule Main 9.80/4.11 module Main where { 9.80/4.11 import qualified Prelude; 9.80/4.11 } 9.80/4.11 9.80/4.11 ---------------------------------------- 9.80/4.11 9.80/4.11 (7) NumRed (SOUND) 9.80/4.11 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 9.80/4.11 ---------------------------------------- 9.80/4.11 9.80/4.11 (8) 9.80/4.11 Obligation: 9.80/4.11 mainModule Main 9.80/4.11 module Main where { 9.80/4.11 import qualified Prelude; 9.80/4.11 } 9.80/4.11 9.80/4.11 ---------------------------------------- 9.80/4.11 9.80/4.11 (9) Narrow (EQUIVALENT) 9.80/4.11 Haskell To QDPs 9.80/4.11 9.80/4.11 digraph dp_graph { 9.80/4.11 node [outthreshold=100, inthreshold=100];1[label="showSigned",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 9.80/4.11 3[label="showSigned vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 9.80/4.11 4[label="showSigned vx3 vx4",fontsize=16,color="grey",shape="box"];4 -> 5[label="",style="dashed", color="grey", weight=3]; 9.80/4.11 5[label="showSigned vx3 vx4 vx5",fontsize=16,color="grey",shape="box"];5 -> 6[label="",style="dashed", color="grey", weight=3]; 9.80/4.11 6[label="showSigned vx3 vx4 vx5 vx6",fontsize=16,color="black",shape="triangle"];6 -> 7[label="",style="solid", color="black", weight=3]; 9.80/4.11 7[label="showSigned0 vx4 vx3 vx5 (vx5 < fromInt (Pos Zero)) vx6",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 9.80/4.11 8[label="showSigned0 vx4 vx3 vx5 (compare vx5 (fromInt (Pos Zero)) == LT) vx6",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 9.80/4.11 9[label="showSigned0 vx4 vx3 vx5 (primCmpInt vx5 (fromInt (Pos Zero)) == LT) vx6",fontsize=16,color="burlywood",shape="box"];134[label="vx5/Pos vx50",fontsize=10,color="white",style="solid",shape="box"];9 -> 134[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 134 -> 10[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 135[label="vx5/Neg vx50",fontsize=10,color="white",style="solid",shape="box"];9 -> 135[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 135 -> 11[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 10[label="showSigned0 vx4 vx3 (Pos vx50) (primCmpInt (Pos vx50) (fromInt (Pos Zero)) == LT) vx6",fontsize=16,color="burlywood",shape="box"];136[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];10 -> 136[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 136 -> 12[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 137[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];10 -> 137[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 137 -> 13[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 11[label="showSigned0 vx4 vx3 (Neg vx50) (primCmpInt (Neg vx50) (fromInt (Pos Zero)) == LT) vx6",fontsize=16,color="burlywood",shape="box"];138[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];11 -> 138[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 138 -> 14[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 139[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];11 -> 139[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 139 -> 15[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 12[label="showSigned0 vx4 vx3 (Pos (Succ vx500)) (primCmpInt (Pos (Succ vx500)) (fromInt (Pos Zero)) == LT) vx6",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 9.80/4.11 13[label="showSigned0 vx4 vx3 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT) vx6",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 9.80/4.11 14[label="showSigned0 vx4 vx3 (Neg (Succ vx500)) (primCmpInt (Neg (Succ vx500)) (fromInt (Pos Zero)) == LT) vx6",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 9.80/4.11 15[label="showSigned0 vx4 vx3 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT) vx6",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 9.80/4.11 16[label="showSigned0 vx4 vx3 (Pos (Succ vx500)) (primCmpInt (Pos (Succ vx500)) (Pos Zero) == LT) vx6",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 9.80/4.11 17[label="showSigned0 vx4 vx3 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == LT) vx6",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 9.80/4.11 18[label="showSigned0 vx4 vx3 (Neg (Succ vx500)) (primCmpInt (Neg (Succ vx500)) (Pos Zero) == LT) vx6",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 9.80/4.11 19[label="showSigned0 vx4 vx3 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == LT) vx6",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 9.80/4.11 20[label="showSigned0 vx4 vx3 (Pos (Succ vx500)) (primCmpNat (Succ vx500) Zero == LT) vx6",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 9.80/4.11 21[label="showSigned0 vx4 vx3 (Pos Zero) (EQ == LT) vx6",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 9.80/4.11 22[label="showSigned0 vx4 vx3 (Neg (Succ vx500)) (LT == LT) vx6",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 9.80/4.11 23[label="showSigned0 vx4 vx3 (Neg Zero) (EQ == LT) vx6",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 9.80/4.11 24[label="showSigned0 vx4 vx3 (Pos (Succ vx500)) (GT == LT) vx6",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 9.80/4.11 25[label="showSigned0 vx4 vx3 (Pos Zero) False vx6",fontsize=16,color="black",shape="box"];25 -> 29[label="",style="solid", color="black", weight=3]; 9.80/4.11 26[label="showSigned0 vx4 vx3 (Neg (Succ vx500)) True vx6",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 9.80/4.11 27[label="showSigned0 vx4 vx3 (Neg Zero) False vx6",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 9.80/4.11 28[label="showSigned0 vx4 vx3 (Pos (Succ vx500)) False vx6",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 9.80/4.11 29[label="vx3 (Pos Zero) vx6",fontsize=16,color="green",shape="box"];29 -> 33[label="",style="dashed", color="green", weight=3]; 9.80/4.11 29 -> 34[label="",style="dashed", color="green", weight=3]; 9.80/4.11 30 -> 35[label="",style="dashed", color="red", weight=0]; 9.80/4.11 30[label="showParen (vx4 > Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) ((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 (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))) . vx3 (`negate` Neg (Succ vx500))) vx6",fontsize=16,color="magenta"];30 -> 36[label="",style="dashed", color="magenta", weight=3]; 9.80/4.11 30 -> 37[label="",style="dashed", color="magenta", weight=3]; 9.80/4.11 30 -> 38[label="",style="dashed", color="magenta", weight=3]; 9.80/4.11 30 -> 39[label="",style="dashed", color="magenta", weight=3]; 9.80/4.11 30 -> 40[label="",style="dashed", color="magenta", weight=3]; 9.80/4.11 31[label="vx3 (Neg Zero) vx6",fontsize=16,color="green",shape="box"];31 -> 41[label="",style="dashed", color="green", weight=3]; 9.80/4.11 31 -> 42[label="",style="dashed", color="green", weight=3]; 9.80/4.11 32[label="vx3 (Pos (Succ vx500)) vx6",fontsize=16,color="green",shape="box"];32 -> 43[label="",style="dashed", color="green", weight=3]; 9.80/4.11 32 -> 44[label="",style="dashed", color="green", weight=3]; 9.80/4.11 33[label="Pos Zero",fontsize=16,color="green",shape="box"];34[label="vx6",fontsize=16,color="green",shape="box"];36[label="vx4",fontsize=16,color="green",shape="box"];37[label="vx3",fontsize=16,color="green",shape="box"];38[label="vx500",fontsize=16,color="green",shape="box"];39[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 Zero)))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];40[label="vx6",fontsize=16,color="green",shape="box"];35[label="showParen (vx8 > Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) vx12",fontsize=16,color="black",shape="triangle"];35 -> 45[label="",style="solid", color="black", weight=3]; 9.80/4.11 41[label="Neg Zero",fontsize=16,color="green",shape="box"];42[label="vx6",fontsize=16,color="green",shape="box"];43[label="Pos (Succ vx500)",fontsize=16,color="green",shape="box"];44[label="vx6",fontsize=16,color="green",shape="box"];45[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (vx8 > Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) vx12",fontsize=16,color="black",shape="box"];45 -> 46[label="",style="solid", color="black", weight=3]; 9.80/4.11 46[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (compare vx8 (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) == GT) vx12",fontsize=16,color="black",shape="box"];46 -> 47[label="",style="solid", color="black", weight=3]; 9.80/4.11 47[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpInt vx8 (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) == GT) vx12",fontsize=16,color="burlywood",shape="box"];140[label="vx8/Pos vx80",fontsize=10,color="white",style="solid",shape="box"];47 -> 140[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 140 -> 48[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 141[label="vx8/Neg vx80",fontsize=10,color="white",style="solid",shape="box"];47 -> 141[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 141 -> 49[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 48[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpInt (Pos vx80) (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) == GT) vx12",fontsize=16,color="burlywood",shape="box"];142[label="vx80/Succ vx800",fontsize=10,color="white",style="solid",shape="box"];48 -> 142[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 142 -> 50[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 143[label="vx80/Zero",fontsize=10,color="white",style="solid",shape="box"];48 -> 143[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 143 -> 51[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 49[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpInt (Neg vx80) (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) == GT) vx12",fontsize=16,color="burlywood",shape="box"];144[label="vx80/Succ vx800",fontsize=10,color="white",style="solid",shape="box"];49 -> 144[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 144 -> 52[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 145[label="vx80/Zero",fontsize=10,color="white",style="solid",shape="box"];49 -> 145[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 145 -> 53[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 50[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpInt (Pos (Succ vx800)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) == GT) vx12",fontsize=16,color="black",shape="box"];50 -> 54[label="",style="solid", color="black", weight=3]; 9.80/4.11 51[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpInt (Pos Zero) (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) == GT) vx12",fontsize=16,color="black",shape="box"];51 -> 55[label="",style="solid", color="black", weight=3]; 9.80/4.11 52[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpInt (Neg (Succ vx800)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) == GT) vx12",fontsize=16,color="black",shape="box"];52 -> 56[label="",style="solid", color="black", weight=3]; 9.80/4.11 53[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpInt (Neg Zero) (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) == GT) vx12",fontsize=16,color="black",shape="box"];53 -> 57[label="",style="solid", color="black", weight=3]; 9.80/4.11 54[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpNat (Succ vx800) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) == GT) vx12",fontsize=16,color="black",shape="box"];54 -> 58[label="",style="solid", color="black", weight=3]; 9.80/4.11 55[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpNat Zero (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) == GT) vx12",fontsize=16,color="black",shape="box"];55 -> 59[label="",style="solid", color="black", weight=3]; 9.80/4.11 56[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (LT == GT) vx12",fontsize=16,color="black",shape="triangle"];56 -> 60[label="",style="solid", color="black", weight=3]; 9.80/4.11 57 -> 56[label="",style="dashed", color="red", weight=0]; 9.80/4.11 57[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (LT == GT) vx12",fontsize=16,color="magenta"];58[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpNat vx800 (Succ (Succ (Succ (Succ (Succ Zero))))) == GT) vx12",fontsize=16,color="burlywood",shape="box"];146[label="vx800/Succ vx8000",fontsize=10,color="white",style="solid",shape="box"];58 -> 146[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 146 -> 61[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 147[label="vx800/Zero",fontsize=10,color="white",style="solid",shape="box"];58 -> 147[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 147 -> 62[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 59 -> 56[label="",style="dashed", color="red", weight=0]; 9.80/4.11 59[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (LT == GT) vx12",fontsize=16,color="magenta"];60[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) False vx12",fontsize=16,color="black",shape="box"];60 -> 63[label="",style="solid", color="black", weight=3]; 9.80/4.11 61[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpNat (Succ vx8000) (Succ (Succ (Succ (Succ (Succ Zero))))) == GT) vx12",fontsize=16,color="black",shape="box"];61 -> 64[label="",style="solid", color="black", weight=3]; 9.80/4.11 62[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpNat Zero (Succ (Succ (Succ (Succ (Succ Zero))))) == GT) vx12",fontsize=16,color="black",shape="box"];62 -> 65[label="",style="solid", color="black", weight=3]; 9.80/4.11 63[label="(showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))",fontsize=16,color="black",shape="box"];63 -> 66[label="",style="solid", color="black", weight=3]; 9.80/4.11 64[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpNat vx8000 (Succ (Succ (Succ (Succ Zero)))) == GT) vx12",fontsize=16,color="burlywood",shape="box"];148[label="vx8000/Succ vx80000",fontsize=10,color="white",style="solid",shape="box"];64 -> 148[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 148 -> 67[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 149[label="vx8000/Zero",fontsize=10,color="white",style="solid",shape="box"];64 -> 149[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 149 -> 68[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 65 -> 56[label="",style="dashed", color="red", weight=0]; 9.80/4.11 65[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (LT == GT) vx12",fontsize=16,color="magenta"];66[label="showChar (Char (Succ vx9)) (vx10 (`negate` Neg (Succ vx11)) vx12)",fontsize=16,color="black",shape="box"];66 -> 69[label="",style="solid", color="black", weight=3]; 9.80/4.11 67[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpNat (Succ vx80000) (Succ (Succ (Succ (Succ Zero)))) == GT) vx12",fontsize=16,color="black",shape="box"];67 -> 70[label="",style="solid", color="black", weight=3]; 9.80/4.11 68[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpNat Zero (Succ (Succ (Succ (Succ Zero)))) == GT) vx12",fontsize=16,color="black",shape="box"];68 -> 71[label="",style="solid", color="black", weight=3]; 9.80/4.11 69[label="(:) Char (Succ vx9) vx10 (`negate` Neg (Succ vx11)) vx12",fontsize=16,color="green",shape="box"];69 -> 72[label="",style="dashed", color="green", weight=3]; 9.80/4.11 70[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpNat vx80000 (Succ (Succ (Succ Zero))) == GT) vx12",fontsize=16,color="burlywood",shape="box"];150[label="vx80000/Succ vx800000",fontsize=10,color="white",style="solid",shape="box"];70 -> 150[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 150 -> 73[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 151[label="vx80000/Zero",fontsize=10,color="white",style="solid",shape="box"];70 -> 151[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 151 -> 74[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 71 -> 56[label="",style="dashed", color="red", weight=0]; 9.80/4.11 71[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (LT == GT) vx12",fontsize=16,color="magenta"];72[label="vx10 (`negate` Neg (Succ vx11)) vx12",fontsize=16,color="green",shape="box"];72 -> 75[label="",style="dashed", color="green", weight=3]; 9.80/4.11 72 -> 76[label="",style="dashed", color="green", weight=3]; 9.80/4.11 73[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpNat (Succ vx800000) (Succ (Succ (Succ Zero))) == GT) vx12",fontsize=16,color="black",shape="box"];73 -> 77[label="",style="solid", color="black", weight=3]; 9.80/4.11 74[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpNat Zero (Succ (Succ (Succ Zero))) == GT) vx12",fontsize=16,color="black",shape="box"];74 -> 78[label="",style="solid", color="black", weight=3]; 9.80/4.11 75[label="`negate` Neg (Succ vx11)",fontsize=16,color="black",shape="triangle"];75 -> 79[label="",style="solid", color="black", weight=3]; 9.80/4.11 76[label="vx12",fontsize=16,color="green",shape="box"];77 -> 80[label="",style="dashed", color="red", weight=0]; 9.80/4.11 77[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (primCmpNat vx800000 (Succ (Succ Zero)) == GT) vx12",fontsize=16,color="magenta"];77 -> 81[label="",style="dashed", color="magenta", weight=3]; 9.80/4.11 78 -> 56[label="",style="dashed", color="red", weight=0]; 9.80/4.11 78[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 (`negate` Neg (Succ vx11))) (LT == GT) vx12",fontsize=16,color="magenta"];79[label="primNegInt (Neg (Succ vx11))",fontsize=16,color="black",shape="box"];79 -> 82[label="",style="solid", color="black", weight=3]; 9.80/4.11 81 -> 75[label="",style="dashed", color="red", weight=0]; 9.80/4.11 81[label="`negate` Neg (Succ vx11)",fontsize=16,color="magenta"];80[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) (primCmpNat vx800000 (Succ (Succ Zero)) == GT) vx12",fontsize=16,color="burlywood",shape="triangle"];152[label="vx800000/Succ vx8000000",fontsize=10,color="white",style="solid",shape="box"];80 -> 152[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 152 -> 83[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 153[label="vx800000/Zero",fontsize=10,color="white",style="solid",shape="box"];80 -> 153[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 153 -> 84[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 82[label="Pos (Succ vx11)",fontsize=16,color="green",shape="box"];83[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) (primCmpNat (Succ vx8000000) (Succ (Succ Zero)) == GT) vx12",fontsize=16,color="black",shape="box"];83 -> 85[label="",style="solid", color="black", weight=3]; 9.80/4.11 84[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) (primCmpNat Zero (Succ (Succ Zero)) == GT) vx12",fontsize=16,color="black",shape="box"];84 -> 86[label="",style="solid", color="black", weight=3]; 9.80/4.11 85[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) (primCmpNat vx8000000 (Succ Zero) == GT) vx12",fontsize=16,color="burlywood",shape="box"];154[label="vx8000000/Succ vx80000000",fontsize=10,color="white",style="solid",shape="box"];85 -> 154[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 154 -> 87[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 155[label="vx8000000/Zero",fontsize=10,color="white",style="solid",shape="box"];85 -> 155[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 155 -> 88[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 86[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) (LT == GT) vx12",fontsize=16,color="black",shape="triangle"];86 -> 89[label="",style="solid", color="black", weight=3]; 9.80/4.11 87[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) (primCmpNat (Succ vx80000000) (Succ Zero) == GT) vx12",fontsize=16,color="black",shape="box"];87 -> 90[label="",style="solid", color="black", weight=3]; 9.80/4.11 88[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) (primCmpNat Zero (Succ Zero) == GT) vx12",fontsize=16,color="black",shape="box"];88 -> 91[label="",style="solid", color="black", weight=3]; 9.80/4.11 89[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) False vx12",fontsize=16,color="black",shape="triangle"];89 -> 92[label="",style="solid", color="black", weight=3]; 9.80/4.11 90[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) (primCmpNat vx80000000 Zero == GT) vx12",fontsize=16,color="burlywood",shape="box"];156[label="vx80000000/Succ vx800000000",fontsize=10,color="white",style="solid",shape="box"];90 -> 156[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 156 -> 93[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 157[label="vx80000000/Zero",fontsize=10,color="white",style="solid",shape="box"];90 -> 157[label="",style="solid", color="burlywood", weight=9]; 9.80/4.11 157 -> 94[label="",style="solid", color="burlywood", weight=3]; 9.80/4.11 91 -> 86[label="",style="dashed", color="red", weight=0]; 9.80/4.11 91[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) (LT == GT) vx12",fontsize=16,color="magenta"];92[label="(showChar (Char (Succ vx9))) . vx10 vx13",fontsize=16,color="black",shape="box"];92 -> 95[label="",style="solid", color="black", weight=3]; 9.80/4.11 93[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) (primCmpNat (Succ vx800000000) Zero == GT) vx12",fontsize=16,color="black",shape="box"];93 -> 96[label="",style="solid", color="black", weight=3]; 9.80/4.11 94[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) (primCmpNat Zero Zero == GT) vx12",fontsize=16,color="black",shape="box"];94 -> 97[label="",style="solid", color="black", weight=3]; 9.80/4.11 95[label="showChar (Char (Succ vx9)) (vx10 vx13 vx12)",fontsize=16,color="black",shape="box"];95 -> 98[label="",style="solid", color="black", weight=3]; 9.80/4.11 96[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) (GT == GT) vx12",fontsize=16,color="black",shape="box"];96 -> 99[label="",style="solid", color="black", weight=3]; 9.80/4.11 97[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) (EQ == GT) vx12",fontsize=16,color="black",shape="box"];97 -> 100[label="",style="solid", color="black", weight=3]; 9.80/4.11 98[label="(:) Char (Succ vx9) vx10 vx13 vx12",fontsize=16,color="green",shape="box"];98 -> 101[label="",style="dashed", color="green", weight=3]; 9.80/4.11 99[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) True vx12",fontsize=16,color="black",shape="box"];99 -> 102[label="",style="solid", color="black", weight=3]; 9.80/4.11 100 -> 89[label="",style="dashed", color="red", weight=0]; 9.80/4.11 100[label="showParen0 ((showChar (Char (Succ vx9))) . vx10 vx13) False vx12",fontsize=16,color="magenta"];101[label="vx10 vx13 vx12",fontsize=16,color="green",shape="box"];101 -> 103[label="",style="dashed", color="green", weight=3]; 9.80/4.11 101 -> 104[label="",style="dashed", color="green", weight=3]; 9.80/4.11 102 -> 111[label="",style="dashed", color="red", weight=0]; 9.80/4.11 102[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)))))))))))))))))))))))))))))))))))))))))) . ((showChar (Char (Succ vx9))) . vx10 vx13) . 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"];102 -> 112[label="",style="dashed", color="magenta", weight=3]; 9.80/4.11 102 -> 113[label="",style="dashed", color="magenta", weight=3]; 9.80/4.11 102 -> 114[label="",style="dashed", color="magenta", weight=3]; 9.80/4.11 102 -> 115[label="",style="dashed", color="magenta", weight=3]; 9.80/4.11 102 -> 116[label="",style="dashed", color="magenta", weight=3]; 9.80/4.11 102 -> 117[label="",style="dashed", color="magenta", weight=3]; 9.80/4.11 103[label="vx13",fontsize=16,color="green",shape="box"];104[label="vx12",fontsize=16,color="green",shape="box"];112[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"];113[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"];114[label="vx12",fontsize=16,color="green",shape="box"];115[label="vx13",fontsize=16,color="green",shape="box"];116[label="vx9",fontsize=16,color="green",shape="box"];117[label="vx10",fontsize=16,color="green",shape="box"];111[label="(showChar (Char (Succ vx21))) . ((showChar (Char (Succ vx22))) . vx23 vx24) . showChar (Char (Succ vx25))",fontsize=16,color="black",shape="triangle"];111 -> 124[label="",style="solid", color="black", weight=3]; 9.80/4.11 124[label="showChar (Char (Succ vx21)) (((showChar (Char (Succ vx22))) . vx23 vx24) . showChar (Char (Succ vx25)))",fontsize=16,color="black",shape="box"];124 -> 125[label="",style="solid", color="black", weight=3]; 9.80/4.11 125[label="(:) Char (Succ vx21) ((showChar (Char (Succ vx22))) . vx23 vx24) . showChar (Char (Succ vx25))",fontsize=16,color="green",shape="box"];125 -> 126[label="",style="dashed", color="green", weight=3]; 9.80/4.11 126[label="((showChar (Char (Succ vx22))) . vx23 vx24) . showChar (Char (Succ vx25))",fontsize=16,color="black",shape="box"];126 -> 127[label="",style="solid", color="black", weight=3]; 9.80/4.11 127[label="(showChar (Char (Succ vx22))) . vx23 vx24",fontsize=16,color="black",shape="box"];127 -> 128[label="",style="solid", color="black", weight=3]; 9.80/4.11 128[label="showChar (Char (Succ vx22)) (vx23 vx24 (showChar (Char (Succ vx25)) vx26))",fontsize=16,color="black",shape="box"];128 -> 129[label="",style="solid", color="black", weight=3]; 9.80/4.11 129[label="(:) Char (Succ vx22) vx23 vx24 (showChar (Char (Succ vx25)) vx26)",fontsize=16,color="green",shape="box"];129 -> 130[label="",style="dashed", color="green", weight=3]; 9.80/4.11 130[label="vx23 vx24 (showChar (Char (Succ vx25)) vx26)",fontsize=16,color="green",shape="box"];130 -> 131[label="",style="dashed", color="green", weight=3]; 9.80/4.11 130 -> 132[label="",style="dashed", color="green", weight=3]; 9.80/4.11 131[label="vx24",fontsize=16,color="green",shape="box"];132[label="showChar (Char (Succ vx25)) vx26",fontsize=16,color="black",shape="box"];132 -> 133[label="",style="solid", color="black", weight=3]; 9.80/4.11 133[label="(:) Char (Succ vx25) vx26",fontsize=16,color="green",shape="box"];} 9.80/4.11 9.80/4.11 ---------------------------------------- 9.80/4.11 9.80/4.11 (10) 9.80/4.11 YES 10.22/5.81 EOF