10.92/4.82 YES 13.45/5.43 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 13.45/5.43 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 13.45/5.43 13.45/5.43 13.45/5.43 H-Termination with start terms of the given HASKELL could be proven: 13.45/5.43 13.45/5.43 (0) HASKELL 13.45/5.43 (1) LR [EQUIVALENT, 0 ms] 13.45/5.43 (2) HASKELL 13.45/5.43 (3) BR [EQUIVALENT, 0 ms] 13.45/5.43 (4) HASKELL 13.45/5.43 (5) COR [EQUIVALENT, 0 ms] 13.45/5.43 (6) HASKELL 13.45/5.43 (7) Narrow [SOUND, 0 ms] 13.45/5.43 (8) AND 13.45/5.43 (9) QDP 13.45/5.43 (10) TransformationProof [EQUIVALENT, 0 ms] 13.45/5.43 (11) QDP 13.45/5.43 (12) TransformationProof [EQUIVALENT, 0 ms] 13.45/5.43 (13) QDP 13.45/5.43 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.45/5.43 (15) YES 13.45/5.43 (16) QDP 13.45/5.43 (17) TransformationProof [EQUIVALENT, 0 ms] 13.45/5.43 (18) QDP 13.45/5.43 (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.45/5.43 (20) YES 13.45/5.43 (21) QDP 13.45/5.43 (22) TransformationProof [EQUIVALENT, 0 ms] 13.45/5.43 (23) QDP 13.45/5.43 (24) TransformationProof [EQUIVALENT, 0 ms] 13.45/5.43 (25) QDP 13.45/5.43 (26) TransformationProof [EQUIVALENT, 0 ms] 13.45/5.43 (27) QDP 13.45/5.43 (28) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.45/5.43 (29) YES 13.45/5.43 (30) QDP 13.45/5.43 (31) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.45/5.43 (32) YES 13.45/5.43 13.45/5.43 13.45/5.43 ---------------------------------------- 13.45/5.43 13.45/5.43 (0) 13.45/5.43 Obligation: 13.45/5.43 mainModule Main 13.45/5.43 module FiniteMap where { 13.45/5.43 import qualified Main; 13.45/5.43 import qualified Maybe; 13.45/5.43 import qualified Prelude; 13.45/5.43 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 13.45/5.43 13.45/5.43 instance (Eq a, Eq b) => Eq FiniteMap a b where { 13.45/5.43 } 13.45/5.43 eltsFM_GE :: Ord b => FiniteMap b a -> b -> [a]; 13.45/5.43 eltsFM_GE fm fr = foldFM_GE (\key elt rest ->elt : rest) [] fr fm; 13.45/5.43 13.45/5.43 foldFM_GE :: Ord a => (a -> b -> c -> c) -> c -> a -> FiniteMap a b -> c; 13.45/5.43 foldFM_GE k z fr EmptyFM = z; 13.45/5.43 foldFM_GE k z fr (Branch key elt _ fm_l fm_r) | key >= fr = foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l 13.45/5.43 | otherwise = foldFM_GE k z fr fm_r; 13.45/5.43 13.45/5.43 } 13.45/5.43 module Maybe where { 13.45/5.43 import qualified FiniteMap; 13.45/5.43 import qualified Main; 13.45/5.43 import qualified Prelude; 13.45/5.43 } 13.45/5.43 module Main where { 13.45/5.43 import qualified FiniteMap; 13.45/5.43 import qualified Maybe; 13.45/5.43 import qualified Prelude; 13.45/5.43 } 13.45/5.43 13.45/5.43 ---------------------------------------- 13.45/5.43 13.45/5.43 (1) LR (EQUIVALENT) 13.45/5.43 Lambda Reductions: 13.45/5.43 The following Lambda expression 13.45/5.43 "\keyeltrest->elt : rest" 13.45/5.43 is transformed to 13.45/5.43 "eltsFM_GE0 key elt rest = elt : rest; 13.45/5.43 " 13.45/5.43 13.45/5.43 ---------------------------------------- 13.45/5.43 13.45/5.43 (2) 13.45/5.43 Obligation: 13.45/5.43 mainModule Main 13.45/5.43 module FiniteMap where { 13.45/5.43 import qualified Main; 13.45/5.43 import qualified Maybe; 13.45/5.43 import qualified Prelude; 13.45/5.43 data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; 13.45/5.43 13.45/5.43 instance (Eq a, Eq b) => Eq FiniteMap b a where { 13.45/5.43 } 13.45/5.43 eltsFM_GE :: Ord a => FiniteMap a b -> a -> [b]; 13.45/5.43 eltsFM_GE fm fr = foldFM_GE eltsFM_GE0 [] fr fm; 13.45/5.43 13.45/5.43 eltsFM_GE0 key elt rest = elt : rest; 13.45/5.43 13.45/5.43 foldFM_GE :: Ord c => (c -> a -> b -> b) -> b -> c -> FiniteMap c a -> b; 13.45/5.43 foldFM_GE k z fr EmptyFM = z; 13.45/5.43 foldFM_GE k z fr (Branch key elt _ fm_l fm_r) | key >= fr = foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l 13.45/5.43 | otherwise = foldFM_GE k z fr fm_r; 13.45/5.43 13.45/5.43 } 13.45/5.43 module Maybe where { 13.45/5.43 import qualified FiniteMap; 13.45/5.43 import qualified Main; 13.45/5.43 import qualified Prelude; 13.45/5.43 } 13.45/5.43 module Main where { 13.45/5.44 import qualified FiniteMap; 13.45/5.44 import qualified Maybe; 13.45/5.44 import qualified Prelude; 13.45/5.44 } 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (3) BR (EQUIVALENT) 13.45/5.44 Replaced joker patterns by fresh variables and removed binding patterns. 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (4) 13.45/5.44 Obligation: 13.45/5.44 mainModule Main 13.45/5.44 module FiniteMap where { 13.45/5.44 import qualified Main; 13.45/5.44 import qualified Maybe; 13.45/5.44 import qualified Prelude; 13.45/5.44 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 13.45/5.44 13.45/5.44 instance (Eq a, Eq b) => Eq FiniteMap b a where { 13.45/5.44 } 13.45/5.44 eltsFM_GE :: Ord a => FiniteMap a b -> a -> [b]; 13.45/5.44 eltsFM_GE fm fr = foldFM_GE eltsFM_GE0 [] fr fm; 13.45/5.44 13.45/5.44 eltsFM_GE0 key elt rest = elt : rest; 13.45/5.44 13.45/5.44 foldFM_GE :: Ord c => (c -> a -> b -> b) -> b -> c -> FiniteMap c a -> b; 13.45/5.44 foldFM_GE k z fr EmptyFM = z; 13.45/5.44 foldFM_GE k z fr (Branch key elt vy fm_l fm_r) | key >= fr = foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l 13.45/5.44 | otherwise = foldFM_GE k z fr fm_r; 13.45/5.44 13.45/5.44 } 13.45/5.44 module Maybe where { 13.45/5.44 import qualified FiniteMap; 13.45/5.44 import qualified Main; 13.45/5.44 import qualified Prelude; 13.45/5.44 } 13.45/5.44 module Main where { 13.45/5.44 import qualified FiniteMap; 13.45/5.44 import qualified Maybe; 13.45/5.44 import qualified Prelude; 13.45/5.44 } 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (5) COR (EQUIVALENT) 13.45/5.44 Cond Reductions: 13.45/5.44 The following Function with conditions 13.45/5.44 "compare x y|x == yEQ|x <= yLT|otherwiseGT; 13.45/5.44 " 13.45/5.44 is transformed to 13.45/5.44 "compare x y = compare3 x y; 13.45/5.44 " 13.45/5.44 "compare0 x y True = GT; 13.45/5.44 " 13.45/5.44 "compare2 x y True = EQ; 13.45/5.44 compare2 x y False = compare1 x y (x <= y); 13.45/5.44 " 13.45/5.44 "compare1 x y True = LT; 13.45/5.44 compare1 x y False = compare0 x y otherwise; 13.45/5.44 " 13.45/5.44 "compare3 x y = compare2 x y (x == y); 13.45/5.44 " 13.45/5.44 The following Function with conditions 13.45/5.44 "undefined |Falseundefined; 13.45/5.44 " 13.45/5.44 is transformed to 13.45/5.44 "undefined = undefined1; 13.45/5.44 " 13.45/5.44 "undefined0 True = undefined; 13.45/5.44 " 13.45/5.44 "undefined1 = undefined0 False; 13.45/5.44 " 13.45/5.44 The following Function with conditions 13.45/5.44 "foldFM_GE k z fr EmptyFM = z; 13.45/5.44 foldFM_GE k z fr (Branch key elt vy fm_l fm_r)|key >= frfoldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l|otherwisefoldFM_GE k z fr fm_r; 13.45/5.44 " 13.45/5.44 is transformed to 13.45/5.44 "foldFM_GE k z fr EmptyFM = foldFM_GE3 k z fr EmptyFM; 13.45/5.44 foldFM_GE k z fr (Branch key elt vy fm_l fm_r) = foldFM_GE2 k z fr (Branch key elt vy fm_l fm_r); 13.45/5.44 " 13.45/5.44 "foldFM_GE0 k z fr key elt vy fm_l fm_r True = foldFM_GE k z fr fm_r; 13.45/5.44 " 13.45/5.44 "foldFM_GE1 k z fr key elt vy fm_l fm_r True = foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l; 13.45/5.44 foldFM_GE1 k z fr key elt vy fm_l fm_r False = foldFM_GE0 k z fr key elt vy fm_l fm_r otherwise; 13.45/5.44 " 13.45/5.44 "foldFM_GE2 k z fr (Branch key elt vy fm_l fm_r) = foldFM_GE1 k z fr key elt vy fm_l fm_r (key >= fr); 13.45/5.44 " 13.45/5.44 "foldFM_GE3 k z fr EmptyFM = z; 13.45/5.44 foldFM_GE3 wv ww wx wy = foldFM_GE2 wv ww wx wy; 13.45/5.44 " 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (6) 13.45/5.44 Obligation: 13.45/5.44 mainModule Main 13.45/5.44 module FiniteMap where { 13.45/5.44 import qualified Main; 13.45/5.44 import qualified Maybe; 13.45/5.44 import qualified Prelude; 13.45/5.44 data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; 13.45/5.44 13.45/5.44 instance (Eq a, Eq b) => Eq FiniteMap b a where { 13.45/5.44 } 13.45/5.44 eltsFM_GE :: Ord a => FiniteMap a b -> a -> [b]; 13.45/5.44 eltsFM_GE fm fr = foldFM_GE eltsFM_GE0 [] fr fm; 13.45/5.44 13.45/5.44 eltsFM_GE0 key elt rest = elt : rest; 13.45/5.44 13.45/5.44 foldFM_GE :: Ord b => (b -> a -> c -> c) -> c -> b -> FiniteMap b a -> c; 13.45/5.44 foldFM_GE k z fr EmptyFM = foldFM_GE3 k z fr EmptyFM; 13.45/5.44 foldFM_GE k z fr (Branch key elt vy fm_l fm_r) = foldFM_GE2 k z fr (Branch key elt vy fm_l fm_r); 13.45/5.44 13.45/5.44 foldFM_GE0 k z fr key elt vy fm_l fm_r True = foldFM_GE k z fr fm_r; 13.45/5.44 13.45/5.44 foldFM_GE1 k z fr key elt vy fm_l fm_r True = foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l; 13.45/5.44 foldFM_GE1 k z fr key elt vy fm_l fm_r False = foldFM_GE0 k z fr key elt vy fm_l fm_r otherwise; 13.45/5.44 13.45/5.44 foldFM_GE2 k z fr (Branch key elt vy fm_l fm_r) = foldFM_GE1 k z fr key elt vy fm_l fm_r (key >= fr); 13.45/5.44 13.45/5.44 foldFM_GE3 k z fr EmptyFM = z; 13.45/5.44 foldFM_GE3 wv ww wx wy = foldFM_GE2 wv ww wx wy; 13.45/5.44 13.45/5.44 } 13.45/5.44 module Maybe where { 13.45/5.44 import qualified FiniteMap; 13.45/5.44 import qualified Main; 13.45/5.44 import qualified Prelude; 13.45/5.44 } 13.45/5.44 module Main where { 13.45/5.44 import qualified FiniteMap; 13.45/5.44 import qualified Maybe; 13.45/5.44 import qualified Prelude; 13.45/5.44 } 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (7) Narrow (SOUND) 13.45/5.44 Haskell To QDPs 13.45/5.44 13.45/5.44 digraph dp_graph { 13.45/5.44 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]; 13.45/5.44 3[label="FiniteMap.eltsFM_GE wz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 13.45/5.44 4[label="FiniteMap.eltsFM_GE wz3 wz4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 13.45/5.44 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]; 13.45/5.44 337 -> 6[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 338 -> 7[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 339 -> 16[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 340[label="wz30/EQ",fontsize=10,color="white",style="solid",shape="box"];15 -> 340[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 340 -> 17[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 341[label="wz30/GT",fontsize=10,color="white",style="solid",shape="box"];15 -> 341[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 341 -> 18[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 342 -> 19[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 343[label="wz4/EQ",fontsize=10,color="white",style="solid",shape="box"];16 -> 343[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 343 -> 20[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 344[label="wz4/GT",fontsize=10,color="white",style="solid",shape="box"];16 -> 344[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 344 -> 21[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 345 -> 22[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 346[label="wz4/EQ",fontsize=10,color="white",style="solid",shape="box"];17 -> 346[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 346 -> 23[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 347[label="wz4/GT",fontsize=10,color="white",style="solid",shape="box"];17 -> 347[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 347 -> 24[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 348 -> 25[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 349[label="wz4/EQ",fontsize=10,color="white",style="solid",shape="box"];18 -> 349[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 349 -> 26[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 350[label="wz4/GT",fontsize=10,color="white",style="solid",shape="box"];18 -> 350[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 350 -> 27[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 64 -> 151[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 68 -> 176[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 72 -> 83[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 152 -> 164[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 351 -> 166[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 352 -> 167[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 177 -> 120[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 353 -> 188[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 354 -> 189[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 84 -> 5[label="",style="dashed", color="red", weight=0]; 13.45/5.44 84[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] GT wz34",fontsize=16,color="magenta"];84 -> 99[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 84 -> 100[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 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]; 13.45/5.44 355 -> 101[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 356 -> 102[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 165 -> 151[label="",style="dashed", color="red", weight=0]; 13.45/5.44 165[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] LT wz34",fontsize=16,color="magenta"];165 -> 168[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 165 -> 169[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 164[label="FiniteMap.eltsFM_GE0 LT wz31 wz15",fontsize=16,color="black",shape="triangle"];164 -> 170[label="",style="solid", color="black", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 187 -> 176[label="",style="dashed", color="red", weight=0]; 13.45/5.44 187[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] EQ wz34",fontsize=16,color="magenta"];187 -> 198[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 187 -> 199[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 120[label="FiniteMap.eltsFM_GE0 EQ wz31 wz6",fontsize=16,color="black",shape="triangle"];120 -> 136[label="",style="solid", color="black", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 117 -> 176[label="",style="dashed", color="red", weight=0]; 13.45/5.44 117[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] EQ wz34",fontsize=16,color="magenta"];117 -> 181[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 117 -> 182[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 118 -> 5[label="",style="dashed", color="red", weight=0]; 13.45/5.44 118[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] GT wz34",fontsize=16,color="magenta"];118 -> 132[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 118 -> 133[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 119 -> 151[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 122 -> 5[label="",style="dashed", color="red", weight=0]; 13.45/5.44 122[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] GT wz34",fontsize=16,color="magenta"];122 -> 139[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 122 -> 140[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 123 -> 151[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 124 -> 176[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 125[label="FiniteMap.eltsFM_GE0 GT wz31 wz7",fontsize=16,color="black",shape="triangle"];125 -> 145[label="",style="solid", color="black", weight=3]; 13.45/5.44 126 -> 146[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 183 -> 125[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 145[label="wz31 : wz7",fontsize=16,color="green",shape="box"];147 -> 125[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 171 -> 151[label="",style="dashed", color="red", weight=0]; 13.45/5.44 171[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] LT wz34",fontsize=16,color="magenta"];171 -> 194[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 171 -> 195[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 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]; 13.45/5.44 173 -> 151[label="",style="dashed", color="red", weight=0]; 13.45/5.44 173[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] LT wz34",fontsize=16,color="magenta"];173 -> 196[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 173 -> 197[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 192 -> 176[label="",style="dashed", color="red", weight=0]; 13.45/5.44 192[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 [] EQ wz34",fontsize=16,color="magenta"];192 -> 204[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 192 -> 205[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 357 -> 225[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 358[label="wz330/EQ",fontsize=10,color="white",style="solid",shape="box"];220 -> 358[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 358 -> 226[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 359[label="wz330/GT",fontsize=10,color="white",style="solid",shape="box"];220 -> 359[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 359 -> 227[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 360 -> 231[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 361[label="wz330/EQ",fontsize=10,color="white",style="solid",shape="box"];224 -> 361[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 361 -> 232[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 362[label="wz330/GT",fontsize=10,color="white",style="solid",shape="box"];224 -> 362[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 362 -> 233[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 363 -> 216[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 364[label="wz330/EQ",fontsize=10,color="white",style="solid",shape="box"];213 -> 364[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 364 -> 217[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 365[label="wz330/GT",fontsize=10,color="white",style="solid",shape="box"];213 -> 365[label="",style="solid", color="burlywood", weight=9]; 13.45/5.44 365 -> 218[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 272 -> 151[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 272 -> 283[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 280 -> 176[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 280 -> 292[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 282 -> 164[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 282 -> 295[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 291 -> 120[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 291 -> 304[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 257 -> 83[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 257 -> 267[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 257 -> 268[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 294 -> 151[label="",style="dashed", color="red", weight=0]; 13.45/5.44 294[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT wz334",fontsize=16,color="magenta"];294 -> 306[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 303[label="wz331",fontsize=16,color="green",shape="box"];304 -> 176[label="",style="dashed", color="red", weight=0]; 13.45/5.44 304[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz16 EQ wz334",fontsize=16,color="magenta"];304 -> 315[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 366 -> 277[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 367 -> 278[label="",style="solid", color="burlywood", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 317 -> 151[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 317 -> 322[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 318 -> 151[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 318 -> 324[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 319 -> 176[label="",style="dashed", color="red", weight=0]; 13.45/5.44 319[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz16 EQ wz334",fontsize=16,color="magenta"];319 -> 325[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 320 -> 176[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 320 -> 327[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 321 -> 120[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 321 -> 329[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 322[label="wz333",fontsize=16,color="green",shape="box"];323 -> 125[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 323 -> 331[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 326 -> 333[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 327[label="wz333",fontsize=16,color="green",shape="box"];298 -> 268[label="",style="dashed", color="red", weight=0]; 13.45/5.44 298[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz13 GT wz334",fontsize=16,color="magenta"];299 -> 268[label="",style="dashed", color="red", weight=0]; 13.45/5.44 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]; 13.45/5.44 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]; 13.45/5.44 301 -> 310[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 301 -> 311[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 301 -> 312[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 301 -> 313[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 328[label="wz331",fontsize=16,color="green",shape="box"];329 -> 151[label="",style="dashed", color="red", weight=0]; 13.45/5.44 329[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT wz334",fontsize=16,color="magenta"];329 -> 334[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 330[label="wz331",fontsize=16,color="green",shape="box"];331 -> 151[label="",style="dashed", color="red", weight=0]; 13.45/5.44 331[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz14 LT wz334",fontsize=16,color="magenta"];331 -> 335[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 332[label="wz331",fontsize=16,color="green",shape="box"];333 -> 176[label="",style="dashed", color="red", weight=0]; 13.45/5.44 333[label="FiniteMap.foldFM_GE FiniteMap.eltsFM_GE0 wz16 EQ wz334",fontsize=16,color="magenta"];333 -> 336[label="",style="dashed", color="magenta", weight=3]; 13.45/5.44 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"];} 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (8) 13.45/5.44 Complex Obligation (AND) 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (9) 13.45/5.44 Obligation: 13.45/5.44 Q DP problem: 13.45/5.44 The TRS P consists of the following rules: 13.45/5.44 13.45/5.44 new_foldFM_GE4(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) 13.45/5.44 new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) 13.45/5.44 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) 13.45/5.44 new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) 13.45/5.44 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) 13.45/5.44 13.45/5.44 The TRS R consists of the following rules: 13.45/5.44 13.45/5.44 new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) 13.45/5.44 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) 13.45/5.44 new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) 13.45/5.44 new_foldFM_GE5(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE5(wz16, wz334, h) 13.45/5.44 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) 13.45/5.44 new_foldFM_GE5(wz16, EmptyFM, h) -> wz16 13.45/5.44 13.45/5.44 The set Q consists of the following terms: 13.45/5.44 13.45/5.44 new_foldFM_GE5(x0, Branch(GT, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE5(x0, Branch(EQ, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE5(x0, Branch(LT, x1, x2, x3, x4), x5) 13.45/5.44 new_eltsFM_GE00(x0, x1, x2) 13.45/5.44 new_foldFM_GE5(x0, EmptyFM, x1) 13.45/5.44 new_eltsFM_GE0(x0, x1, x2) 13.45/5.44 13.45/5.44 We have to consider all minimal (P,Q,R)-chains. 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (10) TransformationProof (EQUIVALENT) 13.45/5.44 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]: 13.45/5.44 13.45/5.44 (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)) 13.45/5.44 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (11) 13.45/5.44 Obligation: 13.45/5.44 Q DP problem: 13.45/5.44 The TRS P consists of the following rules: 13.45/5.44 13.45/5.44 new_foldFM_GE4(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) 13.45/5.44 new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) 13.45/5.44 new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) 13.45/5.44 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) 13.45/5.44 new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h) 13.45/5.44 13.45/5.44 The TRS R consists of the following rules: 13.45/5.44 13.45/5.44 new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) 13.45/5.44 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) 13.45/5.44 new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) 13.45/5.44 new_foldFM_GE5(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE5(wz16, wz334, h) 13.45/5.44 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) 13.45/5.44 new_foldFM_GE5(wz16, EmptyFM, h) -> wz16 13.45/5.44 13.45/5.44 The set Q consists of the following terms: 13.45/5.44 13.45/5.44 new_foldFM_GE5(x0, Branch(GT, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE5(x0, Branch(EQ, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE5(x0, Branch(LT, x1, x2, x3, x4), x5) 13.45/5.44 new_eltsFM_GE00(x0, x1, x2) 13.45/5.44 new_foldFM_GE5(x0, EmptyFM, x1) 13.45/5.44 new_eltsFM_GE0(x0, x1, x2) 13.45/5.44 13.45/5.44 We have to consider all minimal (P,Q,R)-chains. 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (12) TransformationProof (EQUIVALENT) 13.45/5.44 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]: 13.45/5.44 13.45/5.44 (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.45/5.44 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (13) 13.45/5.44 Obligation: 13.45/5.44 Q DP problem: 13.45/5.44 The TRS P consists of the following rules: 13.45/5.44 13.45/5.44 new_foldFM_GE4(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) 13.45/5.44 new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) 13.45/5.44 new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) 13.45/5.44 new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h) 13.45/5.44 new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h) 13.45/5.44 13.45/5.44 The TRS R consists of the following rules: 13.45/5.44 13.45/5.44 new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) 13.45/5.44 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) 13.45/5.44 new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) 13.45/5.44 new_foldFM_GE5(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE5(wz16, wz334, h) 13.45/5.44 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) 13.45/5.44 new_foldFM_GE5(wz16, EmptyFM, h) -> wz16 13.45/5.44 13.45/5.44 The set Q consists of the following terms: 13.45/5.44 13.45/5.44 new_foldFM_GE5(x0, Branch(GT, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE5(x0, Branch(EQ, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE5(x0, Branch(LT, x1, x2, x3, x4), x5) 13.45/5.44 new_eltsFM_GE00(x0, x1, x2) 13.45/5.44 new_foldFM_GE5(x0, EmptyFM, x1) 13.45/5.44 new_eltsFM_GE0(x0, x1, x2) 13.45/5.44 13.45/5.44 We have to consider all minimal (P,Q,R)-chains. 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (14) QDPSizeChangeProof (EQUIVALENT) 13.45/5.44 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.45/5.44 13.45/5.44 From the DPs we obtained the following set of size-change graphs: 13.45/5.44 *new_foldFM_GE4(wz16, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) 13.45/5.44 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) 13.45/5.44 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(wz16, wz334, h) 13.45/5.44 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE4(wz16, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h) 13.45/5.44 The graph contains the following edges 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE4(wz16, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE4(:(wz331, new_foldFM_GE5(wz16, wz334, h)), wz333, h) 13.45/5.44 The graph contains the following edges 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (15) 13.45/5.44 YES 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (16) 13.45/5.44 Obligation: 13.45/5.44 Q DP problem: 13.45/5.44 The TRS P consists of the following rules: 13.45/5.44 13.45/5.44 new_foldFM_GE(wz13, Branch(wz3340, wz3341, wz3342, wz3343, wz3344), h) -> new_foldFM_GE1(wz13, wz3340, wz3341, wz3342, wz3343, wz3344, h) 13.45/5.44 new_foldFM_GE1(wz13, EQ, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE(wz13, wz334, h) 13.45/5.44 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) 13.45/5.44 new_foldFM_GE1(wz13, LT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE(wz13, wz334, h) 13.45/5.44 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) 13.45/5.44 new_foldFM_GE1(wz13, GT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE0(wz331, new_foldFM_GE2(wz13, wz334, h), wz333, h) 13.45/5.44 13.45/5.44 The TRS R consists of the following rules: 13.45/5.44 13.45/5.44 new_foldFM_GE2(wz13, Branch(wz3340, wz3341, wz3342, wz3343, wz3344), h) -> new_foldFM_GE10(wz13, wz3340, wz3341, wz3342, wz3343, wz3344, h) 13.45/5.44 new_foldFM_GE10(wz13, GT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE3(wz331, new_foldFM_GE2(wz13, wz334, h), wz333, h) 13.45/5.44 new_foldFM_GE10(wz13, LT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE2(wz13, wz334, h) 13.45/5.44 new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) 13.45/5.44 new_foldFM_GE2(wz13, EmptyFM, h) -> wz13 13.45/5.44 new_foldFM_GE3(wz31, wz7, EmptyFM, h) -> new_eltsFM_GE0(wz31, wz7, h) 13.45/5.44 new_foldFM_GE10(wz13, EQ, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE2(wz13, wz334, h) 13.45/5.44 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) 13.45/5.44 13.45/5.44 The set Q consists of the following terms: 13.45/5.44 13.45/5.44 new_foldFM_GE2(x0, Branch(x1, x2, x3, x4, x5), x6) 13.45/5.44 new_foldFM_GE10(x0, LT, x1, x2, x3, x4, x5) 13.45/5.44 new_foldFM_GE3(x0, x1, Branch(x2, x3, x4, x5, x6), x7) 13.45/5.44 new_foldFM_GE3(x0, x1, EmptyFM, x2) 13.45/5.44 new_foldFM_GE10(x0, GT, x1, x2, x3, x4, x5) 13.45/5.44 new_foldFM_GE10(x0, EQ, x1, x2, x3, x4, x5) 13.45/5.44 new_foldFM_GE2(x0, EmptyFM, x1) 13.45/5.44 new_eltsFM_GE0(x0, x1, x2) 13.45/5.44 13.45/5.44 We have to consider all minimal (P,Q,R)-chains. 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (17) TransformationProof (EQUIVALENT) 13.45/5.44 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]: 13.45/5.44 13.45/5.44 (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)) 13.45/5.44 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (18) 13.45/5.44 Obligation: 13.45/5.44 Q DP problem: 13.45/5.44 The TRS P consists of the following rules: 13.45/5.44 13.45/5.44 new_foldFM_GE(wz13, Branch(wz3340, wz3341, wz3342, wz3343, wz3344), h) -> new_foldFM_GE1(wz13, wz3340, wz3341, wz3342, wz3343, wz3344, h) 13.45/5.44 new_foldFM_GE1(wz13, EQ, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE(wz13, wz334, h) 13.45/5.44 new_foldFM_GE1(wz13, LT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE(wz13, wz334, h) 13.45/5.44 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) 13.45/5.44 new_foldFM_GE1(wz13, GT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE0(wz331, new_foldFM_GE2(wz13, wz334, h), wz333, h) 13.45/5.44 new_foldFM_GE0(wz31, wz7, Branch(wz330, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE1(:(wz31, wz7), wz330, wz331, wz332, wz333, wz334, h) 13.45/5.44 13.45/5.44 The TRS R consists of the following rules: 13.45/5.44 13.45/5.44 new_foldFM_GE2(wz13, Branch(wz3340, wz3341, wz3342, wz3343, wz3344), h) -> new_foldFM_GE10(wz13, wz3340, wz3341, wz3342, wz3343, wz3344, h) 13.45/5.44 new_foldFM_GE10(wz13, GT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE3(wz331, new_foldFM_GE2(wz13, wz334, h), wz333, h) 13.45/5.44 new_foldFM_GE10(wz13, LT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE2(wz13, wz334, h) 13.45/5.44 new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) 13.45/5.44 new_foldFM_GE2(wz13, EmptyFM, h) -> wz13 13.45/5.44 new_foldFM_GE3(wz31, wz7, EmptyFM, h) -> new_eltsFM_GE0(wz31, wz7, h) 13.45/5.44 new_foldFM_GE10(wz13, EQ, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE2(wz13, wz334, h) 13.45/5.44 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) 13.45/5.44 13.45/5.44 The set Q consists of the following terms: 13.45/5.44 13.45/5.44 new_foldFM_GE2(x0, Branch(x1, x2, x3, x4, x5), x6) 13.45/5.44 new_foldFM_GE10(x0, LT, x1, x2, x3, x4, x5) 13.45/5.44 new_foldFM_GE3(x0, x1, Branch(x2, x3, x4, x5, x6), x7) 13.45/5.44 new_foldFM_GE3(x0, x1, EmptyFM, x2) 13.45/5.44 new_foldFM_GE10(x0, GT, x1, x2, x3, x4, x5) 13.45/5.44 new_foldFM_GE10(x0, EQ, x1, x2, x3, x4, x5) 13.45/5.44 new_foldFM_GE2(x0, EmptyFM, x1) 13.45/5.44 new_eltsFM_GE0(x0, x1, x2) 13.45/5.44 13.45/5.44 We have to consider all minimal (P,Q,R)-chains. 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (19) QDPSizeChangeProof (EQUIVALENT) 13.45/5.44 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.45/5.44 13.45/5.44 From the DPs we obtained the following set of size-change graphs: 13.45/5.44 *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) 13.45/5.44 The graph contains the following edges 1 >= 1, 6 > 2, 6 > 3, 6 > 4, 6 > 5, 6 > 6, 7 >= 7 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE1(wz13, GT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE0(wz331, new_foldFM_GE2(wz13, wz334, h), wz333, h) 13.45/5.44 The graph contains the following edges 3 >= 1, 5 >= 3, 7 >= 4 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE(wz13, Branch(wz3340, wz3341, wz3342, wz3343, wz3344), h) -> new_foldFM_GE1(wz13, wz3340, wz3341, wz3342, wz3343, wz3344, h) 13.45/5.44 The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3, 2 > 4, 2 > 5, 2 > 6, 3 >= 7 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE0(wz31, wz7, Branch(wz330, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE1(:(wz31, wz7), wz330, wz331, wz332, wz333, wz334, h) 13.45/5.44 The graph contains the following edges 3 > 2, 3 > 3, 3 > 4, 3 > 5, 3 > 6, 4 >= 7 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE1(wz13, EQ, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE(wz13, wz334, h) 13.45/5.44 The graph contains the following edges 1 >= 1, 6 >= 2, 7 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE1(wz13, LT, wz331, wz332, wz333, wz334, h) -> new_foldFM_GE(wz13, wz334, h) 13.45/5.44 The graph contains the following edges 1 >= 1, 6 >= 2, 7 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (20) 13.45/5.44 YES 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (21) 13.45/5.44 Obligation: 13.45/5.44 Q DP problem: 13.45/5.44 The TRS P consists of the following rules: 13.45/5.44 13.45/5.44 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) 13.45/5.44 new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 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) 13.45/5.44 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) 13.45/5.44 new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 13.45/5.44 The TRS R consists of the following rules: 13.45/5.44 13.45/5.44 new_eltsFM_GE01(wz31, wz15, h) -> :(wz31, wz15) 13.45/5.44 new_foldFM_GE7(wz14, EmptyFM, h) -> wz14 13.45/5.44 new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) 13.45/5.44 new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) 13.45/5.44 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) 13.45/5.44 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) 13.45/5.44 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) 13.45/5.44 13.45/5.44 The set Q consists of the following terms: 13.45/5.44 13.45/5.44 new_foldFM_GE7(x0, Branch(GT, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE7(x0, Branch(LT, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE7(x0, Branch(EQ, x1, x2, x3, x4), x5) 13.45/5.44 new_eltsFM_GE01(x0, x1, x2) 13.45/5.44 new_eltsFM_GE00(x0, x1, x2) 13.45/5.44 new_foldFM_GE7(x0, EmptyFM, x1) 13.45/5.44 new_eltsFM_GE0(x0, x1, x2) 13.45/5.44 13.45/5.44 We have to consider all minimal (P,Q,R)-chains. 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (22) TransformationProof (EQUIVALENT) 13.45/5.44 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]: 13.45/5.44 13.45/5.44 (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)) 13.45/5.44 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (23) 13.45/5.44 Obligation: 13.45/5.44 Q DP problem: 13.45/5.44 The TRS P consists of the following rules: 13.45/5.44 13.45/5.44 new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 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) 13.45/5.44 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) 13.45/5.44 new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) 13.45/5.44 13.45/5.44 The TRS R consists of the following rules: 13.45/5.44 13.45/5.44 new_eltsFM_GE01(wz31, wz15, h) -> :(wz31, wz15) 13.45/5.44 new_foldFM_GE7(wz14, EmptyFM, h) -> wz14 13.45/5.44 new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) 13.45/5.44 new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) 13.45/5.44 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) 13.45/5.44 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) 13.45/5.44 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) 13.45/5.44 13.45/5.44 The set Q consists of the following terms: 13.45/5.44 13.45/5.44 new_foldFM_GE7(x0, Branch(GT, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE7(x0, Branch(LT, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE7(x0, Branch(EQ, x1, x2, x3, x4), x5) 13.45/5.44 new_eltsFM_GE01(x0, x1, x2) 13.45/5.44 new_eltsFM_GE00(x0, x1, x2) 13.45/5.44 new_foldFM_GE7(x0, EmptyFM, x1) 13.45/5.44 new_eltsFM_GE0(x0, x1, x2) 13.45/5.44 13.45/5.44 We have to consider all minimal (P,Q,R)-chains. 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (24) TransformationProof (EQUIVALENT) 13.45/5.44 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]: 13.45/5.44 13.45/5.44 (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)) 13.45/5.44 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (25) 13.45/5.44 Obligation: 13.45/5.44 Q DP problem: 13.45/5.44 The TRS P consists of the following rules: 13.45/5.44 13.45/5.44 new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 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) 13.45/5.44 new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) 13.45/5.44 new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) 13.45/5.44 13.45/5.44 The TRS R consists of the following rules: 13.45/5.44 13.45/5.44 new_eltsFM_GE01(wz31, wz15, h) -> :(wz31, wz15) 13.45/5.44 new_foldFM_GE7(wz14, EmptyFM, h) -> wz14 13.45/5.44 new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) 13.45/5.44 new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) 13.45/5.44 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) 13.45/5.44 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) 13.45/5.44 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) 13.45/5.44 13.45/5.44 The set Q consists of the following terms: 13.45/5.44 13.45/5.44 new_foldFM_GE7(x0, Branch(GT, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE7(x0, Branch(LT, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE7(x0, Branch(EQ, x1, x2, x3, x4), x5) 13.45/5.44 new_eltsFM_GE01(x0, x1, x2) 13.45/5.44 new_eltsFM_GE00(x0, x1, x2) 13.45/5.44 new_foldFM_GE7(x0, EmptyFM, x1) 13.45/5.44 new_eltsFM_GE0(x0, x1, x2) 13.45/5.44 13.45/5.44 We have to consider all minimal (P,Q,R)-chains. 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (26) TransformationProof (EQUIVALENT) 13.45/5.44 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]: 13.45/5.44 13.45/5.44 (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)) 13.45/5.44 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (27) 13.45/5.44 Obligation: 13.45/5.44 Q DP problem: 13.45/5.44 The TRS P consists of the following rules: 13.45/5.44 13.45/5.44 new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) 13.45/5.44 new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) 13.45/5.44 new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) 13.45/5.44 13.45/5.44 The TRS R consists of the following rules: 13.45/5.44 13.45/5.44 new_eltsFM_GE01(wz31, wz15, h) -> :(wz31, wz15) 13.45/5.44 new_foldFM_GE7(wz14, EmptyFM, h) -> wz14 13.45/5.44 new_eltsFM_GE00(wz31, wz6, h) -> :(wz31, wz6) 13.45/5.44 new_eltsFM_GE0(wz31, wz7, h) -> :(wz31, wz7) 13.45/5.44 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) 13.45/5.44 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) 13.45/5.44 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) 13.45/5.44 13.45/5.44 The set Q consists of the following terms: 13.45/5.44 13.45/5.44 new_foldFM_GE7(x0, Branch(GT, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE7(x0, Branch(LT, x1, x2, x3, x4), x5) 13.45/5.44 new_foldFM_GE7(x0, Branch(EQ, x1, x2, x3, x4), x5) 13.45/5.44 new_eltsFM_GE01(x0, x1, x2) 13.45/5.44 new_eltsFM_GE00(x0, x1, x2) 13.45/5.44 new_foldFM_GE7(x0, EmptyFM, x1) 13.45/5.44 new_eltsFM_GE0(x0, x1, x2) 13.45/5.44 13.45/5.44 We have to consider all minimal (P,Q,R)-chains. 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (28) QDPSizeChangeProof (EQUIVALENT) 13.45/5.44 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.45/5.44 13.45/5.44 From the DPs we obtained the following set of size-change graphs: 13.45/5.44 *new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(wz14, wz334, h) 13.45/5.44 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE6(wz14, Branch(GT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) 13.45/5.44 The graph contains the following edges 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE6(wz14, Branch(LT, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) 13.45/5.44 The graph contains the following edges 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE6(wz14, Branch(EQ, wz331, wz332, wz333, wz334), h) -> new_foldFM_GE6(:(wz331, new_foldFM_GE7(wz14, wz334, h)), wz333, h) 13.45/5.44 The graph contains the following edges 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (29) 13.45/5.44 YES 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (30) 13.45/5.44 Obligation: 13.45/5.44 Q DP problem: 13.45/5.44 The TRS P consists of the following rules: 13.45/5.44 13.45/5.44 new_foldFM_GE8(GT, Branch(GT, wz31, wz32, wz33, wz34), h) -> new_foldFM_GE8(GT, wz34, h) 13.45/5.44 new_foldFM_GE8(GT, Branch(LT, wz31, wz32, wz33, wz34), h) -> new_foldFM_GE8(GT, wz34, h) 13.45/5.44 new_foldFM_GE8(GT, Branch(EQ, wz31, wz32, wz33, wz34), h) -> new_foldFM_GE8(GT, wz34, h) 13.45/5.44 13.45/5.44 R is empty. 13.45/5.44 Q is empty. 13.45/5.44 We have to consider all minimal (P,Q,R)-chains. 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (31) QDPSizeChangeProof (EQUIVALENT) 13.45/5.44 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.45/5.44 13.45/5.44 From the DPs we obtained the following set of size-change graphs: 13.45/5.44 *new_foldFM_GE8(GT, Branch(GT, wz31, wz32, wz33, wz34), h) -> new_foldFM_GE8(GT, wz34, h) 13.45/5.44 The graph contains the following edges 1 >= 1, 2 > 1, 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE8(GT, Branch(LT, wz31, wz32, wz33, wz34), h) -> new_foldFM_GE8(GT, wz34, h) 13.45/5.44 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 *new_foldFM_GE8(GT, Branch(EQ, wz31, wz32, wz33, wz34), h) -> new_foldFM_GE8(GT, wz34, h) 13.45/5.44 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 13.45/5.44 13.45/5.44 13.45/5.44 ---------------------------------------- 13.45/5.44 13.45/5.44 (32) 13.45/5.44 YES 13.51/7.68 EOF