11.58/4.96 YES 13.19/5.46 proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs 13.19/5.46 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 13.19/5.46 13.19/5.46 13.19/5.46 H-Termination with start terms of the given HASKELL could be proven: 13.19/5.46 13.19/5.46 (0) HASKELL 13.19/5.46 (1) BR [EQUIVALENT, 0 ms] 13.19/5.46 (2) HASKELL 13.19/5.46 (3) COR [EQUIVALENT, 0 ms] 13.19/5.46 (4) HASKELL 13.19/5.46 (5) Narrow [SOUND, 0 ms] 13.19/5.46 (6) QDP 13.19/5.46 (7) DependencyGraphProof [EQUIVALENT, 0 ms] 13.19/5.46 (8) AND 13.19/5.46 (9) QDP 13.19/5.46 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.19/5.46 (11) YES 13.19/5.46 (12) QDP 13.19/5.46 (13) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.19/5.46 (14) YES 13.19/5.46 13.19/5.46 13.19/5.46 ---------------------------------------- 13.19/5.46 13.19/5.46 (0) 13.19/5.46 Obligation: 13.19/5.46 mainModule Main 13.19/5.46 module FiniteMap where { 13.19/5.46 import qualified Main; 13.19/5.46 import qualified Maybe; 13.19/5.46 import qualified Prelude; 13.19/5.46 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 13.19/5.46 13.19/5.46 instance (Eq a, Eq b) => Eq FiniteMap a b where { 13.19/5.46 } 13.19/5.46 foldFM_GE :: Ord a => (a -> c -> b -> b) -> b -> a -> FiniteMap a c -> b; 13.19/5.46 foldFM_GE k z fr EmptyFM = z; 13.19/5.46 foldFM_GE k z fr (Branch key elt _ fm_l fm_r) | key >= fr = foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l 13.19/5.46 | otherwise = foldFM_GE k z fr fm_r; 13.19/5.46 13.19/5.46 } 13.19/5.46 module Maybe where { 13.19/5.46 import qualified FiniteMap; 13.19/5.46 import qualified Main; 13.19/5.46 import qualified Prelude; 13.19/5.46 } 13.19/5.46 module Main where { 13.19/5.46 import qualified FiniteMap; 13.19/5.46 import qualified Maybe; 13.19/5.46 import qualified Prelude; 13.19/5.46 } 13.19/5.46 13.19/5.46 ---------------------------------------- 13.19/5.46 13.19/5.46 (1) BR (EQUIVALENT) 13.19/5.46 Replaced joker patterns by fresh variables and removed binding patterns. 13.19/5.46 ---------------------------------------- 13.19/5.46 13.19/5.46 (2) 13.19/5.46 Obligation: 13.19/5.46 mainModule Main 13.19/5.46 module FiniteMap where { 13.19/5.46 import qualified Main; 13.19/5.46 import qualified Maybe; 13.19/5.46 import qualified Prelude; 13.19/5.46 data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; 13.19/5.46 13.19/5.46 instance (Eq a, Eq b) => Eq FiniteMap a b where { 13.19/5.46 } 13.19/5.46 foldFM_GE :: Ord a => (a -> b -> c -> c) -> c -> a -> FiniteMap a b -> c; 13.19/5.46 foldFM_GE k z fr EmptyFM = z; 13.19/5.46 foldFM_GE k z fr (Branch key elt vy fm_l fm_r) | key >= fr = foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l 13.19/5.46 | otherwise = foldFM_GE k z fr fm_r; 13.19/5.46 13.19/5.46 } 13.19/5.46 module Maybe where { 13.19/5.46 import qualified FiniteMap; 13.19/5.46 import qualified Main; 13.19/5.46 import qualified Prelude; 13.19/5.46 } 13.19/5.46 module Main where { 13.19/5.46 import qualified FiniteMap; 13.19/5.46 import qualified Maybe; 13.19/5.46 import qualified Prelude; 13.19/5.46 } 13.19/5.46 13.19/5.46 ---------------------------------------- 13.19/5.46 13.19/5.46 (3) COR (EQUIVALENT) 13.19/5.46 Cond Reductions: 13.19/5.46 The following Function with conditions 13.19/5.46 "undefined |Falseundefined; 13.19/5.46 " 13.19/5.46 is transformed to 13.19/5.46 "undefined = undefined1; 13.19/5.46 " 13.19/5.46 "undefined0 True = undefined; 13.19/5.46 " 13.19/5.46 "undefined1 = undefined0 False; 13.19/5.46 " 13.19/5.46 The following Function with conditions 13.19/5.46 "foldFM_GE k z fr EmptyFM = z; 13.19/5.46 foldFM_GE k z fr (Branch key elt vy fm_l fm_r)|key >= frfoldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l|otherwisefoldFM_GE k z fr fm_r; 13.19/5.46 " 13.19/5.46 is transformed to 13.19/5.46 "foldFM_GE k z fr EmptyFM = foldFM_GE3 k z fr EmptyFM; 13.19/5.46 foldFM_GE k z fr (Branch key elt vy fm_l fm_r) = foldFM_GE2 k z fr (Branch key elt vy fm_l fm_r); 13.19/5.46 " 13.19/5.46 "foldFM_GE1 k z fr key elt vy fm_l fm_r True = foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l; 13.19/5.46 foldFM_GE1 k z fr key elt vy fm_l fm_r False = foldFM_GE0 k z fr key elt vy fm_l fm_r otherwise; 13.19/5.46 " 13.19/5.46 "foldFM_GE0 k z fr key elt vy fm_l fm_r True = foldFM_GE k z fr fm_r; 13.19/5.46 " 13.19/5.46 "foldFM_GE2 k z fr (Branch key elt vy fm_l fm_r) = foldFM_GE1 k z fr key elt vy fm_l fm_r (key >= fr); 13.19/5.46 " 13.19/5.46 "foldFM_GE3 k z fr EmptyFM = z; 13.19/5.46 foldFM_GE3 wv ww wx wy = foldFM_GE2 wv ww wx wy; 13.19/5.46 " 13.19/5.46 13.19/5.46 ---------------------------------------- 13.19/5.46 13.19/5.46 (4) 13.19/5.46 Obligation: 13.19/5.46 mainModule Main 13.19/5.46 module FiniteMap where { 13.19/5.46 import qualified Main; 13.19/5.46 import qualified Maybe; 13.19/5.46 import qualified Prelude; 13.19/5.46 data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; 13.19/5.46 13.19/5.46 instance (Eq a, Eq b) => Eq FiniteMap b a where { 13.19/5.46 } 13.19/5.46 foldFM_GE :: Ord c => (c -> a -> b -> b) -> b -> c -> FiniteMap c a -> b; 13.19/5.46 foldFM_GE k z fr EmptyFM = foldFM_GE3 k z fr EmptyFM; 13.19/5.46 foldFM_GE k z fr (Branch key elt vy fm_l fm_r) = foldFM_GE2 k z fr (Branch key elt vy fm_l fm_r); 13.19/5.46 13.19/5.46 foldFM_GE0 k z fr key elt vy fm_l fm_r True = foldFM_GE k z fr fm_r; 13.19/5.46 13.19/5.46 foldFM_GE1 k z fr key elt vy fm_l fm_r True = foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l; 13.19/5.46 foldFM_GE1 k z fr key elt vy fm_l fm_r False = foldFM_GE0 k z fr key elt vy fm_l fm_r otherwise; 13.19/5.46 13.19/5.46 foldFM_GE2 k z fr (Branch key elt vy fm_l fm_r) = foldFM_GE1 k z fr key elt vy fm_l fm_r (key >= fr); 13.19/5.46 13.19/5.46 foldFM_GE3 k z fr EmptyFM = z; 13.19/5.46 foldFM_GE3 wv ww wx wy = foldFM_GE2 wv ww wx wy; 13.19/5.46 13.19/5.46 } 13.19/5.46 module Maybe where { 13.19/5.46 import qualified FiniteMap; 13.19/5.46 import qualified Main; 13.19/5.46 import qualified Prelude; 13.19/5.46 } 13.19/5.46 module Main where { 13.19/5.46 import qualified FiniteMap; 13.19/5.46 import qualified Maybe; 13.19/5.46 import qualified Prelude; 13.19/5.46 } 13.19/5.46 13.19/5.46 ---------------------------------------- 13.19/5.46 13.19/5.46 (5) Narrow (SOUND) 13.19/5.46 Haskell To QDPs 13.19/5.46 13.19/5.46 digraph dp_graph { 13.19/5.46 node [outthreshold=100, inthreshold=100];1[label="FiniteMap.foldFM_GE",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 13.19/5.46 3[label="FiniteMap.foldFM_GE wz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 13.19/5.46 4[label="FiniteMap.foldFM_GE wz3 wz4",fontsize=16,color="grey",shape="box"];4 -> 5[label="",style="dashed", color="grey", weight=3]; 13.19/5.46 5[label="FiniteMap.foldFM_GE wz3 wz4 wz5",fontsize=16,color="grey",shape="box"];5 -> 6[label="",style="dashed", color="grey", weight=3]; 13.19/5.46 6[label="FiniteMap.foldFM_GE wz3 wz4 wz5 wz6",fontsize=16,color="burlywood",shape="triangle"];1505[label="wz6/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];6 -> 1505[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1505 -> 7[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1506[label="wz6/FiniteMap.Branch wz60 wz61 wz62 wz63 wz64",fontsize=10,color="white",style="solid",shape="box"];6 -> 1506[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1506 -> 8[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 7[label="FiniteMap.foldFM_GE wz3 wz4 wz5 FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 13.19/5.46 8[label="FiniteMap.foldFM_GE wz3 wz4 wz5 (FiniteMap.Branch wz60 wz61 wz62 wz63 wz64)",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 13.19/5.46 9[label="FiniteMap.foldFM_GE3 wz3 wz4 wz5 FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];9 -> 11[label="",style="solid", color="black", weight=3]; 13.19/5.46 10[label="FiniteMap.foldFM_GE2 wz3 wz4 wz5 (FiniteMap.Branch wz60 wz61 wz62 wz63 wz64)",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 13.19/5.46 11[label="wz4",fontsize=16,color="green",shape="box"];12[label="FiniteMap.foldFM_GE1 wz3 wz4 wz5 wz60 wz61 wz62 wz63 wz64 (wz60 >= wz5)",fontsize=16,color="black",shape="box"];12 -> 13[label="",style="solid", color="black", weight=3]; 13.19/5.46 13[label="FiniteMap.foldFM_GE1 wz3 wz4 wz5 wz60 wz61 wz62 wz63 wz64 (compare wz60 wz5 /= LT)",fontsize=16,color="black",shape="box"];13 -> 14[label="",style="solid", color="black", weight=3]; 13.19/5.46 14[label="FiniteMap.foldFM_GE1 wz3 wz4 wz5 wz60 wz61 wz62 wz63 wz64 (not (compare wz60 wz5 == LT))",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 13.19/5.46 15[label="FiniteMap.foldFM_GE1 wz3 wz4 wz5 wz60 wz61 wz62 wz63 wz64 (not (primCmpInt wz60 wz5 == LT))",fontsize=16,color="burlywood",shape="box"];1507[label="wz60/Pos wz600",fontsize=10,color="white",style="solid",shape="box"];15 -> 1507[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1507 -> 16[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1508[label="wz60/Neg wz600",fontsize=10,color="white",style="solid",shape="box"];15 -> 1508[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1508 -> 17[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 16[label="FiniteMap.foldFM_GE1 wz3 wz4 wz5 (Pos wz600) wz61 wz62 wz63 wz64 (not (primCmpInt (Pos wz600) wz5 == LT))",fontsize=16,color="burlywood",shape="box"];1509[label="wz600/Succ wz6000",fontsize=10,color="white",style="solid",shape="box"];16 -> 1509[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1509 -> 18[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1510[label="wz600/Zero",fontsize=10,color="white",style="solid",shape="box"];16 -> 1510[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1510 -> 19[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 17[label="FiniteMap.foldFM_GE1 wz3 wz4 wz5 (Neg wz600) wz61 wz62 wz63 wz64 (not (primCmpInt (Neg wz600) wz5 == LT))",fontsize=16,color="burlywood",shape="box"];1511[label="wz600/Succ wz6000",fontsize=10,color="white",style="solid",shape="box"];17 -> 1511[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1511 -> 20[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1512[label="wz600/Zero",fontsize=10,color="white",style="solid",shape="box"];17 -> 1512[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1512 -> 21[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 18[label="FiniteMap.foldFM_GE1 wz3 wz4 wz5 (Pos (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpInt (Pos (Succ wz6000)) wz5 == LT))",fontsize=16,color="burlywood",shape="box"];1513[label="wz5/Pos wz50",fontsize=10,color="white",style="solid",shape="box"];18 -> 1513[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1513 -> 22[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1514[label="wz5/Neg wz50",fontsize=10,color="white",style="solid",shape="box"];18 -> 1514[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1514 -> 23[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 19[label="FiniteMap.foldFM_GE1 wz3 wz4 wz5 (Pos Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Pos Zero) wz5 == LT))",fontsize=16,color="burlywood",shape="box"];1515[label="wz5/Pos wz50",fontsize=10,color="white",style="solid",shape="box"];19 -> 1515[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1515 -> 24[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1516[label="wz5/Neg wz50",fontsize=10,color="white",style="solid",shape="box"];19 -> 1516[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1516 -> 25[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 20[label="FiniteMap.foldFM_GE1 wz3 wz4 wz5 (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpInt (Neg (Succ wz6000)) wz5 == LT))",fontsize=16,color="burlywood",shape="box"];1517[label="wz5/Pos wz50",fontsize=10,color="white",style="solid",shape="box"];20 -> 1517[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1517 -> 26[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1518[label="wz5/Neg wz50",fontsize=10,color="white",style="solid",shape="box"];20 -> 1518[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1518 -> 27[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 21[label="FiniteMap.foldFM_GE1 wz3 wz4 wz5 (Neg Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Neg Zero) wz5 == LT))",fontsize=16,color="burlywood",shape="box"];1519[label="wz5/Pos wz50",fontsize=10,color="white",style="solid",shape="box"];21 -> 1519[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1519 -> 28[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1520[label="wz5/Neg wz50",fontsize=10,color="white",style="solid",shape="box"];21 -> 1520[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1520 -> 29[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 22[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos wz50) (Pos (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpInt (Pos (Succ wz6000)) (Pos wz50) == LT))",fontsize=16,color="black",shape="box"];22 -> 30[label="",style="solid", color="black", weight=3]; 13.19/5.46 23[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg wz50) (Pos (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpInt (Pos (Succ wz6000)) (Neg wz50) == LT))",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 13.19/5.46 24[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos wz50) (Pos Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Pos Zero) (Pos wz50) == LT))",fontsize=16,color="burlywood",shape="box"];1521[label="wz50/Succ wz500",fontsize=10,color="white",style="solid",shape="box"];24 -> 1521[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1521 -> 32[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1522[label="wz50/Zero",fontsize=10,color="white",style="solid",shape="box"];24 -> 1522[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1522 -> 33[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 25[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg wz50) (Pos Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Pos Zero) (Neg wz50) == LT))",fontsize=16,color="burlywood",shape="box"];1523[label="wz50/Succ wz500",fontsize=10,color="white",style="solid",shape="box"];25 -> 1523[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1523 -> 34[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1524[label="wz50/Zero",fontsize=10,color="white",style="solid",shape="box"];25 -> 1524[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1524 -> 35[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 26[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos wz50) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpInt (Neg (Succ wz6000)) (Pos wz50) == LT))",fontsize=16,color="black",shape="box"];26 -> 36[label="",style="solid", color="black", weight=3]; 13.19/5.46 27[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg wz50) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpInt (Neg (Succ wz6000)) (Neg wz50) == LT))",fontsize=16,color="black",shape="box"];27 -> 37[label="",style="solid", color="black", weight=3]; 13.19/5.46 28[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos wz50) (Neg Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Neg Zero) (Pos wz50) == LT))",fontsize=16,color="burlywood",shape="box"];1525[label="wz50/Succ wz500",fontsize=10,color="white",style="solid",shape="box"];28 -> 1525[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1525 -> 38[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1526[label="wz50/Zero",fontsize=10,color="white",style="solid",shape="box"];28 -> 1526[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1526 -> 39[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 29[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg wz50) (Neg Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Neg Zero) (Neg wz50) == LT))",fontsize=16,color="burlywood",shape="box"];1527[label="wz50/Succ wz500",fontsize=10,color="white",style="solid",shape="box"];29 -> 1527[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1527 -> 40[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1528[label="wz50/Zero",fontsize=10,color="white",style="solid",shape="box"];29 -> 1528[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1528 -> 41[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 30[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos wz50) (Pos (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpNat (Succ wz6000) wz50 == LT))",fontsize=16,color="burlywood",shape="box"];1529[label="wz50/Succ wz500",fontsize=10,color="white",style="solid",shape="box"];30 -> 1529[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1529 -> 42[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1530[label="wz50/Zero",fontsize=10,color="white",style="solid",shape="box"];30 -> 1530[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1530 -> 43[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 31[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg wz50) (Pos (Succ wz6000)) wz61 wz62 wz63 wz64 (not (GT == LT))",fontsize=16,color="black",shape="box"];31 -> 44[label="",style="solid", color="black", weight=3]; 13.19/5.46 32[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos (Succ wz500)) (Pos Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Pos Zero) (Pos (Succ wz500)) == LT))",fontsize=16,color="black",shape="box"];32 -> 45[label="",style="solid", color="black", weight=3]; 13.19/5.46 33[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos Zero) (Pos Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];33 -> 46[label="",style="solid", color="black", weight=3]; 13.19/5.46 34[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg (Succ wz500)) (Pos Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Pos Zero) (Neg (Succ wz500)) == LT))",fontsize=16,color="black",shape="box"];34 -> 47[label="",style="solid", color="black", weight=3]; 13.19/5.46 35[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg Zero) (Pos Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Pos Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];35 -> 48[label="",style="solid", color="black", weight=3]; 13.19/5.46 36[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos wz50) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 (not (LT == LT))",fontsize=16,color="black",shape="box"];36 -> 49[label="",style="solid", color="black", weight=3]; 13.19/5.46 37[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg wz50) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpNat wz50 (Succ wz6000) == LT))",fontsize=16,color="burlywood",shape="box"];1531[label="wz50/Succ wz500",fontsize=10,color="white",style="solid",shape="box"];37 -> 1531[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1531 -> 50[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1532[label="wz50/Zero",fontsize=10,color="white",style="solid",shape="box"];37 -> 1532[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1532 -> 51[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 38[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos (Succ wz500)) (Neg Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Neg Zero) (Pos (Succ wz500)) == LT))",fontsize=16,color="black",shape="box"];38 -> 52[label="",style="solid", color="black", weight=3]; 13.19/5.46 39[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos Zero) (Neg Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];39 -> 53[label="",style="solid", color="black", weight=3]; 13.19/5.46 40[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg (Succ wz500)) (Neg Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Neg Zero) (Neg (Succ wz500)) == LT))",fontsize=16,color="black",shape="box"];40 -> 54[label="",style="solid", color="black", weight=3]; 13.19/5.46 41[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg Zero) (Neg Zero) wz61 wz62 wz63 wz64 (not (primCmpInt (Neg Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];41 -> 55[label="",style="solid", color="black", weight=3]; 13.19/5.46 42[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos (Succ wz500)) (Pos (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpNat (Succ wz6000) (Succ wz500) == LT))",fontsize=16,color="black",shape="box"];42 -> 56[label="",style="solid", color="black", weight=3]; 13.19/5.46 43[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos Zero) (Pos (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpNat (Succ wz6000) Zero == LT))",fontsize=16,color="black",shape="box"];43 -> 57[label="",style="solid", color="black", weight=3]; 13.19/5.46 44[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg wz50) (Pos (Succ wz6000)) wz61 wz62 wz63 wz64 (not False)",fontsize=16,color="black",shape="box"];44 -> 58[label="",style="solid", color="black", weight=3]; 13.19/5.46 45[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos (Succ wz500)) (Pos Zero) wz61 wz62 wz63 wz64 (not (primCmpNat Zero (Succ wz500) == LT))",fontsize=16,color="black",shape="box"];45 -> 59[label="",style="solid", color="black", weight=3]; 13.19/5.46 46[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos Zero) (Pos Zero) wz61 wz62 wz63 wz64 (not (EQ == LT))",fontsize=16,color="black",shape="box"];46 -> 60[label="",style="solid", color="black", weight=3]; 13.19/5.46 47[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg (Succ wz500)) (Pos Zero) wz61 wz62 wz63 wz64 (not (GT == LT))",fontsize=16,color="black",shape="box"];47 -> 61[label="",style="solid", color="black", weight=3]; 13.19/5.46 48[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg Zero) (Pos Zero) wz61 wz62 wz63 wz64 (not (EQ == LT))",fontsize=16,color="black",shape="box"];48 -> 62[label="",style="solid", color="black", weight=3]; 13.19/5.46 49[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos wz50) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 (not True)",fontsize=16,color="black",shape="box"];49 -> 63[label="",style="solid", color="black", weight=3]; 13.19/5.46 50[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg (Succ wz500)) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpNat (Succ wz500) (Succ wz6000) == LT))",fontsize=16,color="black",shape="box"];50 -> 64[label="",style="solid", color="black", weight=3]; 13.19/5.46 51[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg Zero) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpNat Zero (Succ wz6000) == LT))",fontsize=16,color="black",shape="box"];51 -> 65[label="",style="solid", color="black", weight=3]; 13.19/5.46 52[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos (Succ wz500)) (Neg Zero) wz61 wz62 wz63 wz64 (not (LT == LT))",fontsize=16,color="black",shape="box"];52 -> 66[label="",style="solid", color="black", weight=3]; 13.19/5.46 53[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos Zero) (Neg Zero) wz61 wz62 wz63 wz64 (not (EQ == LT))",fontsize=16,color="black",shape="box"];53 -> 67[label="",style="solid", color="black", weight=3]; 13.19/5.46 54[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg (Succ wz500)) (Neg Zero) wz61 wz62 wz63 wz64 (not (primCmpNat (Succ wz500) Zero == LT))",fontsize=16,color="black",shape="box"];54 -> 68[label="",style="solid", color="black", weight=3]; 13.19/5.46 55[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg Zero) (Neg Zero) wz61 wz62 wz63 wz64 (not (EQ == LT))",fontsize=16,color="black",shape="box"];55 -> 69[label="",style="solid", color="black", weight=3]; 13.19/5.46 56 -> 1231[label="",style="dashed", color="red", weight=0]; 13.19/5.46 56[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos (Succ wz500)) (Pos (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpNat wz6000 wz500 == LT))",fontsize=16,color="magenta"];56 -> 1232[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 56 -> 1233[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 56 -> 1234[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 56 -> 1235[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 56 -> 1236[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 56 -> 1237[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 56 -> 1238[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 56 -> 1239[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 56 -> 1240[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 56 -> 1241[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 57[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos Zero) (Pos (Succ wz6000)) wz61 wz62 wz63 wz64 (not (GT == LT))",fontsize=16,color="black",shape="box"];57 -> 72[label="",style="solid", color="black", weight=3]; 13.19/5.46 58[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg wz50) (Pos (Succ wz6000)) wz61 wz62 wz63 wz64 True",fontsize=16,color="black",shape="box"];58 -> 73[label="",style="solid", color="black", weight=3]; 13.19/5.46 59[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos (Succ wz500)) (Pos Zero) wz61 wz62 wz63 wz64 (not (LT == LT))",fontsize=16,color="black",shape="box"];59 -> 74[label="",style="solid", color="black", weight=3]; 13.19/5.46 60[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos Zero) (Pos Zero) wz61 wz62 wz63 wz64 (not False)",fontsize=16,color="black",shape="box"];60 -> 75[label="",style="solid", color="black", weight=3]; 13.19/5.46 61[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg (Succ wz500)) (Pos Zero) wz61 wz62 wz63 wz64 (not False)",fontsize=16,color="black",shape="box"];61 -> 76[label="",style="solid", color="black", weight=3]; 13.19/5.46 62[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg Zero) (Pos Zero) wz61 wz62 wz63 wz64 (not False)",fontsize=16,color="black",shape="box"];62 -> 77[label="",style="solid", color="black", weight=3]; 13.19/5.46 63[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos wz50) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 False",fontsize=16,color="black",shape="box"];63 -> 78[label="",style="solid", color="black", weight=3]; 13.19/5.46 64 -> 1334[label="",style="dashed", color="red", weight=0]; 13.19/5.46 64[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg (Succ wz500)) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 (not (primCmpNat wz500 wz6000 == LT))",fontsize=16,color="magenta"];64 -> 1335[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 64 -> 1336[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 64 -> 1337[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 64 -> 1338[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 64 -> 1339[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 64 -> 1340[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 64 -> 1341[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 64 -> 1342[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 64 -> 1343[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 64 -> 1344[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 65[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg Zero) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 (not (LT == LT))",fontsize=16,color="black",shape="box"];65 -> 81[label="",style="solid", color="black", weight=3]; 13.19/5.46 66[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos (Succ wz500)) (Neg Zero) wz61 wz62 wz63 wz64 (not True)",fontsize=16,color="black",shape="box"];66 -> 82[label="",style="solid", color="black", weight=3]; 13.19/5.46 67[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos Zero) (Neg Zero) wz61 wz62 wz63 wz64 (not False)",fontsize=16,color="black",shape="box"];67 -> 83[label="",style="solid", color="black", weight=3]; 13.19/5.46 68[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg (Succ wz500)) (Neg Zero) wz61 wz62 wz63 wz64 (not (GT == LT))",fontsize=16,color="black",shape="box"];68 -> 84[label="",style="solid", color="black", weight=3]; 13.19/5.46 69[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg Zero) (Neg Zero) wz61 wz62 wz63 wz64 (not False)",fontsize=16,color="black",shape="box"];69 -> 85[label="",style="solid", color="black", weight=3]; 13.19/5.46 1232[label="wz500",fontsize=16,color="green",shape="box"];1233[label="wz6000",fontsize=16,color="green",shape="box"];1234[label="wz3",fontsize=16,color="green",shape="box"];1235[label="wz62",fontsize=16,color="green",shape="box"];1236[label="wz64",fontsize=16,color="green",shape="box"];1237[label="wz4",fontsize=16,color="green",shape="box"];1238[label="wz6000",fontsize=16,color="green",shape="box"];1239[label="wz61",fontsize=16,color="green",shape="box"];1240[label="wz500",fontsize=16,color="green",shape="box"];1241[label="wz63",fontsize=16,color="green",shape="box"];1231[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not (primCmpNat wz157 wz158 == LT))",fontsize=16,color="burlywood",shape="triangle"];1533[label="wz157/Succ wz1570",fontsize=10,color="white",style="solid",shape="box"];1231 -> 1533[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1533 -> 1332[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1534[label="wz157/Zero",fontsize=10,color="white",style="solid",shape="box"];1231 -> 1534[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1534 -> 1333[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 72[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos Zero) (Pos (Succ wz6000)) wz61 wz62 wz63 wz64 (not False)",fontsize=16,color="black",shape="box"];72 -> 90[label="",style="solid", color="black", weight=3]; 13.19/5.46 73 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 73[label="FiniteMap.foldFM_GE wz3 (wz3 (Pos (Succ wz6000)) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Neg wz50) wz64)) (Neg wz50) wz63",fontsize=16,color="magenta"];73 -> 91[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 73 -> 92[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 73 -> 93[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 74[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos (Succ wz500)) (Pos Zero) wz61 wz62 wz63 wz64 (not True)",fontsize=16,color="black",shape="box"];74 -> 94[label="",style="solid", color="black", weight=3]; 13.19/5.46 75[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos Zero) (Pos Zero) wz61 wz62 wz63 wz64 True",fontsize=16,color="black",shape="box"];75 -> 95[label="",style="solid", color="black", weight=3]; 13.19/5.46 76[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg (Succ wz500)) (Pos Zero) wz61 wz62 wz63 wz64 True",fontsize=16,color="black",shape="box"];76 -> 96[label="",style="solid", color="black", weight=3]; 13.19/5.46 77[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg Zero) (Pos Zero) wz61 wz62 wz63 wz64 True",fontsize=16,color="black",shape="box"];77 -> 97[label="",style="solid", color="black", weight=3]; 13.19/5.46 78[label="FiniteMap.foldFM_GE0 wz3 wz4 (Pos wz50) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 otherwise",fontsize=16,color="black",shape="box"];78 -> 98[label="",style="solid", color="black", weight=3]; 13.19/5.46 1335[label="wz61",fontsize=16,color="green",shape="box"];1336[label="wz6000",fontsize=16,color="green",shape="box"];1337[label="wz4",fontsize=16,color="green",shape="box"];1338[label="wz6000",fontsize=16,color="green",shape="box"];1339[label="wz3",fontsize=16,color="green",shape="box"];1340[label="wz500",fontsize=16,color="green",shape="box"];1341[label="wz62",fontsize=16,color="green",shape="box"];1342[label="wz500",fontsize=16,color="green",shape="box"];1343[label="wz63",fontsize=16,color="green",shape="box"];1344[label="wz64",fontsize=16,color="green",shape="box"];1334[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not (primCmpNat wz168 wz169 == LT))",fontsize=16,color="burlywood",shape="triangle"];1535[label="wz168/Succ wz1680",fontsize=10,color="white",style="solid",shape="box"];1334 -> 1535[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1535 -> 1435[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1536[label="wz168/Zero",fontsize=10,color="white",style="solid",shape="box"];1334 -> 1536[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1536 -> 1436[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 81[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg Zero) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 (not True)",fontsize=16,color="black",shape="box"];81 -> 103[label="",style="solid", color="black", weight=3]; 13.19/5.46 82[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos (Succ wz500)) (Neg Zero) wz61 wz62 wz63 wz64 False",fontsize=16,color="black",shape="box"];82 -> 104[label="",style="solid", color="black", weight=3]; 13.19/5.46 83[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos Zero) (Neg Zero) wz61 wz62 wz63 wz64 True",fontsize=16,color="black",shape="box"];83 -> 105[label="",style="solid", color="black", weight=3]; 13.19/5.46 84[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg (Succ wz500)) (Neg Zero) wz61 wz62 wz63 wz64 (not False)",fontsize=16,color="black",shape="box"];84 -> 106[label="",style="solid", color="black", weight=3]; 13.19/5.46 85[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg Zero) (Neg Zero) wz61 wz62 wz63 wz64 True",fontsize=16,color="black",shape="box"];85 -> 107[label="",style="solid", color="black", weight=3]; 13.19/5.46 1332[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not (primCmpNat (Succ wz1570) wz158 == LT))",fontsize=16,color="burlywood",shape="box"];1537[label="wz158/Succ wz1580",fontsize=10,color="white",style="solid",shape="box"];1332 -> 1537[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1537 -> 1437[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1538[label="wz158/Zero",fontsize=10,color="white",style="solid",shape="box"];1332 -> 1538[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1538 -> 1438[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1333[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not (primCmpNat Zero wz158 == LT))",fontsize=16,color="burlywood",shape="box"];1539[label="wz158/Succ wz1580",fontsize=10,color="white",style="solid",shape="box"];1333 -> 1539[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1539 -> 1439[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1540[label="wz158/Zero",fontsize=10,color="white",style="solid",shape="box"];1333 -> 1540[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1540 -> 1440[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 90[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos Zero) (Pos (Succ wz6000)) wz61 wz62 wz63 wz64 True",fontsize=16,color="black",shape="box"];90 -> 112[label="",style="solid", color="black", weight=3]; 13.19/5.46 91[label="wz3 (Pos (Succ wz6000)) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Neg wz50) wz64)",fontsize=16,color="green",shape="box"];91 -> 113[label="",style="dashed", color="green", weight=3]; 13.19/5.46 91 -> 114[label="",style="dashed", color="green", weight=3]; 13.19/5.46 91 -> 115[label="",style="dashed", color="green", weight=3]; 13.19/5.46 92[label="Neg wz50",fontsize=16,color="green",shape="box"];93[label="wz63",fontsize=16,color="green",shape="box"];94[label="FiniteMap.foldFM_GE1 wz3 wz4 (Pos (Succ wz500)) (Pos Zero) wz61 wz62 wz63 wz64 False",fontsize=16,color="black",shape="box"];94 -> 116[label="",style="solid", color="black", weight=3]; 13.19/5.46 95 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 95[label="FiniteMap.foldFM_GE wz3 (wz3 (Pos Zero) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Pos Zero) wz64)) (Pos Zero) wz63",fontsize=16,color="magenta"];95 -> 117[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 95 -> 118[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 95 -> 119[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 96 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 96[label="FiniteMap.foldFM_GE wz3 (wz3 (Pos Zero) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Neg (Succ wz500)) wz64)) (Neg (Succ wz500)) wz63",fontsize=16,color="magenta"];96 -> 120[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 96 -> 121[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 96 -> 122[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 97 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 97[label="FiniteMap.foldFM_GE wz3 (wz3 (Pos Zero) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Neg Zero) wz64)) (Neg Zero) wz63",fontsize=16,color="magenta"];97 -> 123[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 97 -> 124[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 97 -> 125[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 98[label="FiniteMap.foldFM_GE0 wz3 wz4 (Pos wz50) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 True",fontsize=16,color="black",shape="box"];98 -> 126[label="",style="solid", color="black", weight=3]; 13.19/5.46 1435[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not (primCmpNat (Succ wz1680) wz169 == LT))",fontsize=16,color="burlywood",shape="box"];1541[label="wz169/Succ wz1690",fontsize=10,color="white",style="solid",shape="box"];1435 -> 1541[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1541 -> 1441[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1542[label="wz169/Zero",fontsize=10,color="white",style="solid",shape="box"];1435 -> 1542[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1542 -> 1442[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1436[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not (primCmpNat Zero wz169 == LT))",fontsize=16,color="burlywood",shape="box"];1543[label="wz169/Succ wz1690",fontsize=10,color="white",style="solid",shape="box"];1436 -> 1543[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1543 -> 1443[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 1544[label="wz169/Zero",fontsize=10,color="white",style="solid",shape="box"];1436 -> 1544[label="",style="solid", color="burlywood", weight=9]; 13.19/5.46 1544 -> 1444[label="",style="solid", color="burlywood", weight=3]; 13.19/5.46 103[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg Zero) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 False",fontsize=16,color="black",shape="box"];103 -> 131[label="",style="solid", color="black", weight=3]; 13.19/5.46 104[label="FiniteMap.foldFM_GE0 wz3 wz4 (Pos (Succ wz500)) (Neg Zero) wz61 wz62 wz63 wz64 otherwise",fontsize=16,color="black",shape="box"];104 -> 132[label="",style="solid", color="black", weight=3]; 13.19/5.46 105 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 105[label="FiniteMap.foldFM_GE wz3 (wz3 (Neg Zero) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Pos Zero) wz64)) (Pos Zero) wz63",fontsize=16,color="magenta"];105 -> 133[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 105 -> 134[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 105 -> 135[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 106[label="FiniteMap.foldFM_GE1 wz3 wz4 (Neg (Succ wz500)) (Neg Zero) wz61 wz62 wz63 wz64 True",fontsize=16,color="black",shape="box"];106 -> 136[label="",style="solid", color="black", weight=3]; 13.19/5.46 107 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 107[label="FiniteMap.foldFM_GE wz3 (wz3 (Neg Zero) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Neg Zero) wz64)) (Neg Zero) wz63",fontsize=16,color="magenta"];107 -> 137[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 107 -> 138[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 107 -> 139[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1437[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not (primCmpNat (Succ wz1570) (Succ wz1580) == LT))",fontsize=16,color="black",shape="box"];1437 -> 1445[label="",style="solid", color="black", weight=3]; 13.19/5.46 1438[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not (primCmpNat (Succ wz1570) Zero == LT))",fontsize=16,color="black",shape="box"];1438 -> 1446[label="",style="solid", color="black", weight=3]; 13.19/5.46 1439[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not (primCmpNat Zero (Succ wz1580) == LT))",fontsize=16,color="black",shape="box"];1439 -> 1447[label="",style="solid", color="black", weight=3]; 13.19/5.46 1440[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];1440 -> 1448[label="",style="solid", color="black", weight=3]; 13.19/5.46 112 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 112[label="FiniteMap.foldFM_GE wz3 (wz3 (Pos (Succ wz6000)) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Pos Zero) wz64)) (Pos Zero) wz63",fontsize=16,color="magenta"];112 -> 145[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 112 -> 146[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 112 -> 147[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 113[label="Pos (Succ wz6000)",fontsize=16,color="green",shape="box"];114[label="wz61",fontsize=16,color="green",shape="box"];115 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 115[label="FiniteMap.foldFM_GE wz3 wz4 (Neg wz50) wz64",fontsize=16,color="magenta"];115 -> 148[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 115 -> 149[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 116[label="FiniteMap.foldFM_GE0 wz3 wz4 (Pos (Succ wz500)) (Pos Zero) wz61 wz62 wz63 wz64 otherwise",fontsize=16,color="black",shape="box"];116 -> 150[label="",style="solid", color="black", weight=3]; 13.19/5.46 117[label="wz3 (Pos Zero) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Pos Zero) wz64)",fontsize=16,color="green",shape="box"];117 -> 151[label="",style="dashed", color="green", weight=3]; 13.19/5.46 117 -> 152[label="",style="dashed", color="green", weight=3]; 13.19/5.46 117 -> 153[label="",style="dashed", color="green", weight=3]; 13.19/5.46 118[label="Pos Zero",fontsize=16,color="green",shape="box"];119[label="wz63",fontsize=16,color="green",shape="box"];120[label="wz3 (Pos Zero) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Neg (Succ wz500)) wz64)",fontsize=16,color="green",shape="box"];120 -> 154[label="",style="dashed", color="green", weight=3]; 13.19/5.46 120 -> 155[label="",style="dashed", color="green", weight=3]; 13.19/5.46 120 -> 156[label="",style="dashed", color="green", weight=3]; 13.19/5.46 121[label="Neg (Succ wz500)",fontsize=16,color="green",shape="box"];122[label="wz63",fontsize=16,color="green",shape="box"];123[label="wz3 (Pos Zero) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Neg Zero) wz64)",fontsize=16,color="green",shape="box"];123 -> 157[label="",style="dashed", color="green", weight=3]; 13.19/5.46 123 -> 158[label="",style="dashed", color="green", weight=3]; 13.19/5.46 123 -> 159[label="",style="dashed", color="green", weight=3]; 13.19/5.46 124[label="Neg Zero",fontsize=16,color="green",shape="box"];125[label="wz63",fontsize=16,color="green",shape="box"];126 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 126[label="FiniteMap.foldFM_GE wz3 wz4 (Pos wz50) wz64",fontsize=16,color="magenta"];126 -> 160[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 126 -> 161[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1441[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not (primCmpNat (Succ wz1680) (Succ wz1690) == LT))",fontsize=16,color="black",shape="box"];1441 -> 1449[label="",style="solid", color="black", weight=3]; 13.19/5.46 1442[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not (primCmpNat (Succ wz1680) Zero == LT))",fontsize=16,color="black",shape="box"];1442 -> 1450[label="",style="solid", color="black", weight=3]; 13.19/5.46 1443[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not (primCmpNat Zero (Succ wz1690) == LT))",fontsize=16,color="black",shape="box"];1443 -> 1451[label="",style="solid", color="black", weight=3]; 13.19/5.46 1444[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];1444 -> 1452[label="",style="solid", color="black", weight=3]; 13.19/5.46 131[label="FiniteMap.foldFM_GE0 wz3 wz4 (Neg Zero) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 otherwise",fontsize=16,color="black",shape="box"];131 -> 167[label="",style="solid", color="black", weight=3]; 13.19/5.46 132[label="FiniteMap.foldFM_GE0 wz3 wz4 (Pos (Succ wz500)) (Neg Zero) wz61 wz62 wz63 wz64 True",fontsize=16,color="black",shape="box"];132 -> 168[label="",style="solid", color="black", weight=3]; 13.19/5.46 133[label="wz3 (Neg Zero) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Pos Zero) wz64)",fontsize=16,color="green",shape="box"];133 -> 169[label="",style="dashed", color="green", weight=3]; 13.19/5.46 133 -> 170[label="",style="dashed", color="green", weight=3]; 13.19/5.46 133 -> 171[label="",style="dashed", color="green", weight=3]; 13.19/5.46 134[label="Pos Zero",fontsize=16,color="green",shape="box"];135[label="wz63",fontsize=16,color="green",shape="box"];136 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 136[label="FiniteMap.foldFM_GE wz3 (wz3 (Neg Zero) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Neg (Succ wz500)) wz64)) (Neg (Succ wz500)) wz63",fontsize=16,color="magenta"];136 -> 172[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 136 -> 173[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 136 -> 174[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 137[label="wz3 (Neg Zero) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Neg Zero) wz64)",fontsize=16,color="green",shape="box"];137 -> 175[label="",style="dashed", color="green", weight=3]; 13.19/5.46 137 -> 176[label="",style="dashed", color="green", weight=3]; 13.19/5.46 137 -> 177[label="",style="dashed", color="green", weight=3]; 13.19/5.46 138[label="Neg Zero",fontsize=16,color="green",shape="box"];139[label="wz63",fontsize=16,color="green",shape="box"];1445 -> 1231[label="",style="dashed", color="red", weight=0]; 13.19/5.46 1445[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not (primCmpNat wz1570 wz1580 == LT))",fontsize=16,color="magenta"];1445 -> 1453[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1445 -> 1454[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1446[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not (GT == LT))",fontsize=16,color="black",shape="box"];1446 -> 1455[label="",style="solid", color="black", weight=3]; 13.19/5.46 1447[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not (LT == LT))",fontsize=16,color="black",shape="box"];1447 -> 1456[label="",style="solid", color="black", weight=3]; 13.19/5.46 1448[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not (EQ == LT))",fontsize=16,color="black",shape="box"];1448 -> 1457[label="",style="solid", color="black", weight=3]; 13.19/5.46 145[label="wz3 (Pos (Succ wz6000)) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Pos Zero) wz64)",fontsize=16,color="green",shape="box"];145 -> 185[label="",style="dashed", color="green", weight=3]; 13.19/5.46 145 -> 186[label="",style="dashed", color="green", weight=3]; 13.19/5.46 145 -> 187[label="",style="dashed", color="green", weight=3]; 13.19/5.46 146[label="Pos Zero",fontsize=16,color="green",shape="box"];147[label="wz63",fontsize=16,color="green",shape="box"];148[label="Neg wz50",fontsize=16,color="green",shape="box"];149[label="wz64",fontsize=16,color="green",shape="box"];150[label="FiniteMap.foldFM_GE0 wz3 wz4 (Pos (Succ wz500)) (Pos Zero) wz61 wz62 wz63 wz64 True",fontsize=16,color="black",shape="box"];150 -> 188[label="",style="solid", color="black", weight=3]; 13.19/5.46 151[label="Pos Zero",fontsize=16,color="green",shape="box"];152[label="wz61",fontsize=16,color="green",shape="box"];153 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 153[label="FiniteMap.foldFM_GE wz3 wz4 (Pos Zero) wz64",fontsize=16,color="magenta"];153 -> 189[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 153 -> 190[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 154[label="Pos Zero",fontsize=16,color="green",shape="box"];155[label="wz61",fontsize=16,color="green",shape="box"];156 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 156[label="FiniteMap.foldFM_GE wz3 wz4 (Neg (Succ wz500)) wz64",fontsize=16,color="magenta"];156 -> 191[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 156 -> 192[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 157[label="Pos Zero",fontsize=16,color="green",shape="box"];158[label="wz61",fontsize=16,color="green",shape="box"];159 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 159[label="FiniteMap.foldFM_GE wz3 wz4 (Neg Zero) wz64",fontsize=16,color="magenta"];159 -> 193[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 159 -> 194[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 160[label="Pos wz50",fontsize=16,color="green",shape="box"];161[label="wz64",fontsize=16,color="green",shape="box"];1449 -> 1334[label="",style="dashed", color="red", weight=0]; 13.19/5.46 1449[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not (primCmpNat wz1680 wz1690 == LT))",fontsize=16,color="magenta"];1449 -> 1458[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1449 -> 1459[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1450[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not (GT == LT))",fontsize=16,color="black",shape="box"];1450 -> 1460[label="",style="solid", color="black", weight=3]; 13.19/5.46 1451[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not (LT == LT))",fontsize=16,color="black",shape="box"];1451 -> 1461[label="",style="solid", color="black", weight=3]; 13.19/5.46 1452[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not (EQ == LT))",fontsize=16,color="black",shape="box"];1452 -> 1462[label="",style="solid", color="black", weight=3]; 13.19/5.46 167[label="FiniteMap.foldFM_GE0 wz3 wz4 (Neg Zero) (Neg (Succ wz6000)) wz61 wz62 wz63 wz64 True",fontsize=16,color="black",shape="box"];167 -> 202[label="",style="solid", color="black", weight=3]; 13.19/5.46 168 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 168[label="FiniteMap.foldFM_GE wz3 wz4 (Pos (Succ wz500)) wz64",fontsize=16,color="magenta"];168 -> 203[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 168 -> 204[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 169[label="Neg Zero",fontsize=16,color="green",shape="box"];170[label="wz61",fontsize=16,color="green",shape="box"];171 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 171[label="FiniteMap.foldFM_GE wz3 wz4 (Pos Zero) wz64",fontsize=16,color="magenta"];171 -> 205[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 171 -> 206[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 172[label="wz3 (Neg Zero) wz61 (FiniteMap.foldFM_GE wz3 wz4 (Neg (Succ wz500)) wz64)",fontsize=16,color="green",shape="box"];172 -> 207[label="",style="dashed", color="green", weight=3]; 13.19/5.46 172 -> 208[label="",style="dashed", color="green", weight=3]; 13.19/5.46 172 -> 209[label="",style="dashed", color="green", weight=3]; 13.19/5.46 173[label="Neg (Succ wz500)",fontsize=16,color="green",shape="box"];174[label="wz63",fontsize=16,color="green",shape="box"];175[label="Neg Zero",fontsize=16,color="green",shape="box"];176[label="wz61",fontsize=16,color="green",shape="box"];177 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 177[label="FiniteMap.foldFM_GE wz3 wz4 (Neg Zero) wz64",fontsize=16,color="magenta"];177 -> 210[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 177 -> 211[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1453[label="wz1580",fontsize=16,color="green",shape="box"];1454[label="wz1570",fontsize=16,color="green",shape="box"];1455[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not False)",fontsize=16,color="black",shape="triangle"];1455 -> 1463[label="",style="solid", color="black", weight=3]; 13.19/5.46 1456[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not True)",fontsize=16,color="black",shape="box"];1456 -> 1464[label="",style="solid", color="black", weight=3]; 13.19/5.46 1457 -> 1455[label="",style="dashed", color="red", weight=0]; 13.19/5.46 1457[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 (not False)",fontsize=16,color="magenta"];185[label="Pos (Succ wz6000)",fontsize=16,color="green",shape="box"];186[label="wz61",fontsize=16,color="green",shape="box"];187 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 187[label="FiniteMap.foldFM_GE wz3 wz4 (Pos Zero) wz64",fontsize=16,color="magenta"];187 -> 219[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 187 -> 220[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 188 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 188[label="FiniteMap.foldFM_GE wz3 wz4 (Pos (Succ wz500)) wz64",fontsize=16,color="magenta"];188 -> 221[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 188 -> 222[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 189[label="Pos Zero",fontsize=16,color="green",shape="box"];190[label="wz64",fontsize=16,color="green",shape="box"];191[label="Neg (Succ wz500)",fontsize=16,color="green",shape="box"];192[label="wz64",fontsize=16,color="green",shape="box"];193[label="Neg Zero",fontsize=16,color="green",shape="box"];194[label="wz64",fontsize=16,color="green",shape="box"];1458[label="wz1690",fontsize=16,color="green",shape="box"];1459[label="wz1680",fontsize=16,color="green",shape="box"];1460[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not False)",fontsize=16,color="black",shape="triangle"];1460 -> 1465[label="",style="solid", color="black", weight=3]; 13.19/5.46 1461[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not True)",fontsize=16,color="black",shape="box"];1461 -> 1466[label="",style="solid", color="black", weight=3]; 13.19/5.46 1462 -> 1460[label="",style="dashed", color="red", weight=0]; 13.19/5.46 1462[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 (not False)",fontsize=16,color="magenta"];202 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 202[label="FiniteMap.foldFM_GE wz3 wz4 (Neg Zero) wz64",fontsize=16,color="magenta"];202 -> 230[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 202 -> 231[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 203[label="Pos (Succ wz500)",fontsize=16,color="green",shape="box"];204[label="wz64",fontsize=16,color="green",shape="box"];205[label="Pos Zero",fontsize=16,color="green",shape="box"];206[label="wz64",fontsize=16,color="green",shape="box"];207[label="Neg Zero",fontsize=16,color="green",shape="box"];208[label="wz61",fontsize=16,color="green",shape="box"];209 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 209[label="FiniteMap.foldFM_GE wz3 wz4 (Neg (Succ wz500)) wz64",fontsize=16,color="magenta"];209 -> 232[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 209 -> 233[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 210[label="Neg Zero",fontsize=16,color="green",shape="box"];211[label="wz64",fontsize=16,color="green",shape="box"];1463[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 True",fontsize=16,color="black",shape="box"];1463 -> 1467[label="",style="solid", color="black", weight=3]; 13.19/5.46 1464[label="FiniteMap.foldFM_GE1 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 False",fontsize=16,color="black",shape="box"];1464 -> 1468[label="",style="solid", color="black", weight=3]; 13.19/5.46 219[label="Pos Zero",fontsize=16,color="green",shape="box"];220[label="wz64",fontsize=16,color="green",shape="box"];221[label="Pos (Succ wz500)",fontsize=16,color="green",shape="box"];222[label="wz64",fontsize=16,color="green",shape="box"];1465[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 True",fontsize=16,color="black",shape="box"];1465 -> 1469[label="",style="solid", color="black", weight=3]; 13.19/5.46 1466[label="FiniteMap.foldFM_GE1 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 False",fontsize=16,color="black",shape="box"];1466 -> 1470[label="",style="solid", color="black", weight=3]; 13.19/5.46 230[label="Neg Zero",fontsize=16,color="green",shape="box"];231[label="wz64",fontsize=16,color="green",shape="box"];232[label="Neg (Succ wz500)",fontsize=16,color="green",shape="box"];233[label="wz64",fontsize=16,color="green",shape="box"];1467 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 1467[label="FiniteMap.foldFM_GE wz149 (wz149 (Pos (Succ wz152)) wz153 (FiniteMap.foldFM_GE wz149 wz150 (Pos (Succ wz151)) wz156)) (Pos (Succ wz151)) wz155",fontsize=16,color="magenta"];1467 -> 1471[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1467 -> 1472[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1467 -> 1473[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1467 -> 1474[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1468[label="FiniteMap.foldFM_GE0 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 otherwise",fontsize=16,color="black",shape="box"];1468 -> 1475[label="",style="solid", color="black", weight=3]; 13.19/5.46 1469 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 1469[label="FiniteMap.foldFM_GE wz160 (wz160 (Neg (Succ wz163)) wz164 (FiniteMap.foldFM_GE wz160 wz161 (Neg (Succ wz162)) wz167)) (Neg (Succ wz162)) wz166",fontsize=16,color="magenta"];1469 -> 1476[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1469 -> 1477[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1469 -> 1478[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1469 -> 1479[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1470[label="FiniteMap.foldFM_GE0 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 otherwise",fontsize=16,color="black",shape="box"];1470 -> 1480[label="",style="solid", color="black", weight=3]; 13.19/5.46 1471[label="wz149",fontsize=16,color="green",shape="box"];1472[label="wz149 (Pos (Succ wz152)) wz153 (FiniteMap.foldFM_GE wz149 wz150 (Pos (Succ wz151)) wz156)",fontsize=16,color="green",shape="box"];1472 -> 1481[label="",style="dashed", color="green", weight=3]; 13.19/5.46 1472 -> 1482[label="",style="dashed", color="green", weight=3]; 13.19/5.46 1472 -> 1483[label="",style="dashed", color="green", weight=3]; 13.19/5.46 1473[label="Pos (Succ wz151)",fontsize=16,color="green",shape="box"];1474[label="wz155",fontsize=16,color="green",shape="box"];1475[label="FiniteMap.foldFM_GE0 wz149 wz150 (Pos (Succ wz151)) (Pos (Succ wz152)) wz153 wz154 wz155 wz156 True",fontsize=16,color="black",shape="box"];1475 -> 1484[label="",style="solid", color="black", weight=3]; 13.19/5.46 1476[label="wz160",fontsize=16,color="green",shape="box"];1477[label="wz160 (Neg (Succ wz163)) wz164 (FiniteMap.foldFM_GE wz160 wz161 (Neg (Succ wz162)) wz167)",fontsize=16,color="green",shape="box"];1477 -> 1485[label="",style="dashed", color="green", weight=3]; 13.19/5.46 1477 -> 1486[label="",style="dashed", color="green", weight=3]; 13.19/5.46 1477 -> 1487[label="",style="dashed", color="green", weight=3]; 13.19/5.46 1478[label="Neg (Succ wz162)",fontsize=16,color="green",shape="box"];1479[label="wz166",fontsize=16,color="green",shape="box"];1480[label="FiniteMap.foldFM_GE0 wz160 wz161 (Neg (Succ wz162)) (Neg (Succ wz163)) wz164 wz165 wz166 wz167 True",fontsize=16,color="black",shape="box"];1480 -> 1488[label="",style="solid", color="black", weight=3]; 13.19/5.46 1481[label="Pos (Succ wz152)",fontsize=16,color="green",shape="box"];1482[label="wz153",fontsize=16,color="green",shape="box"];1483 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 1483[label="FiniteMap.foldFM_GE wz149 wz150 (Pos (Succ wz151)) wz156",fontsize=16,color="magenta"];1483 -> 1489[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1483 -> 1490[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1483 -> 1491[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1483 -> 1492[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1484 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 1484[label="FiniteMap.foldFM_GE wz149 wz150 (Pos (Succ wz151)) wz156",fontsize=16,color="magenta"];1484 -> 1493[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1484 -> 1494[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1484 -> 1495[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1484 -> 1496[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1485[label="Neg (Succ wz163)",fontsize=16,color="green",shape="box"];1486[label="wz164",fontsize=16,color="green",shape="box"];1487 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 1487[label="FiniteMap.foldFM_GE wz160 wz161 (Neg (Succ wz162)) wz167",fontsize=16,color="magenta"];1487 -> 1497[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1487 -> 1498[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1487 -> 1499[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1487 -> 1500[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1488 -> 6[label="",style="dashed", color="red", weight=0]; 13.19/5.46 1488[label="FiniteMap.foldFM_GE wz160 wz161 (Neg (Succ wz162)) wz167",fontsize=16,color="magenta"];1488 -> 1501[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1488 -> 1502[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1488 -> 1503[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1488 -> 1504[label="",style="dashed", color="magenta", weight=3]; 13.19/5.46 1489[label="wz149",fontsize=16,color="green",shape="box"];1490[label="wz150",fontsize=16,color="green",shape="box"];1491[label="Pos (Succ wz151)",fontsize=16,color="green",shape="box"];1492[label="wz156",fontsize=16,color="green",shape="box"];1493[label="wz149",fontsize=16,color="green",shape="box"];1494[label="wz150",fontsize=16,color="green",shape="box"];1495[label="Pos (Succ wz151)",fontsize=16,color="green",shape="box"];1496[label="wz156",fontsize=16,color="green",shape="box"];1497[label="wz160",fontsize=16,color="green",shape="box"];1498[label="wz161",fontsize=16,color="green",shape="box"];1499[label="Neg (Succ wz162)",fontsize=16,color="green",shape="box"];1500[label="wz167",fontsize=16,color="green",shape="box"];1501[label="wz160",fontsize=16,color="green",shape="box"];1502[label="wz161",fontsize=16,color="green",shape="box"];1503[label="Neg (Succ wz162)",fontsize=16,color="green",shape="box"];1504[label="wz167",fontsize=16,color="green",shape="box"];} 13.19/5.46 13.19/5.46 ---------------------------------------- 13.19/5.46 13.19/5.46 (6) 13.19/5.46 Obligation: 13.19/5.46 Q DP problem: 13.19/5.46 The TRS P consists of the following rules: 13.19/5.46 13.19/5.46 new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Zero, Zero, h, ba) -> new_foldFM_GE10(wz149, wz151, wz152, wz153, wz154, wz155, wz156, h, ba) 13.19/5.46 new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Neg(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE11(wz3, wz500, wz6000, wz61, wz62, wz63, wz64, wz500, wz6000, bb, bc) 13.19/5.46 new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Succ(wz1680), Zero, bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz166, bd, be) 13.19/5.46 new_foldFM_GE(wz3, Neg(wz50), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(wz50), wz63, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Zero), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz63, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Pos(wz50), Branch(Neg(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(wz50), wz64, bb, bc) 13.19/5.46 new_foldFM_GE12(wz160, wz162, wz163, wz164, wz165, wz166, wz167, bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz167, bd, be) 13.19/5.46 new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Succ(wz1680), Zero, bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz167, bd, be) 13.19/5.46 new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Zero, Succ(wz1690), bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz167, bd, be) 13.19/5.46 new_foldFM_GE(wz3, Neg(Zero), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz63, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(wz50), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(wz50), wz64, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Pos(Zero), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz64, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Succ(wz500)), wz64, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Zero), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz64, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Pos(Zero), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz63, bb, bc) 13.19/5.46 new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Succ(wz1680), Succ(wz1690), bd, be) -> new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, wz1680, wz1690, bd, be) 13.19/5.46 new_foldFM_GE(wz3, Pos(Succ(wz500)), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE1(wz3, wz500, wz6000, wz61, wz62, wz63, wz64, wz6000, wz500, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Succ(wz500)), wz63, bb, bc) 13.19/5.46 new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Zero, Zero, bd, be) -> new_foldFM_GE12(wz160, wz162, wz163, wz164, wz165, wz166, wz167, bd, be) 13.19/5.46 new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Succ(wz1570), Zero, h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz155, h, ba) 13.19/5.46 new_foldFM_GE(wz3, Pos(Succ(wz500)), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Succ(wz500)), wz64, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Pos(Zero), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz63, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Pos(Succ(wz500)), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Succ(wz500)), wz64, bb, bc) 13.19/5.46 new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Succ(wz1570), Zero, h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz156, h, ba) 13.19/5.46 new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Zero, Succ(wz1580), h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz156, h, ba) 13.19/5.46 new_foldFM_GE10(wz149, wz151, wz152, wz153, wz154, wz155, wz156, h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz155, h, ba) 13.19/5.46 new_foldFM_GE12(wz160, wz162, wz163, wz164, wz165, wz166, wz167, bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz166, bd, be) 13.19/5.46 new_foldFM_GE(wz3, Pos(Zero), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz64, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Succ(wz500)), wz63, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Succ(wz500)), wz64, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Pos(Zero), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz64, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Pos(Zero), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz63, bb, bc) 13.19/5.46 new_foldFM_GE10(wz149, wz151, wz152, wz153, wz154, wz155, wz156, h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz156, h, ba) 13.19/5.46 new_foldFM_GE(wz3, Neg(Zero), Branch(Neg(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz64, bb, bc) 13.19/5.46 new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Succ(wz1570), Succ(wz1580), h, ba) -> new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, wz1570, wz1580, h, ba) 13.19/5.46 new_foldFM_GE(wz3, Neg(Zero), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz64, bb, bc) 13.19/5.46 13.19/5.46 R is empty. 13.19/5.46 Q is empty. 13.19/5.46 We have to consider all minimal (P,Q,R)-chains. 13.19/5.46 ---------------------------------------- 13.19/5.46 13.19/5.46 (7) DependencyGraphProof (EQUIVALENT) 13.19/5.46 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 13.19/5.46 ---------------------------------------- 13.19/5.46 13.19/5.46 (8) 13.19/5.46 Complex Obligation (AND) 13.19/5.46 13.19/5.46 ---------------------------------------- 13.19/5.46 13.19/5.46 (9) 13.19/5.46 Obligation: 13.19/5.46 Q DP problem: 13.19/5.46 The TRS P consists of the following rules: 13.19/5.46 13.19/5.46 new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Succ(wz1680), Zero, bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz166, bd, be) 13.19/5.46 new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Neg(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE11(wz3, wz500, wz6000, wz61, wz62, wz63, wz64, wz500, wz6000, bb, bc) 13.19/5.46 new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Succ(wz1680), Zero, bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz167, bd, be) 13.19/5.46 new_foldFM_GE(wz3, Neg(wz50), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(wz50), wz63, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Zero), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz63, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Zero), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz63, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(wz50), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(wz50), wz64, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Succ(wz500)), wz64, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Succ(wz500)), wz63, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Succ(wz500)), wz63, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Succ(wz500)), wz64, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Zero), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz64, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Zero), Branch(Neg(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz64, bb, bc) 13.19/5.46 new_foldFM_GE(wz3, Neg(Zero), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz64, bb, bc) 13.19/5.46 new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Zero, Succ(wz1690), bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz167, bd, be) 13.19/5.46 new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Succ(wz1680), Succ(wz1690), bd, be) -> new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, wz1680, wz1690, bd, be) 13.19/5.46 new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Zero, Zero, bd, be) -> new_foldFM_GE12(wz160, wz162, wz163, wz164, wz165, wz166, wz167, bd, be) 13.19/5.46 new_foldFM_GE12(wz160, wz162, wz163, wz164, wz165, wz166, wz167, bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz167, bd, be) 13.19/5.46 new_foldFM_GE12(wz160, wz162, wz163, wz164, wz165, wz166, wz167, bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz166, bd, be) 13.19/5.46 13.19/5.46 R is empty. 13.19/5.46 Q is empty. 13.19/5.46 We have to consider all minimal (P,Q,R)-chains. 13.19/5.46 ---------------------------------------- 13.19/5.46 13.19/5.46 (10) QDPSizeChangeProof (EQUIVALENT) 13.19/5.46 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.19/5.46 13.19/5.46 From the DPs we obtained the following set of size-change graphs: 13.19/5.46 *new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Neg(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE11(wz3, wz500, wz6000, wz61, wz62, wz63, wz64, wz500, wz6000, bb, bc) 13.19/5.46 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 3 > 4, 3 > 5, 3 > 6, 3 > 7, 2 > 8, 3 > 9, 4 >= 10, 5 >= 11 13.19/5.46 13.19/5.46 13.19/5.46 *new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Succ(wz1680), Succ(wz1690), bd, be) -> new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, wz1680, wz1690, bd, be) 13.19/5.46 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 7, 8 > 8, 9 > 9, 10 >= 10, 11 >= 11 13.19/5.46 13.19/5.46 13.19/5.46 *new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Zero, Zero, bd, be) -> new_foldFM_GE12(wz160, wz162, wz163, wz164, wz165, wz166, wz167, bd, be) 13.19/5.46 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 7, 10 >= 8, 11 >= 9 13.19/5.46 13.19/5.46 13.19/5.46 *new_foldFM_GE(wz3, Neg(wz50), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(wz50), wz63, bb, bc) 13.19/5.46 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.46 13.19/5.46 13.19/5.46 *new_foldFM_GE(wz3, Neg(wz50), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(wz50), wz64, bb, bc) 13.19/5.46 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.46 13.19/5.46 13.19/5.46 *new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Succ(wz500)), wz64, bb, bc) 13.19/5.46 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.46 13.19/5.46 13.19/5.46 *new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Succ(wz500)), wz63, bb, bc) 13.19/5.46 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.46 13.19/5.46 13.19/5.46 *new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Succ(wz500)), wz63, bb, bc) 13.19/5.46 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.46 13.19/5.46 13.19/5.46 *new_foldFM_GE(wz3, Neg(Succ(wz500)), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Succ(wz500)), wz64, bb, bc) 13.19/5.46 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.46 13.19/5.46 13.19/5.46 *new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Succ(wz1680), Zero, bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz166, bd, be) 13.19/5.46 The graph contains the following edges 1 >= 1, 6 >= 3, 10 >= 4, 11 >= 5 13.19/5.46 13.19/5.46 13.19/5.46 *new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Succ(wz1680), Zero, bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz167, bd, be) 13.19/5.46 The graph contains the following edges 1 >= 1, 7 >= 3, 10 >= 4, 11 >= 5 13.19/5.46 13.19/5.46 13.19/5.46 *new_foldFM_GE11(wz160, wz162, wz163, wz164, wz165, wz166, wz167, Zero, Succ(wz1690), bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz167, bd, be) 13.19/5.47 The graph contains the following edges 1 >= 1, 7 >= 3, 10 >= 4, 11 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE12(wz160, wz162, wz163, wz164, wz165, wz166, wz167, bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz167, bd, be) 13.19/5.47 The graph contains the following edges 1 >= 1, 7 >= 3, 8 >= 4, 9 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE12(wz160, wz162, wz163, wz164, wz165, wz166, wz167, bd, be) -> new_foldFM_GE(wz160, Neg(Succ(wz162)), wz166, bd, be) 13.19/5.47 The graph contains the following edges 1 >= 1, 6 >= 3, 8 >= 4, 9 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Neg(Zero), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz63, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Neg(Zero), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz63, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Neg(Zero), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz64, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Neg(Zero), Branch(Neg(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz64, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Neg(Zero), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Neg(Zero), wz64, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 ---------------------------------------- 13.19/5.47 13.19/5.47 (11) 13.19/5.47 YES 13.19/5.47 13.19/5.47 ---------------------------------------- 13.19/5.47 13.19/5.47 (12) 13.19/5.47 Obligation: 13.19/5.47 Q DP problem: 13.19/5.47 The TRS P consists of the following rules: 13.19/5.47 13.19/5.47 new_foldFM_GE10(wz149, wz151, wz152, wz153, wz154, wz155, wz156, h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz155, h, ba) 13.19/5.47 new_foldFM_GE(wz3, Pos(wz50), Branch(Neg(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(wz50), wz64, bb, bc) 13.19/5.47 new_foldFM_GE(wz3, Pos(Zero), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz64, bb, bc) 13.19/5.47 new_foldFM_GE(wz3, Pos(Zero), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz63, bb, bc) 13.19/5.47 new_foldFM_GE(wz3, Pos(Zero), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz63, bb, bc) 13.19/5.47 new_foldFM_GE(wz3, Pos(Zero), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz64, bb, bc) 13.19/5.47 new_foldFM_GE(wz3, Pos(Zero), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz64, bb, bc) 13.19/5.47 new_foldFM_GE(wz3, Pos(Zero), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz63, bb, bc) 13.19/5.47 new_foldFM_GE(wz3, Pos(Succ(wz500)), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE1(wz3, wz500, wz6000, wz61, wz62, wz63, wz64, wz6000, wz500, bb, bc) 13.19/5.47 new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Zero, Zero, h, ba) -> new_foldFM_GE10(wz149, wz151, wz152, wz153, wz154, wz155, wz156, h, ba) 13.19/5.47 new_foldFM_GE10(wz149, wz151, wz152, wz153, wz154, wz155, wz156, h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz156, h, ba) 13.19/5.47 new_foldFM_GE(wz3, Pos(Succ(wz500)), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Succ(wz500)), wz64, bb, bc) 13.19/5.47 new_foldFM_GE(wz3, Pos(Succ(wz500)), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Succ(wz500)), wz64, bb, bc) 13.19/5.47 new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Succ(wz1570), Zero, h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz155, h, ba) 13.19/5.47 new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Succ(wz1570), Zero, h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz156, h, ba) 13.19/5.47 new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Zero, Succ(wz1580), h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz156, h, ba) 13.19/5.47 new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Succ(wz1570), Succ(wz1580), h, ba) -> new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, wz1570, wz1580, h, ba) 13.19/5.47 13.19/5.47 R is empty. 13.19/5.47 Q is empty. 13.19/5.47 We have to consider all minimal (P,Q,R)-chains. 13.19/5.47 ---------------------------------------- 13.19/5.47 13.19/5.47 (13) QDPSizeChangeProof (EQUIVALENT) 13.19/5.47 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.19/5.47 13.19/5.47 From the DPs we obtained the following set of size-change graphs: 13.19/5.47 *new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Zero, Zero, h, ba) -> new_foldFM_GE10(wz149, wz151, wz152, wz153, wz154, wz155, wz156, h, ba) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 7, 10 >= 8, 11 >= 9 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Pos(Succ(wz500)), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE1(wz3, wz500, wz6000, wz61, wz62, wz63, wz64, wz6000, wz500, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 3 > 4, 3 > 5, 3 > 6, 3 > 7, 3 > 8, 2 > 9, 4 >= 10, 5 >= 11 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Succ(wz1570), Succ(wz1580), h, ba) -> new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, wz1570, wz1580, h, ba) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 7, 8 > 8, 9 > 9, 10 >= 10, 11 >= 11 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Pos(wz50), Branch(Neg(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(wz50), wz64, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Pos(Succ(wz500)), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Succ(wz500)), wz64, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Pos(Succ(wz500)), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Succ(wz500)), wz64, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Pos(Zero), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz64, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Pos(Zero), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz63, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Pos(Zero), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz63, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Pos(Zero), Branch(Pos(Succ(wz6000)), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz64, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Pos(Zero), Branch(Neg(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz64, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE(wz3, Pos(Zero), Branch(Pos(Zero), wz61, wz62, wz63, wz64), bb, bc) -> new_foldFM_GE(wz3, Pos(Zero), wz63, bb, bc) 13.19/5.47 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 2, 3 > 3, 4 >= 4, 5 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Succ(wz1570), Zero, h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz155, h, ba) 13.19/5.47 The graph contains the following edges 1 >= 1, 6 >= 3, 10 >= 4, 11 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Succ(wz1570), Zero, h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz156, h, ba) 13.19/5.47 The graph contains the following edges 1 >= 1, 7 >= 3, 10 >= 4, 11 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE1(wz149, wz151, wz152, wz153, wz154, wz155, wz156, Zero, Succ(wz1580), h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz156, h, ba) 13.19/5.47 The graph contains the following edges 1 >= 1, 7 >= 3, 10 >= 4, 11 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE10(wz149, wz151, wz152, wz153, wz154, wz155, wz156, h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz155, h, ba) 13.19/5.47 The graph contains the following edges 1 >= 1, 6 >= 3, 8 >= 4, 9 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 *new_foldFM_GE10(wz149, wz151, wz152, wz153, wz154, wz155, wz156, h, ba) -> new_foldFM_GE(wz149, Pos(Succ(wz151)), wz156, h, ba) 13.19/5.47 The graph contains the following edges 1 >= 1, 7 >= 3, 8 >= 4, 9 >= 5 13.19/5.47 13.19/5.47 13.19/5.47 ---------------------------------------- 13.19/5.47 13.19/5.47 (14) 13.19/5.47 YES 13.54/5.52 EOF