10.12/4.20 YES 12.48/4.87 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 12.48/4.87 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 12.48/4.87 12.48/4.87 12.48/4.87 H-Termination with start terms of the given HASKELL could be proven: 12.48/4.87 12.48/4.87 (0) HASKELL 12.48/4.87 (1) LR [EQUIVALENT, 0 ms] 12.48/4.87 (2) HASKELL 12.48/4.87 (3) IFR [EQUIVALENT, 0 ms] 12.48/4.87 (4) HASKELL 12.48/4.87 (5) BR [EQUIVALENT, 0 ms] 12.48/4.87 (6) HASKELL 12.48/4.87 (7) COR [EQUIVALENT, 0 ms] 12.48/4.87 (8) HASKELL 12.48/4.87 (9) LetRed [EQUIVALENT, 0 ms] 12.48/4.87 (10) HASKELL 12.48/4.87 (11) NumRed [SOUND, 0 ms] 12.48/4.87 (12) HASKELL 12.48/4.87 (13) Narrow [SOUND, 0 ms] 12.48/4.87 (14) AND 12.48/4.87 (15) QDP 12.48/4.87 (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.48/4.87 (17) YES 12.48/4.87 (18) QDP 12.48/4.87 (19) DependencyGraphProof [EQUIVALENT, 0 ms] 12.48/4.87 (20) AND 12.48/4.87 (21) QDP 12.48/4.87 (22) MRRProof [EQUIVALENT, 16 ms] 12.48/4.87 (23) QDP 12.48/4.87 (24) PisEmptyProof [EQUIVALENT, 0 ms] 12.48/4.87 (25) YES 12.48/4.87 (26) QDP 12.48/4.87 (27) QDPOrderProof [EQUIVALENT, 0 ms] 12.48/4.87 (28) QDP 12.48/4.87 (29) DependencyGraphProof [EQUIVALENT, 0 ms] 12.48/4.87 (30) QDP 12.48/4.87 (31) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.48/4.87 (32) YES 12.48/4.87 (33) QDP 12.48/4.87 (34) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.48/4.87 (35) YES 12.48/4.87 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (0) 12.48/4.87 Obligation: 12.48/4.87 mainModule Main 12.48/4.87 module Main where { 12.48/4.87 import qualified Prelude; 12.48/4.87 } 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (1) LR (EQUIVALENT) 12.48/4.87 Lambda Reductions: 12.48/4.87 The following Lambda expression 12.48/4.87 "\(m,_)->m" 12.48/4.87 is transformed to 12.48/4.87 "m0 (m,_) = m; 12.48/4.87 " 12.48/4.87 The following Lambda expression 12.48/4.87 "\(q,_)->q" 12.48/4.87 is transformed to 12.48/4.87 "q1 (q,_) = q; 12.48/4.87 " 12.48/4.87 The following Lambda expression 12.48/4.87 "\(_,r)->r" 12.48/4.87 is transformed to 12.48/4.87 "r0 (_,r) = r; 12.48/4.87 " 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (2) 12.48/4.87 Obligation: 12.48/4.87 mainModule Main 12.48/4.87 module Main where { 12.48/4.87 import qualified Prelude; 12.48/4.87 } 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (3) IFR (EQUIVALENT) 12.48/4.87 If Reductions: 12.48/4.87 The following If expression 12.48/4.87 "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" 12.48/4.87 is transformed to 12.48/4.87 "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); 12.48/4.87 primDivNatS0 x y False = Zero; 12.48/4.87 " 12.48/4.87 The following If expression 12.48/4.87 "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" 12.48/4.87 is transformed to 12.48/4.87 "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); 12.48/4.87 primModNatS0 x y False = Succ x; 12.48/4.87 " 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (4) 12.48/4.87 Obligation: 12.48/4.87 mainModule Main 12.48/4.87 module Main where { 12.48/4.87 import qualified Prelude; 12.48/4.87 } 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (5) BR (EQUIVALENT) 12.48/4.87 Replaced joker patterns by fresh variables and removed binding patterns. 12.48/4.87 12.48/4.87 Binding Reductions: 12.48/4.87 The bind variable of the following binding Pattern 12.48/4.87 "frac@(Float vz wu)" 12.48/4.87 is replaced by the following term 12.48/4.87 "Float vz wu" 12.48/4.87 The bind variable of the following binding Pattern 12.48/4.87 "frac@(Double xu xv)" 12.48/4.87 is replaced by the following term 12.48/4.87 "Double xu xv" 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (6) 12.48/4.87 Obligation: 12.48/4.87 mainModule Main 12.48/4.87 module Main where { 12.48/4.87 import qualified Prelude; 12.48/4.87 } 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (7) COR (EQUIVALENT) 12.48/4.87 Cond Reductions: 12.48/4.87 The following Function with conditions 12.48/4.87 "toEnum 0 = False; 12.48/4.87 toEnum 1 = True; 12.48/4.87 " 12.48/4.87 is transformed to 12.48/4.87 "toEnum xz = toEnum3 xz; 12.48/4.87 toEnum xy = toEnum1 xy; 12.48/4.87 " 12.48/4.87 "toEnum0 True xy = True; 12.48/4.87 " 12.48/4.87 "toEnum1 xy = toEnum0 (xy == 1) xy; 12.48/4.87 " 12.48/4.87 "toEnum2 True xz = False; 12.48/4.87 toEnum2 yu yv = toEnum1 yv; 12.48/4.87 " 12.48/4.87 "toEnum3 xz = toEnum2 (xz == 0) xz; 12.48/4.87 toEnum3 yw = toEnum1 yw; 12.48/4.87 " 12.48/4.87 The following Function with conditions 12.48/4.87 "toEnum 0 = LT; 12.48/4.87 toEnum 1 = EQ; 12.48/4.87 toEnum 2 = GT; 12.48/4.87 " 12.48/4.87 is transformed to 12.48/4.87 "toEnum zw = toEnum9 zw; 12.48/4.87 toEnum yy = toEnum7 yy; 12.48/4.87 toEnum yx = toEnum5 yx; 12.48/4.87 " 12.48/4.87 "toEnum4 True yx = GT; 12.48/4.87 " 12.48/4.87 "toEnum5 yx = toEnum4 (yx == 2) yx; 12.48/4.87 " 12.48/4.87 "toEnum6 True yy = EQ; 12.48/4.87 toEnum6 yz zu = toEnum5 zu; 12.48/4.87 " 12.48/4.87 "toEnum7 yy = toEnum6 (yy == 1) yy; 12.48/4.87 toEnum7 zv = toEnum5 zv; 12.48/4.87 " 12.48/4.87 "toEnum8 True zw = LT; 12.48/4.87 toEnum8 zx zy = toEnum7 zy; 12.48/4.87 " 12.48/4.87 "toEnum9 zw = toEnum8 (zw == 0) zw; 12.48/4.87 toEnum9 zz = toEnum7 zz; 12.48/4.87 " 12.48/4.87 The following Function with conditions 12.48/4.87 "toEnum 0 = (); 12.48/4.87 " 12.48/4.87 is transformed to 12.48/4.87 "toEnum vuu = toEnum11 vuu; 12.48/4.87 " 12.48/4.87 "toEnum10 True vuu = (); 12.48/4.87 " 12.48/4.87 "toEnum11 vuu = toEnum10 (vuu == 0) vuu; 12.48/4.87 " 12.48/4.87 The following Function with conditions 12.48/4.87 "undefined |Falseundefined; 12.48/4.87 " 12.48/4.87 is transformed to 12.48/4.87 "undefined = undefined1; 12.48/4.87 " 12.48/4.87 "undefined0 True = undefined; 12.48/4.87 " 12.48/4.87 "undefined1 = undefined0 False; 12.48/4.87 " 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (8) 12.48/4.87 Obligation: 12.48/4.87 mainModule Main 12.48/4.87 module Main where { 12.48/4.87 import qualified Prelude; 12.48/4.87 } 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (9) LetRed (EQUIVALENT) 12.48/4.87 Let/Where Reductions: 12.48/4.87 The bindings of the following Let/Where expression 12.48/4.87 "m where { 12.48/4.87 m = m0 vu6; 12.48/4.87 ; 12.48/4.87 m0 (m,vv) = m; 12.48/4.87 ; 12.48/4.87 vu6 = properFraction x; 12.48/4.87 } 12.48/4.87 " 12.48/4.87 are unpacked to the following functions on top level 12.48/4.87 "truncateVu6 vuv = properFraction vuv; 12.48/4.87 " 12.48/4.87 "truncateM0 vuv (m,vv) = m; 12.48/4.87 " 12.48/4.87 "truncateM vuv = truncateM0 vuv (truncateVu6 vuv); 12.48/4.87 " 12.48/4.87 The bindings of the following Let/Where expression 12.48/4.87 "(fromIntegral q,r :% y) where { 12.48/4.87 q = q1 vu30; 12.48/4.87 ; 12.48/4.87 q1 (q,vw) = q; 12.48/4.87 ; 12.48/4.87 r = r0 vu30; 12.48/4.87 ; 12.48/4.87 r0 (vx,r) = r; 12.48/4.87 ; 12.48/4.87 vu30 = quotRem x y; 12.48/4.87 } 12.48/4.87 " 12.48/4.87 are unpacked to the following functions on top level 12.48/4.87 "properFractionQ1 vuw vux (q,vw) = q; 12.48/4.87 " 12.48/4.87 "properFractionR vuw vux = properFractionR0 vuw vux (properFractionVu30 vuw vux); 12.48/4.87 " 12.48/4.87 "properFractionVu30 vuw vux = quotRem vuw vux; 12.48/4.87 " 12.48/4.87 "properFractionQ vuw vux = properFractionQ1 vuw vux (properFractionVu30 vuw vux); 12.48/4.87 " 12.48/4.87 "properFractionR0 vuw vux (vx,r) = r; 12.48/4.87 " 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (10) 12.48/4.87 Obligation: 12.48/4.87 mainModule Main 12.48/4.87 module Main where { 12.48/4.87 import qualified Prelude; 12.48/4.87 } 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (11) NumRed (SOUND) 12.48/4.87 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (12) 12.48/4.87 Obligation: 12.48/4.87 mainModule Main 12.48/4.87 module Main where { 12.48/4.87 import qualified Prelude; 12.48/4.87 } 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (13) Narrow (SOUND) 12.48/4.87 Haskell To QDPs 12.48/4.87 12.48/4.87 digraph dp_graph { 12.48/4.87 node [outthreshold=100, inthreshold=100];1[label="succ",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 12.48/4.87 3[label="succ vuy3",fontsize=16,color="blue",shape="box"];859[label="succ :: (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3 -> 859[label="",style="solid", color="blue", weight=9]; 12.48/4.87 859 -> 4[label="",style="solid", color="blue", weight=3]; 12.48/4.87 860[label="succ :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3 -> 860[label="",style="solid", color="blue", weight=9]; 12.48/4.87 860 -> 5[label="",style="solid", color="blue", weight=3]; 12.48/4.87 861[label="succ :: Ordering -> Ordering",fontsize=10,color="white",style="solid",shape="box"];3 -> 861[label="",style="solid", color="blue", weight=9]; 12.48/4.87 861 -> 6[label="",style="solid", color="blue", weight=3]; 12.48/4.87 862[label="succ :: Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3 -> 862[label="",style="solid", color="blue", weight=9]; 12.48/4.87 862 -> 7[label="",style="solid", color="blue", weight=3]; 12.48/4.87 863[label="succ :: Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3 -> 863[label="",style="solid", color="blue", weight=9]; 12.48/4.87 863 -> 8[label="",style="solid", color="blue", weight=3]; 12.48/4.87 864[label="succ :: Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];3 -> 864[label="",style="solid", color="blue", weight=9]; 12.48/4.87 864 -> 9[label="",style="solid", color="blue", weight=3]; 12.48/4.87 865[label="succ :: Char -> Char",fontsize=10,color="white",style="solid",shape="box"];3 -> 865[label="",style="solid", color="blue", weight=9]; 12.48/4.87 865 -> 10[label="",style="solid", color="blue", weight=3]; 12.48/4.87 866[label="succ :: () -> ()",fontsize=10,color="white",style="solid",shape="box"];3 -> 866[label="",style="solid", color="blue", weight=9]; 12.48/4.87 866 -> 11[label="",style="solid", color="blue", weight=3]; 12.48/4.87 867[label="succ :: Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3 -> 867[label="",style="solid", color="blue", weight=9]; 12.48/4.87 867 -> 12[label="",style="solid", color="blue", weight=3]; 12.48/4.87 4[label="succ vuy3",fontsize=16,color="black",shape="box"];4 -> 13[label="",style="solid", color="black", weight=3]; 12.48/4.87 5[label="succ vuy3",fontsize=16,color="burlywood",shape="triangle"];868[label="vuy3/Pos vuy30",fontsize=10,color="white",style="solid",shape="box"];5 -> 868[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 868 -> 14[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 869[label="vuy3/Neg vuy30",fontsize=10,color="white",style="solid",shape="box"];5 -> 869[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 869 -> 15[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 6[label="succ vuy3",fontsize=16,color="black",shape="box"];6 -> 16[label="",style="solid", color="black", weight=3]; 12.48/4.87 7[label="succ vuy3",fontsize=16,color="black",shape="box"];7 -> 17[label="",style="solid", color="black", weight=3]; 12.48/4.87 8[label="succ vuy3",fontsize=16,color="burlywood",shape="box"];870[label="vuy3/Integer vuy30",fontsize=10,color="white",style="solid",shape="box"];8 -> 870[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 870 -> 18[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 9[label="succ vuy3",fontsize=16,color="black",shape="box"];9 -> 19[label="",style="solid", color="black", weight=3]; 12.48/4.87 10[label="succ vuy3",fontsize=16,color="black",shape="box"];10 -> 20[label="",style="solid", color="black", weight=3]; 12.48/4.87 11[label="succ vuy3",fontsize=16,color="black",shape="box"];11 -> 21[label="",style="solid", color="black", weight=3]; 12.48/4.87 12[label="succ vuy3",fontsize=16,color="black",shape="box"];12 -> 22[label="",style="solid", color="black", weight=3]; 12.48/4.87 13[label="toEnum . (Pos (Succ Zero) +) . fromEnum",fontsize=16,color="black",shape="box"];13 -> 23[label="",style="solid", color="black", weight=3]; 12.48/4.87 14[label="succ (Pos vuy30)",fontsize=16,color="burlywood",shape="box"];871[label="vuy30/Succ vuy300",fontsize=10,color="white",style="solid",shape="box"];14 -> 871[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 871 -> 24[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 872[label="vuy30/Zero",fontsize=10,color="white",style="solid",shape="box"];14 -> 872[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 872 -> 25[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 15[label="succ (Neg vuy30)",fontsize=16,color="burlywood",shape="box"];873[label="vuy30/Succ vuy300",fontsize=10,color="white",style="solid",shape="box"];15 -> 873[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 873 -> 26[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 874[label="vuy30/Zero",fontsize=10,color="white",style="solid",shape="box"];15 -> 874[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 874 -> 27[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 16[label="toEnum . (Pos (Succ Zero) +) . fromEnum",fontsize=16,color="black",shape="box"];16 -> 28[label="",style="solid", color="black", weight=3]; 12.48/4.87 17[label="toEnum . (Pos (Succ Zero) +) . fromEnum",fontsize=16,color="black",shape="box"];17 -> 29[label="",style="solid", color="black", weight=3]; 12.48/4.87 18[label="succ (Integer vuy30)",fontsize=16,color="black",shape="box"];18 -> 30[label="",style="solid", color="black", weight=3]; 12.48/4.87 19[label="toEnum . (Pos (Succ Zero) +) . fromEnum",fontsize=16,color="black",shape="box"];19 -> 31[label="",style="solid", color="black", weight=3]; 12.48/4.87 20[label="toEnum . (Pos (Succ Zero) +) . fromEnum",fontsize=16,color="black",shape="box"];20 -> 32[label="",style="solid", color="black", weight=3]; 12.48/4.87 21[label="toEnum . (Pos (Succ Zero) +) . fromEnum",fontsize=16,color="black",shape="box"];21 -> 33[label="",style="solid", color="black", weight=3]; 12.48/4.87 22[label="toEnum . (Pos (Succ Zero) +) . fromEnum",fontsize=16,color="black",shape="box"];22 -> 34[label="",style="solid", color="black", weight=3]; 12.48/4.87 23[label="toEnum ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];23 -> 35[label="",style="solid", color="black", weight=3]; 12.48/4.87 24[label="succ (Pos (Succ vuy300))",fontsize=16,color="black",shape="box"];24 -> 36[label="",style="solid", color="black", weight=3]; 12.48/4.87 25[label="succ (Pos Zero)",fontsize=16,color="black",shape="box"];25 -> 37[label="",style="solid", color="black", weight=3]; 12.48/4.87 26[label="succ (Neg (Succ vuy300))",fontsize=16,color="black",shape="box"];26 -> 38[label="",style="solid", color="black", weight=3]; 12.48/4.87 27[label="succ (Neg Zero)",fontsize=16,color="black",shape="box"];27 -> 39[label="",style="solid", color="black", weight=3]; 12.48/4.87 28[label="toEnum ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];28 -> 40[label="",style="solid", color="black", weight=3]; 12.48/4.87 29[label="toEnum ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];29 -> 41[label="",style="solid", color="black", weight=3]; 12.48/4.87 30[label="Integer (succ vuy30)",fontsize=16,color="green",shape="box"];30 -> 42[label="",style="dashed", color="green", weight=3]; 12.48/4.87 31[label="toEnum ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];31 -> 43[label="",style="solid", color="black", weight=3]; 12.48/4.87 32[label="toEnum ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];32 -> 44[label="",style="solid", color="black", weight=3]; 12.48/4.87 33[label="toEnum ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];33 -> 45[label="",style="solid", color="black", weight=3]; 12.48/4.87 34[label="toEnum ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];34 -> 46[label="",style="solid", color="black", weight=3]; 12.48/4.87 35[label="fromInt ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];35 -> 47[label="",style="solid", color="black", weight=3]; 12.48/4.87 36[label="Pos (Succ (Succ vuy300))",fontsize=16,color="green",shape="box"];37[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];38[label="Neg vuy300",fontsize=16,color="green",shape="box"];39[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];40[label="toEnum9 ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];40 -> 48[label="",style="solid", color="black", weight=3]; 12.48/4.87 41[label="primIntToFloat ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];41 -> 49[label="",style="solid", color="black", weight=3]; 12.48/4.87 42 -> 5[label="",style="dashed", color="red", weight=0]; 12.48/4.87 42[label="succ vuy30",fontsize=16,color="magenta"];42 -> 50[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 43[label="toEnum3 ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];43 -> 51[label="",style="solid", color="black", weight=3]; 12.48/4.87 44[label="primIntToChar ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];44 -> 52[label="",style="solid", color="black", weight=3]; 12.48/4.87 45[label="toEnum11 ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];45 -> 53[label="",style="solid", color="black", weight=3]; 12.48/4.87 46[label="primIntToDouble ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];46 -> 54[label="",style="solid", color="black", weight=3]; 12.48/4.87 47[label="intToRatio ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];47 -> 55[label="",style="solid", color="black", weight=3]; 12.48/4.87 48[label="toEnum8 ((Pos (Succ Zero) +) . fromEnum == Pos Zero) ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];48 -> 56[label="",style="solid", color="black", weight=3]; 12.48/4.87 49[label="Float ((Pos (Succ Zero) +) . fromEnum) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];49 -> 57[label="",style="dashed", color="green", weight=3]; 12.48/4.87 50[label="vuy30",fontsize=16,color="green",shape="box"];51[label="toEnum2 ((Pos (Succ Zero) +) . fromEnum == Pos Zero) ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];51 -> 58[label="",style="solid", color="black", weight=3]; 12.48/4.87 52[label="primIntToChar (Pos (Succ Zero) + fromEnum vuy3)",fontsize=16,color="black",shape="box"];52 -> 59[label="",style="solid", color="black", weight=3]; 12.48/4.87 53[label="toEnum10 ((Pos (Succ Zero) +) . fromEnum == Pos Zero) ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];53 -> 60[label="",style="solid", color="black", weight=3]; 12.48/4.87 54[label="Double ((Pos (Succ Zero) +) . fromEnum) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];54 -> 61[label="",style="dashed", color="green", weight=3]; 12.48/4.87 55[label="fromInt ((Pos (Succ Zero) +) . fromEnum) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];55 -> 62[label="",style="dashed", color="green", weight=3]; 12.48/4.87 55 -> 63[label="",style="dashed", color="green", weight=3]; 12.48/4.87 56[label="toEnum8 (primEqInt ((Pos (Succ Zero) +) . fromEnum) (Pos Zero)) ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];56 -> 64[label="",style="solid", color="black", weight=3]; 12.48/4.87 57[label="(Pos (Succ Zero) +) . fromEnum",fontsize=16,color="black",shape="box"];57 -> 65[label="",style="solid", color="black", weight=3]; 12.48/4.87 58[label="toEnum2 (primEqInt ((Pos (Succ Zero) +) . fromEnum) (Pos Zero)) ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];58 -> 66[label="",style="solid", color="black", weight=3]; 12.48/4.87 59[label="primIntToChar (primPlusInt (Pos (Succ Zero)) (fromEnum vuy3))",fontsize=16,color="black",shape="box"];59 -> 67[label="",style="solid", color="black", weight=3]; 12.48/4.87 60[label="toEnum10 (primEqInt ((Pos (Succ Zero) +) . fromEnum) (Pos Zero)) ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];60 -> 68[label="",style="solid", color="black", weight=3]; 12.48/4.87 61[label="(Pos (Succ Zero) +) . fromEnum",fontsize=16,color="black",shape="box"];61 -> 69[label="",style="solid", color="black", weight=3]; 12.48/4.87 62[label="fromInt ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="blue",shape="box"];875[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];62 -> 875[label="",style="solid", color="blue", weight=9]; 12.48/4.87 875 -> 70[label="",style="solid", color="blue", weight=3]; 12.48/4.87 876[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];62 -> 876[label="",style="solid", color="blue", weight=9]; 12.48/4.87 876 -> 71[label="",style="solid", color="blue", weight=3]; 12.48/4.87 63[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];877[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];63 -> 877[label="",style="solid", color="blue", weight=9]; 12.48/4.87 877 -> 72[label="",style="solid", color="blue", weight=3]; 12.48/4.87 878[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];63 -> 878[label="",style="solid", color="blue", weight=9]; 12.48/4.87 878 -> 73[label="",style="solid", color="blue", weight=3]; 12.48/4.87 64[label="toEnum8 (primEqInt (Pos (Succ Zero) + fromEnum vuy3) (Pos Zero)) (Pos (Succ Zero) + fromEnum vuy3)",fontsize=16,color="black",shape="box"];64 -> 74[label="",style="solid", color="black", weight=3]; 12.48/4.87 65[label="Pos (Succ Zero) + fromEnum vuy3",fontsize=16,color="black",shape="box"];65 -> 75[label="",style="solid", color="black", weight=3]; 12.48/4.87 66[label="toEnum2 (primEqInt (Pos (Succ Zero) + fromEnum vuy3) (Pos Zero)) (Pos (Succ Zero) + fromEnum vuy3)",fontsize=16,color="black",shape="box"];66 -> 76[label="",style="solid", color="black", weight=3]; 12.48/4.87 67[label="primIntToChar (primPlusInt (Pos (Succ Zero)) (primCharToInt vuy3))",fontsize=16,color="burlywood",shape="box"];879[label="vuy3/Char vuy30",fontsize=10,color="white",style="solid",shape="box"];67 -> 879[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 879 -> 77[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 68[label="toEnum10 (primEqInt (Pos (Succ Zero) + fromEnum vuy3) (Pos Zero)) (Pos (Succ Zero) + fromEnum vuy3)",fontsize=16,color="black",shape="box"];68 -> 78[label="",style="solid", color="black", weight=3]; 12.48/4.87 69[label="Pos (Succ Zero) + fromEnum vuy3",fontsize=16,color="black",shape="box"];69 -> 79[label="",style="solid", color="black", weight=3]; 12.48/4.87 70[label="fromInt ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];70 -> 80[label="",style="solid", color="black", weight=3]; 12.48/4.87 71[label="fromInt ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="black",shape="box"];71 -> 81[label="",style="solid", color="black", weight=3]; 12.48/4.87 72[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];72 -> 82[label="",style="solid", color="black", weight=3]; 12.48/4.87 73[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];73 -> 83[label="",style="solid", color="black", weight=3]; 12.48/4.87 74[label="toEnum8 (primEqInt (primPlusInt (Pos (Succ Zero)) (fromEnum vuy3)) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (fromEnum vuy3))",fontsize=16,color="burlywood",shape="box"];880[label="vuy3/LT",fontsize=10,color="white",style="solid",shape="box"];74 -> 880[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 880 -> 84[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 881[label="vuy3/EQ",fontsize=10,color="white",style="solid",shape="box"];74 -> 881[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 881 -> 85[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 882[label="vuy3/GT",fontsize=10,color="white",style="solid",shape="box"];74 -> 882[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 882 -> 86[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 75[label="primPlusInt (Pos (Succ Zero)) (fromEnum vuy3)",fontsize=16,color="black",shape="box"];75 -> 87[label="",style="solid", color="black", weight=3]; 12.48/4.87 76[label="toEnum2 (primEqInt (primPlusInt (Pos (Succ Zero)) (fromEnum vuy3)) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (fromEnum vuy3))",fontsize=16,color="burlywood",shape="box"];883[label="vuy3/False",fontsize=10,color="white",style="solid",shape="box"];76 -> 883[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 883 -> 88[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 884[label="vuy3/True",fontsize=10,color="white",style="solid",shape="box"];76 -> 884[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 884 -> 89[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 77[label="primIntToChar (primPlusInt (Pos (Succ Zero)) (primCharToInt (Char vuy30)))",fontsize=16,color="black",shape="box"];77 -> 90[label="",style="solid", color="black", weight=3]; 12.48/4.87 78[label="toEnum10 (primEqInt (primPlusInt (Pos (Succ Zero)) (fromEnum vuy3)) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (fromEnum vuy3))",fontsize=16,color="burlywood",shape="box"];885[label="vuy3/()",fontsize=10,color="white",style="solid",shape="box"];78 -> 885[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 885 -> 91[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 79[label="primPlusInt (Pos (Succ Zero)) (fromEnum vuy3)",fontsize=16,color="black",shape="box"];79 -> 92[label="",style="solid", color="black", weight=3]; 12.48/4.87 80[label="Integer ((Pos (Succ Zero) +) . fromEnum)",fontsize=16,color="green",shape="box"];80 -> 93[label="",style="dashed", color="green", weight=3]; 12.48/4.87 81[label="(Pos (Succ Zero) +) . fromEnum",fontsize=16,color="black",shape="box"];81 -> 94[label="",style="solid", color="black", weight=3]; 12.48/4.87 82[label="Integer (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];83[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];84[label="toEnum8 (primEqInt (primPlusInt (Pos (Succ Zero)) (fromEnum LT)) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (fromEnum LT))",fontsize=16,color="black",shape="box"];84 -> 95[label="",style="solid", color="black", weight=3]; 12.48/4.87 85[label="toEnum8 (primEqInt (primPlusInt (Pos (Succ Zero)) (fromEnum EQ)) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (fromEnum EQ))",fontsize=16,color="black",shape="box"];85 -> 96[label="",style="solid", color="black", weight=3]; 12.48/4.87 86[label="toEnum8 (primEqInt (primPlusInt (Pos (Succ Zero)) (fromEnum GT)) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (fromEnum GT))",fontsize=16,color="black",shape="box"];86 -> 97[label="",style="solid", color="black", weight=3]; 12.48/4.87 87[label="primPlusInt (Pos (Succ Zero)) (truncate vuy3)",fontsize=16,color="black",shape="box"];87 -> 98[label="",style="solid", color="black", weight=3]; 12.48/4.87 88[label="toEnum2 (primEqInt (primPlusInt (Pos (Succ Zero)) (fromEnum False)) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (fromEnum False))",fontsize=16,color="black",shape="box"];88 -> 99[label="",style="solid", color="black", weight=3]; 12.48/4.87 89[label="toEnum2 (primEqInt (primPlusInt (Pos (Succ Zero)) (fromEnum True)) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (fromEnum True))",fontsize=16,color="black",shape="box"];89 -> 100[label="",style="solid", color="black", weight=3]; 12.48/4.87 90[label="primIntToChar (primPlusInt (Pos (Succ Zero)) (Pos vuy30))",fontsize=16,color="black",shape="box"];90 -> 101[label="",style="solid", color="black", weight=3]; 12.48/4.87 91[label="toEnum10 (primEqInt (primPlusInt (Pos (Succ Zero)) (fromEnum ())) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (fromEnum ()))",fontsize=16,color="black",shape="box"];91 -> 102[label="",style="solid", color="black", weight=3]; 12.48/4.87 92[label="primPlusInt (Pos (Succ Zero)) (truncate vuy3)",fontsize=16,color="black",shape="box"];92 -> 103[label="",style="solid", color="black", weight=3]; 12.48/4.87 93[label="(Pos (Succ Zero) +) . fromEnum",fontsize=16,color="black",shape="box"];93 -> 104[label="",style="solid", color="black", weight=3]; 12.48/4.87 94[label="Pos (Succ Zero) + fromEnum vuy3",fontsize=16,color="black",shape="box"];94 -> 105[label="",style="solid", color="black", weight=3]; 12.48/4.87 95[label="toEnum8 (primEqInt (primPlusInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (Pos Zero))",fontsize=16,color="black",shape="box"];95 -> 106[label="",style="solid", color="black", weight=3]; 12.48/4.87 96[label="toEnum8 (primEqInt (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];96 -> 107[label="",style="solid", color="black", weight=3]; 12.48/4.87 97[label="toEnum8 (primEqInt (primPlusInt (Pos (Succ Zero)) (Pos (Succ (Succ Zero)))) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (Pos (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];97 -> 108[label="",style="solid", color="black", weight=3]; 12.48/4.87 98[label="primPlusInt (Pos (Succ Zero)) (truncateM vuy3)",fontsize=16,color="black",shape="box"];98 -> 109[label="",style="solid", color="black", weight=3]; 12.48/4.87 99[label="toEnum2 (primEqInt (primPlusInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (Pos Zero))",fontsize=16,color="black",shape="box"];99 -> 110[label="",style="solid", color="black", weight=3]; 12.48/4.87 100[label="toEnum2 (primEqInt (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];100 -> 111[label="",style="solid", color="black", weight=3]; 12.48/4.87 101[label="primIntToChar (Pos (primPlusNat (Succ Zero) vuy30))",fontsize=16,color="black",shape="box"];101 -> 112[label="",style="solid", color="black", weight=3]; 12.48/4.87 102[label="toEnum10 (primEqInt (primPlusInt (Pos (Succ Zero)) (Pos Zero)) (Pos Zero)) (primPlusInt (Pos (Succ Zero)) (Pos Zero))",fontsize=16,color="black",shape="box"];102 -> 113[label="",style="solid", color="black", weight=3]; 12.48/4.87 103[label="primPlusInt (Pos (Succ Zero)) (truncateM vuy3)",fontsize=16,color="black",shape="box"];103 -> 114[label="",style="solid", color="black", weight=3]; 12.48/4.87 104[label="Pos (Succ Zero) + fromEnum vuy3",fontsize=16,color="black",shape="box"];104 -> 115[label="",style="solid", color="black", weight=3]; 12.48/4.87 105[label="primPlusInt (Pos (Succ Zero)) (fromEnum vuy3)",fontsize=16,color="black",shape="box"];105 -> 116[label="",style="solid", color="black", weight=3]; 12.48/4.87 106[label="toEnum8 (primEqInt (Pos (primPlusNat (Succ Zero) Zero)) (Pos Zero)) (Pos (primPlusNat (Succ Zero) Zero))",fontsize=16,color="black",shape="box"];106 -> 117[label="",style="solid", color="black", weight=3]; 12.48/4.87 107[label="toEnum8 (primEqInt (Pos (primPlusNat (Succ Zero) (Succ Zero))) (Pos Zero)) (Pos (primPlusNat (Succ Zero) (Succ Zero)))",fontsize=16,color="black",shape="box"];107 -> 118[label="",style="solid", color="black", weight=3]; 12.48/4.87 108[label="toEnum8 (primEqInt (Pos (primPlusNat (Succ Zero) (Succ (Succ Zero)))) (Pos Zero)) (Pos (primPlusNat (Succ Zero) (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];108 -> 119[label="",style="solid", color="black", weight=3]; 12.48/4.87 109[label="primPlusInt (Pos (Succ Zero)) (truncateM0 vuy3 (truncateVu6 vuy3))",fontsize=16,color="black",shape="box"];109 -> 120[label="",style="solid", color="black", weight=3]; 12.48/4.87 110[label="toEnum2 (primEqInt (Pos (primPlusNat (Succ Zero) Zero)) (Pos Zero)) (Pos (primPlusNat (Succ Zero) Zero))",fontsize=16,color="black",shape="box"];110 -> 121[label="",style="solid", color="black", weight=3]; 12.48/4.87 111[label="toEnum2 (primEqInt (Pos (primPlusNat (Succ Zero) (Succ Zero))) (Pos Zero)) (Pos (primPlusNat (Succ Zero) (Succ Zero)))",fontsize=16,color="black",shape="box"];111 -> 122[label="",style="solid", color="black", weight=3]; 12.48/4.87 112[label="Char (primPlusNat (Succ Zero) vuy30)",fontsize=16,color="green",shape="box"];112 -> 123[label="",style="dashed", color="green", weight=3]; 12.48/4.87 113[label="toEnum10 (primEqInt (Pos (primPlusNat (Succ Zero) Zero)) (Pos Zero)) (Pos (primPlusNat (Succ Zero) Zero))",fontsize=16,color="black",shape="box"];113 -> 124[label="",style="solid", color="black", weight=3]; 12.48/4.87 114[label="primPlusInt (Pos (Succ Zero)) (truncateM0 vuy3 (truncateVu6 vuy3))",fontsize=16,color="black",shape="box"];114 -> 125[label="",style="solid", color="black", weight=3]; 12.48/4.87 115[label="primPlusInt (Pos (Succ Zero)) (fromEnum vuy3)",fontsize=16,color="black",shape="box"];115 -> 126[label="",style="solid", color="black", weight=3]; 12.48/4.87 116[label="primPlusInt (Pos (Succ Zero)) (truncate vuy3)",fontsize=16,color="black",shape="box"];116 -> 127[label="",style="solid", color="black", weight=3]; 12.48/4.87 117[label="toEnum8 (primEqInt (Pos (Succ Zero)) (Pos Zero)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];117 -> 128[label="",style="solid", color="black", weight=3]; 12.48/4.87 118[label="toEnum8 (primEqInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (Pos Zero)) (Pos (Succ (Succ (primPlusNat Zero Zero))))",fontsize=16,color="black",shape="box"];118 -> 129[label="",style="solid", color="black", weight=3]; 12.48/4.87 119[label="toEnum8 (primEqInt (Pos (Succ (Succ (primPlusNat Zero (Succ Zero))))) (Pos Zero)) (Pos (Succ (Succ (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];119 -> 130[label="",style="solid", color="black", weight=3]; 12.48/4.87 120[label="primPlusInt (Pos (Succ Zero)) (truncateM0 vuy3 (properFraction vuy3))",fontsize=16,color="black",shape="box"];120 -> 131[label="",style="solid", color="black", weight=3]; 12.48/4.87 121[label="toEnum2 (primEqInt (Pos (Succ Zero)) (Pos Zero)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];121 -> 132[label="",style="solid", color="black", weight=3]; 12.48/4.87 122[label="toEnum2 (primEqInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (Pos Zero)) (Pos (Succ (Succ (primPlusNat Zero Zero))))",fontsize=16,color="black",shape="box"];122 -> 133[label="",style="solid", color="black", weight=3]; 12.48/4.87 123[label="primPlusNat (Succ Zero) vuy30",fontsize=16,color="burlywood",shape="triangle"];886[label="vuy30/Succ vuy300",fontsize=10,color="white",style="solid",shape="box"];123 -> 886[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 886 -> 134[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 887[label="vuy30/Zero",fontsize=10,color="white",style="solid",shape="box"];123 -> 887[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 887 -> 135[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 124[label="toEnum10 (primEqInt (Pos (Succ Zero)) (Pos Zero)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];124 -> 136[label="",style="solid", color="black", weight=3]; 12.48/4.87 125[label="primPlusInt (Pos (Succ Zero)) (truncateM0 vuy3 (properFraction vuy3))",fontsize=16,color="black",shape="box"];125 -> 137[label="",style="solid", color="black", weight=3]; 12.48/4.87 126[label="primPlusInt (Pos (Succ Zero)) (truncate vuy3)",fontsize=16,color="black",shape="box"];126 -> 138[label="",style="solid", color="black", weight=3]; 12.48/4.87 127[label="primPlusInt (Pos (Succ Zero)) (truncateM vuy3)",fontsize=16,color="black",shape="box"];127 -> 139[label="",style="solid", color="black", weight=3]; 12.48/4.87 128[label="toEnum8 False (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];128 -> 140[label="",style="solid", color="black", weight=3]; 12.48/4.87 129[label="toEnum8 False (Pos (Succ (Succ (primPlusNat Zero Zero))))",fontsize=16,color="black",shape="box"];129 -> 141[label="",style="solid", color="black", weight=3]; 12.48/4.87 130[label="toEnum8 False (Pos (Succ (Succ (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];130 -> 142[label="",style="solid", color="black", weight=3]; 12.48/4.87 131[label="primPlusInt (Pos (Succ Zero)) (truncateM0 vuy3 (floatProperFractionFloat vuy3))",fontsize=16,color="burlywood",shape="box"];888[label="vuy3/Float vuy30 vuy31",fontsize=10,color="white",style="solid",shape="box"];131 -> 888[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 888 -> 143[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 132[label="toEnum2 False (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];132 -> 144[label="",style="solid", color="black", weight=3]; 12.48/4.87 133[label="toEnum2 False (Pos (Succ (Succ (primPlusNat Zero Zero))))",fontsize=16,color="black",shape="box"];133 -> 145[label="",style="solid", color="black", weight=3]; 12.48/4.87 134[label="primPlusNat (Succ Zero) (Succ vuy300)",fontsize=16,color="black",shape="box"];134 -> 146[label="",style="solid", color="black", weight=3]; 12.48/4.87 135[label="primPlusNat (Succ Zero) Zero",fontsize=16,color="black",shape="box"];135 -> 147[label="",style="solid", color="black", weight=3]; 12.48/4.87 136[label="toEnum10 False (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];136 -> 148[label="",style="solid", color="black", weight=3]; 12.48/4.87 137[label="primPlusInt (Pos (Succ Zero)) (truncateM0 vuy3 (floatProperFractionDouble vuy3))",fontsize=16,color="burlywood",shape="box"];889[label="vuy3/Double vuy30 vuy31",fontsize=10,color="white",style="solid",shape="box"];137 -> 889[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 889 -> 149[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 138[label="primPlusInt (Pos (Succ Zero)) (truncateM vuy3)",fontsize=16,color="black",shape="box"];138 -> 150[label="",style="solid", color="black", weight=3]; 12.48/4.87 139[label="primPlusInt (Pos (Succ Zero)) (truncateM0 vuy3 (truncateVu6 vuy3))",fontsize=16,color="black",shape="box"];139 -> 151[label="",style="solid", color="black", weight=3]; 12.48/4.87 140[label="toEnum7 (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];140 -> 152[label="",style="solid", color="black", weight=3]; 12.48/4.87 141[label="toEnum7 (Pos (Succ (Succ (primPlusNat Zero Zero))))",fontsize=16,color="black",shape="box"];141 -> 153[label="",style="solid", color="black", weight=3]; 12.48/4.87 142[label="toEnum7 (Pos (Succ (Succ (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];142 -> 154[label="",style="solid", color="black", weight=3]; 12.48/4.87 143[label="primPlusInt (Pos (Succ Zero)) (truncateM0 (Float vuy30 vuy31) (floatProperFractionFloat (Float vuy30 vuy31)))",fontsize=16,color="black",shape="box"];143 -> 155[label="",style="solid", color="black", weight=3]; 12.48/4.87 144[label="toEnum1 (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];144 -> 156[label="",style="solid", color="black", weight=3]; 12.48/4.87 145[label="toEnum1 (Pos (Succ (Succ (primPlusNat Zero Zero))))",fontsize=16,color="black",shape="box"];145 -> 157[label="",style="solid", color="black", weight=3]; 12.48/4.87 146[label="Succ (Succ (primPlusNat Zero vuy300))",fontsize=16,color="green",shape="box"];146 -> 158[label="",style="dashed", color="green", weight=3]; 12.48/4.87 147[label="Succ Zero",fontsize=16,color="green",shape="box"];148[label="error []",fontsize=16,color="red",shape="box"];149[label="primPlusInt (Pos (Succ Zero)) (truncateM0 (Double vuy30 vuy31) (floatProperFractionDouble (Double vuy30 vuy31)))",fontsize=16,color="black",shape="box"];149 -> 159[label="",style="solid", color="black", weight=3]; 12.48/4.87 150[label="primPlusInt (Pos (Succ Zero)) (truncateM0 vuy3 (truncateVu6 vuy3))",fontsize=16,color="black",shape="box"];150 -> 160[label="",style="solid", color="black", weight=3]; 12.48/4.87 151[label="primPlusInt (Pos (Succ Zero)) (truncateM0 vuy3 (properFraction vuy3))",fontsize=16,color="burlywood",shape="box"];890[label="vuy3/vuy30 :% vuy31",fontsize=10,color="white",style="solid",shape="box"];151 -> 890[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 890 -> 161[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 152[label="toEnum6 (Pos (Succ Zero) == Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];152 -> 162[label="",style="solid", color="black", weight=3]; 12.48/4.87 153[label="toEnum6 (Pos (Succ (Succ (primPlusNat Zero Zero))) == Pos (Succ Zero)) (Pos (Succ (Succ (primPlusNat Zero Zero))))",fontsize=16,color="black",shape="box"];153 -> 163[label="",style="solid", color="black", weight=3]; 12.48/4.87 154[label="toEnum6 (Pos (Succ (Succ (primPlusNat Zero (Succ Zero)))) == Pos (Succ Zero)) (Pos (Succ (Succ (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];154 -> 164[label="",style="solid", color="black", weight=3]; 12.48/4.87 155[label="primPlusInt (Pos (Succ Zero)) (truncateM0 (Float vuy30 vuy31) (fromInt (vuy30 `quot` vuy31),Float vuy30 vuy31 - fromInt (vuy30 `quot` vuy31)))",fontsize=16,color="black",shape="box"];155 -> 165[label="",style="solid", color="black", weight=3]; 12.48/4.87 156[label="toEnum0 (Pos (Succ Zero) == Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];156 -> 166[label="",style="solid", color="black", weight=3]; 12.48/4.87 157[label="toEnum0 (Pos (Succ (Succ (primPlusNat Zero Zero))) == Pos (Succ Zero)) (Pos (Succ (Succ (primPlusNat Zero Zero))))",fontsize=16,color="black",shape="box"];157 -> 167[label="",style="solid", color="black", weight=3]; 12.48/4.87 158[label="primPlusNat Zero vuy300",fontsize=16,color="burlywood",shape="triangle"];891[label="vuy300/Succ vuy3000",fontsize=10,color="white",style="solid",shape="box"];158 -> 891[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 891 -> 168[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 892[label="vuy300/Zero",fontsize=10,color="white",style="solid",shape="box"];158 -> 892[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 892 -> 169[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 159[label="primPlusInt (Pos (Succ Zero)) (truncateM0 (Double vuy30 vuy31) (fromInt (vuy30 `quot` vuy31),Double vuy30 vuy31 - fromInt (vuy30 `quot` vuy31)))",fontsize=16,color="black",shape="box"];159 -> 170[label="",style="solid", color="black", weight=3]; 12.48/4.87 160[label="primPlusInt (Pos (Succ Zero)) (truncateM0 vuy3 (properFraction vuy3))",fontsize=16,color="burlywood",shape="box"];893[label="vuy3/vuy30 :% vuy31",fontsize=10,color="white",style="solid",shape="box"];160 -> 893[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 893 -> 171[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 161[label="primPlusInt (Pos (Succ Zero)) (truncateM0 (vuy30 :% vuy31) (properFraction (vuy30 :% vuy31)))",fontsize=16,color="black",shape="box"];161 -> 172[label="",style="solid", color="black", weight=3]; 12.48/4.87 162[label="toEnum6 (primEqInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];162 -> 173[label="",style="solid", color="black", weight=3]; 12.48/4.87 163 -> 174[label="",style="dashed", color="red", weight=0]; 12.48/4.87 163[label="toEnum6 (primEqInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero))))",fontsize=16,color="magenta"];163 -> 175[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 163 -> 176[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 164 -> 174[label="",style="dashed", color="red", weight=0]; 12.48/4.87 164[label="toEnum6 (primEqInt (Pos (Succ (Succ (primPlusNat Zero (Succ Zero))))) (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="magenta"];164 -> 177[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 164 -> 178[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 165[label="primPlusInt (Pos (Succ Zero)) (fromInt (vuy30 `quot` vuy31))",fontsize=16,color="black",shape="triangle"];165 -> 179[label="",style="solid", color="black", weight=3]; 12.48/4.87 166[label="toEnum0 (primEqInt (Pos (Succ Zero)) (Pos (Succ Zero))) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];166 -> 180[label="",style="solid", color="black", weight=3]; 12.48/4.87 167 -> 181[label="",style="dashed", color="red", weight=0]; 12.48/4.87 167[label="toEnum0 (primEqInt (Pos (Succ (Succ (primPlusNat Zero Zero)))) (Pos (Succ Zero))) (Pos (Succ (Succ (primPlusNat Zero Zero))))",fontsize=16,color="magenta"];167 -> 182[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 167 -> 183[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 168[label="primPlusNat Zero (Succ vuy3000)",fontsize=16,color="black",shape="box"];168 -> 184[label="",style="solid", color="black", weight=3]; 12.48/4.87 169[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];169 -> 185[label="",style="solid", color="black", weight=3]; 12.48/4.87 170 -> 165[label="",style="dashed", color="red", weight=0]; 12.48/4.87 170[label="primPlusInt (Pos (Succ Zero)) (fromInt (vuy30 `quot` vuy31))",fontsize=16,color="magenta"];170 -> 186[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 170 -> 187[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 171[label="primPlusInt (Pos (Succ Zero)) (truncateM0 (vuy30 :% vuy31) (properFraction (vuy30 :% vuy31)))",fontsize=16,color="black",shape="box"];171 -> 188[label="",style="solid", color="black", weight=3]; 12.48/4.87 172[label="primPlusInt (Pos (Succ Zero)) (truncateM0 (vuy30 :% vuy31) (fromIntegral (properFractionQ vuy30 vuy31),properFractionR vuy30 vuy31 :% vuy31))",fontsize=16,color="black",shape="box"];172 -> 189[label="",style="solid", color="black", weight=3]; 12.48/4.87 173[label="toEnum6 (primEqNat Zero Zero) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];173 -> 190[label="",style="solid", color="black", weight=3]; 12.48/4.87 175 -> 158[label="",style="dashed", color="red", weight=0]; 12.48/4.87 175[label="primPlusNat Zero Zero",fontsize=16,color="magenta"];175 -> 191[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 176 -> 158[label="",style="dashed", color="red", weight=0]; 12.48/4.87 176[label="primPlusNat Zero Zero",fontsize=16,color="magenta"];176 -> 192[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 174[label="toEnum6 (primEqInt (Pos (Succ (Succ vuy5))) (Pos (Succ Zero))) (Pos (Succ (Succ vuy4)))",fontsize=16,color="black",shape="triangle"];174 -> 193[label="",style="solid", color="black", weight=3]; 12.48/4.87 177 -> 158[label="",style="dashed", color="red", weight=0]; 12.48/4.87 177[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];177 -> 194[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 178 -> 158[label="",style="dashed", color="red", weight=0]; 12.48/4.87 178[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];178 -> 195[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 179[label="primPlusInt (Pos (Succ Zero)) (vuy30 `quot` vuy31)",fontsize=16,color="black",shape="box"];179 -> 196[label="",style="solid", color="black", weight=3]; 12.48/4.87 180[label="toEnum0 (primEqNat Zero Zero) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];180 -> 197[label="",style="solid", color="black", weight=3]; 12.48/4.87 182 -> 158[label="",style="dashed", color="red", weight=0]; 12.48/4.87 182[label="primPlusNat Zero Zero",fontsize=16,color="magenta"];182 -> 198[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 183 -> 158[label="",style="dashed", color="red", weight=0]; 12.48/4.87 183[label="primPlusNat Zero Zero",fontsize=16,color="magenta"];183 -> 199[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 181[label="toEnum0 (primEqInt (Pos (Succ (Succ vuy7))) (Pos (Succ Zero))) (Pos (Succ (Succ vuy6)))",fontsize=16,color="black",shape="triangle"];181 -> 200[label="",style="solid", color="black", weight=3]; 12.48/4.87 184[label="Succ vuy3000",fontsize=16,color="green",shape="box"];185[label="Zero",fontsize=16,color="green",shape="box"];186[label="vuy31",fontsize=16,color="green",shape="box"];187[label="vuy30",fontsize=16,color="green",shape="box"];188[label="primPlusInt (Pos (Succ Zero)) (truncateM0 (vuy30 :% vuy31) (fromIntegral (properFractionQ vuy30 vuy31),properFractionR vuy30 vuy31 :% vuy31))",fontsize=16,color="black",shape="box"];188 -> 201[label="",style="solid", color="black", weight=3]; 12.48/4.87 189[label="primPlusInt (Pos (Succ Zero)) (fromIntegral (properFractionQ vuy30 vuy31))",fontsize=16,color="black",shape="box"];189 -> 202[label="",style="solid", color="black", weight=3]; 12.48/4.87 190[label="toEnum6 True (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];190 -> 203[label="",style="solid", color="black", weight=3]; 12.48/4.87 191[label="Zero",fontsize=16,color="green",shape="box"];192[label="Zero",fontsize=16,color="green",shape="box"];193[label="toEnum6 (primEqNat (Succ vuy5) Zero) (Pos (Succ (Succ vuy4)))",fontsize=16,color="black",shape="box"];193 -> 204[label="",style="solid", color="black", weight=3]; 12.48/4.87 194[label="Succ Zero",fontsize=16,color="green",shape="box"];195[label="Succ Zero",fontsize=16,color="green",shape="box"];196[label="primPlusInt (Pos (Succ Zero)) (primQuotInt vuy30 vuy31)",fontsize=16,color="burlywood",shape="triangle"];894[label="vuy30/Pos vuy300",fontsize=10,color="white",style="solid",shape="box"];196 -> 894[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 894 -> 205[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 895[label="vuy30/Neg vuy300",fontsize=10,color="white",style="solid",shape="box"];196 -> 895[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 895 -> 206[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 197[label="toEnum0 True (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];197 -> 207[label="",style="solid", color="black", weight=3]; 12.48/4.87 198[label="Zero",fontsize=16,color="green",shape="box"];199[label="Zero",fontsize=16,color="green",shape="box"];200[label="toEnum0 (primEqNat (Succ vuy7) Zero) (Pos (Succ (Succ vuy6)))",fontsize=16,color="black",shape="box"];200 -> 208[label="",style="solid", color="black", weight=3]; 12.48/4.87 201[label="primPlusInt (Pos (Succ Zero)) (fromIntegral (properFractionQ vuy30 vuy31))",fontsize=16,color="black",shape="box"];201 -> 209[label="",style="solid", color="black", weight=3]; 12.48/4.87 202[label="primPlusInt (Pos (Succ Zero)) (fromInteger . toInteger)",fontsize=16,color="black",shape="box"];202 -> 210[label="",style="solid", color="black", weight=3]; 12.48/4.87 203[label="EQ",fontsize=16,color="green",shape="box"];204[label="toEnum6 False (Pos (Succ (Succ vuy4)))",fontsize=16,color="black",shape="box"];204 -> 211[label="",style="solid", color="black", weight=3]; 12.48/4.87 205[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos vuy300) vuy31)",fontsize=16,color="burlywood",shape="box"];896[label="vuy31/Pos vuy310",fontsize=10,color="white",style="solid",shape="box"];205 -> 896[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 896 -> 212[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 897[label="vuy31/Neg vuy310",fontsize=10,color="white",style="solid",shape="box"];205 -> 897[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 897 -> 213[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 206[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg vuy300) vuy31)",fontsize=16,color="burlywood",shape="box"];898[label="vuy31/Pos vuy310",fontsize=10,color="white",style="solid",shape="box"];206 -> 898[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 898 -> 214[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 899[label="vuy31/Neg vuy310",fontsize=10,color="white",style="solid",shape="box"];206 -> 899[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 899 -> 215[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 207[label="True",fontsize=16,color="green",shape="box"];208[label="toEnum0 False (Pos (Succ (Succ vuy6)))",fontsize=16,color="black",shape="box"];208 -> 216[label="",style="solid", color="black", weight=3]; 12.48/4.87 209[label="primPlusInt (Pos (Succ Zero)) (fromInteger . toInteger)",fontsize=16,color="black",shape="box"];209 -> 217[label="",style="solid", color="black", weight=3]; 12.48/4.87 210[label="primPlusInt (Pos (Succ Zero)) (fromInteger (toInteger (properFractionQ vuy30 vuy31)))",fontsize=16,color="black",shape="box"];210 -> 218[label="",style="solid", color="black", weight=3]; 12.48/4.87 211[label="toEnum5 (Pos (Succ (Succ vuy4)))",fontsize=16,color="black",shape="box"];211 -> 219[label="",style="solid", color="black", weight=3]; 12.48/4.87 212[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos vuy300) (Pos vuy310))",fontsize=16,color="burlywood",shape="box"];900[label="vuy310/Succ vuy3100",fontsize=10,color="white",style="solid",shape="box"];212 -> 900[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 900 -> 220[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 901[label="vuy310/Zero",fontsize=10,color="white",style="solid",shape="box"];212 -> 901[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 901 -> 221[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 213[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos vuy300) (Neg vuy310))",fontsize=16,color="burlywood",shape="box"];902[label="vuy310/Succ vuy3100",fontsize=10,color="white",style="solid",shape="box"];213 -> 902[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 902 -> 222[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 903[label="vuy310/Zero",fontsize=10,color="white",style="solid",shape="box"];213 -> 903[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 903 -> 223[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 214[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg vuy300) (Pos vuy310))",fontsize=16,color="burlywood",shape="box"];904[label="vuy310/Succ vuy3100",fontsize=10,color="white",style="solid",shape="box"];214 -> 904[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 904 -> 224[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 905[label="vuy310/Zero",fontsize=10,color="white",style="solid",shape="box"];214 -> 905[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 905 -> 225[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 215[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg vuy300) (Neg vuy310))",fontsize=16,color="burlywood",shape="box"];906[label="vuy310/Succ vuy3100",fontsize=10,color="white",style="solid",shape="box"];215 -> 906[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 906 -> 226[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 907[label="vuy310/Zero",fontsize=10,color="white",style="solid",shape="box"];215 -> 907[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 907 -> 227[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 216[label="error []",fontsize=16,color="red",shape="box"];217[label="primPlusInt (Pos (Succ Zero)) (fromInteger (toInteger (properFractionQ vuy30 vuy31)))",fontsize=16,color="black",shape="box"];217 -> 228[label="",style="solid", color="black", weight=3]; 12.48/4.87 218[label="primPlusInt (Pos (Succ Zero)) (fromInteger (Integer (properFractionQ vuy30 vuy31)))",fontsize=16,color="black",shape="box"];218 -> 229[label="",style="solid", color="black", weight=3]; 12.48/4.87 219[label="toEnum4 (Pos (Succ (Succ vuy4)) == Pos (Succ (Succ Zero))) (Pos (Succ (Succ vuy4)))",fontsize=16,color="black",shape="box"];219 -> 230[label="",style="solid", color="black", weight=3]; 12.48/4.87 220[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos vuy300) (Pos (Succ vuy3100)))",fontsize=16,color="black",shape="box"];220 -> 231[label="",style="solid", color="black", weight=3]; 12.48/4.87 221[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos vuy300) (Pos Zero))",fontsize=16,color="black",shape="box"];221 -> 232[label="",style="solid", color="black", weight=3]; 12.48/4.87 222[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos vuy300) (Neg (Succ vuy3100)))",fontsize=16,color="black",shape="box"];222 -> 233[label="",style="solid", color="black", weight=3]; 12.48/4.87 223[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos vuy300) (Neg Zero))",fontsize=16,color="black",shape="box"];223 -> 234[label="",style="solid", color="black", weight=3]; 12.48/4.87 224[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg vuy300) (Pos (Succ vuy3100)))",fontsize=16,color="black",shape="box"];224 -> 235[label="",style="solid", color="black", weight=3]; 12.48/4.87 225[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg vuy300) (Pos Zero))",fontsize=16,color="black",shape="box"];225 -> 236[label="",style="solid", color="black", weight=3]; 12.48/4.87 226[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg vuy300) (Neg (Succ vuy3100)))",fontsize=16,color="black",shape="box"];226 -> 237[label="",style="solid", color="black", weight=3]; 12.48/4.87 227[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg vuy300) (Neg Zero))",fontsize=16,color="black",shape="box"];227 -> 238[label="",style="solid", color="black", weight=3]; 12.48/4.87 228[label="primPlusInt (Pos (Succ Zero)) (fromInteger (properFractionQ vuy30 vuy31))",fontsize=16,color="black",shape="box"];228 -> 239[label="",style="solid", color="black", weight=3]; 12.48/4.87 229[label="primPlusInt (Pos (Succ Zero)) (properFractionQ vuy30 vuy31)",fontsize=16,color="black",shape="box"];229 -> 240[label="",style="solid", color="black", weight=3]; 12.48/4.87 230[label="toEnum4 (primEqInt (Pos (Succ (Succ vuy4))) (Pos (Succ (Succ Zero)))) (Pos (Succ (Succ vuy4)))",fontsize=16,color="black",shape="box"];230 -> 241[label="",style="solid", color="black", weight=3]; 12.48/4.87 231[label="primPlusInt (Pos (Succ Zero)) (Pos (primDivNatS vuy300 (Succ vuy3100)))",fontsize=16,color="black",shape="triangle"];231 -> 242[label="",style="solid", color="black", weight=3]; 12.48/4.87 232[label="primPlusInt (Pos (Succ Zero)) (error [])",fontsize=16,color="black",shape="triangle"];232 -> 243[label="",style="solid", color="black", weight=3]; 12.48/4.87 233[label="primPlusInt (Pos (Succ Zero)) (Neg (primDivNatS vuy300 (Succ vuy3100)))",fontsize=16,color="black",shape="triangle"];233 -> 244[label="",style="solid", color="black", weight=3]; 12.48/4.87 234 -> 232[label="",style="dashed", color="red", weight=0]; 12.48/4.87 234[label="primPlusInt (Pos (Succ Zero)) (error [])",fontsize=16,color="magenta"];235 -> 233[label="",style="dashed", color="red", weight=0]; 12.48/4.87 235[label="primPlusInt (Pos (Succ Zero)) (Neg (primDivNatS vuy300 (Succ vuy3100)))",fontsize=16,color="magenta"];235 -> 245[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 235 -> 246[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 236 -> 232[label="",style="dashed", color="red", weight=0]; 12.48/4.87 236[label="primPlusInt (Pos (Succ Zero)) (error [])",fontsize=16,color="magenta"];237 -> 231[label="",style="dashed", color="red", weight=0]; 12.48/4.87 237[label="primPlusInt (Pos (Succ Zero)) (Pos (primDivNatS vuy300 (Succ vuy3100)))",fontsize=16,color="magenta"];237 -> 247[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 237 -> 248[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 238 -> 232[label="",style="dashed", color="red", weight=0]; 12.48/4.87 238[label="primPlusInt (Pos (Succ Zero)) (error [])",fontsize=16,color="magenta"];239[label="primPlusInt (Pos (Succ Zero)) (fromInteger (properFractionQ1 vuy30 vuy31 (properFractionVu30 vuy30 vuy31)))",fontsize=16,color="black",shape="box"];239 -> 249[label="",style="solid", color="black", weight=3]; 12.48/4.87 240[label="primPlusInt (Pos (Succ Zero)) (properFractionQ1 vuy30 vuy31 (properFractionVu30 vuy30 vuy31))",fontsize=16,color="black",shape="box"];240 -> 250[label="",style="solid", color="black", weight=3]; 12.48/4.87 241[label="toEnum4 (primEqNat (Succ vuy4) (Succ Zero)) (Pos (Succ (Succ vuy4)))",fontsize=16,color="black",shape="box"];241 -> 251[label="",style="solid", color="black", weight=3]; 12.48/4.87 242[label="Pos (primPlusNat (Succ Zero) (primDivNatS vuy300 (Succ vuy3100)))",fontsize=16,color="green",shape="box"];242 -> 252[label="",style="dashed", color="green", weight=3]; 12.48/4.87 243[label="error []",fontsize=16,color="red",shape="box"];244[label="primMinusNat (Succ Zero) (primDivNatS vuy300 (Succ vuy3100))",fontsize=16,color="burlywood",shape="box"];908[label="vuy300/Succ vuy3000",fontsize=10,color="white",style="solid",shape="box"];244 -> 908[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 908 -> 253[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 909[label="vuy300/Zero",fontsize=10,color="white",style="solid",shape="box"];244 -> 909[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 909 -> 254[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 245[label="vuy300",fontsize=16,color="green",shape="box"];246[label="vuy3100",fontsize=16,color="green",shape="box"];247[label="vuy300",fontsize=16,color="green",shape="box"];248[label="vuy3100",fontsize=16,color="green",shape="box"];249[label="primPlusInt (Pos (Succ Zero)) (fromInteger (properFractionQ1 vuy30 vuy31 (quotRem vuy30 vuy31)))",fontsize=16,color="burlywood",shape="box"];910[label="vuy30/Integer vuy300",fontsize=10,color="white",style="solid",shape="box"];249 -> 910[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 910 -> 255[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 250[label="primPlusInt (Pos (Succ Zero)) (properFractionQ1 vuy30 vuy31 (quotRem vuy30 vuy31))",fontsize=16,color="black",shape="box"];250 -> 256[label="",style="solid", color="black", weight=3]; 12.48/4.87 251[label="toEnum4 (primEqNat vuy4 Zero) (Pos (Succ (Succ vuy4)))",fontsize=16,color="burlywood",shape="box"];911[label="vuy4/Succ vuy40",fontsize=10,color="white",style="solid",shape="box"];251 -> 911[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 911 -> 257[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 912[label="vuy4/Zero",fontsize=10,color="white",style="solid",shape="box"];251 -> 912[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 912 -> 258[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 252 -> 123[label="",style="dashed", color="red", weight=0]; 12.48/4.87 252[label="primPlusNat (Succ Zero) (primDivNatS vuy300 (Succ vuy3100))",fontsize=16,color="magenta"];252 -> 259[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 253[label="primMinusNat (Succ Zero) (primDivNatS (Succ vuy3000) (Succ vuy3100))",fontsize=16,color="black",shape="box"];253 -> 260[label="",style="solid", color="black", weight=3]; 12.48/4.87 254[label="primMinusNat (Succ Zero) (primDivNatS Zero (Succ vuy3100))",fontsize=16,color="black",shape="box"];254 -> 261[label="",style="solid", color="black", weight=3]; 12.48/4.87 255[label="primPlusInt (Pos (Succ Zero)) (fromInteger (properFractionQ1 (Integer vuy300) vuy31 (quotRem (Integer vuy300) vuy31)))",fontsize=16,color="burlywood",shape="box"];913[label="vuy31/Integer vuy310",fontsize=10,color="white",style="solid",shape="box"];255 -> 913[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 913 -> 262[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 256[label="primPlusInt (Pos (Succ Zero)) (properFractionQ1 vuy30 vuy31 (primQrmInt vuy30 vuy31))",fontsize=16,color="black",shape="box"];256 -> 263[label="",style="solid", color="black", weight=3]; 12.48/4.87 257[label="toEnum4 (primEqNat (Succ vuy40) Zero) (Pos (Succ (Succ (Succ vuy40))))",fontsize=16,color="black",shape="box"];257 -> 264[label="",style="solid", color="black", weight=3]; 12.48/4.87 258[label="toEnum4 (primEqNat Zero Zero) (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];258 -> 265[label="",style="solid", color="black", weight=3]; 12.48/4.87 259[label="primDivNatS vuy300 (Succ vuy3100)",fontsize=16,color="burlywood",shape="triangle"];914[label="vuy300/Succ vuy3000",fontsize=10,color="white",style="solid",shape="box"];259 -> 914[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 914 -> 266[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 915[label="vuy300/Zero",fontsize=10,color="white",style="solid",shape="box"];259 -> 915[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 915 -> 267[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 260[label="primMinusNat (Succ Zero) (primDivNatS0 vuy3000 vuy3100 (primGEqNatS vuy3000 vuy3100))",fontsize=16,color="burlywood",shape="box"];916[label="vuy3000/Succ vuy30000",fontsize=10,color="white",style="solid",shape="box"];260 -> 916[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 916 -> 268[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 917[label="vuy3000/Zero",fontsize=10,color="white",style="solid",shape="box"];260 -> 917[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 917 -> 269[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 261[label="primMinusNat (Succ Zero) Zero",fontsize=16,color="black",shape="triangle"];261 -> 270[label="",style="solid", color="black", weight=3]; 12.48/4.87 262[label="primPlusInt (Pos (Succ Zero)) (fromInteger (properFractionQ1 (Integer vuy300) (Integer vuy310) (quotRem (Integer vuy300) (Integer vuy310))))",fontsize=16,color="black",shape="box"];262 -> 271[label="",style="solid", color="black", weight=3]; 12.48/4.87 263[label="primPlusInt (Pos (Succ Zero)) (properFractionQ1 vuy30 vuy31 (primQuotInt vuy30 vuy31,primRemInt vuy30 vuy31))",fontsize=16,color="black",shape="box"];263 -> 272[label="",style="solid", color="black", weight=3]; 12.48/4.87 264[label="toEnum4 False (Pos (Succ (Succ (Succ vuy40))))",fontsize=16,color="black",shape="box"];264 -> 273[label="",style="solid", color="black", weight=3]; 12.48/4.87 265[label="toEnum4 True (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];265 -> 274[label="",style="solid", color="black", weight=3]; 12.48/4.87 266[label="primDivNatS (Succ vuy3000) (Succ vuy3100)",fontsize=16,color="black",shape="box"];266 -> 275[label="",style="solid", color="black", weight=3]; 12.48/4.87 267[label="primDivNatS Zero (Succ vuy3100)",fontsize=16,color="black",shape="box"];267 -> 276[label="",style="solid", color="black", weight=3]; 12.48/4.87 268[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy30000) vuy3100 (primGEqNatS (Succ vuy30000) vuy3100))",fontsize=16,color="burlywood",shape="box"];918[label="vuy3100/Succ vuy31000",fontsize=10,color="white",style="solid",shape="box"];268 -> 918[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 918 -> 277[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 919[label="vuy3100/Zero",fontsize=10,color="white",style="solid",shape="box"];268 -> 919[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 919 -> 278[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 269[label="primMinusNat (Succ Zero) (primDivNatS0 Zero vuy3100 (primGEqNatS Zero vuy3100))",fontsize=16,color="burlywood",shape="box"];920[label="vuy3100/Succ vuy31000",fontsize=10,color="white",style="solid",shape="box"];269 -> 920[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 920 -> 279[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 921[label="vuy3100/Zero",fontsize=10,color="white",style="solid",shape="box"];269 -> 921[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 921 -> 280[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 270[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];271[label="primPlusInt (Pos (Succ Zero)) (fromInteger (properFractionQ1 (Integer vuy300) (Integer vuy310) (Integer (primQuotInt vuy300 vuy310),Integer (primRemInt vuy300 vuy310))))",fontsize=16,color="black",shape="box"];271 -> 281[label="",style="solid", color="black", weight=3]; 12.48/4.87 272 -> 196[label="",style="dashed", color="red", weight=0]; 12.48/4.87 272[label="primPlusInt (Pos (Succ Zero)) (primQuotInt vuy30 vuy31)",fontsize=16,color="magenta"];272 -> 282[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 272 -> 283[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 273[label="error []",fontsize=16,color="red",shape="box"];274[label="GT",fontsize=16,color="green",shape="box"];275[label="primDivNatS0 vuy3000 vuy3100 (primGEqNatS vuy3000 vuy3100)",fontsize=16,color="burlywood",shape="box"];922[label="vuy3000/Succ vuy30000",fontsize=10,color="white",style="solid",shape="box"];275 -> 922[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 922 -> 284[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 923[label="vuy3000/Zero",fontsize=10,color="white",style="solid",shape="box"];275 -> 923[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 923 -> 285[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 276[label="Zero",fontsize=16,color="green",shape="box"];277[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy30000) (Succ vuy31000) (primGEqNatS (Succ vuy30000) (Succ vuy31000)))",fontsize=16,color="black",shape="box"];277 -> 286[label="",style="solid", color="black", weight=3]; 12.48/4.87 278[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy30000) Zero (primGEqNatS (Succ vuy30000) Zero))",fontsize=16,color="black",shape="box"];278 -> 287[label="",style="solid", color="black", weight=3]; 12.48/4.87 279[label="primMinusNat (Succ Zero) (primDivNatS0 Zero (Succ vuy31000) (primGEqNatS Zero (Succ vuy31000)))",fontsize=16,color="black",shape="box"];279 -> 288[label="",style="solid", color="black", weight=3]; 12.48/4.87 280[label="primMinusNat (Succ Zero) (primDivNatS0 Zero Zero (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];280 -> 289[label="",style="solid", color="black", weight=3]; 12.48/4.87 281[label="primPlusInt (Pos (Succ Zero)) (fromInteger (Integer (primQuotInt vuy300 vuy310)))",fontsize=16,color="black",shape="box"];281 -> 290[label="",style="solid", color="black", weight=3]; 12.48/4.87 282[label="vuy31",fontsize=16,color="green",shape="box"];283[label="vuy30",fontsize=16,color="green",shape="box"];284[label="primDivNatS0 (Succ vuy30000) vuy3100 (primGEqNatS (Succ vuy30000) vuy3100)",fontsize=16,color="burlywood",shape="box"];924[label="vuy3100/Succ vuy31000",fontsize=10,color="white",style="solid",shape="box"];284 -> 924[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 924 -> 291[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 925[label="vuy3100/Zero",fontsize=10,color="white",style="solid",shape="box"];284 -> 925[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 925 -> 292[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 285[label="primDivNatS0 Zero vuy3100 (primGEqNatS Zero vuy3100)",fontsize=16,color="burlywood",shape="box"];926[label="vuy3100/Succ vuy31000",fontsize=10,color="white",style="solid",shape="box"];285 -> 926[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 926 -> 293[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 927[label="vuy3100/Zero",fontsize=10,color="white",style="solid",shape="box"];285 -> 927[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 927 -> 294[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 286 -> 717[label="",style="dashed", color="red", weight=0]; 12.48/4.87 286[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy30000) (Succ vuy31000) (primGEqNatS vuy30000 vuy31000))",fontsize=16,color="magenta"];286 -> 718[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 286 -> 719[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 286 -> 720[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 286 -> 721[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 287[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy30000) Zero True)",fontsize=16,color="black",shape="box"];287 -> 297[label="",style="solid", color="black", weight=3]; 12.48/4.87 288[label="primMinusNat (Succ Zero) (primDivNatS0 Zero (Succ vuy31000) False)",fontsize=16,color="black",shape="box"];288 -> 298[label="",style="solid", color="black", weight=3]; 12.48/4.87 289[label="primMinusNat (Succ Zero) (primDivNatS0 Zero Zero True)",fontsize=16,color="black",shape="box"];289 -> 299[label="",style="solid", color="black", weight=3]; 12.48/4.87 290 -> 196[label="",style="dashed", color="red", weight=0]; 12.48/4.87 290[label="primPlusInt (Pos (Succ Zero)) (primQuotInt vuy300 vuy310)",fontsize=16,color="magenta"];290 -> 300[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 290 -> 301[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 291[label="primDivNatS0 (Succ vuy30000) (Succ vuy31000) (primGEqNatS (Succ vuy30000) (Succ vuy31000))",fontsize=16,color="black",shape="box"];291 -> 302[label="",style="solid", color="black", weight=3]; 12.48/4.87 292[label="primDivNatS0 (Succ vuy30000) Zero (primGEqNatS (Succ vuy30000) Zero)",fontsize=16,color="black",shape="box"];292 -> 303[label="",style="solid", color="black", weight=3]; 12.48/4.87 293[label="primDivNatS0 Zero (Succ vuy31000) (primGEqNatS Zero (Succ vuy31000))",fontsize=16,color="black",shape="box"];293 -> 304[label="",style="solid", color="black", weight=3]; 12.48/4.87 294[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];294 -> 305[label="",style="solid", color="black", weight=3]; 12.48/4.87 718[label="vuy31000",fontsize=16,color="green",shape="box"];719[label="vuy30000",fontsize=16,color="green",shape="box"];720[label="vuy31000",fontsize=16,color="green",shape="box"];721[label="vuy30000",fontsize=16,color="green",shape="box"];717[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy39) (Succ vuy40) (primGEqNatS vuy41 vuy42))",fontsize=16,color="burlywood",shape="triangle"];928[label="vuy41/Succ vuy410",fontsize=10,color="white",style="solid",shape="box"];717 -> 928[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 928 -> 758[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 929[label="vuy41/Zero",fontsize=10,color="white",style="solid",shape="box"];717 -> 929[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 929 -> 759[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 297 -> 310[label="",style="dashed", color="red", weight=0]; 12.48/4.87 297[label="primMinusNat (Succ Zero) (Succ (primDivNatS (primMinusNatS (Succ vuy30000) Zero) (Succ Zero)))",fontsize=16,color="magenta"];297 -> 311[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 298 -> 261[label="",style="dashed", color="red", weight=0]; 12.48/4.87 298[label="primMinusNat (Succ Zero) Zero",fontsize=16,color="magenta"];299 -> 310[label="",style="dashed", color="red", weight=0]; 12.48/4.87 299[label="primMinusNat (Succ Zero) (Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero)))",fontsize=16,color="magenta"];299 -> 312[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 300[label="vuy310",fontsize=16,color="green",shape="box"];301[label="vuy300",fontsize=16,color="green",shape="box"];302 -> 783[label="",style="dashed", color="red", weight=0]; 12.48/4.87 302[label="primDivNatS0 (Succ vuy30000) (Succ vuy31000) (primGEqNatS vuy30000 vuy31000)",fontsize=16,color="magenta"];302 -> 784[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 302 -> 785[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 302 -> 786[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 302 -> 787[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 303[label="primDivNatS0 (Succ vuy30000) Zero True",fontsize=16,color="black",shape="box"];303 -> 315[label="",style="solid", color="black", weight=3]; 12.48/4.87 304[label="primDivNatS0 Zero (Succ vuy31000) False",fontsize=16,color="black",shape="box"];304 -> 316[label="",style="solid", color="black", weight=3]; 12.48/4.87 305[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];305 -> 317[label="",style="solid", color="black", weight=3]; 12.48/4.87 758[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy39) (Succ vuy40) (primGEqNatS (Succ vuy410) vuy42))",fontsize=16,color="burlywood",shape="box"];930[label="vuy42/Succ vuy420",fontsize=10,color="white",style="solid",shape="box"];758 -> 930[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 930 -> 764[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 931[label="vuy42/Zero",fontsize=10,color="white",style="solid",shape="box"];758 -> 931[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 931 -> 765[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 759[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy39) (Succ vuy40) (primGEqNatS Zero vuy42))",fontsize=16,color="burlywood",shape="box"];932[label="vuy42/Succ vuy420",fontsize=10,color="white",style="solid",shape="box"];759 -> 932[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 932 -> 766[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 933[label="vuy42/Zero",fontsize=10,color="white",style="solid",shape="box"];759 -> 933[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 933 -> 767[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 311 -> 259[label="",style="dashed", color="red", weight=0]; 12.48/4.87 311[label="primDivNatS (primMinusNatS (Succ vuy30000) Zero) (Succ Zero)",fontsize=16,color="magenta"];311 -> 322[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 311 -> 323[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 310[label="primMinusNat (Succ Zero) (Succ vuy8)",fontsize=16,color="black",shape="triangle"];310 -> 324[label="",style="solid", color="black", weight=3]; 12.48/4.87 312 -> 259[label="",style="dashed", color="red", weight=0]; 12.48/4.87 312[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];312 -> 325[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 312 -> 326[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 784[label="vuy31000",fontsize=16,color="green",shape="box"];785[label="vuy30000",fontsize=16,color="green",shape="box"];786[label="vuy31000",fontsize=16,color="green",shape="box"];787[label="vuy30000",fontsize=16,color="green",shape="box"];783[label="primDivNatS0 (Succ vuy52) (Succ vuy53) (primGEqNatS vuy54 vuy55)",fontsize=16,color="burlywood",shape="triangle"];934[label="vuy54/Succ vuy540",fontsize=10,color="white",style="solid",shape="box"];783 -> 934[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 934 -> 824[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 935[label="vuy54/Zero",fontsize=10,color="white",style="solid",shape="box"];783 -> 935[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 935 -> 825[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 315[label="Succ (primDivNatS (primMinusNatS (Succ vuy30000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];315 -> 331[label="",style="dashed", color="green", weight=3]; 12.48/4.87 316[label="Zero",fontsize=16,color="green",shape="box"];317[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];317 -> 332[label="",style="dashed", color="green", weight=3]; 12.48/4.87 764[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy39) (Succ vuy40) (primGEqNatS (Succ vuy410) (Succ vuy420)))",fontsize=16,color="black",shape="box"];764 -> 771[label="",style="solid", color="black", weight=3]; 12.48/4.87 765[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy39) (Succ vuy40) (primGEqNatS (Succ vuy410) Zero))",fontsize=16,color="black",shape="box"];765 -> 772[label="",style="solid", color="black", weight=3]; 12.48/4.87 766[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy39) (Succ vuy40) (primGEqNatS Zero (Succ vuy420)))",fontsize=16,color="black",shape="box"];766 -> 773[label="",style="solid", color="black", weight=3]; 12.48/4.87 767[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy39) (Succ vuy40) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];767 -> 774[label="",style="solid", color="black", weight=3]; 12.48/4.87 322[label="primMinusNatS (Succ vuy30000) Zero",fontsize=16,color="black",shape="triangle"];322 -> 338[label="",style="solid", color="black", weight=3]; 12.48/4.87 323[label="Zero",fontsize=16,color="green",shape="box"];324[label="primMinusNat Zero vuy8",fontsize=16,color="burlywood",shape="box"];936[label="vuy8/Succ vuy80",fontsize=10,color="white",style="solid",shape="box"];324 -> 936[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 936 -> 339[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 937[label="vuy8/Zero",fontsize=10,color="white",style="solid",shape="box"];324 -> 937[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 937 -> 340[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 325[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];325 -> 341[label="",style="solid", color="black", weight=3]; 12.48/4.87 326[label="Zero",fontsize=16,color="green",shape="box"];824[label="primDivNatS0 (Succ vuy52) (Succ vuy53) (primGEqNatS (Succ vuy540) vuy55)",fontsize=16,color="burlywood",shape="box"];938[label="vuy55/Succ vuy550",fontsize=10,color="white",style="solid",shape="box"];824 -> 938[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 938 -> 827[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 939[label="vuy55/Zero",fontsize=10,color="white",style="solid",shape="box"];824 -> 939[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 939 -> 828[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 825[label="primDivNatS0 (Succ vuy52) (Succ vuy53) (primGEqNatS Zero vuy55)",fontsize=16,color="burlywood",shape="box"];940[label="vuy55/Succ vuy550",fontsize=10,color="white",style="solid",shape="box"];825 -> 940[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 940 -> 829[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 941[label="vuy55/Zero",fontsize=10,color="white",style="solid",shape="box"];825 -> 941[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 941 -> 830[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 331 -> 259[label="",style="dashed", color="red", weight=0]; 12.48/4.87 331[label="primDivNatS (primMinusNatS (Succ vuy30000) Zero) (Succ Zero)",fontsize=16,color="magenta"];331 -> 346[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 331 -> 347[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 332 -> 259[label="",style="dashed", color="red", weight=0]; 12.48/4.87 332[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];332 -> 348[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 332 -> 349[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 771 -> 717[label="",style="dashed", color="red", weight=0]; 12.48/4.87 771[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy39) (Succ vuy40) (primGEqNatS vuy410 vuy420))",fontsize=16,color="magenta"];771 -> 777[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 771 -> 778[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 772[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy39) (Succ vuy40) True)",fontsize=16,color="black",shape="triangle"];772 -> 779[label="",style="solid", color="black", weight=3]; 12.48/4.87 773[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy39) (Succ vuy40) False)",fontsize=16,color="black",shape="box"];773 -> 780[label="",style="solid", color="black", weight=3]; 12.48/4.87 774 -> 772[label="",style="dashed", color="red", weight=0]; 12.48/4.87 774[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ vuy39) (Succ vuy40) True)",fontsize=16,color="magenta"];338[label="Succ vuy30000",fontsize=16,color="green",shape="box"];339[label="primMinusNat Zero (Succ vuy80)",fontsize=16,color="black",shape="box"];339 -> 356[label="",style="solid", color="black", weight=3]; 12.48/4.87 340[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];340 -> 357[label="",style="solid", color="black", weight=3]; 12.48/4.87 341[label="Zero",fontsize=16,color="green",shape="box"];827[label="primDivNatS0 (Succ vuy52) (Succ vuy53) (primGEqNatS (Succ vuy540) (Succ vuy550))",fontsize=16,color="black",shape="box"];827 -> 833[label="",style="solid", color="black", weight=3]; 12.48/4.87 828[label="primDivNatS0 (Succ vuy52) (Succ vuy53) (primGEqNatS (Succ vuy540) Zero)",fontsize=16,color="black",shape="box"];828 -> 834[label="",style="solid", color="black", weight=3]; 12.48/4.87 829[label="primDivNatS0 (Succ vuy52) (Succ vuy53) (primGEqNatS Zero (Succ vuy550))",fontsize=16,color="black",shape="box"];829 -> 835[label="",style="solid", color="black", weight=3]; 12.48/4.87 830[label="primDivNatS0 (Succ vuy52) (Succ vuy53) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];830 -> 836[label="",style="solid", color="black", weight=3]; 12.48/4.87 346 -> 322[label="",style="dashed", color="red", weight=0]; 12.48/4.87 346[label="primMinusNatS (Succ vuy30000) Zero",fontsize=16,color="magenta"];347[label="Zero",fontsize=16,color="green",shape="box"];348 -> 325[label="",style="dashed", color="red", weight=0]; 12.48/4.87 348[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];349[label="Zero",fontsize=16,color="green",shape="box"];777[label="vuy420",fontsize=16,color="green",shape="box"];778[label="vuy410",fontsize=16,color="green",shape="box"];779 -> 310[label="",style="dashed", color="red", weight=0]; 12.48/4.87 779[label="primMinusNat (Succ Zero) (Succ (primDivNatS (primMinusNatS (Succ vuy39) (Succ vuy40)) (Succ (Succ vuy40))))",fontsize=16,color="magenta"];779 -> 826[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 780 -> 261[label="",style="dashed", color="red", weight=0]; 12.48/4.87 780[label="primMinusNat (Succ Zero) Zero",fontsize=16,color="magenta"];356[label="Neg (Succ vuy80)",fontsize=16,color="green",shape="box"];357[label="Pos Zero",fontsize=16,color="green",shape="box"];833 -> 783[label="",style="dashed", color="red", weight=0]; 12.48/4.87 833[label="primDivNatS0 (Succ vuy52) (Succ vuy53) (primGEqNatS vuy540 vuy550)",fontsize=16,color="magenta"];833 -> 838[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 833 -> 839[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 834[label="primDivNatS0 (Succ vuy52) (Succ vuy53) True",fontsize=16,color="black",shape="triangle"];834 -> 840[label="",style="solid", color="black", weight=3]; 12.48/4.87 835[label="primDivNatS0 (Succ vuy52) (Succ vuy53) False",fontsize=16,color="black",shape="box"];835 -> 841[label="",style="solid", color="black", weight=3]; 12.48/4.87 836 -> 834[label="",style="dashed", color="red", weight=0]; 12.48/4.87 836[label="primDivNatS0 (Succ vuy52) (Succ vuy53) True",fontsize=16,color="magenta"];826 -> 259[label="",style="dashed", color="red", weight=0]; 12.48/4.87 826[label="primDivNatS (primMinusNatS (Succ vuy39) (Succ vuy40)) (Succ (Succ vuy40))",fontsize=16,color="magenta"];826 -> 831[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 826 -> 832[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 838[label="vuy540",fontsize=16,color="green",shape="box"];839[label="vuy550",fontsize=16,color="green",shape="box"];840[label="Succ (primDivNatS (primMinusNatS (Succ vuy52) (Succ vuy53)) (Succ (Succ vuy53)))",fontsize=16,color="green",shape="box"];840 -> 844[label="",style="dashed", color="green", weight=3]; 12.48/4.87 841[label="Zero",fontsize=16,color="green",shape="box"];831[label="primMinusNatS (Succ vuy39) (Succ vuy40)",fontsize=16,color="black",shape="box"];831 -> 837[label="",style="solid", color="black", weight=3]; 12.48/4.87 832[label="Succ vuy40",fontsize=16,color="green",shape="box"];844 -> 259[label="",style="dashed", color="red", weight=0]; 12.48/4.87 844[label="primDivNatS (primMinusNatS (Succ vuy52) (Succ vuy53)) (Succ (Succ vuy53))",fontsize=16,color="magenta"];844 -> 849[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 844 -> 850[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 837[label="primMinusNatS vuy39 vuy40",fontsize=16,color="burlywood",shape="triangle"];942[label="vuy39/Succ vuy390",fontsize=10,color="white",style="solid",shape="box"];837 -> 942[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 942 -> 842[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 943[label="vuy39/Zero",fontsize=10,color="white",style="solid",shape="box"];837 -> 943[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 943 -> 843[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 849 -> 837[label="",style="dashed", color="red", weight=0]; 12.48/4.87 849[label="primMinusNatS (Succ vuy52) (Succ vuy53)",fontsize=16,color="magenta"];849 -> 855[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 849 -> 856[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 850[label="Succ vuy53",fontsize=16,color="green",shape="box"];842[label="primMinusNatS (Succ vuy390) vuy40",fontsize=16,color="burlywood",shape="box"];944[label="vuy40/Succ vuy400",fontsize=10,color="white",style="solid",shape="box"];842 -> 944[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 944 -> 845[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 945[label="vuy40/Zero",fontsize=10,color="white",style="solid",shape="box"];842 -> 945[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 945 -> 846[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 843[label="primMinusNatS Zero vuy40",fontsize=16,color="burlywood",shape="box"];946[label="vuy40/Succ vuy400",fontsize=10,color="white",style="solid",shape="box"];843 -> 946[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 946 -> 847[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 947[label="vuy40/Zero",fontsize=10,color="white",style="solid",shape="box"];843 -> 947[label="",style="solid", color="burlywood", weight=9]; 12.48/4.87 947 -> 848[label="",style="solid", color="burlywood", weight=3]; 12.48/4.87 855[label="Succ vuy53",fontsize=16,color="green",shape="box"];856[label="Succ vuy52",fontsize=16,color="green",shape="box"];845[label="primMinusNatS (Succ vuy390) (Succ vuy400)",fontsize=16,color="black",shape="box"];845 -> 851[label="",style="solid", color="black", weight=3]; 12.48/4.87 846[label="primMinusNatS (Succ vuy390) Zero",fontsize=16,color="black",shape="box"];846 -> 852[label="",style="solid", color="black", weight=3]; 12.48/4.87 847[label="primMinusNatS Zero (Succ vuy400)",fontsize=16,color="black",shape="box"];847 -> 853[label="",style="solid", color="black", weight=3]; 12.48/4.87 848[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];848 -> 854[label="",style="solid", color="black", weight=3]; 12.48/4.87 851 -> 837[label="",style="dashed", color="red", weight=0]; 12.48/4.87 851[label="primMinusNatS vuy390 vuy400",fontsize=16,color="magenta"];851 -> 857[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 851 -> 858[label="",style="dashed", color="magenta", weight=3]; 12.48/4.87 852[label="Succ vuy390",fontsize=16,color="green",shape="box"];853[label="Zero",fontsize=16,color="green",shape="box"];854[label="Zero",fontsize=16,color="green",shape="box"];857[label="vuy400",fontsize=16,color="green",shape="box"];858[label="vuy390",fontsize=16,color="green",shape="box"];} 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (14) 12.48/4.87 Complex Obligation (AND) 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (15) 12.48/4.87 Obligation: 12.48/4.87 Q DP problem: 12.48/4.87 The TRS P consists of the following rules: 12.48/4.87 12.48/4.87 new_primMinusNat(vuy39, vuy40, Succ(vuy410), Succ(vuy420)) -> new_primMinusNat(vuy39, vuy40, vuy410, vuy420) 12.48/4.87 12.48/4.87 R is empty. 12.48/4.87 Q is empty. 12.48/4.87 We have to consider all minimal (P,Q,R)-chains. 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (16) QDPSizeChangeProof (EQUIVALENT) 12.48/4.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. 12.48/4.87 12.48/4.87 From the DPs we obtained the following set of size-change graphs: 12.48/4.87 *new_primMinusNat(vuy39, vuy40, Succ(vuy410), Succ(vuy420)) -> new_primMinusNat(vuy39, vuy40, vuy410, vuy420) 12.48/4.87 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 12.48/4.87 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (17) 12.48/4.87 YES 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (18) 12.48/4.87 Obligation: 12.48/4.87 Q DP problem: 12.48/4.87 The TRS P consists of the following rules: 12.48/4.87 12.48/4.87 new_primDivNatS(Succ(Succ(vuy30000)), Succ(vuy31000)) -> new_primDivNatS0(vuy30000, vuy31000, vuy30000, vuy31000) 12.48/4.87 new_primDivNatS0(vuy52, vuy53, Zero, Zero) -> new_primDivNatS00(vuy52, vuy53) 12.48/4.87 new_primDivNatS0(vuy52, vuy53, Succ(vuy540), Zero) -> new_primDivNatS(new_primMinusNatS0(Succ(vuy52), Succ(vuy53)), Succ(vuy53)) 12.48/4.87 new_primDivNatS0(vuy52, vuy53, Succ(vuy540), Succ(vuy550)) -> new_primDivNatS0(vuy52, vuy53, vuy540, vuy550) 12.48/4.87 new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS2, Zero) 12.48/4.87 new_primDivNatS(Succ(Succ(vuy30000)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuy30000), Zero) 12.48/4.87 new_primDivNatS00(vuy52, vuy53) -> new_primDivNatS(new_primMinusNatS0(Succ(vuy52), Succ(vuy53)), Succ(vuy53)) 12.48/4.87 12.48/4.87 The TRS R consists of the following rules: 12.48/4.87 12.48/4.87 new_primMinusNatS0(Zero, Succ(vuy400)) -> Zero 12.48/4.87 new_primMinusNatS0(Zero, Zero) -> Zero 12.48/4.87 new_primMinusNatS1(vuy30000) -> Succ(vuy30000) 12.48/4.87 new_primMinusNatS2 -> Zero 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Succ(vuy400)) -> new_primMinusNatS0(vuy390, vuy400) 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Zero) -> Succ(vuy390) 12.48/4.87 12.48/4.87 The set Q consists of the following terms: 12.48/4.87 12.48/4.87 new_primMinusNatS0(Zero, Zero) 12.48/4.87 new_primMinusNatS2 12.48/4.87 new_primMinusNatS1(x0) 12.48/4.87 new_primMinusNatS0(Zero, Succ(x0)) 12.48/4.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 12.48/4.87 new_primMinusNatS0(Succ(x0), Zero) 12.48/4.87 12.48/4.87 We have to consider all minimal (P,Q,R)-chains. 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (19) DependencyGraphProof (EQUIVALENT) 12.48/4.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (20) 12.48/4.87 Complex Obligation (AND) 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (21) 12.48/4.87 Obligation: 12.48/4.87 Q DP problem: 12.48/4.87 The TRS P consists of the following rules: 12.48/4.87 12.48/4.87 new_primDivNatS(Succ(Succ(vuy30000)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuy30000), Zero) 12.48/4.87 12.48/4.87 The TRS R consists of the following rules: 12.48/4.87 12.48/4.87 new_primMinusNatS0(Zero, Succ(vuy400)) -> Zero 12.48/4.87 new_primMinusNatS0(Zero, Zero) -> Zero 12.48/4.87 new_primMinusNatS1(vuy30000) -> Succ(vuy30000) 12.48/4.87 new_primMinusNatS2 -> Zero 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Succ(vuy400)) -> new_primMinusNatS0(vuy390, vuy400) 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Zero) -> Succ(vuy390) 12.48/4.87 12.48/4.87 The set Q consists of the following terms: 12.48/4.87 12.48/4.87 new_primMinusNatS0(Zero, Zero) 12.48/4.87 new_primMinusNatS2 12.48/4.87 new_primMinusNatS1(x0) 12.48/4.87 new_primMinusNatS0(Zero, Succ(x0)) 12.48/4.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 12.48/4.87 new_primMinusNatS0(Succ(x0), Zero) 12.48/4.87 12.48/4.87 We have to consider all minimal (P,Q,R)-chains. 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (22) MRRProof (EQUIVALENT) 12.48/4.87 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 12.48/4.87 12.48/4.87 Strictly oriented dependency pairs: 12.48/4.87 12.48/4.87 new_primDivNatS(Succ(Succ(vuy30000)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuy30000), Zero) 12.48/4.87 12.48/4.87 Strictly oriented rules of the TRS R: 12.48/4.87 12.48/4.87 new_primMinusNatS0(Zero, Succ(vuy400)) -> Zero 12.48/4.87 new_primMinusNatS0(Zero, Zero) -> Zero 12.48/4.87 new_primMinusNatS1(vuy30000) -> Succ(vuy30000) 12.48/4.87 new_primMinusNatS2 -> Zero 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Succ(vuy400)) -> new_primMinusNatS0(vuy390, vuy400) 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Zero) -> Succ(vuy390) 12.48/4.87 12.48/4.87 Used ordering: Polynomial interpretation [POLO]: 12.48/4.87 12.48/4.87 POL(Succ(x_1)) = 1 + 2*x_1 12.48/4.87 POL(Zero) = 1 12.48/4.87 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 12.48/4.87 POL(new_primMinusNatS0(x_1, x_2)) = x_1 + x_2 12.48/4.87 POL(new_primMinusNatS1(x_1)) = 2 + 2*x_1 12.48/4.87 POL(new_primMinusNatS2) = 2 12.48/4.87 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (23) 12.48/4.87 Obligation: 12.48/4.87 Q DP problem: 12.48/4.87 P is empty. 12.48/4.87 R is empty. 12.48/4.87 The set Q consists of the following terms: 12.48/4.87 12.48/4.87 new_primMinusNatS0(Zero, Zero) 12.48/4.87 new_primMinusNatS2 12.48/4.87 new_primMinusNatS1(x0) 12.48/4.87 new_primMinusNatS0(Zero, Succ(x0)) 12.48/4.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 12.48/4.87 new_primMinusNatS0(Succ(x0), Zero) 12.48/4.87 12.48/4.87 We have to consider all minimal (P,Q,R)-chains. 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (24) PisEmptyProof (EQUIVALENT) 12.48/4.87 The TRS P is empty. Hence, there is no (P,Q,R) chain. 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (25) 12.48/4.87 YES 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (26) 12.48/4.87 Obligation: 12.48/4.87 Q DP problem: 12.48/4.87 The TRS P consists of the following rules: 12.48/4.87 12.48/4.87 new_primDivNatS0(vuy52, vuy53, Zero, Zero) -> new_primDivNatS00(vuy52, vuy53) 12.48/4.87 new_primDivNatS00(vuy52, vuy53) -> new_primDivNatS(new_primMinusNatS0(Succ(vuy52), Succ(vuy53)), Succ(vuy53)) 12.48/4.87 new_primDivNatS(Succ(Succ(vuy30000)), Succ(vuy31000)) -> new_primDivNatS0(vuy30000, vuy31000, vuy30000, vuy31000) 12.48/4.87 new_primDivNatS0(vuy52, vuy53, Succ(vuy540), Zero) -> new_primDivNatS(new_primMinusNatS0(Succ(vuy52), Succ(vuy53)), Succ(vuy53)) 12.48/4.87 new_primDivNatS0(vuy52, vuy53, Succ(vuy540), Succ(vuy550)) -> new_primDivNatS0(vuy52, vuy53, vuy540, vuy550) 12.48/4.87 12.48/4.87 The TRS R consists of the following rules: 12.48/4.87 12.48/4.87 new_primMinusNatS0(Zero, Succ(vuy400)) -> Zero 12.48/4.87 new_primMinusNatS0(Zero, Zero) -> Zero 12.48/4.87 new_primMinusNatS1(vuy30000) -> Succ(vuy30000) 12.48/4.87 new_primMinusNatS2 -> Zero 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Succ(vuy400)) -> new_primMinusNatS0(vuy390, vuy400) 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Zero) -> Succ(vuy390) 12.48/4.87 12.48/4.87 The set Q consists of the following terms: 12.48/4.87 12.48/4.87 new_primMinusNatS0(Zero, Zero) 12.48/4.87 new_primMinusNatS2 12.48/4.87 new_primMinusNatS1(x0) 12.48/4.87 new_primMinusNatS0(Zero, Succ(x0)) 12.48/4.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 12.48/4.87 new_primMinusNatS0(Succ(x0), Zero) 12.48/4.87 12.48/4.87 We have to consider all minimal (P,Q,R)-chains. 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (27) QDPOrderProof (EQUIVALENT) 12.48/4.87 We use the reduction pair processor [LPAR04,JAR06]. 12.48/4.87 12.48/4.87 12.48/4.87 The following pairs can be oriented strictly and are deleted. 12.48/4.87 12.48/4.87 new_primDivNatS(Succ(Succ(vuy30000)), Succ(vuy31000)) -> new_primDivNatS0(vuy30000, vuy31000, vuy30000, vuy31000) 12.48/4.87 The remaining pairs can at least be oriented weakly. 12.48/4.87 Used ordering: Polynomial interpretation [POLO]: 12.48/4.87 12.48/4.87 POL(Succ(x_1)) = 1 + x_1 12.48/4.87 POL(Zero) = 1 12.48/4.87 POL(new_primDivNatS(x_1, x_2)) = x_1 12.48/4.87 POL(new_primDivNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 12.48/4.87 POL(new_primDivNatS00(x_1, x_2)) = 1 + x_1 12.48/4.87 POL(new_primMinusNatS0(x_1, x_2)) = x_1 12.48/4.87 12.48/4.87 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 12.48/4.87 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Succ(vuy400)) -> new_primMinusNatS0(vuy390, vuy400) 12.48/4.87 new_primMinusNatS0(Zero, Succ(vuy400)) -> Zero 12.48/4.87 new_primMinusNatS0(Zero, Zero) -> Zero 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Zero) -> Succ(vuy390) 12.48/4.87 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (28) 12.48/4.87 Obligation: 12.48/4.87 Q DP problem: 12.48/4.87 The TRS P consists of the following rules: 12.48/4.87 12.48/4.87 new_primDivNatS0(vuy52, vuy53, Zero, Zero) -> new_primDivNatS00(vuy52, vuy53) 12.48/4.87 new_primDivNatS00(vuy52, vuy53) -> new_primDivNatS(new_primMinusNatS0(Succ(vuy52), Succ(vuy53)), Succ(vuy53)) 12.48/4.87 new_primDivNatS0(vuy52, vuy53, Succ(vuy540), Zero) -> new_primDivNatS(new_primMinusNatS0(Succ(vuy52), Succ(vuy53)), Succ(vuy53)) 12.48/4.87 new_primDivNatS0(vuy52, vuy53, Succ(vuy540), Succ(vuy550)) -> new_primDivNatS0(vuy52, vuy53, vuy540, vuy550) 12.48/4.87 12.48/4.87 The TRS R consists of the following rules: 12.48/4.87 12.48/4.87 new_primMinusNatS0(Zero, Succ(vuy400)) -> Zero 12.48/4.87 new_primMinusNatS0(Zero, Zero) -> Zero 12.48/4.87 new_primMinusNatS1(vuy30000) -> Succ(vuy30000) 12.48/4.87 new_primMinusNatS2 -> Zero 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Succ(vuy400)) -> new_primMinusNatS0(vuy390, vuy400) 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Zero) -> Succ(vuy390) 12.48/4.87 12.48/4.87 The set Q consists of the following terms: 12.48/4.87 12.48/4.87 new_primMinusNatS0(Zero, Zero) 12.48/4.87 new_primMinusNatS2 12.48/4.87 new_primMinusNatS1(x0) 12.48/4.87 new_primMinusNatS0(Zero, Succ(x0)) 12.48/4.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 12.48/4.87 new_primMinusNatS0(Succ(x0), Zero) 12.48/4.87 12.48/4.87 We have to consider all minimal (P,Q,R)-chains. 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (29) DependencyGraphProof (EQUIVALENT) 12.48/4.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (30) 12.48/4.87 Obligation: 12.48/4.87 Q DP problem: 12.48/4.87 The TRS P consists of the following rules: 12.48/4.87 12.48/4.87 new_primDivNatS0(vuy52, vuy53, Succ(vuy540), Succ(vuy550)) -> new_primDivNatS0(vuy52, vuy53, vuy540, vuy550) 12.48/4.87 12.48/4.87 The TRS R consists of the following rules: 12.48/4.87 12.48/4.87 new_primMinusNatS0(Zero, Succ(vuy400)) -> Zero 12.48/4.87 new_primMinusNatS0(Zero, Zero) -> Zero 12.48/4.87 new_primMinusNatS1(vuy30000) -> Succ(vuy30000) 12.48/4.87 new_primMinusNatS2 -> Zero 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Succ(vuy400)) -> new_primMinusNatS0(vuy390, vuy400) 12.48/4.87 new_primMinusNatS0(Succ(vuy390), Zero) -> Succ(vuy390) 12.48/4.87 12.48/4.87 The set Q consists of the following terms: 12.48/4.87 12.48/4.87 new_primMinusNatS0(Zero, Zero) 12.48/4.87 new_primMinusNatS2 12.48/4.87 new_primMinusNatS1(x0) 12.48/4.87 new_primMinusNatS0(Zero, Succ(x0)) 12.48/4.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 12.48/4.87 new_primMinusNatS0(Succ(x0), Zero) 12.48/4.87 12.48/4.87 We have to consider all minimal (P,Q,R)-chains. 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (31) QDPSizeChangeProof (EQUIVALENT) 12.48/4.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. 12.48/4.87 12.48/4.87 From the DPs we obtained the following set of size-change graphs: 12.48/4.87 *new_primDivNatS0(vuy52, vuy53, Succ(vuy540), Succ(vuy550)) -> new_primDivNatS0(vuy52, vuy53, vuy540, vuy550) 12.48/4.87 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 12.48/4.87 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (32) 12.48/4.87 YES 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (33) 12.48/4.87 Obligation: 12.48/4.87 Q DP problem: 12.48/4.87 The TRS P consists of the following rules: 12.48/4.87 12.48/4.87 new_primMinusNatS(Succ(vuy390), Succ(vuy400)) -> new_primMinusNatS(vuy390, vuy400) 12.48/4.87 12.48/4.87 R is empty. 12.48/4.87 Q is empty. 12.48/4.87 We have to consider all minimal (P,Q,R)-chains. 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (34) QDPSizeChangeProof (EQUIVALENT) 12.48/4.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. 12.48/4.87 12.48/4.87 From the DPs we obtained the following set of size-change graphs: 12.48/4.87 *new_primMinusNatS(Succ(vuy390), Succ(vuy400)) -> new_primMinusNatS(vuy390, vuy400) 12.48/4.87 The graph contains the following edges 1 > 1, 2 > 2 12.48/4.87 12.48/4.87 12.48/4.87 ---------------------------------------- 12.48/4.87 12.48/4.87 (35) 12.48/4.87 YES 12.70/4.96 EOF