/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.hs /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty H-Termination with start terms of the given HASKELL could be proven: (0) HASKELL (1) CR [EQUIVALENT, 0 ms] (2) HASKELL (3) BR [EQUIVALENT, 0 ms] (4) HASKELL (5) COR [EQUIVALENT, 0 ms] (6) HASKELL (7) Narrow [SOUND, 0 ms] (8) QDP (9) DependencyGraphProof [EQUIVALENT, 0 ms] (10) AND (11) QDP (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] (13) YES (14) QDP (15) QDPSizeChangeProof [EQUIVALENT, 0 ms] (16) YES (17) QDP (18) QDPSizeChangeProof [EQUIVALENT, 0 ms] (19) YES (20) QDP (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] (22) YES ---------------------------------------- (0) Obligation: mainModule Main module FiniteMap where { import qualified Main; import qualified Maybe; import qualified Prelude; data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; instance (Eq a, Eq b) => Eq FiniteMap b a where { } elemFM :: Ord a => a -> FiniteMap a b -> Bool; elemFM key fm = case lookupFM fm key of { Nothing-> False; Just elt-> True; } ; lookupFM :: Ord a => FiniteMap a b -> a -> Maybe b; lookupFM EmptyFM key = Nothing; lookupFM (Branch key elt _ fm_l fm_r) key_to_find | key_to_find < key = lookupFM fm_l key_to_find | key_to_find > key = lookupFM fm_r key_to_find | otherwise = Just elt; } module Maybe where { import qualified FiniteMap; import qualified Main; import qualified Prelude; } module Main where { import qualified FiniteMap; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (1) CR (EQUIVALENT) Case Reductions: The following Case expression "case lookupFM fm key of { Nothing -> False; Just elt -> True} " is transformed to "elemFM0 Nothing = False; elemFM0 (Just elt) = True; " ---------------------------------------- (2) Obligation: mainModule Main module FiniteMap where { import qualified Main; import qualified Maybe; import qualified Prelude; data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; instance (Eq a, Eq b) => Eq FiniteMap a b where { } elemFM :: Ord b => b -> FiniteMap b a -> Bool; elemFM key fm = elemFM0 (lookupFM fm key); elemFM0 Nothing = False; elemFM0 (Just elt) = True; lookupFM :: Ord b => FiniteMap b a -> b -> Maybe a; lookupFM EmptyFM key = Nothing; lookupFM (Branch key elt _ fm_l fm_r) key_to_find | key_to_find < key = lookupFM fm_l key_to_find | key_to_find > key = lookupFM fm_r key_to_find | otherwise = Just elt; } module Maybe where { import qualified FiniteMap; import qualified Main; import qualified Prelude; } module Main where { import qualified FiniteMap; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module FiniteMap where { import qualified Main; import qualified Maybe; import qualified Prelude; data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; instance (Eq a, Eq b) => Eq FiniteMap a b where { } elemFM :: Ord b => b -> FiniteMap b a -> Bool; elemFM key fm = elemFM0 (lookupFM fm key); elemFM0 Nothing = False; elemFM0 (Just elt) = True; lookupFM :: Ord b => FiniteMap b a -> b -> Maybe a; lookupFM EmptyFM key = Nothing; lookupFM (Branch key elt vy fm_l fm_r) key_to_find | key_to_find < key = lookupFM fm_l key_to_find | key_to_find > key = lookupFM fm_r key_to_find | otherwise = Just elt; } module Maybe where { import qualified FiniteMap; import qualified Main; import qualified Prelude; } module Main where { import qualified FiniteMap; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " The following Function with conditions "lookupFM EmptyFM key = Nothing; lookupFM (Branch key elt vy fm_l fm_r) key_to_find|key_to_find < keylookupFM fm_l key_to_find|key_to_find > keylookupFM fm_r key_to_find|otherwiseJust elt; " is transformed to "lookupFM EmptyFM key = lookupFM4 EmptyFM key; lookupFM (Branch key elt vy fm_l fm_r) key_to_find = lookupFM3 (Branch key elt vy fm_l fm_r) key_to_find; " "lookupFM0 key elt vy fm_l fm_r key_to_find True = Just elt; " "lookupFM1 key elt vy fm_l fm_r key_to_find True = lookupFM fm_r key_to_find; lookupFM1 key elt vy fm_l fm_r key_to_find False = lookupFM0 key elt vy fm_l fm_r key_to_find otherwise; " "lookupFM2 key elt vy fm_l fm_r key_to_find True = lookupFM fm_l key_to_find; lookupFM2 key elt vy fm_l fm_r key_to_find False = lookupFM1 key elt vy fm_l fm_r key_to_find (key_to_find > key); " "lookupFM3 (Branch key elt vy fm_l fm_r) key_to_find = lookupFM2 key elt vy fm_l fm_r key_to_find (key_to_find < key); " "lookupFM4 EmptyFM key = Nothing; lookupFM4 wv ww = lookupFM3 wv ww; " ---------------------------------------- (6) Obligation: mainModule Main module FiniteMap where { import qualified Main; import qualified Maybe; import qualified Prelude; data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; instance (Eq a, Eq b) => Eq FiniteMap b a where { } elemFM :: Ord b => b -> FiniteMap b a -> Bool; elemFM key fm = elemFM0 (lookupFM fm key); elemFM0 Nothing = False; elemFM0 (Just elt) = True; lookupFM :: Ord a => FiniteMap a b -> a -> Maybe b; lookupFM EmptyFM key = lookupFM4 EmptyFM key; lookupFM (Branch key elt vy fm_l fm_r) key_to_find = lookupFM3 (Branch key elt vy fm_l fm_r) key_to_find; lookupFM0 key elt vy fm_l fm_r key_to_find True = Just elt; lookupFM1 key elt vy fm_l fm_r key_to_find True = lookupFM fm_r key_to_find; lookupFM1 key elt vy fm_l fm_r key_to_find False = lookupFM0 key elt vy fm_l fm_r key_to_find otherwise; lookupFM2 key elt vy fm_l fm_r key_to_find True = lookupFM fm_l key_to_find; lookupFM2 key elt vy fm_l fm_r key_to_find False = lookupFM1 key elt vy fm_l fm_r key_to_find (key_to_find > key); lookupFM3 (Branch key elt vy fm_l fm_r) key_to_find = lookupFM2 key elt vy fm_l fm_r key_to_find (key_to_find < key); lookupFM4 EmptyFM key = Nothing; lookupFM4 wv ww = lookupFM3 wv ww; } module Maybe where { import qualified FiniteMap; import qualified Main; import qualified Prelude; } module Main where { import qualified FiniteMap; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (7) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="FiniteMap.elemFM",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="FiniteMap.elemFM wx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="FiniteMap.elemFM wx3 wx4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="FiniteMap.elemFM0 (FiniteMap.lookupFM wx4 wx3)",fontsize=16,color="burlywood",shape="triangle"];1566[label="wx4/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];5 -> 1566[label="",style="solid", color="burlywood", weight=9]; 1566 -> 6[label="",style="solid", color="burlywood", weight=3]; 1567[label="wx4/FiniteMap.Branch wx40 wx41 wx42 wx43 wx44",fontsize=10,color="white",style="solid",shape="box"];5 -> 1567[label="",style="solid", color="burlywood", weight=9]; 1567 -> 7[label="",style="solid", color="burlywood", weight=3]; 6[label="FiniteMap.elemFM0 (FiniteMap.lookupFM FiniteMap.EmptyFM wx3)",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 7[label="FiniteMap.elemFM0 (FiniteMap.lookupFM (FiniteMap.Branch wx40 wx41 wx42 wx43 wx44) wx3)",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 8[label="FiniteMap.elemFM0 (FiniteMap.lookupFM4 FiniteMap.EmptyFM wx3)",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 9[label="FiniteMap.elemFM0 (FiniteMap.lookupFM3 (FiniteMap.Branch wx40 wx41 wx42 wx43 wx44) wx3)",fontsize=16,color="black",shape="box"];9 -> 11[label="",style="solid", color="black", weight=3]; 10[label="FiniteMap.elemFM0 Nothing",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 11[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 wx40 wx41 wx42 wx43 wx44 wx3 (wx3 < wx40))",fontsize=16,color="black",shape="box"];11 -> 13[label="",style="solid", color="black", weight=3]; 12[label="False",fontsize=16,color="green",shape="box"];13[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 wx40 wx41 wx42 wx43 wx44 wx3 (compare wx3 wx40 == LT))",fontsize=16,color="black",shape="box"];13 -> 14[label="",style="solid", color="black", weight=3]; 14[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 wx40 wx41 wx42 wx43 wx44 wx3 (primCmpInt wx3 wx40 == LT))",fontsize=16,color="burlywood",shape="box"];1568[label="wx3/Pos wx30",fontsize=10,color="white",style="solid",shape="box"];14 -> 1568[label="",style="solid", color="burlywood", weight=9]; 1568 -> 15[label="",style="solid", color="burlywood", weight=3]; 1569[label="wx3/Neg wx30",fontsize=10,color="white",style="solid",shape="box"];14 -> 1569[label="",style="solid", color="burlywood", weight=9]; 1569 -> 16[label="",style="solid", color="burlywood", weight=3]; 15[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 wx40 wx41 wx42 wx43 wx44 (Pos wx30) (primCmpInt (Pos wx30) wx40 == LT))",fontsize=16,color="burlywood",shape="box"];1570[label="wx30/Succ wx300",fontsize=10,color="white",style="solid",shape="box"];15 -> 1570[label="",style="solid", color="burlywood", weight=9]; 1570 -> 17[label="",style="solid", color="burlywood", weight=3]; 1571[label="wx30/Zero",fontsize=10,color="white",style="solid",shape="box"];15 -> 1571[label="",style="solid", color="burlywood", weight=9]; 1571 -> 18[label="",style="solid", color="burlywood", weight=3]; 16[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 wx40 wx41 wx42 wx43 wx44 (Neg wx30) (primCmpInt (Neg wx30) wx40 == LT))",fontsize=16,color="burlywood",shape="box"];1572[label="wx30/Succ wx300",fontsize=10,color="white",style="solid",shape="box"];16 -> 1572[label="",style="solid", color="burlywood", weight=9]; 1572 -> 19[label="",style="solid", color="burlywood", weight=3]; 1573[label="wx30/Zero",fontsize=10,color="white",style="solid",shape="box"];16 -> 1573[label="",style="solid", color="burlywood", weight=9]; 1573 -> 20[label="",style="solid", color="burlywood", weight=3]; 17[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 wx40 wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (primCmpInt (Pos (Succ wx300)) wx40 == LT))",fontsize=16,color="burlywood",shape="box"];1574[label="wx40/Pos wx400",fontsize=10,color="white",style="solid",shape="box"];17 -> 1574[label="",style="solid", color="burlywood", weight=9]; 1574 -> 21[label="",style="solid", color="burlywood", weight=3]; 1575[label="wx40/Neg wx400",fontsize=10,color="white",style="solid",shape="box"];17 -> 1575[label="",style="solid", color="burlywood", weight=9]; 1575 -> 22[label="",style="solid", color="burlywood", weight=3]; 18[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 wx40 wx41 wx42 wx43 wx44 (Pos Zero) (primCmpInt (Pos Zero) wx40 == LT))",fontsize=16,color="burlywood",shape="box"];1576[label="wx40/Pos wx400",fontsize=10,color="white",style="solid",shape="box"];18 -> 1576[label="",style="solid", color="burlywood", weight=9]; 1576 -> 23[label="",style="solid", color="burlywood", weight=3]; 1577[label="wx40/Neg wx400",fontsize=10,color="white",style="solid",shape="box"];18 -> 1577[label="",style="solid", color="burlywood", weight=9]; 1577 -> 24[label="",style="solid", color="burlywood", weight=3]; 19[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 wx40 wx41 wx42 wx43 wx44 (Neg (Succ wx300)) (primCmpInt (Neg (Succ wx300)) wx40 == LT))",fontsize=16,color="burlywood",shape="box"];1578[label="wx40/Pos wx400",fontsize=10,color="white",style="solid",shape="box"];19 -> 1578[label="",style="solid", color="burlywood", weight=9]; 1578 -> 25[label="",style="solid", color="burlywood", weight=3]; 1579[label="wx40/Neg wx400",fontsize=10,color="white",style="solid",shape="box"];19 -> 1579[label="",style="solid", color="burlywood", weight=9]; 1579 -> 26[label="",style="solid", color="burlywood", weight=3]; 20[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 wx40 wx41 wx42 wx43 wx44 (Neg Zero) (primCmpInt (Neg Zero) wx40 == LT))",fontsize=16,color="burlywood",shape="box"];1580[label="wx40/Pos wx400",fontsize=10,color="white",style="solid",shape="box"];20 -> 1580[label="",style="solid", color="burlywood", weight=9]; 1580 -> 27[label="",style="solid", color="burlywood", weight=3]; 1581[label="wx40/Neg wx400",fontsize=10,color="white",style="solid",shape="box"];20 -> 1581[label="",style="solid", color="burlywood", weight=9]; 1581 -> 28[label="",style="solid", color="burlywood", weight=3]; 21[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos wx400) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (primCmpInt (Pos (Succ wx300)) (Pos wx400) == LT))",fontsize=16,color="black",shape="box"];21 -> 29[label="",style="solid", color="black", weight=3]; 22[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg wx400) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (primCmpInt (Pos (Succ wx300)) (Neg wx400) == LT))",fontsize=16,color="black",shape="box"];22 -> 30[label="",style="solid", color="black", weight=3]; 23[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos wx400) wx41 wx42 wx43 wx44 (Pos Zero) (primCmpInt (Pos Zero) (Pos wx400) == LT))",fontsize=16,color="burlywood",shape="box"];1582[label="wx400/Succ wx4000",fontsize=10,color="white",style="solid",shape="box"];23 -> 1582[label="",style="solid", color="burlywood", weight=9]; 1582 -> 31[label="",style="solid", color="burlywood", weight=3]; 1583[label="wx400/Zero",fontsize=10,color="white",style="solid",shape="box"];23 -> 1583[label="",style="solid", color="burlywood", weight=9]; 1583 -> 32[label="",style="solid", color="burlywood", weight=3]; 24[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg wx400) wx41 wx42 wx43 wx44 (Pos Zero) (primCmpInt (Pos Zero) (Neg wx400) == LT))",fontsize=16,color="burlywood",shape="box"];1584[label="wx400/Succ wx4000",fontsize=10,color="white",style="solid",shape="box"];24 -> 1584[label="",style="solid", color="burlywood", weight=9]; 1584 -> 33[label="",style="solid", color="burlywood", weight=3]; 1585[label="wx400/Zero",fontsize=10,color="white",style="solid",shape="box"];24 -> 1585[label="",style="solid", color="burlywood", weight=9]; 1585 -> 34[label="",style="solid", color="burlywood", weight=3]; 25[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos wx400) wx41 wx42 wx43 wx44 (Neg (Succ wx300)) (primCmpInt (Neg (Succ wx300)) (Pos wx400) == LT))",fontsize=16,color="black",shape="box"];25 -> 35[label="",style="solid", color="black", weight=3]; 26[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg wx400) wx41 wx42 wx43 wx44 (Neg (Succ wx300)) (primCmpInt (Neg (Succ wx300)) (Neg wx400) == LT))",fontsize=16,color="black",shape="box"];26 -> 36[label="",style="solid", color="black", weight=3]; 27[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos wx400) wx41 wx42 wx43 wx44 (Neg Zero) (primCmpInt (Neg Zero) (Pos wx400) == LT))",fontsize=16,color="burlywood",shape="box"];1586[label="wx400/Succ wx4000",fontsize=10,color="white",style="solid",shape="box"];27 -> 1586[label="",style="solid", color="burlywood", weight=9]; 1586 -> 37[label="",style="solid", color="burlywood", weight=3]; 1587[label="wx400/Zero",fontsize=10,color="white",style="solid",shape="box"];27 -> 1587[label="",style="solid", color="burlywood", weight=9]; 1587 -> 38[label="",style="solid", color="burlywood", weight=3]; 28[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg wx400) wx41 wx42 wx43 wx44 (Neg Zero) (primCmpInt (Neg Zero) (Neg wx400) == LT))",fontsize=16,color="burlywood",shape="box"];1588[label="wx400/Succ wx4000",fontsize=10,color="white",style="solid",shape="box"];28 -> 1588[label="",style="solid", color="burlywood", weight=9]; 1588 -> 39[label="",style="solid", color="burlywood", weight=3]; 1589[label="wx400/Zero",fontsize=10,color="white",style="solid",shape="box"];28 -> 1589[label="",style="solid", color="burlywood", weight=9]; 1589 -> 40[label="",style="solid", color="burlywood", weight=3]; 29[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos wx400) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (primCmpNat (Succ wx300) wx400 == LT))",fontsize=16,color="burlywood",shape="box"];1590[label="wx400/Succ wx4000",fontsize=10,color="white",style="solid",shape="box"];29 -> 1590[label="",style="solid", color="burlywood", weight=9]; 1590 -> 41[label="",style="solid", color="burlywood", weight=3]; 1591[label="wx400/Zero",fontsize=10,color="white",style="solid",shape="box"];29 -> 1591[label="",style="solid", color="burlywood", weight=9]; 1591 -> 42[label="",style="solid", color="burlywood", weight=3]; 30[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg wx400) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (GT == LT))",fontsize=16,color="black",shape="box"];30 -> 43[label="",style="solid", color="black", weight=3]; 31[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos Zero) (primCmpInt (Pos Zero) (Pos (Succ wx4000)) == LT))",fontsize=16,color="black",shape="box"];31 -> 44[label="",style="solid", color="black", weight=3]; 32[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos Zero) wx41 wx42 wx43 wx44 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];32 -> 45[label="",style="solid", color="black", weight=3]; 33[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos Zero) (primCmpInt (Pos Zero) (Neg (Succ wx4000)) == LT))",fontsize=16,color="black",shape="box"];33 -> 46[label="",style="solid", color="black", weight=3]; 34[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg Zero) wx41 wx42 wx43 wx44 (Pos Zero) (primCmpInt (Pos Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];34 -> 47[label="",style="solid", color="black", weight=3]; 35[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos wx400) wx41 wx42 wx43 wx44 (Neg (Succ wx300)) (LT == LT))",fontsize=16,color="black",shape="box"];35 -> 48[label="",style="solid", color="black", weight=3]; 36[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg wx400) wx41 wx42 wx43 wx44 (Neg (Succ wx300)) (primCmpNat wx400 (Succ wx300) == LT))",fontsize=16,color="burlywood",shape="box"];1592[label="wx400/Succ wx4000",fontsize=10,color="white",style="solid",shape="box"];36 -> 1592[label="",style="solid", color="burlywood", weight=9]; 1592 -> 49[label="",style="solid", color="burlywood", weight=3]; 1593[label="wx400/Zero",fontsize=10,color="white",style="solid",shape="box"];36 -> 1593[label="",style="solid", color="burlywood", weight=9]; 1593 -> 50[label="",style="solid", color="burlywood", weight=3]; 37[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg Zero) (primCmpInt (Neg Zero) (Pos (Succ wx4000)) == LT))",fontsize=16,color="black",shape="box"];37 -> 51[label="",style="solid", color="black", weight=3]; 38[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos Zero) wx41 wx42 wx43 wx44 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];38 -> 52[label="",style="solid", color="black", weight=3]; 39[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg Zero) (primCmpInt (Neg Zero) (Neg (Succ wx4000)) == LT))",fontsize=16,color="black",shape="box"];39 -> 53[label="",style="solid", color="black", weight=3]; 40[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg Zero) wx41 wx42 wx43 wx44 (Neg Zero) (primCmpInt (Neg Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];40 -> 54[label="",style="solid", color="black", weight=3]; 41[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (primCmpNat (Succ wx300) (Succ wx4000) == LT))",fontsize=16,color="black",shape="box"];41 -> 55[label="",style="solid", color="black", weight=3]; 42[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos Zero) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (primCmpNat (Succ wx300) Zero == LT))",fontsize=16,color="black",shape="box"];42 -> 56[label="",style="solid", color="black", weight=3]; 43[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg wx400) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) False)",fontsize=16,color="black",shape="box"];43 -> 57[label="",style="solid", color="black", weight=3]; 44[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos Zero) (primCmpNat Zero (Succ wx4000) == LT))",fontsize=16,color="black",shape="box"];44 -> 58[label="",style="solid", color="black", weight=3]; 45[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos Zero) wx41 wx42 wx43 wx44 (Pos Zero) (EQ == LT))",fontsize=16,color="black",shape="box"];45 -> 59[label="",style="solid", color="black", weight=3]; 46[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos Zero) (GT == LT))",fontsize=16,color="black",shape="box"];46 -> 60[label="",style="solid", color="black", weight=3]; 47[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg Zero) wx41 wx42 wx43 wx44 (Pos Zero) (EQ == LT))",fontsize=16,color="black",shape="box"];47 -> 61[label="",style="solid", color="black", weight=3]; 48[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos wx400) wx41 wx42 wx43 wx44 (Neg (Succ wx300)) True)",fontsize=16,color="black",shape="box"];48 -> 62[label="",style="solid", color="black", weight=3]; 49[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg (Succ wx300)) (primCmpNat (Succ wx4000) (Succ wx300) == LT))",fontsize=16,color="black",shape="box"];49 -> 63[label="",style="solid", color="black", weight=3]; 50[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg Zero) wx41 wx42 wx43 wx44 (Neg (Succ wx300)) (primCmpNat Zero (Succ wx300) == LT))",fontsize=16,color="black",shape="box"];50 -> 64[label="",style="solid", color="black", weight=3]; 51[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg Zero) (LT == LT))",fontsize=16,color="black",shape="box"];51 -> 65[label="",style="solid", color="black", weight=3]; 52[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos Zero) wx41 wx42 wx43 wx44 (Neg Zero) (EQ == LT))",fontsize=16,color="black",shape="box"];52 -> 66[label="",style="solid", color="black", weight=3]; 53[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg Zero) (primCmpNat (Succ wx4000) Zero == LT))",fontsize=16,color="black",shape="box"];53 -> 67[label="",style="solid", color="black", weight=3]; 54[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg Zero) wx41 wx42 wx43 wx44 (Neg Zero) (EQ == LT))",fontsize=16,color="black",shape="box"];54 -> 68[label="",style="solid", color="black", weight=3]; 55 -> 709[label="",style="dashed", color="red", weight=0]; 55[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (primCmpNat wx300 wx4000 == LT))",fontsize=16,color="magenta"];55 -> 710[label="",style="dashed", color="magenta", weight=3]; 55 -> 711[label="",style="dashed", color="magenta", weight=3]; 55 -> 712[label="",style="dashed", color="magenta", weight=3]; 55 -> 713[label="",style="dashed", color="magenta", weight=3]; 55 -> 714[label="",style="dashed", color="magenta", weight=3]; 55 -> 715[label="",style="dashed", color="magenta", weight=3]; 55 -> 716[label="",style="dashed", color="magenta", weight=3]; 55 -> 717[label="",style="dashed", color="magenta", weight=3]; 56[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos Zero) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (GT == LT))",fontsize=16,color="black",shape="box"];56 -> 71[label="",style="solid", color="black", weight=3]; 57[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg wx400) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (Pos (Succ wx300) > Neg wx400))",fontsize=16,color="black",shape="box"];57 -> 72[label="",style="solid", color="black", weight=3]; 58[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos Zero) (LT == LT))",fontsize=16,color="black",shape="box"];58 -> 73[label="",style="solid", color="black", weight=3]; 59[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos Zero) wx41 wx42 wx43 wx44 (Pos Zero) False)",fontsize=16,color="black",shape="box"];59 -> 74[label="",style="solid", color="black", weight=3]; 60[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos Zero) False)",fontsize=16,color="black",shape="box"];60 -> 75[label="",style="solid", color="black", weight=3]; 61[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg Zero) wx41 wx42 wx43 wx44 (Pos Zero) False)",fontsize=16,color="black",shape="box"];61 -> 76[label="",style="solid", color="black", weight=3]; 62 -> 5[label="",style="dashed", color="red", weight=0]; 62[label="FiniteMap.elemFM0 (FiniteMap.lookupFM wx43 (Neg (Succ wx300)))",fontsize=16,color="magenta"];62 -> 77[label="",style="dashed", color="magenta", weight=3]; 62 -> 78[label="",style="dashed", color="magenta", weight=3]; 63 -> 792[label="",style="dashed", color="red", weight=0]; 63[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg (Succ wx300)) (primCmpNat wx4000 wx300 == LT))",fontsize=16,color="magenta"];63 -> 793[label="",style="dashed", color="magenta", weight=3]; 63 -> 794[label="",style="dashed", color="magenta", weight=3]; 63 -> 795[label="",style="dashed", color="magenta", weight=3]; 63 -> 796[label="",style="dashed", color="magenta", weight=3]; 63 -> 797[label="",style="dashed", color="magenta", weight=3]; 63 -> 798[label="",style="dashed", color="magenta", weight=3]; 63 -> 799[label="",style="dashed", color="magenta", weight=3]; 63 -> 800[label="",style="dashed", color="magenta", weight=3]; 64[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg Zero) wx41 wx42 wx43 wx44 (Neg (Succ wx300)) (LT == LT))",fontsize=16,color="black",shape="box"];64 -> 81[label="",style="solid", color="black", weight=3]; 65[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg Zero) True)",fontsize=16,color="black",shape="box"];65 -> 82[label="",style="solid", color="black", weight=3]; 66[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos Zero) wx41 wx42 wx43 wx44 (Neg Zero) False)",fontsize=16,color="black",shape="box"];66 -> 83[label="",style="solid", color="black", weight=3]; 67[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg Zero) (GT == LT))",fontsize=16,color="black",shape="box"];67 -> 84[label="",style="solid", color="black", weight=3]; 68[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg Zero) wx41 wx42 wx43 wx44 (Neg Zero) False)",fontsize=16,color="black",shape="box"];68 -> 85[label="",style="solid", color="black", weight=3]; 710[label="wx300",fontsize=16,color="green",shape="box"];711[label="wx43",fontsize=16,color="green",shape="box"];712[label="wx42",fontsize=16,color="green",shape="box"];713[label="wx4000",fontsize=16,color="green",shape="box"];714[label="wx300",fontsize=16,color="green",shape="box"];715[label="wx41",fontsize=16,color="green",shape="box"];716[label="wx44",fontsize=16,color="green",shape="box"];717[label="wx4000",fontsize=16,color="green",shape="box"];709[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (primCmpNat wx70 wx71 == LT))",fontsize=16,color="burlywood",shape="triangle"];1594[label="wx70/Succ wx700",fontsize=10,color="white",style="solid",shape="box"];709 -> 1594[label="",style="solid", color="burlywood", weight=9]; 1594 -> 790[label="",style="solid", color="burlywood", weight=3]; 1595[label="wx70/Zero",fontsize=10,color="white",style="solid",shape="box"];709 -> 1595[label="",style="solid", color="burlywood", weight=9]; 1595 -> 791[label="",style="solid", color="burlywood", weight=3]; 71[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos Zero) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) False)",fontsize=16,color="black",shape="box"];71 -> 90[label="",style="solid", color="black", weight=3]; 72[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg wx400) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (compare (Pos (Succ wx300)) (Neg wx400) == GT))",fontsize=16,color="black",shape="box"];72 -> 91[label="",style="solid", color="black", weight=3]; 73[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos Zero) True)",fontsize=16,color="black",shape="box"];73 -> 92[label="",style="solid", color="black", weight=3]; 74[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Pos Zero) (Pos Zero > Pos Zero))",fontsize=16,color="black",shape="box"];74 -> 93[label="",style="solid", color="black", weight=3]; 75[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos Zero) (Pos Zero > Neg (Succ wx4000)))",fontsize=16,color="black",shape="box"];75 -> 94[label="",style="solid", color="black", weight=3]; 76[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg Zero) wx41 wx42 wx43 wx44 (Pos Zero) (Pos Zero > Neg Zero))",fontsize=16,color="black",shape="box"];76 -> 95[label="",style="solid", color="black", weight=3]; 77[label="wx43",fontsize=16,color="green",shape="box"];78[label="Neg (Succ wx300)",fontsize=16,color="green",shape="box"];793[label="wx300",fontsize=16,color="green",shape="box"];794[label="wx41",fontsize=16,color="green",shape="box"];795[label="wx4000",fontsize=16,color="green",shape="box"];796[label="wx43",fontsize=16,color="green",shape="box"];797[label="wx42",fontsize=16,color="green",shape="box"];798[label="wx300",fontsize=16,color="green",shape="box"];799[label="wx4000",fontsize=16,color="green",shape="box"];800[label="wx44",fontsize=16,color="green",shape="box"];792[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (primCmpNat wx79 wx80 == LT))",fontsize=16,color="burlywood",shape="triangle"];1596[label="wx79/Succ wx790",fontsize=10,color="white",style="solid",shape="box"];792 -> 1596[label="",style="solid", color="burlywood", weight=9]; 1596 -> 873[label="",style="solid", color="burlywood", weight=3]; 1597[label="wx79/Zero",fontsize=10,color="white",style="solid",shape="box"];792 -> 1597[label="",style="solid", color="burlywood", weight=9]; 1597 -> 874[label="",style="solid", color="burlywood", weight=3]; 81[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg Zero) wx41 wx42 wx43 wx44 (Neg (Succ wx300)) True)",fontsize=16,color="black",shape="box"];81 -> 100[label="",style="solid", color="black", weight=3]; 82 -> 5[label="",style="dashed", color="red", weight=0]; 82[label="FiniteMap.elemFM0 (FiniteMap.lookupFM wx43 (Neg Zero))",fontsize=16,color="magenta"];82 -> 101[label="",style="dashed", color="magenta", weight=3]; 82 -> 102[label="",style="dashed", color="magenta", weight=3]; 83[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Neg Zero) (Neg Zero > Pos Zero))",fontsize=16,color="black",shape="box"];83 -> 103[label="",style="solid", color="black", weight=3]; 84[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg Zero) False)",fontsize=16,color="black",shape="box"];84 -> 104[label="",style="solid", color="black", weight=3]; 85[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg Zero) wx41 wx42 wx43 wx44 (Neg Zero) (Neg Zero > Neg Zero))",fontsize=16,color="black",shape="box"];85 -> 105[label="",style="solid", color="black", weight=3]; 790[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (primCmpNat (Succ wx700) wx71 == LT))",fontsize=16,color="burlywood",shape="box"];1598[label="wx71/Succ wx710",fontsize=10,color="white",style="solid",shape="box"];790 -> 1598[label="",style="solid", color="burlywood", weight=9]; 1598 -> 875[label="",style="solid", color="burlywood", weight=3]; 1599[label="wx71/Zero",fontsize=10,color="white",style="solid",shape="box"];790 -> 1599[label="",style="solid", color="burlywood", weight=9]; 1599 -> 876[label="",style="solid", color="burlywood", weight=3]; 791[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (primCmpNat Zero wx71 == LT))",fontsize=16,color="burlywood",shape="box"];1600[label="wx71/Succ wx710",fontsize=10,color="white",style="solid",shape="box"];791 -> 1600[label="",style="solid", color="burlywood", weight=9]; 1600 -> 877[label="",style="solid", color="burlywood", weight=3]; 1601[label="wx71/Zero",fontsize=10,color="white",style="solid",shape="box"];791 -> 1601[label="",style="solid", color="burlywood", weight=9]; 1601 -> 878[label="",style="solid", color="burlywood", weight=3]; 90[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (Pos (Succ wx300) > Pos Zero))",fontsize=16,color="black",shape="box"];90 -> 110[label="",style="solid", color="black", weight=3]; 91[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg wx400) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (primCmpInt (Pos (Succ wx300)) (Neg wx400) == GT))",fontsize=16,color="black",shape="box"];91 -> 111[label="",style="solid", color="black", weight=3]; 92 -> 5[label="",style="dashed", color="red", weight=0]; 92[label="FiniteMap.elemFM0 (FiniteMap.lookupFM wx43 (Pos Zero))",fontsize=16,color="magenta"];92 -> 112[label="",style="dashed", color="magenta", weight=3]; 92 -> 113[label="",style="dashed", color="magenta", weight=3]; 93[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Pos Zero) (compare (Pos Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];93 -> 114[label="",style="solid", color="black", weight=3]; 94[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos Zero) (compare (Pos Zero) (Neg (Succ wx4000)) == GT))",fontsize=16,color="black",shape="box"];94 -> 115[label="",style="solid", color="black", weight=3]; 95[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg Zero) wx41 wx42 wx43 wx44 (Pos Zero) (compare (Pos Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];95 -> 116[label="",style="solid", color="black", weight=3]; 873[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (primCmpNat (Succ wx790) wx80 == LT))",fontsize=16,color="burlywood",shape="box"];1602[label="wx80/Succ wx800",fontsize=10,color="white",style="solid",shape="box"];873 -> 1602[label="",style="solid", color="burlywood", weight=9]; 1602 -> 879[label="",style="solid", color="burlywood", weight=3]; 1603[label="wx80/Zero",fontsize=10,color="white",style="solid",shape="box"];873 -> 1603[label="",style="solid", color="burlywood", weight=9]; 1603 -> 880[label="",style="solid", color="burlywood", weight=3]; 874[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (primCmpNat Zero wx80 == LT))",fontsize=16,color="burlywood",shape="box"];1604[label="wx80/Succ wx800",fontsize=10,color="white",style="solid",shape="box"];874 -> 1604[label="",style="solid", color="burlywood", weight=9]; 1604 -> 881[label="",style="solid", color="burlywood", weight=3]; 1605[label="wx80/Zero",fontsize=10,color="white",style="solid",shape="box"];874 -> 1605[label="",style="solid", color="burlywood", weight=9]; 1605 -> 882[label="",style="solid", color="burlywood", weight=3]; 100 -> 5[label="",style="dashed", color="red", weight=0]; 100[label="FiniteMap.elemFM0 (FiniteMap.lookupFM wx43 (Neg (Succ wx300)))",fontsize=16,color="magenta"];100 -> 121[label="",style="dashed", color="magenta", weight=3]; 100 -> 122[label="",style="dashed", color="magenta", weight=3]; 101[label="wx43",fontsize=16,color="green",shape="box"];102[label="Neg Zero",fontsize=16,color="green",shape="box"];103[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Neg Zero) (compare (Neg Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];103 -> 123[label="",style="solid", color="black", weight=3]; 104[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg Zero) (Neg Zero > Neg (Succ wx4000)))",fontsize=16,color="black",shape="box"];104 -> 124[label="",style="solid", color="black", weight=3]; 105[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg Zero) wx41 wx42 wx43 wx44 (Neg Zero) (compare (Neg Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];105 -> 125[label="",style="solid", color="black", weight=3]; 875[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (primCmpNat (Succ wx700) (Succ wx710) == LT))",fontsize=16,color="black",shape="box"];875 -> 883[label="",style="solid", color="black", weight=3]; 876[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (primCmpNat (Succ wx700) Zero == LT))",fontsize=16,color="black",shape="box"];876 -> 884[label="",style="solid", color="black", weight=3]; 877[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (primCmpNat Zero (Succ wx710) == LT))",fontsize=16,color="black",shape="box"];877 -> 885[label="",style="solid", color="black", weight=3]; 878[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];878 -> 886[label="",style="solid", color="black", weight=3]; 110[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (compare (Pos (Succ wx300)) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];110 -> 131[label="",style="solid", color="black", weight=3]; 111[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg wx400) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (GT == GT))",fontsize=16,color="black",shape="box"];111 -> 132[label="",style="solid", color="black", weight=3]; 112[label="wx43",fontsize=16,color="green",shape="box"];113[label="Pos Zero",fontsize=16,color="green",shape="box"];114[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];114 -> 133[label="",style="solid", color="black", weight=3]; 115[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos Zero) (primCmpInt (Pos Zero) (Neg (Succ wx4000)) == GT))",fontsize=16,color="black",shape="box"];115 -> 134[label="",style="solid", color="black", weight=3]; 116[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg Zero) wx41 wx42 wx43 wx44 (Pos Zero) (primCmpInt (Pos Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];116 -> 135[label="",style="solid", color="black", weight=3]; 879[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (primCmpNat (Succ wx790) (Succ wx800) == LT))",fontsize=16,color="black",shape="box"];879 -> 887[label="",style="solid", color="black", weight=3]; 880[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (primCmpNat (Succ wx790) Zero == LT))",fontsize=16,color="black",shape="box"];880 -> 888[label="",style="solid", color="black", weight=3]; 881[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (primCmpNat Zero (Succ wx800) == LT))",fontsize=16,color="black",shape="box"];881 -> 889[label="",style="solid", color="black", weight=3]; 882[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];882 -> 890[label="",style="solid", color="black", weight=3]; 121[label="wx43",fontsize=16,color="green",shape="box"];122[label="Neg (Succ wx300)",fontsize=16,color="green",shape="box"];123[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];123 -> 141[label="",style="solid", color="black", weight=3]; 124[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg Zero) (compare (Neg Zero) (Neg (Succ wx4000)) == GT))",fontsize=16,color="black",shape="box"];124 -> 142[label="",style="solid", color="black", weight=3]; 125[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg Zero) wx41 wx42 wx43 wx44 (Neg Zero) (primCmpInt (Neg Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];125 -> 143[label="",style="solid", color="black", weight=3]; 883 -> 709[label="",style="dashed", color="red", weight=0]; 883[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (primCmpNat wx700 wx710 == LT))",fontsize=16,color="magenta"];883 -> 891[label="",style="dashed", color="magenta", weight=3]; 883 -> 892[label="",style="dashed", color="magenta", weight=3]; 884[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (GT == LT))",fontsize=16,color="black",shape="box"];884 -> 893[label="",style="solid", color="black", weight=3]; 885[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (LT == LT))",fontsize=16,color="black",shape="box"];885 -> 894[label="",style="solid", color="black", weight=3]; 886[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (EQ == LT))",fontsize=16,color="black",shape="box"];886 -> 895[label="",style="solid", color="black", weight=3]; 131[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (primCmpInt (Pos (Succ wx300)) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];131 -> 151[label="",style="solid", color="black", weight=3]; 132[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg wx400) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) True)",fontsize=16,color="black",shape="box"];132 -> 152[label="",style="solid", color="black", weight=3]; 133[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Pos Zero) (EQ == GT))",fontsize=16,color="black",shape="box"];133 -> 153[label="",style="solid", color="black", weight=3]; 134[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos Zero) (GT == GT))",fontsize=16,color="black",shape="box"];134 -> 154[label="",style="solid", color="black", weight=3]; 135[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg Zero) wx41 wx42 wx43 wx44 (Pos Zero) (EQ == GT))",fontsize=16,color="black",shape="box"];135 -> 155[label="",style="solid", color="black", weight=3]; 887 -> 792[label="",style="dashed", color="red", weight=0]; 887[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (primCmpNat wx790 wx800 == LT))",fontsize=16,color="magenta"];887 -> 896[label="",style="dashed", color="magenta", weight=3]; 887 -> 897[label="",style="dashed", color="magenta", weight=3]; 888[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (GT == LT))",fontsize=16,color="black",shape="box"];888 -> 898[label="",style="solid", color="black", weight=3]; 889[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (LT == LT))",fontsize=16,color="black",shape="box"];889 -> 899[label="",style="solid", color="black", weight=3]; 890[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (EQ == LT))",fontsize=16,color="black",shape="box"];890 -> 900[label="",style="solid", color="black", weight=3]; 141[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Neg Zero) (EQ == GT))",fontsize=16,color="black",shape="box"];141 -> 163[label="",style="solid", color="black", weight=3]; 142[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg Zero) (primCmpInt (Neg Zero) (Neg (Succ wx4000)) == GT))",fontsize=16,color="black",shape="box"];142 -> 164[label="",style="solid", color="black", weight=3]; 143[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg Zero) wx41 wx42 wx43 wx44 (Neg Zero) (EQ == GT))",fontsize=16,color="black",shape="box"];143 -> 165[label="",style="solid", color="black", weight=3]; 891[label="wx700",fontsize=16,color="green",shape="box"];892[label="wx710",fontsize=16,color="green",shape="box"];893[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) False)",fontsize=16,color="black",shape="triangle"];893 -> 901[label="",style="solid", color="black", weight=3]; 894[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) True)",fontsize=16,color="black",shape="box"];894 -> 902[label="",style="solid", color="black", weight=3]; 895 -> 893[label="",style="dashed", color="red", weight=0]; 895[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) False)",fontsize=16,color="magenta"];151[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (primCmpNat (Succ wx300) Zero == GT))",fontsize=16,color="black",shape="box"];151 -> 174[label="",style="solid", color="black", weight=3]; 152 -> 5[label="",style="dashed", color="red", weight=0]; 152[label="FiniteMap.elemFM0 (FiniteMap.lookupFM wx44 (Pos (Succ wx300)))",fontsize=16,color="magenta"];152 -> 175[label="",style="dashed", color="magenta", weight=3]; 152 -> 176[label="",style="dashed", color="magenta", weight=3]; 153[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Pos Zero) False)",fontsize=16,color="black",shape="box"];153 -> 177[label="",style="solid", color="black", weight=3]; 154[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Pos Zero) True)",fontsize=16,color="black",shape="box"];154 -> 178[label="",style="solid", color="black", weight=3]; 155[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg Zero) wx41 wx42 wx43 wx44 (Pos Zero) False)",fontsize=16,color="black",shape="box"];155 -> 179[label="",style="solid", color="black", weight=3]; 896[label="wx800",fontsize=16,color="green",shape="box"];897[label="wx790",fontsize=16,color="green",shape="box"];898[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) False)",fontsize=16,color="black",shape="triangle"];898 -> 903[label="",style="solid", color="black", weight=3]; 899[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) True)",fontsize=16,color="black",shape="box"];899 -> 904[label="",style="solid", color="black", weight=3]; 900 -> 898[label="",style="dashed", color="red", weight=0]; 900[label="FiniteMap.elemFM0 (FiniteMap.lookupFM2 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) False)",fontsize=16,color="magenta"];163[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Neg Zero) False)",fontsize=16,color="black",shape="box"];163 -> 188[label="",style="solid", color="black", weight=3]; 164[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg Zero) (primCmpNat (Succ wx4000) Zero == GT))",fontsize=16,color="black",shape="box"];164 -> 189[label="",style="solid", color="black", weight=3]; 165[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg Zero) wx41 wx42 wx43 wx44 (Neg Zero) False)",fontsize=16,color="black",shape="box"];165 -> 190[label="",style="solid", color="black", weight=3]; 901[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (Pos (Succ wx69) > Pos (Succ wx64)))",fontsize=16,color="black",shape="box"];901 -> 905[label="",style="solid", color="black", weight=3]; 902 -> 5[label="",style="dashed", color="red", weight=0]; 902[label="FiniteMap.elemFM0 (FiniteMap.lookupFM wx67 (Pos (Succ wx69)))",fontsize=16,color="magenta"];902 -> 906[label="",style="dashed", color="magenta", weight=3]; 902 -> 907[label="",style="dashed", color="magenta", weight=3]; 174[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) (GT == GT))",fontsize=16,color="black",shape="box"];174 -> 198[label="",style="solid", color="black", weight=3]; 175[label="wx44",fontsize=16,color="green",shape="box"];176[label="Pos (Succ wx300)",fontsize=16,color="green",shape="box"];177[label="FiniteMap.elemFM0 (FiniteMap.lookupFM0 (Pos Zero) wx41 wx42 wx43 wx44 (Pos Zero) otherwise)",fontsize=16,color="black",shape="box"];177 -> 199[label="",style="solid", color="black", weight=3]; 178 -> 5[label="",style="dashed", color="red", weight=0]; 178[label="FiniteMap.elemFM0 (FiniteMap.lookupFM wx44 (Pos Zero))",fontsize=16,color="magenta"];178 -> 200[label="",style="dashed", color="magenta", weight=3]; 178 -> 201[label="",style="dashed", color="magenta", weight=3]; 179[label="FiniteMap.elemFM0 (FiniteMap.lookupFM0 (Neg Zero) wx41 wx42 wx43 wx44 (Pos Zero) otherwise)",fontsize=16,color="black",shape="box"];179 -> 202[label="",style="solid", color="black", weight=3]; 903[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (Neg (Succ wx78) > Neg (Succ wx73)))",fontsize=16,color="black",shape="box"];903 -> 908[label="",style="solid", color="black", weight=3]; 904 -> 5[label="",style="dashed", color="red", weight=0]; 904[label="FiniteMap.elemFM0 (FiniteMap.lookupFM wx76 (Neg (Succ wx78)))",fontsize=16,color="magenta"];904 -> 909[label="",style="dashed", color="magenta", weight=3]; 904 -> 910[label="",style="dashed", color="magenta", weight=3]; 188[label="FiniteMap.elemFM0 (FiniteMap.lookupFM0 (Pos Zero) wx41 wx42 wx43 wx44 (Neg Zero) otherwise)",fontsize=16,color="black",shape="box"];188 -> 210[label="",style="solid", color="black", weight=3]; 189[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg Zero) (GT == GT))",fontsize=16,color="black",shape="box"];189 -> 211[label="",style="solid", color="black", weight=3]; 190[label="FiniteMap.elemFM0 (FiniteMap.lookupFM0 (Neg Zero) wx41 wx42 wx43 wx44 (Neg Zero) otherwise)",fontsize=16,color="black",shape="box"];190 -> 212[label="",style="solid", color="black", weight=3]; 905[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (compare (Pos (Succ wx69)) (Pos (Succ wx64)) == GT))",fontsize=16,color="black",shape="box"];905 -> 911[label="",style="solid", color="black", weight=3]; 906[label="wx67",fontsize=16,color="green",shape="box"];907[label="Pos (Succ wx69)",fontsize=16,color="green",shape="box"];198[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos Zero) wx41 wx42 wx43 wx44 (Pos (Succ wx300)) True)",fontsize=16,color="black",shape="box"];198 -> 222[label="",style="solid", color="black", weight=3]; 199[label="FiniteMap.elemFM0 (FiniteMap.lookupFM0 (Pos Zero) wx41 wx42 wx43 wx44 (Pos Zero) True)",fontsize=16,color="black",shape="box"];199 -> 223[label="",style="solid", color="black", weight=3]; 200[label="wx44",fontsize=16,color="green",shape="box"];201[label="Pos Zero",fontsize=16,color="green",shape="box"];202[label="FiniteMap.elemFM0 (FiniteMap.lookupFM0 (Neg Zero) wx41 wx42 wx43 wx44 (Pos Zero) True)",fontsize=16,color="black",shape="box"];202 -> 224[label="",style="solid", color="black", weight=3]; 908[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (compare (Neg (Succ wx78)) (Neg (Succ wx73)) == GT))",fontsize=16,color="black",shape="box"];908 -> 912[label="",style="solid", color="black", weight=3]; 909[label="wx76",fontsize=16,color="green",shape="box"];910[label="Neg (Succ wx78)",fontsize=16,color="green",shape="box"];210[label="FiniteMap.elemFM0 (FiniteMap.lookupFM0 (Pos Zero) wx41 wx42 wx43 wx44 (Neg Zero) True)",fontsize=16,color="black",shape="box"];210 -> 234[label="",style="solid", color="black", weight=3]; 211[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx4000)) wx41 wx42 wx43 wx44 (Neg Zero) True)",fontsize=16,color="black",shape="box"];211 -> 235[label="",style="solid", color="black", weight=3]; 212[label="FiniteMap.elemFM0 (FiniteMap.lookupFM0 (Neg Zero) wx41 wx42 wx43 wx44 (Neg Zero) True)",fontsize=16,color="black",shape="box"];212 -> 236[label="",style="solid", color="black", weight=3]; 911[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (primCmpInt (Pos (Succ wx69)) (Pos (Succ wx64)) == GT))",fontsize=16,color="black",shape="box"];911 -> 913[label="",style="solid", color="black", weight=3]; 222 -> 5[label="",style="dashed", color="red", weight=0]; 222[label="FiniteMap.elemFM0 (FiniteMap.lookupFM wx44 (Pos (Succ wx300)))",fontsize=16,color="magenta"];222 -> 247[label="",style="dashed", color="magenta", weight=3]; 222 -> 248[label="",style="dashed", color="magenta", weight=3]; 223[label="FiniteMap.elemFM0 (Just wx41)",fontsize=16,color="black",shape="triangle"];223 -> 249[label="",style="solid", color="black", weight=3]; 224 -> 223[label="",style="dashed", color="red", weight=0]; 224[label="FiniteMap.elemFM0 (Just wx41)",fontsize=16,color="magenta"];912[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (primCmpInt (Neg (Succ wx78)) (Neg (Succ wx73)) == GT))",fontsize=16,color="black",shape="box"];912 -> 914[label="",style="solid", color="black", weight=3]; 234 -> 223[label="",style="dashed", color="red", weight=0]; 234[label="FiniteMap.elemFM0 (Just wx41)",fontsize=16,color="magenta"];235 -> 5[label="",style="dashed", color="red", weight=0]; 235[label="FiniteMap.elemFM0 (FiniteMap.lookupFM wx44 (Neg Zero))",fontsize=16,color="magenta"];235 -> 260[label="",style="dashed", color="magenta", weight=3]; 235 -> 261[label="",style="dashed", color="magenta", weight=3]; 236 -> 223[label="",style="dashed", color="red", weight=0]; 236[label="FiniteMap.elemFM0 (Just wx41)",fontsize=16,color="magenta"];913 -> 1344[label="",style="dashed", color="red", weight=0]; 913[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx64)) wx65 wx66 wx67 wx68 (Pos (Succ wx69)) (primCmpNat (Succ wx69) (Succ wx64) == GT))",fontsize=16,color="magenta"];913 -> 1345[label="",style="dashed", color="magenta", weight=3]; 913 -> 1346[label="",style="dashed", color="magenta", weight=3]; 913 -> 1347[label="",style="dashed", color="magenta", weight=3]; 913 -> 1348[label="",style="dashed", color="magenta", weight=3]; 913 -> 1349[label="",style="dashed", color="magenta", weight=3]; 913 -> 1350[label="",style="dashed", color="magenta", weight=3]; 913 -> 1351[label="",style="dashed", color="magenta", weight=3]; 913 -> 1352[label="",style="dashed", color="magenta", weight=3]; 247[label="wx44",fontsize=16,color="green",shape="box"];248[label="Pos (Succ wx300)",fontsize=16,color="green",shape="box"];249[label="True",fontsize=16,color="green",shape="box"];914 -> 1435[label="",style="dashed", color="red", weight=0]; 914[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx73)) wx74 wx75 wx76 wx77 (Neg (Succ wx78)) (primCmpNat (Succ wx73) (Succ wx78) == GT))",fontsize=16,color="magenta"];914 -> 1436[label="",style="dashed", color="magenta", weight=3]; 914 -> 1437[label="",style="dashed", color="magenta", weight=3]; 914 -> 1438[label="",style="dashed", color="magenta", weight=3]; 914 -> 1439[label="",style="dashed", color="magenta", weight=3]; 914 -> 1440[label="",style="dashed", color="magenta", weight=3]; 914 -> 1441[label="",style="dashed", color="magenta", weight=3]; 914 -> 1442[label="",style="dashed", color="magenta", weight=3]; 914 -> 1443[label="",style="dashed", color="magenta", weight=3]; 260[label="wx44",fontsize=16,color="green",shape="box"];261[label="Neg Zero",fontsize=16,color="green",shape="box"];1345[label="wx67",fontsize=16,color="green",shape="box"];1346[label="wx68",fontsize=16,color="green",shape="box"];1347[label="wx69",fontsize=16,color="green",shape="box"];1348[label="wx64",fontsize=16,color="green",shape="box"];1349[label="Succ wx64",fontsize=16,color="green",shape="box"];1350[label="wx66",fontsize=16,color="green",shape="box"];1351[label="wx65",fontsize=16,color="green",shape="box"];1352[label="Succ wx69",fontsize=16,color="green",shape="box"];1344[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) (primCmpNat wx152 wx153 == GT))",fontsize=16,color="burlywood",shape="triangle"];1606[label="wx152/Succ wx1520",fontsize=10,color="white",style="solid",shape="box"];1344 -> 1606[label="",style="solid", color="burlywood", weight=9]; 1606 -> 1433[label="",style="solid", color="burlywood", weight=3]; 1607[label="wx152/Zero",fontsize=10,color="white",style="solid",shape="box"];1344 -> 1607[label="",style="solid", color="burlywood", weight=9]; 1607 -> 1434[label="",style="solid", color="burlywood", weight=3]; 1436[label="wx73",fontsize=16,color="green",shape="box"];1437[label="wx75",fontsize=16,color="green",shape="box"];1438[label="wx76",fontsize=16,color="green",shape="box"];1439[label="Succ wx78",fontsize=16,color="green",shape="box"];1440[label="wx78",fontsize=16,color="green",shape="box"];1441[label="wx77",fontsize=16,color="green",shape="box"];1442[label="wx74",fontsize=16,color="green",shape="box"];1443[label="Succ wx73",fontsize=16,color="green",shape="box"];1435[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) (primCmpNat wx161 wx162 == GT))",fontsize=16,color="burlywood",shape="triangle"];1608[label="wx161/Succ wx1610",fontsize=10,color="white",style="solid",shape="box"];1435 -> 1608[label="",style="solid", color="burlywood", weight=9]; 1608 -> 1524[label="",style="solid", color="burlywood", weight=3]; 1609[label="wx161/Zero",fontsize=10,color="white",style="solid",shape="box"];1435 -> 1609[label="",style="solid", color="burlywood", weight=9]; 1609 -> 1525[label="",style="solid", color="burlywood", weight=3]; 1433[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) (primCmpNat (Succ wx1520) wx153 == GT))",fontsize=16,color="burlywood",shape="box"];1610[label="wx153/Succ wx1530",fontsize=10,color="white",style="solid",shape="box"];1433 -> 1610[label="",style="solid", color="burlywood", weight=9]; 1610 -> 1526[label="",style="solid", color="burlywood", weight=3]; 1611[label="wx153/Zero",fontsize=10,color="white",style="solid",shape="box"];1433 -> 1611[label="",style="solid", color="burlywood", weight=9]; 1611 -> 1527[label="",style="solid", color="burlywood", weight=3]; 1434[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) (primCmpNat Zero wx153 == GT))",fontsize=16,color="burlywood",shape="box"];1612[label="wx153/Succ wx1530",fontsize=10,color="white",style="solid",shape="box"];1434 -> 1612[label="",style="solid", color="burlywood", weight=9]; 1612 -> 1528[label="",style="solid", color="burlywood", weight=3]; 1613[label="wx153/Zero",fontsize=10,color="white",style="solid",shape="box"];1434 -> 1613[label="",style="solid", color="burlywood", weight=9]; 1613 -> 1529[label="",style="solid", color="burlywood", weight=3]; 1524[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) (primCmpNat (Succ wx1610) wx162 == GT))",fontsize=16,color="burlywood",shape="box"];1614[label="wx162/Succ wx1620",fontsize=10,color="white",style="solid",shape="box"];1524 -> 1614[label="",style="solid", color="burlywood", weight=9]; 1614 -> 1530[label="",style="solid", color="burlywood", weight=3]; 1615[label="wx162/Zero",fontsize=10,color="white",style="solid",shape="box"];1524 -> 1615[label="",style="solid", color="burlywood", weight=9]; 1615 -> 1531[label="",style="solid", color="burlywood", weight=3]; 1525[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) (primCmpNat Zero wx162 == GT))",fontsize=16,color="burlywood",shape="box"];1616[label="wx162/Succ wx1620",fontsize=10,color="white",style="solid",shape="box"];1525 -> 1616[label="",style="solid", color="burlywood", weight=9]; 1616 -> 1532[label="",style="solid", color="burlywood", weight=3]; 1617[label="wx162/Zero",fontsize=10,color="white",style="solid",shape="box"];1525 -> 1617[label="",style="solid", color="burlywood", weight=9]; 1617 -> 1533[label="",style="solid", color="burlywood", weight=3]; 1526[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) (primCmpNat (Succ wx1520) (Succ wx1530) == GT))",fontsize=16,color="black",shape="box"];1526 -> 1534[label="",style="solid", color="black", weight=3]; 1527[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) (primCmpNat (Succ wx1520) Zero == GT))",fontsize=16,color="black",shape="box"];1527 -> 1535[label="",style="solid", color="black", weight=3]; 1528[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) (primCmpNat Zero (Succ wx1530) == GT))",fontsize=16,color="black",shape="box"];1528 -> 1536[label="",style="solid", color="black", weight=3]; 1529[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];1529 -> 1537[label="",style="solid", color="black", weight=3]; 1530[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) (primCmpNat (Succ wx1610) (Succ wx1620) == GT))",fontsize=16,color="black",shape="box"];1530 -> 1538[label="",style="solid", color="black", weight=3]; 1531[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) (primCmpNat (Succ wx1610) Zero == GT))",fontsize=16,color="black",shape="box"];1531 -> 1539[label="",style="solid", color="black", weight=3]; 1532[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) (primCmpNat Zero (Succ wx1620) == GT))",fontsize=16,color="black",shape="box"];1532 -> 1540[label="",style="solid", color="black", weight=3]; 1533[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];1533 -> 1541[label="",style="solid", color="black", weight=3]; 1534 -> 1344[label="",style="dashed", color="red", weight=0]; 1534[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) (primCmpNat wx1520 wx1530 == GT))",fontsize=16,color="magenta"];1534 -> 1542[label="",style="dashed", color="magenta", weight=3]; 1534 -> 1543[label="",style="dashed", color="magenta", weight=3]; 1535[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) (GT == GT))",fontsize=16,color="black",shape="box"];1535 -> 1544[label="",style="solid", color="black", weight=3]; 1536[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) (LT == GT))",fontsize=16,color="black",shape="box"];1536 -> 1545[label="",style="solid", color="black", weight=3]; 1537[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) (EQ == GT))",fontsize=16,color="black",shape="box"];1537 -> 1546[label="",style="solid", color="black", weight=3]; 1538 -> 1435[label="",style="dashed", color="red", weight=0]; 1538[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) (primCmpNat wx1610 wx1620 == GT))",fontsize=16,color="magenta"];1538 -> 1547[label="",style="dashed", color="magenta", weight=3]; 1538 -> 1548[label="",style="dashed", color="magenta", weight=3]; 1539[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) (GT == GT))",fontsize=16,color="black",shape="box"];1539 -> 1549[label="",style="solid", color="black", weight=3]; 1540[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) (LT == GT))",fontsize=16,color="black",shape="box"];1540 -> 1550[label="",style="solid", color="black", weight=3]; 1541[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) (EQ == GT))",fontsize=16,color="black",shape="box"];1541 -> 1551[label="",style="solid", color="black", weight=3]; 1542[label="wx1530",fontsize=16,color="green",shape="box"];1543[label="wx1520",fontsize=16,color="green",shape="box"];1544[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) True)",fontsize=16,color="black",shape="box"];1544 -> 1552[label="",style="solid", color="black", weight=3]; 1545[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) False)",fontsize=16,color="black",shape="triangle"];1545 -> 1553[label="",style="solid", color="black", weight=3]; 1546 -> 1545[label="",style="dashed", color="red", weight=0]; 1546[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) False)",fontsize=16,color="magenta"];1547[label="wx1620",fontsize=16,color="green",shape="box"];1548[label="wx1610",fontsize=16,color="green",shape="box"];1549[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) True)",fontsize=16,color="black",shape="box"];1549 -> 1554[label="",style="solid", color="black", weight=3]; 1550[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) False)",fontsize=16,color="black",shape="triangle"];1550 -> 1555[label="",style="solid", color="black", weight=3]; 1551 -> 1550[label="",style="dashed", color="red", weight=0]; 1551[label="FiniteMap.elemFM0 (FiniteMap.lookupFM1 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) False)",fontsize=16,color="magenta"];1552 -> 5[label="",style="dashed", color="red", weight=0]; 1552[label="FiniteMap.elemFM0 (FiniteMap.lookupFM wx150 (Pos (Succ wx151)))",fontsize=16,color="magenta"];1552 -> 1556[label="",style="dashed", color="magenta", weight=3]; 1552 -> 1557[label="",style="dashed", color="magenta", weight=3]; 1553[label="FiniteMap.elemFM0 (FiniteMap.lookupFM0 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) otherwise)",fontsize=16,color="black",shape="box"];1553 -> 1558[label="",style="solid", color="black", weight=3]; 1554 -> 5[label="",style="dashed", color="red", weight=0]; 1554[label="FiniteMap.elemFM0 (FiniteMap.lookupFM wx159 (Neg (Succ wx160)))",fontsize=16,color="magenta"];1554 -> 1559[label="",style="dashed", color="magenta", weight=3]; 1554 -> 1560[label="",style="dashed", color="magenta", weight=3]; 1555[label="FiniteMap.elemFM0 (FiniteMap.lookupFM0 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) otherwise)",fontsize=16,color="black",shape="box"];1555 -> 1561[label="",style="solid", color="black", weight=3]; 1556[label="wx150",fontsize=16,color="green",shape="box"];1557[label="Pos (Succ wx151)",fontsize=16,color="green",shape="box"];1558[label="FiniteMap.elemFM0 (FiniteMap.lookupFM0 (Pos (Succ wx146)) wx147 wx148 wx149 wx150 (Pos (Succ wx151)) True)",fontsize=16,color="black",shape="box"];1558 -> 1562[label="",style="solid", color="black", weight=3]; 1559[label="wx159",fontsize=16,color="green",shape="box"];1560[label="Neg (Succ wx160)",fontsize=16,color="green",shape="box"];1561[label="FiniteMap.elemFM0 (FiniteMap.lookupFM0 (Neg (Succ wx155)) wx156 wx157 wx158 wx159 (Neg (Succ wx160)) True)",fontsize=16,color="black",shape="box"];1561 -> 1563[label="",style="solid", color="black", weight=3]; 1562 -> 223[label="",style="dashed", color="red", weight=0]; 1562[label="FiniteMap.elemFM0 (Just wx147)",fontsize=16,color="magenta"];1562 -> 1564[label="",style="dashed", color="magenta", weight=3]; 1563 -> 223[label="",style="dashed", color="red", weight=0]; 1563[label="FiniteMap.elemFM0 (Just wx156)",fontsize=16,color="magenta"];1563 -> 1565[label="",style="dashed", color="magenta", weight=3]; 1564[label="wx147",fontsize=16,color="green",shape="box"];1565[label="wx156",fontsize=16,color="green",shape="box"];} ---------------------------------------- (8) Obligation: Q DP problem: The TRS P consists of the following rules: new_elemFM01(Branch(Pos(Succ(wx4000)), wx41, wx42, wx43, wx44), Pos(Zero), bb) -> new_elemFM01(wx43, Pos(Zero), bb) new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, Succ(wx700), Zero, h) -> new_elemFM00(wx64, wx65, wx66, wx67, wx68, wx69, Succ(wx69), Succ(wx64), h) new_elemFM01(Branch(Pos(Zero), wx41, wx42, wx43, wx44), Pos(Succ(wx300)), bb) -> new_elemFM01(wx44, Pos(Succ(wx300)), bb) new_elemFM01(Branch(Neg(Succ(wx4000)), wx41, wx42, wx43, wx44), Pos(Zero), bb) -> new_elemFM01(wx44, Pos(Zero), bb) new_elemFM01(Branch(Neg(Zero), wx41, wx42, wx43, wx44), Neg(Succ(wx300)), bb) -> new_elemFM01(wx43, Neg(Succ(wx300)), bb) new_elemFM01(Branch(Neg(wx400), wx41, wx42, wx43, wx44), Pos(Succ(wx300)), bb) -> new_elemFM01(wx44, Pos(Succ(wx300)), bb) new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, Zero, Zero, h) -> new_elemFM02(wx64, wx65, wx66, wx67, wx68, wx69, h) new_elemFM02(wx64, wx65, wx66, wx67, wx68, wx69, h) -> new_elemFM00(wx64, wx65, wx66, wx67, wx68, wx69, Succ(wx69), Succ(wx64), h) new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, Zero, Succ(wx800), bc) -> new_elemFM01(wx76, Neg(Succ(wx78)), bc) new_elemFM00(wx146, wx147, wx148, wx149, wx150, wx151, Succ(wx1520), Succ(wx1530), ba) -> new_elemFM00(wx146, wx147, wx148, wx149, wx150, wx151, wx1520, wx1530, ba) new_elemFM00(wx146, wx147, wx148, wx149, wx150, wx151, Succ(wx1520), Zero, ba) -> new_elemFM01(wx150, Pos(Succ(wx151)), ba) new_elemFM01(Branch(Neg(Succ(wx4000)), wx41, wx42, wx43, wx44), Neg(Zero), bb) -> new_elemFM01(wx44, Neg(Zero), bb) new_elemFM01(Branch(Pos(Succ(wx4000)), wx41, wx42, wx43, wx44), Pos(Succ(wx300)), bb) -> new_elemFM0(wx4000, wx41, wx42, wx43, wx44, wx300, wx300, wx4000, bb) new_elemFM01(Branch(Pos(Succ(wx4000)), wx41, wx42, wx43, wx44), Neg(Zero), bb) -> new_elemFM01(wx43, Neg(Zero), bb) new_elemFM05(wx73, wx74, wx75, wx76, wx77, wx78, bc) -> new_elemFM04(wx73, wx74, wx75, wx76, wx77, wx78, Succ(wx73), Succ(wx78), bc) new_elemFM04(wx155, wx156, wx157, wx158, wx159, wx160, Succ(wx1610), Succ(wx1620), bd) -> new_elemFM04(wx155, wx156, wx157, wx158, wx159, wx160, wx1610, wx1620, bd) new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, Zero, Succ(wx710), h) -> new_elemFM01(wx67, Pos(Succ(wx69)), h) new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, Succ(wx790), Zero, bc) -> new_elemFM04(wx73, wx74, wx75, wx76, wx77, wx78, Succ(wx73), Succ(wx78), bc) new_elemFM01(Branch(Pos(wx400), wx41, wx42, wx43, wx44), Neg(Succ(wx300)), bb) -> new_elemFM01(wx43, Neg(Succ(wx300)), bb) new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, Succ(wx790), Succ(wx800), bc) -> new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, wx790, wx800, bc) new_elemFM01(Branch(Neg(Succ(wx4000)), wx41, wx42, wx43, wx44), Neg(Succ(wx300)), bb) -> new_elemFM03(wx4000, wx41, wx42, wx43, wx44, wx300, wx4000, wx300, bb) new_elemFM04(wx155, wx156, wx157, wx158, wx159, wx160, Succ(wx1610), Zero, bd) -> new_elemFM01(wx159, Neg(Succ(wx160)), bd) new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, Succ(wx700), Succ(wx710), h) -> new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, wx700, wx710, h) new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, Zero, Zero, bc) -> new_elemFM05(wx73, wx74, wx75, wx76, wx77, wx78, bc) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (9) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs. ---------------------------------------- (10) Complex Obligation (AND) ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: new_elemFM01(Branch(Pos(Succ(wx4000)), wx41, wx42, wx43, wx44), Neg(Zero), bb) -> new_elemFM01(wx43, Neg(Zero), bb) new_elemFM01(Branch(Neg(Succ(wx4000)), wx41, wx42, wx43, wx44), Neg(Zero), bb) -> new_elemFM01(wx44, Neg(Zero), bb) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (12) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_elemFM01(Branch(Pos(Succ(wx4000)), wx41, wx42, wx43, wx44), Neg(Zero), bb) -> new_elemFM01(wx43, Neg(Zero), bb) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *new_elemFM01(Branch(Neg(Succ(wx4000)), wx41, wx42, wx43, wx44), Neg(Zero), bb) -> new_elemFM01(wx44, Neg(Zero), bb) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: Q DP problem: The TRS P consists of the following rules: new_elemFM01(Branch(Pos(wx400), wx41, wx42, wx43, wx44), Neg(Succ(wx300)), bb) -> new_elemFM01(wx43, Neg(Succ(wx300)), bb) new_elemFM01(Branch(Neg(Zero), wx41, wx42, wx43, wx44), Neg(Succ(wx300)), bb) -> new_elemFM01(wx43, Neg(Succ(wx300)), bb) new_elemFM01(Branch(Neg(Succ(wx4000)), wx41, wx42, wx43, wx44), Neg(Succ(wx300)), bb) -> new_elemFM03(wx4000, wx41, wx42, wx43, wx44, wx300, wx4000, wx300, bb) new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, Zero, Succ(wx800), bc) -> new_elemFM01(wx76, Neg(Succ(wx78)), bc) new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, Succ(wx790), Zero, bc) -> new_elemFM04(wx73, wx74, wx75, wx76, wx77, wx78, Succ(wx73), Succ(wx78), bc) new_elemFM04(wx155, wx156, wx157, wx158, wx159, wx160, Succ(wx1610), Succ(wx1620), bd) -> new_elemFM04(wx155, wx156, wx157, wx158, wx159, wx160, wx1610, wx1620, bd) new_elemFM04(wx155, wx156, wx157, wx158, wx159, wx160, Succ(wx1610), Zero, bd) -> new_elemFM01(wx159, Neg(Succ(wx160)), bd) new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, Succ(wx790), Succ(wx800), bc) -> new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, wx790, wx800, bc) new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, Zero, Zero, bc) -> new_elemFM05(wx73, wx74, wx75, wx76, wx77, wx78, bc) new_elemFM05(wx73, wx74, wx75, wx76, wx77, wx78, bc) -> new_elemFM04(wx73, wx74, wx75, wx76, wx77, wx78, Succ(wx73), Succ(wx78), bc) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (15) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_elemFM01(Branch(Neg(Succ(wx4000)), wx41, wx42, wx43, wx44), Neg(Succ(wx300)), bb) -> new_elemFM03(wx4000, wx41, wx42, wx43, wx44, wx300, wx4000, wx300, bb) The graph contains the following edges 1 > 1, 1 > 2, 1 > 3, 1 > 4, 1 > 5, 2 > 6, 1 > 7, 2 > 8, 3 >= 9 *new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, Zero, Succ(wx800), bc) -> new_elemFM01(wx76, Neg(Succ(wx78)), bc) The graph contains the following edges 4 >= 1, 9 >= 3 *new_elemFM04(wx155, wx156, wx157, wx158, wx159, wx160, Succ(wx1610), Zero, bd) -> new_elemFM01(wx159, Neg(Succ(wx160)), bd) The graph contains the following edges 5 >= 1, 9 >= 3 *new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, Succ(wx790), Succ(wx800), bc) -> new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, wx790, wx800, bc) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 > 7, 8 > 8, 9 >= 9 *new_elemFM04(wx155, wx156, wx157, wx158, wx159, wx160, Succ(wx1610), Succ(wx1620), bd) -> new_elemFM04(wx155, wx156, wx157, wx158, wx159, wx160, wx1610, wx1620, bd) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 > 7, 8 > 8, 9 >= 9 *new_elemFM05(wx73, wx74, wx75, wx76, wx77, wx78, bc) -> new_elemFM04(wx73, wx74, wx75, wx76, wx77, wx78, Succ(wx73), Succ(wx78), bc) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 9 *new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, Succ(wx790), Zero, bc) -> new_elemFM04(wx73, wx74, wx75, wx76, wx77, wx78, Succ(wx73), Succ(wx78), bc) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 9 >= 9 *new_elemFM03(wx73, wx74, wx75, wx76, wx77, wx78, Zero, Zero, bc) -> new_elemFM05(wx73, wx74, wx75, wx76, wx77, wx78, bc) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 9 >= 7 *new_elemFM01(Branch(Pos(wx400), wx41, wx42, wx43, wx44), Neg(Succ(wx300)), bb) -> new_elemFM01(wx43, Neg(Succ(wx300)), bb) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *new_elemFM01(Branch(Neg(Zero), wx41, wx42, wx43, wx44), Neg(Succ(wx300)), bb) -> new_elemFM01(wx43, Neg(Succ(wx300)), bb) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 ---------------------------------------- (16) YES ---------------------------------------- (17) Obligation: Q DP problem: The TRS P consists of the following rules: new_elemFM00(wx146, wx147, wx148, wx149, wx150, wx151, Succ(wx1520), Succ(wx1530), ba) -> new_elemFM00(wx146, wx147, wx148, wx149, wx150, wx151, wx1520, wx1530, ba) new_elemFM00(wx146, wx147, wx148, wx149, wx150, wx151, Succ(wx1520), Zero, ba) -> new_elemFM01(wx150, Pos(Succ(wx151)), ba) new_elemFM01(Branch(Pos(Zero), wx41, wx42, wx43, wx44), Pos(Succ(wx300)), bb) -> new_elemFM01(wx44, Pos(Succ(wx300)), bb) new_elemFM01(Branch(Neg(wx400), wx41, wx42, wx43, wx44), Pos(Succ(wx300)), bb) -> new_elemFM01(wx44, Pos(Succ(wx300)), bb) new_elemFM01(Branch(Pos(Succ(wx4000)), wx41, wx42, wx43, wx44), Pos(Succ(wx300)), bb) -> new_elemFM0(wx4000, wx41, wx42, wx43, wx44, wx300, wx300, wx4000, bb) new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, Succ(wx700), Zero, h) -> new_elemFM00(wx64, wx65, wx66, wx67, wx68, wx69, Succ(wx69), Succ(wx64), h) new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, Zero, Zero, h) -> new_elemFM02(wx64, wx65, wx66, wx67, wx68, wx69, h) new_elemFM02(wx64, wx65, wx66, wx67, wx68, wx69, h) -> new_elemFM00(wx64, wx65, wx66, wx67, wx68, wx69, Succ(wx69), Succ(wx64), h) new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, Zero, Succ(wx710), h) -> new_elemFM01(wx67, Pos(Succ(wx69)), h) new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, Succ(wx700), Succ(wx710), h) -> new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, wx700, wx710, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (18) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_elemFM00(wx146, wx147, wx148, wx149, wx150, wx151, Succ(wx1520), Succ(wx1530), ba) -> new_elemFM00(wx146, wx147, wx148, wx149, wx150, wx151, wx1520, wx1530, ba) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 > 7, 8 > 8, 9 >= 9 *new_elemFM00(wx146, wx147, wx148, wx149, wx150, wx151, Succ(wx1520), Zero, ba) -> new_elemFM01(wx150, Pos(Succ(wx151)), ba) The graph contains the following edges 5 >= 1, 9 >= 3 *new_elemFM01(Branch(Pos(Succ(wx4000)), wx41, wx42, wx43, wx44), Pos(Succ(wx300)), bb) -> new_elemFM0(wx4000, wx41, wx42, wx43, wx44, wx300, wx300, wx4000, bb) The graph contains the following edges 1 > 1, 1 > 2, 1 > 3, 1 > 4, 1 > 5, 2 > 6, 2 > 7, 1 > 8, 3 >= 9 *new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, Zero, Succ(wx710), h) -> new_elemFM01(wx67, Pos(Succ(wx69)), h) The graph contains the following edges 4 >= 1, 9 >= 3 *new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, Succ(wx700), Zero, h) -> new_elemFM00(wx64, wx65, wx66, wx67, wx68, wx69, Succ(wx69), Succ(wx64), h) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 9 >= 9 *new_elemFM02(wx64, wx65, wx66, wx67, wx68, wx69, h) -> new_elemFM00(wx64, wx65, wx66, wx67, wx68, wx69, Succ(wx69), Succ(wx64), h) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 9 *new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, Succ(wx700), Succ(wx710), h) -> new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, wx700, wx710, h) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 > 7, 8 > 8, 9 >= 9 *new_elemFM0(wx64, wx65, wx66, wx67, wx68, wx69, Zero, Zero, h) -> new_elemFM02(wx64, wx65, wx66, wx67, wx68, wx69, h) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 9 >= 7 *new_elemFM01(Branch(Pos(Zero), wx41, wx42, wx43, wx44), Pos(Succ(wx300)), bb) -> new_elemFM01(wx44, Pos(Succ(wx300)), bb) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *new_elemFM01(Branch(Neg(wx400), wx41, wx42, wx43, wx44), Pos(Succ(wx300)), bb) -> new_elemFM01(wx44, Pos(Succ(wx300)), bb) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 ---------------------------------------- (19) YES ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: new_elemFM01(Branch(Neg(Succ(wx4000)), wx41, wx42, wx43, wx44), Pos(Zero), bb) -> new_elemFM01(wx44, Pos(Zero), bb) new_elemFM01(Branch(Pos(Succ(wx4000)), wx41, wx42, wx43, wx44), Pos(Zero), bb) -> new_elemFM01(wx43, Pos(Zero), bb) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (21) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_elemFM01(Branch(Neg(Succ(wx4000)), wx41, wx42, wx43, wx44), Pos(Zero), bb) -> new_elemFM01(wx44, Pos(Zero), bb) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *new_elemFM01(Branch(Pos(Succ(wx4000)), wx41, wx42, wx43, wx44), Pos(Zero), bb) -> new_elemFM01(wx43, Pos(Zero), bb) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 ---------------------------------------- (22) YES