/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty H-Termination with start terms of the given HASKELL could be proven: (0) HASKELL (1) LR [EQUIVALENT, 0 ms] (2) HASKELL (3) BR [EQUIVALENT, 0 ms] (4) HASKELL (5) COR [EQUIVALENT, 0 ms] (6) HASKELL (7) Narrow [SOUND, 0 ms] (8) AND (9) QDP (10) TransformationProof [EQUIVALENT, 0 ms] (11) QDP (12) TransformationProof [EQUIVALENT, 0 ms] (13) QDP (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] (15) YES (16) QDP (17) TransformationProof [EQUIVALENT, 0 ms] (18) QDP (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] (20) YES (21) QDP (22) TransformationProof [EQUIVALENT, 0 ms] (23) QDP (24) TransformationProof [EQUIVALENT, 0 ms] (25) QDP (26) TransformationProof [EQUIVALENT, 0 ms] (27) QDP (28) QDPSizeChangeProof [EQUIVALENT, 0 ms] (29) YES (30) QDP (31) QDPSizeChangeProof [EQUIVALENT, 0 ms] (32) YES ---------------------------------------- (0) Obligation: mainModule Main module FiniteMap where { import qualified Main; import qualified Maybe; import qualified Prelude; data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; instance (Eq a, Eq b) => Eq FiniteMap b a where { } eltsFM_GE :: Ord a => FiniteMap a b -> a -> [b]; eltsFM_GE fm fr = foldFM_GE (\key elt rest ->elt : rest) [] fr fm; foldFM_GE :: Ord c => (c -> b -> a -> a) -> a -> c -> FiniteMap c b -> a; foldFM_GE k z fr EmptyFM = z; 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 | otherwise = foldFM_GE k z fr fm_r; } module Maybe where { import qualified FiniteMap; import qualified Main; import qualified Prelude; } module Main where { import qualified FiniteMap; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (1) LR (EQUIVALENT) Lambda Reductions: The following Lambda expression "\keyeltrest->elt : rest" is transformed to "eltsFM_GE0 key elt rest = elt : rest; " ---------------------------------------- (2) Obligation: mainModule Main module FiniteMap where { import qualified Main; import qualified Maybe; import qualified Prelude; data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; instance (Eq a, Eq b) => Eq FiniteMap a b where { } eltsFM_GE :: Ord b => FiniteMap b a -> b -> [a]; eltsFM_GE fm fr = foldFM_GE eltsFM_GE0 [] fr fm; eltsFM_GE0 key elt rest = elt : rest; foldFM_GE :: Ord c => (c -> b -> a -> a) -> a -> c -> FiniteMap c b -> a; foldFM_GE k z fr EmptyFM = z; 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 | otherwise = foldFM_GE k z fr fm_r; } module Maybe where { import qualified FiniteMap; import qualified Main; import qualified Prelude; } module Main where { import qualified FiniteMap; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module FiniteMap where { import qualified Main; import qualified Maybe; import qualified Prelude; data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; instance (Eq a, Eq b) => Eq FiniteMap b a where { } eltsFM_GE :: Ord b => FiniteMap b a -> b -> [a]; eltsFM_GE fm fr = foldFM_GE eltsFM_GE0 [] fr fm; eltsFM_GE0 key elt rest = elt : rest; foldFM_GE :: Ord c => (c -> b -> a -> a) -> a -> c -> FiniteMap c b -> a; foldFM_GE k z fr EmptyFM = z; 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 | otherwise = foldFM_GE k z fr fm_r; } module Maybe where { import qualified FiniteMap; import qualified Main; import qualified Prelude; } module Main where { import qualified FiniteMap; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " The following Function with conditions "compare x y|x == yEQ|x <= yLT|otherwiseGT; " is transformed to "compare x y = compare3 x y; " "compare1 x y True = LT; compare1 x y False = compare0 x y otherwise; " "compare0 x y True = GT; " "compare2 x y True = EQ; compare2 x y False = compare1 x y (x <= y); " "compare3 x y = compare2 x y (x == y); " The following Function with conditions "foldFM_GE k z fr EmptyFM = z; 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; " is transformed to "foldFM_GE k z fr EmptyFM = foldFM_GE3 k z fr EmptyFM; 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); " "foldFM_GE0 k z fr key elt vy fm_l fm_r True = foldFM_GE k z fr fm_r; " "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; 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; " "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); " "foldFM_GE3 k z fr EmptyFM = z; foldFM_GE3 wv ww wx wy = foldFM_GE2 wv ww wx wy; " ---------------------------------------- (6) Obligation: mainModule Main module FiniteMap where { import qualified Main; import qualified Maybe; import qualified Prelude; data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; instance (Eq a, Eq b) => Eq FiniteMap b a where { } eltsFM_GE :: Ord a => FiniteMap a b -> a -> [b]; eltsFM_GE fm fr = foldFM_GE eltsFM_GE0 [] fr fm; eltsFM_GE0 key elt rest = elt : rest; foldFM_GE :: Ord c => (c -> a -> b -> b) -> b -> c -> FiniteMap c a -> b; foldFM_GE k z fr EmptyFM = foldFM_GE3 k z fr EmptyFM; 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); foldFM_GE0 k z fr key elt vy fm_l fm_r True = foldFM_GE k z fr fm_r; 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; 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; 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); foldFM_GE3 k z fr EmptyFM = z; foldFM_GE3 wv ww wx wy = foldFM_GE2 wv ww wx wy; } module Maybe where { import qualified FiniteMap; import qualified Main; import qualified Prelude; } module Main where { import qualified FiniteMap; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (7) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="FiniteMap.eltsFM_GE",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="FiniteMap.eltsFM_GE wz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="FiniteMap.eltsFM_GE wz3 wz4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] wz4 wz3",fontsize=16,color="burlywood",shape="triangle"];337[label="wz3/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];5 -> 337[label="",style="solid", color="burlywood", weight=9]; 337 -> 6[label="",style="solid", color="burlywood", weight=3]; 338[label="wz3/FiniteMap.Branch wz30 wz31 wz32 wz33 wz34",fontsize=10,color="white",style="solid",shape="box"];5 -> 338[label="",style="solid", color="burlywood", weight=9]; 338 -> 7[label="",style="solid", color="burlywood", weight=3]; 6[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] wz4 FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 7[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] wz4 (FiniteMap.Branch wz30 wz31 wz32 wz33 wz34)",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 8[label="FiniteMap.foldFM_GE3 FiniteMap.eltsFM_GE0 [] wz4 FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 9[label="FiniteMap.foldFM_GE2 FiniteMap.eltsFM_GE0 [] wz4 (FiniteMap.Branch wz30 wz31 wz32 wz33 wz34)",fontsize=16,color="black",shape="box"];9 -> 11[label="",style="solid", color="black", weight=3]; 10[label="[]",fontsize=16,color="green",shape="box"];11[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] wz4 wz30 wz31 wz32 wz33 wz34 (wz30 >= wz4)",fontsize=16,color="black",shape="box"];11 -> 12[label="",style="solid", color="black", weight=3]; 12[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] wz4 wz30 wz31 wz32 wz33 wz34 (compare wz30 wz4 /= LT)",fontsize=16,color="black",shape="box"];12 -> 13[label="",style="solid", color="black", weight=3]; 13[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] wz4 wz30 wz31 wz32 wz33 wz34 (not (compare wz30 wz4 == LT))",fontsize=16,color="black",shape="box"];13 -> 14[label="",style="solid", color="black", weight=3]; 14[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] wz4 wz30 wz31 wz32 wz33 wz34 (not (compare3 wz30 wz4 == LT))",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 15[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] wz4 wz30 wz31 wz32 wz33 wz34 (not (compare2 wz30 wz4 (wz30 == wz4) == LT))",fontsize=16,color="burlywood",shape="box"];339[label="wz30/LT",fontsize=10,color="white",style="solid",shape="box"];15 -> 339[label="",style="solid", color="burlywood", weight=9]; 339 -> 16[label="",style="solid", color="burlywood", weight=3]; 340[label="wz30/EQ",fontsize=10,color="white",style="solid",shape="box"];15 -> 340[label="",style="solid", color="burlywood", weight=9]; 340 -> 17[label="",style="solid", color="burlywood", weight=3]; 341[label="wz30/GT",fontsize=10,color="white",style="solid",shape="box"];15 -> 341[label="",style="solid", color="burlywood", weight=9]; 341 -> 18[label="",style="solid", color="burlywood", weight=3]; 16[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] wz4 LT wz31 wz32 wz33 wz34 (not (compare2 LT wz4 (LT == wz4) == LT))",fontsize=16,color="burlywood",shape="box"];342[label="wz4/LT",fontsize=10,color="white",style="solid",shape="box"];16 -> 342[label="",style="solid", color="burlywood", weight=9]; 342 -> 19[label="",style="solid", color="burlywood", weight=3]; 343[label="wz4/EQ",fontsize=10,color="white",style="solid",shape="box"];16 -> 343[label="",style="solid", color="burlywood", weight=9]; 343 -> 20[label="",style="solid", color="burlywood", weight=3]; 344[label="wz4/GT",fontsize=10,color="white",style="solid",shape="box"];16 -> 344[label="",style="solid", color="burlywood", weight=9]; 344 -> 21[label="",style="solid", color="burlywood", weight=3]; 17[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] wz4 EQ wz31 wz32 wz33 wz34 (not (compare2 EQ wz4 (EQ == wz4) == LT))",fontsize=16,color="burlywood",shape="box"];345[label="wz4/LT",fontsize=10,color="white",style="solid",shape="box"];17 -> 345[label="",style="solid", color="burlywood", weight=9]; 345 -> 22[label="",style="solid", color="burlywood", weight=3]; 346[label="wz4/EQ",fontsize=10,color="white",style="solid",shape="box"];17 -> 346[label="",style="solid", color="burlywood", weight=9]; 346 -> 23[label="",style="solid", color="burlywood", weight=3]; 347[label="wz4/GT",fontsize=10,color="white",style="solid",shape="box"];17 -> 347[label="",style="solid", color="burlywood", weight=9]; 347 -> 24[label="",style="solid", color="burlywood", weight=3]; 18[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] wz4 GT wz31 wz32 wz33 wz34 (not (compare2 GT wz4 (GT == wz4) == LT))",fontsize=16,color="burlywood",shape="box"];348[label="wz4/LT",fontsize=10,color="white",style="solid",shape="box"];18 -> 348[label="",style="solid", color="burlywood", weight=9]; 348 -> 25[label="",style="solid", color="burlywood", weight=3]; 349[label="wz4/EQ",fontsize=10,color="white",style="solid",shape="box"];18 -> 349[label="",style="solid", color="burlywood", weight=9]; 349 -> 26[label="",style="solid", color="burlywood", weight=3]; 350[label="wz4/GT",fontsize=10,color="white",style="solid",shape="box"];18 -> 350[label="",style="solid", color="burlywood", weight=9]; 350 -> 27[label="",style="solid", color="burlywood", weight=3]; 19[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT LT wz31 wz32 wz33 wz34 (not (compare2 LT LT (LT == LT) == LT))",fontsize=16,color="black",shape="box"];19 -> 28[label="",style="solid", color="black", weight=3]; 20[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ LT wz31 wz32 wz33 wz34 (not (compare2 LT EQ (LT == EQ) == LT))",fontsize=16,color="black",shape="box"];20 -> 29[label="",style="solid", color="black", weight=3]; 21[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT LT wz31 wz32 wz33 wz34 (not (compare2 LT GT (LT == GT) == LT))",fontsize=16,color="black",shape="box"];21 -> 30[label="",style="solid", color="black", weight=3]; 22[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT EQ wz31 wz32 wz33 wz34 (not (compare2 EQ LT (EQ == LT) == LT))",fontsize=16,color="black",shape="box"];22 -> 31[label="",style="solid", color="black", weight=3]; 23[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ EQ wz31 wz32 wz33 wz34 (not (compare2 EQ EQ (EQ == EQ) == LT))",fontsize=16,color="black",shape="box"];23 -> 32[label="",style="solid", color="black", weight=3]; 24[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT EQ wz31 wz32 wz33 wz34 (not (compare2 EQ GT (EQ == GT) == LT))",fontsize=16,color="black",shape="box"];24 -> 33[label="",style="solid", color="black", weight=3]; 25[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT GT wz31 wz32 wz33 wz34 (not (compare2 GT LT (GT == LT) == LT))",fontsize=16,color="black",shape="box"];25 -> 34[label="",style="solid", color="black", weight=3]; 26[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ GT wz31 wz32 wz33 wz34 (not (compare2 GT EQ (GT == EQ) == LT))",fontsize=16,color="black",shape="box"];26 -> 35[label="",style="solid", color="black", weight=3]; 27[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT GT wz31 wz32 wz33 wz34 (not (compare2 GT GT (GT == GT) == LT))",fontsize=16,color="black",shape="box"];27 -> 36[label="",style="solid", color="black", weight=3]; 28[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT LT wz31 wz32 wz33 wz34 (not (compare2 LT LT True == LT))",fontsize=16,color="black",shape="box"];28 -> 37[label="",style="solid", color="black", weight=3]; 29[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ LT wz31 wz32 wz33 wz34 (not (compare2 LT EQ False == LT))",fontsize=16,color="black",shape="box"];29 -> 38[label="",style="solid", color="black", weight=3]; 30[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT LT wz31 wz32 wz33 wz34 (not (compare2 LT GT False == LT))",fontsize=16,color="black",shape="box"];30 -> 39[label="",style="solid", color="black", weight=3]; 31[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT EQ wz31 wz32 wz33 wz34 (not (compare2 EQ LT False == LT))",fontsize=16,color="black",shape="box"];31 -> 40[label="",style="solid", color="black", weight=3]; 32[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ EQ wz31 wz32 wz33 wz34 (not (compare2 EQ EQ True == LT))",fontsize=16,color="black",shape="box"];32 -> 41[label="",style="solid", color="black", weight=3]; 33[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT EQ wz31 wz32 wz33 wz34 (not (compare2 EQ GT False == LT))",fontsize=16,color="black",shape="box"];33 -> 42[label="",style="solid", color="black", weight=3]; 34[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT GT wz31 wz32 wz33 wz34 (not (compare2 GT LT False == LT))",fontsize=16,color="black",shape="box"];34 -> 43[label="",style="solid", color="black", weight=3]; 35[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ GT wz31 wz32 wz33 wz34 (not (compare2 GT EQ False == LT))",fontsize=16,color="black",shape="box"];35 -> 44[label="",style="solid", color="black", weight=3]; 36[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT GT wz31 wz32 wz33 wz34 (not (compare2 GT GT True == LT))",fontsize=16,color="black",shape="box"];36 -> 45[label="",style="solid", color="black", weight=3]; 37[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT LT wz31 wz32 wz33 wz34 (not (EQ == LT))",fontsize=16,color="black",shape="box"];37 -> 46[label="",style="solid", color="black", weight=3]; 38[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ LT wz31 wz32 wz33 wz34 (not (compare1 LT EQ (LT <= EQ) == LT))",fontsize=16,color="black",shape="box"];38 -> 47[label="",style="solid", color="black", weight=3]; 39[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT LT wz31 wz32 wz33 wz34 (not (compare1 LT GT (LT <= GT) == LT))",fontsize=16,color="black",shape="box"];39 -> 48[label="",style="solid", color="black", weight=3]; 40[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT EQ wz31 wz32 wz33 wz34 (not (compare1 EQ LT (EQ <= LT) == LT))",fontsize=16,color="black",shape="box"];40 -> 49[label="",style="solid", color="black", weight=3]; 41[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ EQ wz31 wz32 wz33 wz34 (not (EQ == LT))",fontsize=16,color="black",shape="box"];41 -> 50[label="",style="solid", color="black", weight=3]; 42[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT EQ wz31 wz32 wz33 wz34 (not (compare1 EQ GT (EQ <= GT) == LT))",fontsize=16,color="black",shape="box"];42 -> 51[label="",style="solid", color="black", weight=3]; 43[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT GT wz31 wz32 wz33 wz34 (not (compare1 GT LT (GT <= LT) == LT))",fontsize=16,color="black",shape="box"];43 -> 52[label="",style="solid", color="black", weight=3]; 44[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ GT wz31 wz32 wz33 wz34 (not (compare1 GT EQ (GT <= EQ) == LT))",fontsize=16,color="black",shape="box"];44 -> 53[label="",style="solid", color="black", weight=3]; 45[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT GT wz31 wz32 wz33 wz34 (not (EQ == LT))",fontsize=16,color="black",shape="box"];45 -> 54[label="",style="solid", color="black", weight=3]; 46[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT LT wz31 wz32 wz33 wz34 (not False)",fontsize=16,color="black",shape="box"];46 -> 55[label="",style="solid", color="black", weight=3]; 47[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ LT wz31 wz32 wz33 wz34 (not (compare1 LT EQ True == LT))",fontsize=16,color="black",shape="box"];47 -> 56[label="",style="solid", color="black", weight=3]; 48[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT LT wz31 wz32 wz33 wz34 (not (compare1 LT GT True == LT))",fontsize=16,color="black",shape="box"];48 -> 57[label="",style="solid", color="black", weight=3]; 49[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT EQ wz31 wz32 wz33 wz34 (not (compare1 EQ LT False == LT))",fontsize=16,color="black",shape="box"];49 -> 58[label="",style="solid", color="black", weight=3]; 50[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ EQ wz31 wz32 wz33 wz34 (not False)",fontsize=16,color="black",shape="box"];50 -> 59[label="",style="solid", color="black", weight=3]; 51[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT EQ wz31 wz32 wz33 wz34 (not (compare1 EQ GT True == LT))",fontsize=16,color="black",shape="box"];51 -> 60[label="",style="solid", color="black", weight=3]; 52[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT GT wz31 wz32 wz33 wz34 (not (compare1 GT LT False == LT))",fontsize=16,color="black",shape="box"];52 -> 61[label="",style="solid", color="black", weight=3]; 53[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ GT wz31 wz32 wz33 wz34 (not (compare1 GT EQ False == LT))",fontsize=16,color="black",shape="box"];53 -> 62[label="",style="solid", color="black", weight=3]; 54[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT GT wz31 wz32 wz33 wz34 (not False)",fontsize=16,color="black",shape="box"];54 -> 63[label="",style="solid", color="black", weight=3]; 55[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT LT wz31 wz32 wz33 wz34 True",fontsize=16,color="black",shape="box"];55 -> 64[label="",style="solid", color="black", weight=3]; 56[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ LT wz31 wz32 wz33 wz34 (not (LT == LT))",fontsize=16,color="black",shape="box"];56 -> 65[label="",style="solid", color="black", weight=3]; 57[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT LT wz31 wz32 wz33 wz34 (not (LT == LT))",fontsize=16,color="black",shape="box"];57 -> 66[label="",style="solid", color="black", weight=3]; 58[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT EQ wz31 wz32 wz33 wz34 (not (compare0 EQ LT otherwise == LT))",fontsize=16,color="black",shape="box"];58 -> 67[label="",style="solid", color="black", weight=3]; 59[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ EQ wz31 wz32 wz33 wz34 True",fontsize=16,color="black",shape="box"];59 -> 68[label="",style="solid", color="black", weight=3]; 60[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT EQ wz31 wz32 wz33 wz34 (not (LT == LT))",fontsize=16,color="black",shape="box"];60 -> 69[label="",style="solid", color="black", weight=3]; 61[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT GT wz31 wz32 wz33 wz34 (not (compare0 GT LT otherwise == LT))",fontsize=16,color="black",shape="box"];61 -> 70[label="",style="solid", color="black", weight=3]; 62[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ GT wz31 wz32 wz33 wz34 (not (compare0 GT EQ otherwise == LT))",fontsize=16,color="black",shape="box"];62 -> 71[label="",style="solid", color="black", weight=3]; 63[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT GT wz31 wz32 wz33 wz34 True",fontsize=16,color="black",shape="box"];63 -> 72[label="",style="solid", color="black", weight=3]; 64 -> 151[label="",style="dashed", color="red", weight=0]; 64[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 LT wz31 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] LT wz34)) LT wz33",fontsize=16,color="magenta"];64 -> 152[label="",style="dashed", color="magenta", weight=3]; 65[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ LT wz31 wz32 wz33 wz34 (not True)",fontsize=16,color="black",shape="box"];65 -> 75[label="",style="solid", color="black", weight=3]; 66[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT LT wz31 wz32 wz33 wz34 (not True)",fontsize=16,color="black",shape="box"];66 -> 76[label="",style="solid", color="black", weight=3]; 67[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT EQ wz31 wz32 wz33 wz34 (not (compare0 EQ LT True == LT))",fontsize=16,color="black",shape="box"];67 -> 77[label="",style="solid", color="black", weight=3]; 68 -> 176[label="",style="dashed", color="red", weight=0]; 68[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 EQ wz31 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] EQ wz34)) EQ wz33",fontsize=16,color="magenta"];68 -> 177[label="",style="dashed", color="magenta", weight=3]; 69[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT EQ wz31 wz32 wz33 wz34 (not True)",fontsize=16,color="black",shape="box"];69 -> 80[label="",style="solid", color="black", weight=3]; 70[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT GT wz31 wz32 wz33 wz34 (not (compare0 GT LT True == LT))",fontsize=16,color="black",shape="box"];70 -> 81[label="",style="solid", color="black", weight=3]; 71[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ GT wz31 wz32 wz33 wz34 (not (compare0 GT EQ True == LT))",fontsize=16,color="black",shape="box"];71 -> 82[label="",style="solid", color="black", weight=3]; 72 -> 83[label="",style="dashed", color="red", weight=0]; 72[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 GT wz31 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] GT wz34)) GT wz33",fontsize=16,color="magenta"];72 -> 84[label="",style="dashed", color="magenta", weight=3]; 152 -> 164[label="",style="dashed", color="red", weight=0]; 152[label="FiniteMap.eltsFM_GE0 LT wz31 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] LT wz34)",fontsize=16,color="magenta"];152 -> 165[label="",style="dashed", color="magenta", weight=3]; 151[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT wz33",fontsize=16,color="burlywood",shape="triangle"];351[label="wz33/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];151 -> 351[label="",style="solid", color="burlywood", weight=9]; 351 -> 166[label="",style="solid", color="burlywood", weight=3]; 352[label="wz33/FiniteMap.Branch wz330 wz331 wz332 wz333 wz334",fontsize=10,color="white",style="solid",shape="box"];151 -> 352[label="",style="solid", color="burlywood", weight=9]; 352 -> 167[label="",style="solid", color="burlywood", weight=3]; 75[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ LT wz31 wz32 wz33 wz34 False",fontsize=16,color="black",shape="box"];75 -> 89[label="",style="solid", color="black", weight=3]; 76[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT LT wz31 wz32 wz33 wz34 False",fontsize=16,color="black",shape="box"];76 -> 90[label="",style="solid", color="black", weight=3]; 77[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT EQ wz31 wz32 wz33 wz34 (not (GT == LT))",fontsize=16,color="black",shape="box"];77 -> 91[label="",style="solid", color="black", weight=3]; 177 -> 120[label="",style="dashed", color="red", weight=0]; 177[label="FiniteMap.eltsFM_GE0 EQ wz31 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] EQ wz34)",fontsize=16,color="magenta"];177 -> 187[label="",style="dashed", color="magenta", weight=3]; 176[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz16 EQ wz33",fontsize=16,color="burlywood",shape="triangle"];353[label="wz33/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];176 -> 353[label="",style="solid", color="burlywood", weight=9]; 353 -> 188[label="",style="solid", color="burlywood", weight=3]; 354[label="wz33/FiniteMap.Branch wz330 wz331 wz332 wz333 wz334",fontsize=10,color="white",style="solid",shape="box"];176 -> 354[label="",style="solid", color="burlywood", weight=9]; 354 -> 189[label="",style="solid", color="burlywood", weight=3]; 80[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] GT EQ wz31 wz32 wz33 wz34 False",fontsize=16,color="black",shape="box"];80 -> 96[label="",style="solid", color="black", weight=3]; 81[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT GT wz31 wz32 wz33 wz34 (not (GT == LT))",fontsize=16,color="black",shape="box"];81 -> 97[label="",style="solid", color="black", weight=3]; 82[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ GT wz31 wz32 wz33 wz34 (not (GT == LT))",fontsize=16,color="black",shape="box"];82 -> 98[label="",style="solid", color="black", weight=3]; 84 -> 5[label="",style="dashed", color="red", weight=0]; 84[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] GT wz34",fontsize=16,color="magenta"];84 -> 99[label="",style="dashed", color="magenta", weight=3]; 84 -> 100[label="",style="dashed", color="magenta", weight=3]; 83[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 GT wz31 wz7) GT wz33",fontsize=16,color="burlywood",shape="triangle"];355[label="wz33/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];83 -> 355[label="",style="solid", color="burlywood", weight=9]; 355 -> 101[label="",style="solid", color="burlywood", weight=3]; 356[label="wz33/FiniteMap.Branch wz330 wz331 wz332 wz333 wz334",fontsize=10,color="white",style="solid",shape="box"];83 -> 356[label="",style="solid", color="burlywood", weight=9]; 356 -> 102[label="",style="solid", color="burlywood", weight=3]; 165 -> 151[label="",style="dashed", color="red", weight=0]; 165[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] LT wz34",fontsize=16,color="magenta"];165 -> 168[label="",style="dashed", color="magenta", weight=3]; 165 -> 169[label="",style="dashed", color="magenta", weight=3]; 164[label="FiniteMap.eltsFM_GE0 LT wz31 wz15",fontsize=16,color="black",shape="triangle"];164 -> 170[label="",style="solid", color="black", weight=3]; 166[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];166 -> 190[label="",style="solid", color="black", weight=3]; 167[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT (FiniteMap.Branch wz330 wz331 wz332 wz333 wz334)",fontsize=16,color="black",shape="box"];167 -> 191[label="",style="solid", color="black", weight=3]; 89[label="FiniteMap.foldFM_GE0 FiniteMap.eltsFM_GE0 [] EQ LT wz31 wz32 wz33 wz34 otherwise",fontsize=16,color="black",shape="box"];89 -> 105[label="",style="solid", color="black", weight=3]; 90[label="FiniteMap.foldFM_GE0 FiniteMap.eltsFM_GE0 [] GT LT wz31 wz32 wz33 wz34 otherwise",fontsize=16,color="black",shape="box"];90 -> 106[label="",style="solid", color="black", weight=3]; 91[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT EQ wz31 wz32 wz33 wz34 (not False)",fontsize=16,color="black",shape="box"];91 -> 107[label="",style="solid", color="black", weight=3]; 187 -> 176[label="",style="dashed", color="red", weight=0]; 187[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] EQ wz34",fontsize=16,color="magenta"];187 -> 198[label="",style="dashed", color="magenta", weight=3]; 187 -> 199[label="",style="dashed", color="magenta", weight=3]; 120[label="FiniteMap.eltsFM_GE0 EQ wz31 wz6",fontsize=16,color="black",shape="triangle"];120 -> 136[label="",style="solid", color="black", weight=3]; 188[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz16 EQ FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];188 -> 200[label="",style="solid", color="black", weight=3]; 189[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz16 EQ (FiniteMap.Branch wz330 wz331 wz332 wz333 wz334)",fontsize=16,color="black",shape="box"];189 -> 201[label="",style="solid", color="black", weight=3]; 96[label="FiniteMap.foldFM_GE0 FiniteMap.eltsFM_GE0 [] GT EQ wz31 wz32 wz33 wz34 otherwise",fontsize=16,color="black",shape="box"];96 -> 110[label="",style="solid", color="black", weight=3]; 97[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT GT wz31 wz32 wz33 wz34 (not False)",fontsize=16,color="black",shape="box"];97 -> 111[label="",style="solid", color="black", weight=3]; 98[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ GT wz31 wz32 wz33 wz34 (not False)",fontsize=16,color="black",shape="box"];98 -> 112[label="",style="solid", color="black", weight=3]; 99[label="wz34",fontsize=16,color="green",shape="box"];100[label="GT",fontsize=16,color="green",shape="box"];101[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 GT wz31 wz7) GT FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];101 -> 113[label="",style="solid", color="black", weight=3]; 102[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 GT wz31 wz7) GT (FiniteMap.Branch wz330 wz331 wz332 wz333 wz334)",fontsize=16,color="black",shape="box"];102 -> 114[label="",style="solid", color="black", weight=3]; 168[label="[]",fontsize=16,color="green",shape="box"];169[label="wz34",fontsize=16,color="green",shape="box"];170[label="wz31 : wz15",fontsize=16,color="green",shape="box"];190[label="FiniteMap.foldFM_GE3 FiniteMap.eltsFM_GE0 wz14 LT FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];190 -> 202[label="",style="solid", color="black", weight=3]; 191[label="FiniteMap.foldFM_GE2 FiniteMap.eltsFM_GE0 wz14 LT (FiniteMap.Branch wz330 wz331 wz332 wz333 wz334)",fontsize=16,color="black",shape="box"];191 -> 203[label="",style="solid", color="black", weight=3]; 105[label="FiniteMap.foldFM_GE0 FiniteMap.eltsFM_GE0 [] EQ LT wz31 wz32 wz33 wz34 True",fontsize=16,color="black",shape="box"];105 -> 117[label="",style="solid", color="black", weight=3]; 106[label="FiniteMap.foldFM_GE0 FiniteMap.eltsFM_GE0 [] GT LT wz31 wz32 wz33 wz34 True",fontsize=16,color="black",shape="box"];106 -> 118[label="",style="solid", color="black", weight=3]; 107[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT EQ wz31 wz32 wz33 wz34 True",fontsize=16,color="black",shape="box"];107 -> 119[label="",style="solid", color="black", weight=3]; 198[label="[]",fontsize=16,color="green",shape="box"];199[label="wz34",fontsize=16,color="green",shape="box"];136[label="wz31 : wz6",fontsize=16,color="green",shape="box"];200[label="FiniteMap.foldFM_GE3 FiniteMap.eltsFM_GE0 wz16 EQ FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];200 -> 207[label="",style="solid", color="black", weight=3]; 201[label="FiniteMap.foldFM_GE2 FiniteMap.eltsFM_GE0 wz16 EQ (FiniteMap.Branch wz330 wz331 wz332 wz333 wz334)",fontsize=16,color="black",shape="box"];201 -> 208[label="",style="solid", color="black", weight=3]; 110[label="FiniteMap.foldFM_GE0 FiniteMap.eltsFM_GE0 [] GT EQ wz31 wz32 wz33 wz34 True",fontsize=16,color="black",shape="box"];110 -> 122[label="",style="solid", color="black", weight=3]; 111[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] LT GT wz31 wz32 wz33 wz34 True",fontsize=16,color="black",shape="box"];111 -> 123[label="",style="solid", color="black", weight=3]; 112[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 [] EQ GT wz31 wz32 wz33 wz34 True",fontsize=16,color="black",shape="box"];112 -> 124[label="",style="solid", color="black", weight=3]; 113[label="FiniteMap.foldFM_GE3 FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 GT wz31 wz7) GT FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];113 -> 125[label="",style="solid", color="black", weight=3]; 114[label="FiniteMap.foldFM_GE2 FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 GT wz31 wz7) GT (FiniteMap.Branch wz330 wz331 wz332 wz333 wz334)",fontsize=16,color="black",shape="box"];114 -> 126[label="",style="solid", color="black", weight=3]; 202[label="wz14",fontsize=16,color="green",shape="box"];203[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT wz330 wz331 wz332 wz333 wz334 (wz330 >= LT)",fontsize=16,color="black",shape="box"];203 -> 209[label="",style="solid", color="black", weight=3]; 117 -> 176[label="",style="dashed", color="red", weight=0]; 117[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] EQ wz34",fontsize=16,color="magenta"];117 -> 181[label="",style="dashed", color="magenta", weight=3]; 117 -> 182[label="",style="dashed", color="magenta", weight=3]; 118 -> 5[label="",style="dashed", color="red", weight=0]; 118[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] GT wz34",fontsize=16,color="magenta"];118 -> 132[label="",style="dashed", color="magenta", weight=3]; 118 -> 133[label="",style="dashed", color="magenta", weight=3]; 119 -> 151[label="",style="dashed", color="red", weight=0]; 119[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 EQ wz31 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] LT wz34)) LT wz33",fontsize=16,color="magenta"];119 -> 156[label="",style="dashed", color="magenta", weight=3]; 207[label="wz16",fontsize=16,color="green",shape="box"];208[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ wz330 wz331 wz332 wz333 wz334 (wz330 >= EQ)",fontsize=16,color="black",shape="box"];208 -> 211[label="",style="solid", color="black", weight=3]; 122 -> 5[label="",style="dashed", color="red", weight=0]; 122[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] GT wz34",fontsize=16,color="magenta"];122 -> 139[label="",style="dashed", color="magenta", weight=3]; 122 -> 140[label="",style="dashed", color="magenta", weight=3]; 123 -> 151[label="",style="dashed", color="red", weight=0]; 123[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 GT wz31 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] LT wz34)) LT wz33",fontsize=16,color="magenta"];123 -> 157[label="",style="dashed", color="magenta", weight=3]; 124 -> 176[label="",style="dashed", color="red", weight=0]; 124[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 GT wz31 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] EQ wz34)) EQ wz33",fontsize=16,color="magenta"];124 -> 183[label="",style="dashed", color="magenta", weight=3]; 125[label="FiniteMap.eltsFM_GE0 GT wz31 wz7",fontsize=16,color="black",shape="triangle"];125 -> 145[label="",style="solid", color="black", weight=3]; 126 -> 146[label="",style="dashed", color="red", weight=0]; 126[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 GT wz31 wz7) GT wz330 wz331 wz332 wz333 wz334 (wz330 >= GT)",fontsize=16,color="magenta"];126 -> 147[label="",style="dashed", color="magenta", weight=3]; 209[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT wz330 wz331 wz332 wz333 wz334 (compare wz330 LT /= LT)",fontsize=16,color="black",shape="box"];209 -> 212[label="",style="solid", color="black", weight=3]; 181[label="[]",fontsize=16,color="green",shape="box"];182[label="wz34",fontsize=16,color="green",shape="box"];132[label="wz34",fontsize=16,color="green",shape="box"];133[label="GT",fontsize=16,color="green",shape="box"];156 -> 120[label="",style="dashed", color="red", weight=0]; 156[label="FiniteMap.eltsFM_GE0 EQ wz31 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] LT wz34)",fontsize=16,color="magenta"];156 -> 171[label="",style="dashed", color="magenta", weight=3]; 211[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ wz330 wz331 wz332 wz333 wz334 (compare wz330 EQ /= LT)",fontsize=16,color="black",shape="box"];211 -> 214[label="",style="solid", color="black", weight=3]; 139[label="wz34",fontsize=16,color="green",shape="box"];140[label="GT",fontsize=16,color="green",shape="box"];157 -> 125[label="",style="dashed", color="red", weight=0]; 157[label="FiniteMap.eltsFM_GE0 GT wz31 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] LT wz34)",fontsize=16,color="magenta"];157 -> 173[label="",style="dashed", color="magenta", weight=3]; 183 -> 125[label="",style="dashed", color="red", weight=0]; 183[label="FiniteMap.eltsFM_GE0 GT wz31 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] EQ wz34)",fontsize=16,color="magenta"];183 -> 192[label="",style="dashed", color="magenta", weight=3]; 145[label="wz31 : wz7",fontsize=16,color="green",shape="box"];147 -> 125[label="",style="dashed", color="red", weight=0]; 147[label="FiniteMap.eltsFM_GE0 GT wz31 wz7",fontsize=16,color="magenta"];146[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT wz330 wz331 wz332 wz333 wz334 (wz330 >= GT)",fontsize=16,color="black",shape="triangle"];146 -> 193[label="",style="solid", color="black", weight=3]; 212[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT wz330 wz331 wz332 wz333 wz334 (not (compare wz330 LT == LT))",fontsize=16,color="black",shape="box"];212 -> 215[label="",style="solid", color="black", weight=3]; 171 -> 151[label="",style="dashed", color="red", weight=0]; 171[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] LT wz34",fontsize=16,color="magenta"];171 -> 194[label="",style="dashed", color="magenta", weight=3]; 171 -> 195[label="",style="dashed", color="magenta", weight=3]; 214[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ wz330 wz331 wz332 wz333 wz334 (not (compare wz330 EQ == LT))",fontsize=16,color="black",shape="box"];214 -> 219[label="",style="solid", color="black", weight=3]; 173 -> 151[label="",style="dashed", color="red", weight=0]; 173[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] LT wz34",fontsize=16,color="magenta"];173 -> 196[label="",style="dashed", color="magenta", weight=3]; 173 -> 197[label="",style="dashed", color="magenta", weight=3]; 192 -> 176[label="",style="dashed", color="red", weight=0]; 192[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] EQ wz34",fontsize=16,color="magenta"];192 -> 204[label="",style="dashed", color="magenta", weight=3]; 192 -> 205[label="",style="dashed", color="magenta", weight=3]; 193[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT wz330 wz331 wz332 wz333 wz334 (compare wz330 GT /= LT)",fontsize=16,color="black",shape="box"];193 -> 206[label="",style="solid", color="black", weight=3]; 215[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT wz330 wz331 wz332 wz333 wz334 (not (compare3 wz330 LT == LT))",fontsize=16,color="black",shape="box"];215 -> 220[label="",style="solid", color="black", weight=3]; 194[label="[]",fontsize=16,color="green",shape="box"];195[label="wz34",fontsize=16,color="green",shape="box"];219[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ wz330 wz331 wz332 wz333 wz334 (not (compare3 wz330 EQ == LT))",fontsize=16,color="black",shape="box"];219 -> 224[label="",style="solid", color="black", weight=3]; 196[label="[]",fontsize=16,color="green",shape="box"];197[label="wz34",fontsize=16,color="green",shape="box"];204[label="[]",fontsize=16,color="green",shape="box"];205[label="wz34",fontsize=16,color="green",shape="box"];206[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT wz330 wz331 wz332 wz333 wz334 (not (compare wz330 GT == LT))",fontsize=16,color="black",shape="box"];206 -> 210[label="",style="solid", color="black", weight=3]; 220[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT wz330 wz331 wz332 wz333 wz334 (not (compare2 wz330 LT (wz330 == LT) == LT))",fontsize=16,color="burlywood",shape="box"];357[label="wz330/LT",fontsize=10,color="white",style="solid",shape="box"];220 -> 357[label="",style="solid", color="burlywood", weight=9]; 357 -> 225[label="",style="solid", color="burlywood", weight=3]; 358[label="wz330/EQ",fontsize=10,color="white",style="solid",shape="box"];220 -> 358[label="",style="solid", color="burlywood", weight=9]; 358 -> 226[label="",style="solid", color="burlywood", weight=3]; 359[label="wz330/GT",fontsize=10,color="white",style="solid",shape="box"];220 -> 359[label="",style="solid", color="burlywood", weight=9]; 359 -> 227[label="",style="solid", color="burlywood", weight=3]; 224[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ wz330 wz331 wz332 wz333 wz334 (not (compare2 wz330 EQ (wz330 == EQ) == LT))",fontsize=16,color="burlywood",shape="box"];360[label="wz330/LT",fontsize=10,color="white",style="solid",shape="box"];224 -> 360[label="",style="solid", color="burlywood", weight=9]; 360 -> 231[label="",style="solid", color="burlywood", weight=3]; 361[label="wz330/EQ",fontsize=10,color="white",style="solid",shape="box"];224 -> 361[label="",style="solid", color="burlywood", weight=9]; 361 -> 232[label="",style="solid", color="burlywood", weight=3]; 362[label="wz330/GT",fontsize=10,color="white",style="solid",shape="box"];224 -> 362[label="",style="solid", color="burlywood", weight=9]; 362 -> 233[label="",style="solid", color="burlywood", weight=3]; 210[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT wz330 wz331 wz332 wz333 wz334 (not (compare3 wz330 GT == LT))",fontsize=16,color="black",shape="box"];210 -> 213[label="",style="solid", color="black", weight=3]; 225[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT LT wz331 wz332 wz333 wz334 (not (compare2 LT LT (LT == LT) == LT))",fontsize=16,color="black",shape="box"];225 -> 234[label="",style="solid", color="black", weight=3]; 226[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT EQ wz331 wz332 wz333 wz334 (not (compare2 EQ LT (EQ == LT) == LT))",fontsize=16,color="black",shape="box"];226 -> 235[label="",style="solid", color="black", weight=3]; 227[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT GT wz331 wz332 wz333 wz334 (not (compare2 GT LT (GT == LT) == LT))",fontsize=16,color="black",shape="box"];227 -> 236[label="",style="solid", color="black", weight=3]; 231[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ LT wz331 wz332 wz333 wz334 (not (compare2 LT EQ (LT == EQ) == LT))",fontsize=16,color="black",shape="box"];231 -> 240[label="",style="solid", color="black", weight=3]; 232[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ EQ wz331 wz332 wz333 wz334 (not (compare2 EQ EQ (EQ == EQ) == LT))",fontsize=16,color="black",shape="box"];232 -> 241[label="",style="solid", color="black", weight=3]; 233[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ GT wz331 wz332 wz333 wz334 (not (compare2 GT EQ (GT == EQ) == LT))",fontsize=16,color="black",shape="box"];233 -> 242[label="",style="solid", color="black", weight=3]; 213[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT wz330 wz331 wz332 wz333 wz334 (not (compare2 wz330 GT (wz330 == GT) == LT))",fontsize=16,color="burlywood",shape="box"];363[label="wz330/LT",fontsize=10,color="white",style="solid",shape="box"];213 -> 363[label="",style="solid", color="burlywood", weight=9]; 363 -> 216[label="",style="solid", color="burlywood", weight=3]; 364[label="wz330/EQ",fontsize=10,color="white",style="solid",shape="box"];213 -> 364[label="",style="solid", color="burlywood", weight=9]; 364 -> 217[label="",style="solid", color="burlywood", weight=3]; 365[label="wz330/GT",fontsize=10,color="white",style="solid",shape="box"];213 -> 365[label="",style="solid", color="burlywood", weight=9]; 365 -> 218[label="",style="solid", color="burlywood", weight=3]; 234[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT LT wz331 wz332 wz333 wz334 (not (compare2 LT LT True == LT))",fontsize=16,color="black",shape="box"];234 -> 243[label="",style="solid", color="black", weight=3]; 235[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT EQ wz331 wz332 wz333 wz334 (not (compare2 EQ LT False == LT))",fontsize=16,color="black",shape="box"];235 -> 244[label="",style="solid", color="black", weight=3]; 236[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT GT wz331 wz332 wz333 wz334 (not (compare2 GT LT False == LT))",fontsize=16,color="black",shape="box"];236 -> 245[label="",style="solid", color="black", weight=3]; 240[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ LT wz331 wz332 wz333 wz334 (not (compare2 LT EQ False == LT))",fontsize=16,color="black",shape="box"];240 -> 249[label="",style="solid", color="black", weight=3]; 241[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ EQ wz331 wz332 wz333 wz334 (not (compare2 EQ EQ True == LT))",fontsize=16,color="black",shape="box"];241 -> 250[label="",style="solid", color="black", weight=3]; 242[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ GT wz331 wz332 wz333 wz334 (not (compare2 GT EQ False == LT))",fontsize=16,color="black",shape="box"];242 -> 251[label="",style="solid", color="black", weight=3]; 216[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT LT wz331 wz332 wz333 wz334 (not (compare2 LT GT (LT == GT) == LT))",fontsize=16,color="black",shape="box"];216 -> 221[label="",style="solid", color="black", weight=3]; 217[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT EQ wz331 wz332 wz333 wz334 (not (compare2 EQ GT (EQ == GT) == LT))",fontsize=16,color="black",shape="box"];217 -> 222[label="",style="solid", color="black", weight=3]; 218[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT GT wz331 wz332 wz333 wz334 (not (compare2 GT GT (GT == GT) == LT))",fontsize=16,color="black",shape="box"];218 -> 223[label="",style="solid", color="black", weight=3]; 243[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT LT wz331 wz332 wz333 wz334 (not (EQ == LT))",fontsize=16,color="black",shape="box"];243 -> 252[label="",style="solid", color="black", weight=3]; 244[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT EQ wz331 wz332 wz333 wz334 (not (compare1 EQ LT (EQ <= LT) == LT))",fontsize=16,color="black",shape="box"];244 -> 253[label="",style="solid", color="black", weight=3]; 245[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT GT wz331 wz332 wz333 wz334 (not (compare1 GT LT (GT <= LT) == LT))",fontsize=16,color="black",shape="box"];245 -> 254[label="",style="solid", color="black", weight=3]; 249[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ LT wz331 wz332 wz333 wz334 (not (compare1 LT EQ (LT <= EQ) == LT))",fontsize=16,color="black",shape="box"];249 -> 258[label="",style="solid", color="black", weight=3]; 250[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ EQ wz331 wz332 wz333 wz334 (not (EQ == LT))",fontsize=16,color="black",shape="box"];250 -> 259[label="",style="solid", color="black", weight=3]; 251[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ GT wz331 wz332 wz333 wz334 (not (compare1 GT EQ (GT <= EQ) == LT))",fontsize=16,color="black",shape="box"];251 -> 260[label="",style="solid", color="black", weight=3]; 221[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT LT wz331 wz332 wz333 wz334 (not (compare2 LT GT False == LT))",fontsize=16,color="black",shape="box"];221 -> 228[label="",style="solid", color="black", weight=3]; 222[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT EQ wz331 wz332 wz333 wz334 (not (compare2 EQ GT False == LT))",fontsize=16,color="black",shape="box"];222 -> 229[label="",style="solid", color="black", weight=3]; 223[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT GT wz331 wz332 wz333 wz334 (not (compare2 GT GT True == LT))",fontsize=16,color="black",shape="box"];223 -> 230[label="",style="solid", color="black", weight=3]; 252[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT LT wz331 wz332 wz333 wz334 (not False)",fontsize=16,color="black",shape="box"];252 -> 261[label="",style="solid", color="black", weight=3]; 253[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT EQ wz331 wz332 wz333 wz334 (not (compare1 EQ LT False == LT))",fontsize=16,color="black",shape="box"];253 -> 262[label="",style="solid", color="black", weight=3]; 254[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT GT wz331 wz332 wz333 wz334 (not (compare1 GT LT False == LT))",fontsize=16,color="black",shape="box"];254 -> 263[label="",style="solid", color="black", weight=3]; 258[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ LT wz331 wz332 wz333 wz334 (not (compare1 LT EQ True == LT))",fontsize=16,color="black",shape="box"];258 -> 269[label="",style="solid", color="black", weight=3]; 259[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ EQ wz331 wz332 wz333 wz334 (not False)",fontsize=16,color="black",shape="box"];259 -> 270[label="",style="solid", color="black", weight=3]; 260[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ GT wz331 wz332 wz333 wz334 (not (compare1 GT EQ False == LT))",fontsize=16,color="black",shape="box"];260 -> 271[label="",style="solid", color="black", weight=3]; 228[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT LT wz331 wz332 wz333 wz334 (not (compare1 LT GT (LT <= GT) == LT))",fontsize=16,color="black",shape="box"];228 -> 237[label="",style="solid", color="black", weight=3]; 229[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT EQ wz331 wz332 wz333 wz334 (not (compare1 EQ GT (EQ <= GT) == LT))",fontsize=16,color="black",shape="box"];229 -> 238[label="",style="solid", color="black", weight=3]; 230[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT GT wz331 wz332 wz333 wz334 (not (EQ == LT))",fontsize=16,color="black",shape="box"];230 -> 239[label="",style="solid", color="black", weight=3]; 261[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT LT wz331 wz332 wz333 wz334 True",fontsize=16,color="black",shape="box"];261 -> 272[label="",style="solid", color="black", weight=3]; 262[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT EQ wz331 wz332 wz333 wz334 (not (compare0 EQ LT otherwise == LT))",fontsize=16,color="black",shape="box"];262 -> 273[label="",style="solid", color="black", weight=3]; 263[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT GT wz331 wz332 wz333 wz334 (not (compare0 GT LT otherwise == LT))",fontsize=16,color="black",shape="box"];263 -> 274[label="",style="solid", color="black", weight=3]; 269[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ LT wz331 wz332 wz333 wz334 (not (LT == LT))",fontsize=16,color="black",shape="box"];269 -> 279[label="",style="solid", color="black", weight=3]; 270[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ EQ wz331 wz332 wz333 wz334 True",fontsize=16,color="black",shape="box"];270 -> 280[label="",style="solid", color="black", weight=3]; 271[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ GT wz331 wz332 wz333 wz334 (not (compare0 GT EQ otherwise == LT))",fontsize=16,color="black",shape="box"];271 -> 281[label="",style="solid", color="black", weight=3]; 237[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT LT wz331 wz332 wz333 wz334 (not (compare1 LT GT True == LT))",fontsize=16,color="black",shape="box"];237 -> 246[label="",style="solid", color="black", weight=3]; 238[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT EQ wz331 wz332 wz333 wz334 (not (compare1 EQ GT True == LT))",fontsize=16,color="black",shape="box"];238 -> 247[label="",style="solid", color="black", weight=3]; 239[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT GT wz331 wz332 wz333 wz334 (not False)",fontsize=16,color="black",shape="box"];239 -> 248[label="",style="solid", color="black", weight=3]; 272 -> 151[label="",style="dashed", color="red", weight=0]; 272[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 LT wz331 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT wz334)) LT wz333",fontsize=16,color="magenta"];272 -> 282[label="",style="dashed", color="magenta", weight=3]; 272 -> 283[label="",style="dashed", color="magenta", weight=3]; 273[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT EQ wz331 wz332 wz333 wz334 (not (compare0 EQ LT True == LT))",fontsize=16,color="black",shape="box"];273 -> 284[label="",style="solid", color="black", weight=3]; 274[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT GT wz331 wz332 wz333 wz334 (not (compare0 GT LT True == LT))",fontsize=16,color="black",shape="box"];274 -> 285[label="",style="solid", color="black", weight=3]; 279[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ LT wz331 wz332 wz333 wz334 (not True)",fontsize=16,color="black",shape="box"];279 -> 290[label="",style="solid", color="black", weight=3]; 280 -> 176[label="",style="dashed", color="red", weight=0]; 280[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 EQ wz331 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz16 EQ wz334)) EQ wz333",fontsize=16,color="magenta"];280 -> 291[label="",style="dashed", color="magenta", weight=3]; 280 -> 292[label="",style="dashed", color="magenta", weight=3]; 281[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ GT wz331 wz332 wz333 wz334 (not (compare0 GT EQ True == LT))",fontsize=16,color="black",shape="box"];281 -> 293[label="",style="solid", color="black", weight=3]; 246[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT LT wz331 wz332 wz333 wz334 (not (LT == LT))",fontsize=16,color="black",shape="box"];246 -> 255[label="",style="solid", color="black", weight=3]; 247[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT EQ wz331 wz332 wz333 wz334 (not (LT == LT))",fontsize=16,color="black",shape="box"];247 -> 256[label="",style="solid", color="black", weight=3]; 248[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT GT wz331 wz332 wz333 wz334 True",fontsize=16,color="black",shape="box"];248 -> 257[label="",style="solid", color="black", weight=3]; 282 -> 164[label="",style="dashed", color="red", weight=0]; 282[label="FiniteMap.eltsFM_GE0 LT wz331 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT wz334)",fontsize=16,color="magenta"];282 -> 294[label="",style="dashed", color="magenta", weight=3]; 282 -> 295[label="",style="dashed", color="magenta", weight=3]; 283[label="wz333",fontsize=16,color="green",shape="box"];284[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT EQ wz331 wz332 wz333 wz334 (not (GT == LT))",fontsize=16,color="black",shape="box"];284 -> 296[label="",style="solid", color="black", weight=3]; 285[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT GT wz331 wz332 wz333 wz334 (not (GT == LT))",fontsize=16,color="black",shape="box"];285 -> 297[label="",style="solid", color="black", weight=3]; 290[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ LT wz331 wz332 wz333 wz334 False",fontsize=16,color="black",shape="box"];290 -> 302[label="",style="solid", color="black", weight=3]; 291 -> 120[label="",style="dashed", color="red", weight=0]; 291[label="FiniteMap.eltsFM_GE0 EQ wz331 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz16 EQ wz334)",fontsize=16,color="magenta"];291 -> 303[label="",style="dashed", color="magenta", weight=3]; 291 -> 304[label="",style="dashed", color="magenta", weight=3]; 292[label="wz333",fontsize=16,color="green",shape="box"];293[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ GT wz331 wz332 wz333 wz334 (not (GT == LT))",fontsize=16,color="black",shape="box"];293 -> 305[label="",style="solid", color="black", weight=3]; 255[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT LT wz331 wz332 wz333 wz334 (not True)",fontsize=16,color="black",shape="box"];255 -> 264[label="",style="solid", color="black", weight=3]; 256[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT EQ wz331 wz332 wz333 wz334 (not True)",fontsize=16,color="black",shape="box"];256 -> 265[label="",style="solid", color="black", weight=3]; 257 -> 83[label="",style="dashed", color="red", weight=0]; 257[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 GT wz331 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz13 GT wz334)) GT wz333",fontsize=16,color="magenta"];257 -> 266[label="",style="dashed", color="magenta", weight=3]; 257 -> 267[label="",style="dashed", color="magenta", weight=3]; 257 -> 268[label="",style="dashed", color="magenta", weight=3]; 294 -> 151[label="",style="dashed", color="red", weight=0]; 294[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT wz334",fontsize=16,color="magenta"];294 -> 306[label="",style="dashed", color="magenta", weight=3]; 295[label="wz331",fontsize=16,color="green",shape="box"];296[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT EQ wz331 wz332 wz333 wz334 (not False)",fontsize=16,color="black",shape="box"];296 -> 307[label="",style="solid", color="black", weight=3]; 297[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT GT wz331 wz332 wz333 wz334 (not False)",fontsize=16,color="black",shape="box"];297 -> 308[label="",style="solid", color="black", weight=3]; 302[label="FiniteMap.foldFM_GE0 FiniteMap.eltsFM_GE0 wz16 EQ LT wz331 wz332 wz333 wz334 otherwise",fontsize=16,color="black",shape="box"];302 -> 314[label="",style="solid", color="black", weight=3]; 303[label="wz331",fontsize=16,color="green",shape="box"];304 -> 176[label="",style="dashed", color="red", weight=0]; 304[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz16 EQ wz334",fontsize=16,color="magenta"];304 -> 315[label="",style="dashed", color="magenta", weight=3]; 305[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ GT wz331 wz332 wz333 wz334 (not False)",fontsize=16,color="black",shape="box"];305 -> 316[label="",style="solid", color="black", weight=3]; 264[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT LT wz331 wz332 wz333 wz334 False",fontsize=16,color="black",shape="box"];264 -> 275[label="",style="solid", color="black", weight=3]; 265[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT EQ wz331 wz332 wz333 wz334 False",fontsize=16,color="black",shape="box"];265 -> 276[label="",style="solid", color="black", weight=3]; 266[label="wz331",fontsize=16,color="green",shape="box"];267[label="wz333",fontsize=16,color="green",shape="box"];268[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz13 GT wz334",fontsize=16,color="burlywood",shape="triangle"];366[label="wz334/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];268 -> 366[label="",style="solid", color="burlywood", weight=9]; 366 -> 277[label="",style="solid", color="burlywood", weight=3]; 367[label="wz334/FiniteMap.Branch wz3340 wz3341 wz3342 wz3343 wz3344",fontsize=10,color="white",style="solid",shape="box"];268 -> 367[label="",style="solid", color="burlywood", weight=9]; 367 -> 278[label="",style="solid", color="burlywood", weight=3]; 306[label="wz334",fontsize=16,color="green",shape="box"];307[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT EQ wz331 wz332 wz333 wz334 True",fontsize=16,color="black",shape="box"];307 -> 317[label="",style="solid", color="black", weight=3]; 308[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz14 LT GT wz331 wz332 wz333 wz334 True",fontsize=16,color="black",shape="box"];308 -> 318[label="",style="solid", color="black", weight=3]; 314[label="FiniteMap.foldFM_GE0 FiniteMap.eltsFM_GE0 wz16 EQ LT wz331 wz332 wz333 wz334 True",fontsize=16,color="black",shape="box"];314 -> 319[label="",style="solid", color="black", weight=3]; 315[label="wz334",fontsize=16,color="green",shape="box"];316[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz16 EQ GT wz331 wz332 wz333 wz334 True",fontsize=16,color="black",shape="box"];316 -> 320[label="",style="solid", color="black", weight=3]; 275[label="FiniteMap.foldFM_GE0 FiniteMap.eltsFM_GE0 wz13 GT LT wz331 wz332 wz333 wz334 otherwise",fontsize=16,color="black",shape="box"];275 -> 286[label="",style="solid", color="black", weight=3]; 276[label="FiniteMap.foldFM_GE0 FiniteMap.eltsFM_GE0 wz13 GT EQ wz331 wz332 wz333 wz334 otherwise",fontsize=16,color="black",shape="box"];276 -> 287[label="",style="solid", color="black", weight=3]; 277[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz13 GT FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];277 -> 288[label="",style="solid", color="black", weight=3]; 278[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz13 GT (FiniteMap.Branch wz3340 wz3341 wz3342 wz3343 wz3344)",fontsize=16,color="black",shape="box"];278 -> 289[label="",style="solid", color="black", weight=3]; 317 -> 151[label="",style="dashed", color="red", weight=0]; 317[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 EQ wz331 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT wz334)) LT wz333",fontsize=16,color="magenta"];317 -> 321[label="",style="dashed", color="magenta", weight=3]; 317 -> 322[label="",style="dashed", color="magenta", weight=3]; 318 -> 151[label="",style="dashed", color="red", weight=0]; 318[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 GT wz331 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT wz334)) LT wz333",fontsize=16,color="magenta"];318 -> 323[label="",style="dashed", color="magenta", weight=3]; 318 -> 324[label="",style="dashed", color="magenta", weight=3]; 319 -> 176[label="",style="dashed", color="red", weight=0]; 319[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz16 EQ wz334",fontsize=16,color="magenta"];319 -> 325[label="",style="dashed", color="magenta", weight=3]; 320 -> 176[label="",style="dashed", color="red", weight=0]; 320[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 (FiniteMap.eltsFM_GE0 GT wz331 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz16 EQ wz334)) EQ wz333",fontsize=16,color="magenta"];320 -> 326[label="",style="dashed", color="magenta", weight=3]; 320 -> 327[label="",style="dashed", color="magenta", weight=3]; 286[label="FiniteMap.foldFM_GE0 FiniteMap.eltsFM_GE0 wz13 GT LT wz331 wz332 wz333 wz334 True",fontsize=16,color="black",shape="box"];286 -> 298[label="",style="solid", color="black", weight=3]; 287[label="FiniteMap.foldFM_GE0 FiniteMap.eltsFM_GE0 wz13 GT EQ wz331 wz332 wz333 wz334 True",fontsize=16,color="black",shape="box"];287 -> 299[label="",style="solid", color="black", weight=3]; 288[label="FiniteMap.foldFM_GE3 FiniteMap.eltsFM_GE0 wz13 GT FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];288 -> 300[label="",style="solid", color="black", weight=3]; 289[label="FiniteMap.foldFM_GE2 FiniteMap.eltsFM_GE0 wz13 GT (FiniteMap.Branch wz3340 wz3341 wz3342 wz3343 wz3344)",fontsize=16,color="black",shape="box"];289 -> 301[label="",style="solid", color="black", weight=3]; 321 -> 120[label="",style="dashed", color="red", weight=0]; 321[label="FiniteMap.eltsFM_GE0 EQ wz331 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT wz334)",fontsize=16,color="magenta"];321 -> 328[label="",style="dashed", color="magenta", weight=3]; 321 -> 329[label="",style="dashed", color="magenta", weight=3]; 322[label="wz333",fontsize=16,color="green",shape="box"];323 -> 125[label="",style="dashed", color="red", weight=0]; 323[label="FiniteMap.eltsFM_GE0 GT wz331 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT wz334)",fontsize=16,color="magenta"];323 -> 330[label="",style="dashed", color="magenta", weight=3]; 323 -> 331[label="",style="dashed", color="magenta", weight=3]; 324[label="wz333",fontsize=16,color="green",shape="box"];325[label="wz334",fontsize=16,color="green",shape="box"];326 -> 125[label="",style="dashed", color="red", weight=0]; 326[label="FiniteMap.eltsFM_GE0 GT wz331 (FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz16 EQ wz334)",fontsize=16,color="magenta"];326 -> 332[label="",style="dashed", color="magenta", weight=3]; 326 -> 333[label="",style="dashed", color="magenta", weight=3]; 327[label="wz333",fontsize=16,color="green",shape="box"];298 -> 268[label="",style="dashed", color="red", weight=0]; 298[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz13 GT wz334",fontsize=16,color="magenta"];299 -> 268[label="",style="dashed", color="red", weight=0]; 299[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz13 GT wz334",fontsize=16,color="magenta"];300[label="wz13",fontsize=16,color="green",shape="box"];301 -> 146[label="",style="dashed", color="red", weight=0]; 301[label="FiniteMap.foldFM_GE1 FiniteMap.eltsFM_GE0 wz13 GT wz3340 wz3341 wz3342 wz3343 wz3344 (wz3340 >= GT)",fontsize=16,color="magenta"];301 -> 309[label="",style="dashed", color="magenta", weight=3]; 301 -> 310[label="",style="dashed", color="magenta", weight=3]; 301 -> 311[label="",style="dashed", color="magenta", weight=3]; 301 -> 312[label="",style="dashed", color="magenta", weight=3]; 301 -> 313[label="",style="dashed", color="magenta", weight=3]; 328[label="wz331",fontsize=16,color="green",shape="box"];329 -> 151[label="",style="dashed", color="red", weight=0]; 329[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT wz334",fontsize=16,color="magenta"];329 -> 334[label="",style="dashed", color="magenta", weight=3]; 330[label="wz331",fontsize=16,color="green",shape="box"];331 -> 151[label="",style="dashed", color="red", weight=0]; 331[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT wz334",fontsize=16,color="magenta"];331 -> 335[label="",style="dashed", color="magenta", weight=3]; 332[label="wz331",fontsize=16,color="green",shape="box"];333 -> 176[label="",style="dashed", color="red", weight=0]; 333[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz16 EQ wz334",fontsize=16,color="magenta"];333 -> 336[label="",style="dashed", color="magenta", weight=3]; 309[label="wz3341",fontsize=16,color="green",shape="box"];310[label="wz3340",fontsize=16,color="green",shape="box"];311[label="wz3344",fontsize=16,color="green",shape="box"];312[label="wz3342",fontsize=16,color="green",shape="box"];313[label="wz3343",fontsize=16,color="green",shape="box"];334[label="wz334",fontsize=16,color="green",shape="box"];335[label="wz334",fontsize=16,color="green",shape="box"];336[label="wz334",fontsize=16,color="green",shape="box"];} ---------------------------------------- (8) Complex Obligation (AND) ---------------------------------------- (9) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldFM_GE4(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(new_eltsFM_GE00(wz331, new_foldFM_GE5(wz16, wz334, h), h), wz333, h) new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(new_eltsFM_GE0(wz331, new_foldFM_GE5(wz16, wz334, h), h), wz333, h) The TRS R consists of the following rules: new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) new_foldFM_GE5(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE5(new_eltsFM_GE00(wz331, new_foldFM_GE5(wz16, wz334, h), h), wz333, h) new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) new_foldFM_GE5(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE5(wz16, wz334, h) new_foldFM_GE5(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE5(new_eltsFM_GE0(wz331, new_foldFM_GE5(wz16, wz334, h), h), wz333, h) new_foldFM_GE5(wz16, EmptyFM, h) -> wz16 The set Q consists of the following terms: new_foldFM_GE5(x0, Branch(GT, x1, x2, x3, x4), x5) new_foldFM_GE5(x0, Branch(EQ, x1, x2, x3, x4), x5) new_foldFM_GE5(x0, Branch(LT, x1, x2, x3, x4), x5) new_eltsFM_GE00(x0, x1, x2) new_foldFM_GE5(x0, EmptyFM, x1) new_eltsFM_GE0(x0, x1, x2) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (10) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(new_eltsFM_GE00(wz331, new_foldFM_GE5(wz16, wz334, h), h), wz333, h) at position [0] we obtained the following new rules [LPAR04]: (new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h),new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h)) ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldFM_GE4(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(new_eltsFM_GE0(wz331, new_foldFM_GE5(wz16, wz334, h), h), wz333, h) new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h) The TRS R consists of the following rules: new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) new_foldFM_GE5(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE5(new_eltsFM_GE00(wz331, new_foldFM_GE5(wz16, wz334, h), h), wz333, h) new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) new_foldFM_GE5(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE5(wz16, wz334, h) new_foldFM_GE5(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE5(new_eltsFM_GE0(wz331, new_foldFM_GE5(wz16, wz334, h), h), wz333, h) new_foldFM_GE5(wz16, EmptyFM, h) -> wz16 The set Q consists of the following terms: new_foldFM_GE5(x0, Branch(GT, x1, x2, x3, x4), x5) new_foldFM_GE5(x0, Branch(EQ, x1, x2, x3, x4), x5) new_foldFM_GE5(x0, Branch(LT, x1, x2, x3, x4), x5) new_eltsFM_GE00(x0, x1, x2) new_foldFM_GE5(x0, EmptyFM, x1) new_eltsFM_GE0(x0, x1, x2) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (12) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(new_eltsFM_GE0(wz331, new_foldFM_GE5(wz16, wz334, h), h), wz333, h) at position [0] we obtained the following new rules [LPAR04]: (new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h),new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h)) ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldFM_GE4(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h) new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h) The TRS R consists of the following rules: new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) new_foldFM_GE5(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE5(new_eltsFM_GE00(wz331, new_foldFM_GE5(wz16, wz334, h), h), wz333, h) new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) new_foldFM_GE5(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE5(wz16, wz334, h) new_foldFM_GE5(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE5(new_eltsFM_GE0(wz331, new_foldFM_GE5(wz16, wz334, h), h), wz333, h) new_foldFM_GE5(wz16, EmptyFM, h) -> wz16 The set Q consists of the following terms: new_foldFM_GE5(x0, Branch(GT, x1, x2, x3, x4), x5) new_foldFM_GE5(x0, Branch(EQ, x1, x2, x3, x4), x5) new_foldFM_GE5(x0, Branch(LT, x1, x2, x3, x4), x5) new_eltsFM_GE00(x0, x1, x2) new_foldFM_GE5(x0, EmptyFM, x1) new_eltsFM_GE0(x0, x1, x2) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_foldFM_GE4(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h) The graph contains the following edges 2 > 2, 3 >= 3 *new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h) The graph contains the following edges 2 > 2, 3 >= 3 ---------------------------------------- (15) YES ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldFM_GE(wz13, Branch(wz3340, wz3341, wz3342, wz3343, wz3344), h) -> new_foldFM_GE1(wz13, wz3340, wz3341, wz3342, wz3343, wz3344, h) new_foldFM_GE1(wz13, EQ, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE(wz13, wz334, h) new_foldFM_GE0(wz31, wz7, Branch(wz330, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE1(new_eltsFM_GE0(wz31, wz7, h), wz330, wz331, wz332, wz333, wz334, h) new_foldFM_GE1(wz13, LT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE(wz13, wz334, h) new_foldFM_GE1(wz13, GT, wz331, wz332, wz333, Branch(wz3340, wz3341, wz3342, wz3343, wz3344), h) -> new_foldFM_GE1(wz13, wz3340, wz3341, wz3342, wz3343, wz3344, h) new_foldFM_GE1(wz13, GT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE0(wz331, new_foldFM_GE2(wz13, wz334, h), wz333, h) The TRS R consists of the following rules: new_foldFM_GE2(wz13, Branch(wz3340, wz3341, wz3342, wz3343, wz3344), h) -> new_foldFM_GE10(wz13, wz3340, wz3341, wz3342, wz3343, wz3344, h) new_foldFM_GE10(wz13, GT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE3(wz331, new_foldFM_GE2(wz13, wz334, h), wz333, h) new_foldFM_GE10(wz13, LT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE2(wz13, wz334, h) new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) new_foldFM_GE2(wz13, EmptyFM, h) -> wz13 new_foldFM_GE3(wz31, wz7, EmptyFM, h) -> new_eltsFM_GE0(wz31, wz7, h) new_foldFM_GE10(wz13, EQ, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE2(wz13, wz334, h) new_foldFM_GE3(wz31, wz7, Branch(wz330, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE10(new_eltsFM_GE0(wz31, wz7, h), wz330, wz331, wz332, wz333, wz334, h) The set Q consists of the following terms: new_foldFM_GE2(x0, Branch(x1, x2, x3, x4, x5), x6) new_foldFM_GE10(x0, LT, x1, x2, x3, x4, x5) new_foldFM_GE3(x0, x1, Branch(x2, x3, x4, x5, x6), x7) new_foldFM_GE3(x0, x1, EmptyFM, x2) new_foldFM_GE10(x0, GT, x1, x2, x3, x4, x5) new_foldFM_GE10(x0, EQ, x1, x2, x3, x4, x5) new_foldFM_GE2(x0, EmptyFM, x1) new_eltsFM_GE0(x0, x1, x2) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_foldFM_GE0(wz31, wz7, Branch(wz330, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE1(new_eltsFM_GE0(wz31, wz7, h), wz330, wz331, wz332, wz333, wz334, h) at position [0] we obtained the following new rules [LPAR04]: (new_foldFM_GE0(wz31, wz7, Branch(wz330, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE1(:(wz31, wz7), wz330, wz331, wz332, wz333, wz334, h),new_foldFM_GE0(wz31, wz7, Branch(wz330, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE1(:(wz31, wz7), wz330, wz331, wz332, wz333, wz334, h)) ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldFM_GE(wz13, Branch(wz3340, wz3341, wz3342, wz3343, wz3344), h) -> new_foldFM_GE1(wz13, wz3340, wz3341, wz3342, wz3343, wz3344, h) new_foldFM_GE1(wz13, EQ, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE(wz13, wz334, h) new_foldFM_GE1(wz13, LT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE(wz13, wz334, h) new_foldFM_GE1(wz13, GT, wz331, wz332, wz333, Branch(wz3340, wz3341, wz3342, wz3343, wz3344), h) -> new_foldFM_GE1(wz13, wz3340, wz3341, wz3342, wz3343, wz3344, h) new_foldFM_GE1(wz13, GT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE0(wz331, new_foldFM_GE2(wz13, wz334, h), wz333, h) new_foldFM_GE0(wz31, wz7, Branch(wz330, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE1(:(wz31, wz7), wz330, wz331, wz332, wz333, wz334, h) The TRS R consists of the following rules: new_foldFM_GE2(wz13, Branch(wz3340, wz3341, wz3342, wz3343, wz3344), h) -> new_foldFM_GE10(wz13, wz3340, wz3341, wz3342, wz3343, wz3344, h) new_foldFM_GE10(wz13, GT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE3(wz331, new_foldFM_GE2(wz13, wz334, h), wz333, h) new_foldFM_GE10(wz13, LT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE2(wz13, wz334, h) new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) new_foldFM_GE2(wz13, EmptyFM, h) -> wz13 new_foldFM_GE3(wz31, wz7, EmptyFM, h) -> new_eltsFM_GE0(wz31, wz7, h) new_foldFM_GE10(wz13, EQ, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE2(wz13, wz334, h) new_foldFM_GE3(wz31, wz7, Branch(wz330, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE10(new_eltsFM_GE0(wz31, wz7, h), wz330, wz331, wz332, wz333, wz334, h) The set Q consists of the following terms: new_foldFM_GE2(x0, Branch(x1, x2, x3, x4, x5), x6) new_foldFM_GE10(x0, LT, x1, x2, x3, x4, x5) new_foldFM_GE3(x0, x1, Branch(x2, x3, x4, x5, x6), x7) new_foldFM_GE3(x0, x1, EmptyFM, x2) new_foldFM_GE10(x0, GT, x1, x2, x3, x4, x5) new_foldFM_GE10(x0, EQ, x1, x2, x3, x4, x5) new_foldFM_GE2(x0, EmptyFM, x1) new_eltsFM_GE0(x0, x1, x2) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_foldFM_GE1(wz13, GT, wz331, wz332, wz333, Branch(wz3340, wz3341, wz3342, wz3343, wz3344), h) -> new_foldFM_GE1(wz13, wz3340, wz3341, wz3342, wz3343, wz3344, h) The graph contains the following edges 1 >= 1, 6 > 2, 6 > 3, 6 > 4, 6 > 5, 6 > 6, 7 >= 7 *new_foldFM_GE1(wz13, GT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE0(wz331, new_foldFM_GE2(wz13, wz334, h), wz333, h) The graph contains the following edges 3 >= 1, 5 >= 3, 7 >= 4 *new_foldFM_GE(wz13, Branch(wz3340, wz3341, wz3342, wz3343, wz3344), h) -> new_foldFM_GE1(wz13, wz3340, wz3341, wz3342, wz3343, wz3344, h) The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3, 2 > 4, 2 > 5, 2 > 6, 3 >= 7 *new_foldFM_GE0(wz31, wz7, Branch(wz330, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE1(:(wz31, wz7), wz330, wz331, wz332, wz333, wz334, h) The graph contains the following edges 3 > 2, 3 > 3, 3 > 4, 3 > 5, 3 > 6, 4 >= 7 *new_foldFM_GE1(wz13, EQ, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE(wz13, wz334, h) The graph contains the following edges 1 >= 1, 6 >= 2, 7 >= 3 *new_foldFM_GE1(wz13, LT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE(wz13, wz334, h) The graph contains the following edges 1 >= 1, 6 >= 2, 7 >= 3 ---------------------------------------- (20) YES ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(new_eltsFM_GE0(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(new_eltsFM_GE01(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(new_eltsFM_GE00(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) The TRS R consists of the following rules: new_eltsFM_GE01(wz31, wz15, h) -> :(wz31, wz15) new_foldFM_GE7(wz14, EmptyFM, h) -> wz14 new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) new_foldFM_GE7(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE7(new_eltsFM_GE01(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE7(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE7(new_eltsFM_GE0(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE7(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE7(new_eltsFM_GE00(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) The set Q consists of the following terms: new_foldFM_GE7(x0, Branch(GT, x1, x2, x3, x4), x5) new_foldFM_GE7(x0, Branch(LT, x1, x2, x3, x4), x5) new_foldFM_GE7(x0, Branch(EQ, x1, x2, x3, x4), x5) new_eltsFM_GE01(x0, x1, x2) new_eltsFM_GE00(x0, x1, x2) new_foldFM_GE7(x0, EmptyFM, x1) new_eltsFM_GE0(x0, x1, x2) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (22) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(new_eltsFM_GE0(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) at position [0] we obtained the following new rules [LPAR04]: (new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h),new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h)) ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(new_eltsFM_GE01(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(new_eltsFM_GE00(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) The TRS R consists of the following rules: new_eltsFM_GE01(wz31, wz15, h) -> :(wz31, wz15) new_foldFM_GE7(wz14, EmptyFM, h) -> wz14 new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) new_foldFM_GE7(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE7(new_eltsFM_GE01(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE7(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE7(new_eltsFM_GE0(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE7(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE7(new_eltsFM_GE00(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) The set Q consists of the following terms: new_foldFM_GE7(x0, Branch(GT, x1, x2, x3, x4), x5) new_foldFM_GE7(x0, Branch(LT, x1, x2, x3, x4), x5) new_foldFM_GE7(x0, Branch(EQ, x1, x2, x3, x4), x5) new_eltsFM_GE01(x0, x1, x2) new_eltsFM_GE00(x0, x1, x2) new_foldFM_GE7(x0, EmptyFM, x1) new_eltsFM_GE0(x0, x1, x2) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (24) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(new_eltsFM_GE01(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) at position [0] we obtained the following new rules [LPAR04]: (new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h),new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h)) ---------------------------------------- (25) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(new_eltsFM_GE00(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) The TRS R consists of the following rules: new_eltsFM_GE01(wz31, wz15, h) -> :(wz31, wz15) new_foldFM_GE7(wz14, EmptyFM, h) -> wz14 new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) new_foldFM_GE7(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE7(new_eltsFM_GE01(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE7(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE7(new_eltsFM_GE0(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE7(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE7(new_eltsFM_GE00(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) The set Q consists of the following terms: new_foldFM_GE7(x0, Branch(GT, x1, x2, x3, x4), x5) new_foldFM_GE7(x0, Branch(LT, x1, x2, x3, x4), x5) new_foldFM_GE7(x0, Branch(EQ, x1, x2, x3, x4), x5) new_eltsFM_GE01(x0, x1, x2) new_eltsFM_GE00(x0, x1, x2) new_foldFM_GE7(x0, EmptyFM, x1) new_eltsFM_GE0(x0, x1, x2) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(new_eltsFM_GE00(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) at position [0] we obtained the following new rules [LPAR04]: (new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h),new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h)) ---------------------------------------- (27) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) The TRS R consists of the following rules: new_eltsFM_GE01(wz31, wz15, h) -> :(wz31, wz15) new_foldFM_GE7(wz14, EmptyFM, h) -> wz14 new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) new_foldFM_GE7(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE7(new_eltsFM_GE01(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE7(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE7(new_eltsFM_GE0(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) new_foldFM_GE7(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE7(new_eltsFM_GE00(wz331, new_foldFM_GE7(wz14, wz334, h), h), wz333, h) The set Q consists of the following terms: new_foldFM_GE7(x0, Branch(GT, x1, x2, x3, x4), x5) new_foldFM_GE7(x0, Branch(LT, x1, x2, x3, x4), x5) new_foldFM_GE7(x0, Branch(EQ, x1, x2, x3, x4), x5) new_eltsFM_GE01(x0, x1, x2) new_eltsFM_GE00(x0, x1, x2) new_foldFM_GE7(x0, EmptyFM, x1) new_eltsFM_GE0(x0, x1, x2) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (28) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) The graph contains the following edges 2 > 2, 3 >= 3 *new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) The graph contains the following edges 2 > 2, 3 >= 3 *new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) The graph contains the following edges 2 > 2, 3 >= 3 ---------------------------------------- (29) YES ---------------------------------------- (30) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldFM_GE8(GT, Branch(GT, wz31, wz32, wz33, wz34), h) -> new_foldFM_GE8(GT, wz34, h) new_foldFM_GE8(GT, Branch(LT, wz31, wz32, wz33, wz34), h) -> new_foldFM_GE8(GT, wz34, h) new_foldFM_GE8(GT, Branch(EQ, wz31, wz32, wz33, wz34), h) -> new_foldFM_GE8(GT, wz34, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (31) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_foldFM_GE8(GT, Branch(GT, wz31, wz32, wz33, wz34), h) -> new_foldFM_GE8(GT, wz34, h) The graph contains the following edges 1 >= 1, 2 > 1, 2 > 2, 3 >= 3 *new_foldFM_GE8(GT, Branch(LT, wz31, wz32, wz33, wz34), h) -> new_foldFM_GE8(GT, wz34, h) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *new_foldFM_GE8(GT, Branch(EQ, wz31, wz32, wz33, wz34), h) -> new_foldFM_GE8(GT, wz34, h) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 ---------------------------------------- (32) YES