11.96/5.12 YES 13.43/5.61 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 13.43/5.61 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 13.43/5.61 13.43/5.61 13.43/5.61 H-Termination with start terms of the given HASKELL could be proven: 13.43/5.61 13.43/5.61 (0) HASKELL 13.43/5.61 (1) BR [EQUIVALENT, 0 ms] 13.43/5.61 (2) HASKELL 13.43/5.61 (3) COR [EQUIVALENT, 0 ms] 13.43/5.61 (4) HASKELL 13.43/5.61 (5) Narrow [SOUND, 0 ms] 13.43/5.61 (6) QDP 13.43/5.61 (7) DependencyGraphProof [EQUIVALENT, 0 ms] 13.43/5.61 (8) AND 13.43/5.61 (9) QDP 13.43/5.61 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.43/5.61 (11) YES 13.43/5.61 (12) QDP 13.43/5.61 (13) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.43/5.61 (14) YES 13.43/5.61 (15) QDP 13.43/5.61 (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.43/5.61 (17) YES 13.43/5.61 (18) QDP 13.43/5.61 (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.43/5.61 (20) YES 13.43/5.61 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (0) 13.43/5.61 Obligation: 13.43/5.61 mainModule Main 13.43/5.61 module FiniteMap where { 13.43/5.61 import qualified Main; 13.43/5.61 import qualified Maybe; 13.43/5.61 import qualified Prelude; 13.43/5.61 data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; 13.43/5.61 13.43/5.61 instance (Eq a, Eq b) => Eq FiniteMap b a where { 13.43/5.61 } 13.43/5.61 lookupFM :: Ord b => FiniteMap b a -> b -> Maybe a; 13.43/5.61 lookupFM EmptyFM key = Nothing; 13.43/5.61 lookupFM (Branch key elt _ fm_l fm_r) key_to_find | key_to_find < key = lookupFM fm_l key_to_find 13.43/5.61 | key_to_find > key = lookupFM fm_r key_to_find 13.43/5.61 | otherwise = Just elt; 13.43/5.61 13.43/5.61 } 13.43/5.61 module Maybe where { 13.43/5.61 import qualified FiniteMap; 13.43/5.61 import qualified Main; 13.43/5.61 import qualified Prelude; 13.43/5.61 } 13.43/5.61 module Main where { 13.43/5.61 import qualified FiniteMap; 13.43/5.61 import qualified Maybe; 13.43/5.61 import qualified Prelude; 13.43/5.61 } 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (1) BR (EQUIVALENT) 13.43/5.61 Replaced joker patterns by fresh variables and removed binding patterns. 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (2) 13.43/5.61 Obligation: 13.43/5.61 mainModule Main 13.43/5.61 module FiniteMap where { 13.43/5.61 import qualified Main; 13.43/5.61 import qualified Maybe; 13.43/5.61 import qualified Prelude; 13.43/5.61 data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; 13.43/5.61 13.43/5.61 instance (Eq a, Eq b) => Eq FiniteMap b a where { 13.43/5.61 } 13.43/5.61 lookupFM :: Ord b => FiniteMap b a -> b -> Maybe a; 13.43/5.61 lookupFM EmptyFM key = Nothing; 13.43/5.61 lookupFM (Branch key elt vy fm_l fm_r) key_to_find | key_to_find < key = lookupFM fm_l key_to_find 13.43/5.61 | key_to_find > key = lookupFM fm_r key_to_find 13.43/5.61 | otherwise = Just elt; 13.43/5.61 13.43/5.61 } 13.43/5.61 module Maybe where { 13.43/5.61 import qualified FiniteMap; 13.43/5.61 import qualified Main; 13.43/5.61 import qualified Prelude; 13.43/5.61 } 13.43/5.61 module Main where { 13.43/5.61 import qualified FiniteMap; 13.43/5.61 import qualified Maybe; 13.43/5.61 import qualified Prelude; 13.43/5.61 } 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (3) COR (EQUIVALENT) 13.43/5.61 Cond Reductions: 13.43/5.61 The following Function with conditions 13.43/5.61 "undefined |Falseundefined; 13.43/5.61 " 13.43/5.61 is transformed to 13.43/5.61 "undefined = undefined1; 13.43/5.61 " 13.43/5.61 "undefined0 True = undefined; 13.43/5.61 " 13.43/5.61 "undefined1 = undefined0 False; 13.43/5.61 " 13.43/5.61 The following Function with conditions 13.43/5.61 "lookupFM EmptyFM key = Nothing; 13.43/5.61 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; 13.43/5.61 " 13.43/5.61 is transformed to 13.43/5.61 "lookupFM EmptyFM key = lookupFM4 EmptyFM key; 13.43/5.61 lookupFM (Branch key elt vy fm_l fm_r) key_to_find = lookupFM3 (Branch key elt vy fm_l fm_r) key_to_find; 13.43/5.61 " 13.43/5.61 "lookupFM0 key elt vy fm_l fm_r key_to_find True = Just elt; 13.43/5.61 " 13.43/5.61 "lookupFM2 key elt vy fm_l fm_r key_to_find True = lookupFM fm_l key_to_find; 13.43/5.61 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); 13.43/5.61 " 13.43/5.61 "lookupFM1 key elt vy fm_l fm_r key_to_find True = lookupFM fm_r key_to_find; 13.43/5.61 lookupFM1 key elt vy fm_l fm_r key_to_find False = lookupFM0 key elt vy fm_l fm_r key_to_find otherwise; 13.43/5.61 " 13.43/5.61 "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); 13.43/5.61 " 13.43/5.61 "lookupFM4 EmptyFM key = Nothing; 13.43/5.61 lookupFM4 wv ww = lookupFM3 wv ww; 13.43/5.61 " 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (4) 13.43/5.61 Obligation: 13.43/5.61 mainModule Main 13.43/5.61 module FiniteMap where { 13.43/5.61 import qualified Main; 13.43/5.61 import qualified Maybe; 13.43/5.61 import qualified Prelude; 13.43/5.61 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 13.43/5.61 13.43/5.61 instance (Eq a, Eq b) => Eq FiniteMap b a where { 13.43/5.61 } 13.43/5.61 lookupFM :: Ord b => FiniteMap b a -> b -> Maybe a; 13.43/5.61 lookupFM EmptyFM key = lookupFM4 EmptyFM key; 13.43/5.61 lookupFM (Branch key elt vy fm_l fm_r) key_to_find = lookupFM3 (Branch key elt vy fm_l fm_r) key_to_find; 13.43/5.61 13.43/5.61 lookupFM0 key elt vy fm_l fm_r key_to_find True = Just elt; 13.43/5.61 13.43/5.61 lookupFM1 key elt vy fm_l fm_r key_to_find True = lookupFM fm_r key_to_find; 13.43/5.61 lookupFM1 key elt vy fm_l fm_r key_to_find False = lookupFM0 key elt vy fm_l fm_r key_to_find otherwise; 13.43/5.61 13.43/5.61 lookupFM2 key elt vy fm_l fm_r key_to_find True = lookupFM fm_l key_to_find; 13.43/5.61 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); 13.43/5.61 13.43/5.61 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); 13.43/5.61 13.43/5.61 lookupFM4 EmptyFM key = Nothing; 13.43/5.61 lookupFM4 wv ww = lookupFM3 wv ww; 13.43/5.61 13.43/5.61 } 13.43/5.61 module Maybe where { 13.43/5.61 import qualified FiniteMap; 13.43/5.61 import qualified Main; 13.43/5.61 import qualified Prelude; 13.43/5.61 } 13.43/5.61 module Main where { 13.43/5.61 import qualified FiniteMap; 13.43/5.61 import qualified Maybe; 13.43/5.61 import qualified Prelude; 13.43/5.61 } 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (5) Narrow (SOUND) 13.43/5.61 Haskell To QDPs 13.43/5.61 13.43/5.61 digraph dp_graph { 13.43/5.61 node [outthreshold=100, inthreshold=100];1[label="FiniteMap.lookupFM",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 13.43/5.61 3[label="FiniteMap.lookupFM wx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 13.43/5.61 4[label="FiniteMap.lookupFM wx3 wx4",fontsize=16,color="burlywood",shape="triangle"];2076[label="wx3/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];4 -> 2076[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2076 -> 5[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2077[label="wx3/FiniteMap.Branch wx30 wx31 wx32 wx33 wx34",fontsize=10,color="white",style="solid",shape="box"];4 -> 2077[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2077 -> 6[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 5[label="FiniteMap.lookupFM FiniteMap.EmptyFM wx4",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 13.43/5.61 6[label="FiniteMap.lookupFM (FiniteMap.Branch wx30 wx31 wx32 wx33 wx34) wx4",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 13.43/5.61 7[label="FiniteMap.lookupFM4 FiniteMap.EmptyFM wx4",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 13.43/5.61 8[label="FiniteMap.lookupFM3 (FiniteMap.Branch wx30 wx31 wx32 wx33 wx34) wx4",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 13.43/5.61 9[label="Nothing",fontsize=16,color="green",shape="box"];10[label="FiniteMap.lookupFM2 wx30 wx31 wx32 wx33 wx34 wx4 (wx4 < wx30)",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 13.43/5.61 11[label="FiniteMap.lookupFM2 wx30 wx31 wx32 wx33 wx34 wx4 (compare wx4 wx30 == LT)",fontsize=16,color="black",shape="box"];11 -> 12[label="",style="solid", color="black", weight=3]; 13.43/5.61 12[label="FiniteMap.lookupFM2 wx30 wx31 wx32 wx33 wx34 wx4 (primCmpInt wx4 wx30 == LT)",fontsize=16,color="burlywood",shape="box"];2078[label="wx4/Pos wx40",fontsize=10,color="white",style="solid",shape="box"];12 -> 2078[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2078 -> 13[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2079[label="wx4/Neg wx40",fontsize=10,color="white",style="solid",shape="box"];12 -> 2079[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2079 -> 14[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 13[label="FiniteMap.lookupFM2 wx30 wx31 wx32 wx33 wx34 (Pos wx40) (primCmpInt (Pos wx40) wx30 == LT)",fontsize=16,color="burlywood",shape="box"];2080[label="wx40/Succ wx400",fontsize=10,color="white",style="solid",shape="box"];13 -> 2080[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2080 -> 15[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2081[label="wx40/Zero",fontsize=10,color="white",style="solid",shape="box"];13 -> 2081[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2081 -> 16[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 14[label="FiniteMap.lookupFM2 wx30 wx31 wx32 wx33 wx34 (Neg wx40) (primCmpInt (Neg wx40) wx30 == LT)",fontsize=16,color="burlywood",shape="box"];2082[label="wx40/Succ wx400",fontsize=10,color="white",style="solid",shape="box"];14 -> 2082[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2082 -> 17[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2083[label="wx40/Zero",fontsize=10,color="white",style="solid",shape="box"];14 -> 2083[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2083 -> 18[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 15[label="FiniteMap.lookupFM2 wx30 wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (primCmpInt (Pos (Succ wx400)) wx30 == LT)",fontsize=16,color="burlywood",shape="box"];2084[label="wx30/Pos wx300",fontsize=10,color="white",style="solid",shape="box"];15 -> 2084[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2084 -> 19[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2085[label="wx30/Neg wx300",fontsize=10,color="white",style="solid",shape="box"];15 -> 2085[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2085 -> 20[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 16[label="FiniteMap.lookupFM2 wx30 wx31 wx32 wx33 wx34 (Pos Zero) (primCmpInt (Pos Zero) wx30 == LT)",fontsize=16,color="burlywood",shape="box"];2086[label="wx30/Pos wx300",fontsize=10,color="white",style="solid",shape="box"];16 -> 2086[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2086 -> 21[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2087[label="wx30/Neg wx300",fontsize=10,color="white",style="solid",shape="box"];16 -> 2087[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2087 -> 22[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 17[label="FiniteMap.lookupFM2 wx30 wx31 wx32 wx33 wx34 (Neg (Succ wx400)) (primCmpInt (Neg (Succ wx400)) wx30 == LT)",fontsize=16,color="burlywood",shape="box"];2088[label="wx30/Pos wx300",fontsize=10,color="white",style="solid",shape="box"];17 -> 2088[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2088 -> 23[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2089[label="wx30/Neg wx300",fontsize=10,color="white",style="solid",shape="box"];17 -> 2089[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2089 -> 24[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 18[label="FiniteMap.lookupFM2 wx30 wx31 wx32 wx33 wx34 (Neg Zero) (primCmpInt (Neg Zero) wx30 == LT)",fontsize=16,color="burlywood",shape="box"];2090[label="wx30/Pos wx300",fontsize=10,color="white",style="solid",shape="box"];18 -> 2090[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2090 -> 25[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2091[label="wx30/Neg wx300",fontsize=10,color="white",style="solid",shape="box"];18 -> 2091[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2091 -> 26[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 19[label="FiniteMap.lookupFM2 (Pos wx300) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (primCmpInt (Pos (Succ wx400)) (Pos wx300) == LT)",fontsize=16,color="black",shape="box"];19 -> 27[label="",style="solid", color="black", weight=3]; 13.43/5.61 20[label="FiniteMap.lookupFM2 (Neg wx300) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (primCmpInt (Pos (Succ wx400)) (Neg wx300) == LT)",fontsize=16,color="black",shape="box"];20 -> 28[label="",style="solid", color="black", weight=3]; 13.43/5.61 21[label="FiniteMap.lookupFM2 (Pos wx300) wx31 wx32 wx33 wx34 (Pos Zero) (primCmpInt (Pos Zero) (Pos wx300) == LT)",fontsize=16,color="burlywood",shape="box"];2092[label="wx300/Succ wx3000",fontsize=10,color="white",style="solid",shape="box"];21 -> 2092[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2092 -> 29[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2093[label="wx300/Zero",fontsize=10,color="white",style="solid",shape="box"];21 -> 2093[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2093 -> 30[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 22[label="FiniteMap.lookupFM2 (Neg wx300) wx31 wx32 wx33 wx34 (Pos Zero) (primCmpInt (Pos Zero) (Neg wx300) == LT)",fontsize=16,color="burlywood",shape="box"];2094[label="wx300/Succ wx3000",fontsize=10,color="white",style="solid",shape="box"];22 -> 2094[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2094 -> 31[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2095[label="wx300/Zero",fontsize=10,color="white",style="solid",shape="box"];22 -> 2095[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2095 -> 32[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 23[label="FiniteMap.lookupFM2 (Pos wx300) wx31 wx32 wx33 wx34 (Neg (Succ wx400)) (primCmpInt (Neg (Succ wx400)) (Pos wx300) == LT)",fontsize=16,color="black",shape="box"];23 -> 33[label="",style="solid", color="black", weight=3]; 13.43/5.61 24[label="FiniteMap.lookupFM2 (Neg wx300) wx31 wx32 wx33 wx34 (Neg (Succ wx400)) (primCmpInt (Neg (Succ wx400)) (Neg wx300) == LT)",fontsize=16,color="black",shape="box"];24 -> 34[label="",style="solid", color="black", weight=3]; 13.43/5.61 25[label="FiniteMap.lookupFM2 (Pos wx300) wx31 wx32 wx33 wx34 (Neg Zero) (primCmpInt (Neg Zero) (Pos wx300) == LT)",fontsize=16,color="burlywood",shape="box"];2096[label="wx300/Succ wx3000",fontsize=10,color="white",style="solid",shape="box"];25 -> 2096[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2096 -> 35[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2097[label="wx300/Zero",fontsize=10,color="white",style="solid",shape="box"];25 -> 2097[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2097 -> 36[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 26[label="FiniteMap.lookupFM2 (Neg wx300) wx31 wx32 wx33 wx34 (Neg Zero) (primCmpInt (Neg Zero) (Neg wx300) == LT)",fontsize=16,color="burlywood",shape="box"];2098[label="wx300/Succ wx3000",fontsize=10,color="white",style="solid",shape="box"];26 -> 2098[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2098 -> 37[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2099[label="wx300/Zero",fontsize=10,color="white",style="solid",shape="box"];26 -> 2099[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2099 -> 38[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 27[label="FiniteMap.lookupFM2 (Pos wx300) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (primCmpNat (Succ wx400) wx300 == LT)",fontsize=16,color="burlywood",shape="box"];2100[label="wx300/Succ wx3000",fontsize=10,color="white",style="solid",shape="box"];27 -> 2100[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2100 -> 39[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2101[label="wx300/Zero",fontsize=10,color="white",style="solid",shape="box"];27 -> 2101[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2101 -> 40[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 28[label="FiniteMap.lookupFM2 (Neg wx300) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (GT == LT)",fontsize=16,color="black",shape="box"];28 -> 41[label="",style="solid", color="black", weight=3]; 13.43/5.61 29[label="FiniteMap.lookupFM2 (Pos (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos Zero) (primCmpInt (Pos Zero) (Pos (Succ wx3000)) == LT)",fontsize=16,color="black",shape="box"];29 -> 42[label="",style="solid", color="black", weight=3]; 13.43/5.61 30[label="FiniteMap.lookupFM2 (Pos Zero) wx31 wx32 wx33 wx34 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == LT)",fontsize=16,color="black",shape="box"];30 -> 43[label="",style="solid", color="black", weight=3]; 13.43/5.61 31[label="FiniteMap.lookupFM2 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos Zero) (primCmpInt (Pos Zero) (Neg (Succ wx3000)) == LT)",fontsize=16,color="black",shape="box"];31 -> 44[label="",style="solid", color="black", weight=3]; 13.43/5.61 32[label="FiniteMap.lookupFM2 (Neg Zero) wx31 wx32 wx33 wx34 (Pos Zero) (primCmpInt (Pos Zero) (Neg Zero) == LT)",fontsize=16,color="black",shape="box"];32 -> 45[label="",style="solid", color="black", weight=3]; 13.43/5.61 33[label="FiniteMap.lookupFM2 (Pos wx300) wx31 wx32 wx33 wx34 (Neg (Succ wx400)) (LT == LT)",fontsize=16,color="black",shape="box"];33 -> 46[label="",style="solid", color="black", weight=3]; 13.43/5.61 34[label="FiniteMap.lookupFM2 (Neg wx300) wx31 wx32 wx33 wx34 (Neg (Succ wx400)) (primCmpNat wx300 (Succ wx400) == LT)",fontsize=16,color="burlywood",shape="box"];2102[label="wx300/Succ wx3000",fontsize=10,color="white",style="solid",shape="box"];34 -> 2102[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2102 -> 47[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2103[label="wx300/Zero",fontsize=10,color="white",style="solid",shape="box"];34 -> 2103[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2103 -> 48[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 35[label="FiniteMap.lookupFM2 (Pos (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg Zero) (primCmpInt (Neg Zero) (Pos (Succ wx3000)) == LT)",fontsize=16,color="black",shape="box"];35 -> 49[label="",style="solid", color="black", weight=3]; 13.43/5.61 36[label="FiniteMap.lookupFM2 (Pos Zero) wx31 wx32 wx33 wx34 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == LT)",fontsize=16,color="black",shape="box"];36 -> 50[label="",style="solid", color="black", weight=3]; 13.43/5.61 37[label="FiniteMap.lookupFM2 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg Zero) (primCmpInt (Neg Zero) (Neg (Succ wx3000)) == LT)",fontsize=16,color="black",shape="box"];37 -> 51[label="",style="solid", color="black", weight=3]; 13.43/5.61 38[label="FiniteMap.lookupFM2 (Neg Zero) wx31 wx32 wx33 wx34 (Neg Zero) (primCmpInt (Neg Zero) (Neg Zero) == LT)",fontsize=16,color="black",shape="box"];38 -> 52[label="",style="solid", color="black", weight=3]; 13.43/5.61 39[label="FiniteMap.lookupFM2 (Pos (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (primCmpNat (Succ wx400) (Succ wx3000) == LT)",fontsize=16,color="black",shape="box"];39 -> 53[label="",style="solid", color="black", weight=3]; 13.43/5.61 40[label="FiniteMap.lookupFM2 (Pos Zero) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (primCmpNat (Succ wx400) Zero == LT)",fontsize=16,color="black",shape="box"];40 -> 54[label="",style="solid", color="black", weight=3]; 13.43/5.61 41[label="FiniteMap.lookupFM2 (Neg wx300) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) False",fontsize=16,color="black",shape="box"];41 -> 55[label="",style="solid", color="black", weight=3]; 13.43/5.61 42[label="FiniteMap.lookupFM2 (Pos (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos Zero) (primCmpNat Zero (Succ wx3000) == LT)",fontsize=16,color="black",shape="box"];42 -> 56[label="",style="solid", color="black", weight=3]; 13.43/5.61 43[label="FiniteMap.lookupFM2 (Pos Zero) wx31 wx32 wx33 wx34 (Pos Zero) (EQ == LT)",fontsize=16,color="black",shape="box"];43 -> 57[label="",style="solid", color="black", weight=3]; 13.43/5.61 44[label="FiniteMap.lookupFM2 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos Zero) (GT == LT)",fontsize=16,color="black",shape="box"];44 -> 58[label="",style="solid", color="black", weight=3]; 13.43/5.61 45[label="FiniteMap.lookupFM2 (Neg Zero) wx31 wx32 wx33 wx34 (Pos Zero) (EQ == LT)",fontsize=16,color="black",shape="box"];45 -> 59[label="",style="solid", color="black", weight=3]; 13.43/5.61 46[label="FiniteMap.lookupFM2 (Pos wx300) wx31 wx32 wx33 wx34 (Neg (Succ wx400)) True",fontsize=16,color="black",shape="box"];46 -> 60[label="",style="solid", color="black", weight=3]; 13.43/5.61 47[label="FiniteMap.lookupFM2 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg (Succ wx400)) (primCmpNat (Succ wx3000) (Succ wx400) == LT)",fontsize=16,color="black",shape="box"];47 -> 61[label="",style="solid", color="black", weight=3]; 13.43/5.61 48[label="FiniteMap.lookupFM2 (Neg Zero) wx31 wx32 wx33 wx34 (Neg (Succ wx400)) (primCmpNat Zero (Succ wx400) == LT)",fontsize=16,color="black",shape="box"];48 -> 62[label="",style="solid", color="black", weight=3]; 13.43/5.61 49[label="FiniteMap.lookupFM2 (Pos (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg Zero) (LT == LT)",fontsize=16,color="black",shape="box"];49 -> 63[label="",style="solid", color="black", weight=3]; 13.43/5.61 50[label="FiniteMap.lookupFM2 (Pos Zero) wx31 wx32 wx33 wx34 (Neg Zero) (EQ == LT)",fontsize=16,color="black",shape="box"];50 -> 64[label="",style="solid", color="black", weight=3]; 13.43/5.61 51[label="FiniteMap.lookupFM2 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg Zero) (primCmpNat (Succ wx3000) Zero == LT)",fontsize=16,color="black",shape="box"];51 -> 65[label="",style="solid", color="black", weight=3]; 13.43/5.61 52[label="FiniteMap.lookupFM2 (Neg Zero) wx31 wx32 wx33 wx34 (Neg Zero) (EQ == LT)",fontsize=16,color="black",shape="box"];52 -> 66[label="",style="solid", color="black", weight=3]; 13.43/5.61 53 -> 973[label="",style="dashed", color="red", weight=0]; 13.43/5.61 53[label="FiniteMap.lookupFM2 (Pos (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (primCmpNat wx400 wx3000 == LT)",fontsize=16,color="magenta"];53 -> 974[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 53 -> 975[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 53 -> 976[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 53 -> 977[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 53 -> 978[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 53 -> 979[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 53 -> 980[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 53 -> 981[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 54[label="FiniteMap.lookupFM2 (Pos Zero) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (GT == LT)",fontsize=16,color="black",shape="box"];54 -> 69[label="",style="solid", color="black", weight=3]; 13.43/5.61 55[label="FiniteMap.lookupFM1 (Neg wx300) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (Pos (Succ wx400) > Neg wx300)",fontsize=16,color="black",shape="box"];55 -> 70[label="",style="solid", color="black", weight=3]; 13.43/5.61 56[label="FiniteMap.lookupFM2 (Pos (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos Zero) (LT == LT)",fontsize=16,color="black",shape="box"];56 -> 71[label="",style="solid", color="black", weight=3]; 13.43/5.61 57[label="FiniteMap.lookupFM2 (Pos Zero) wx31 wx32 wx33 wx34 (Pos Zero) False",fontsize=16,color="black",shape="box"];57 -> 72[label="",style="solid", color="black", weight=3]; 13.43/5.61 58[label="FiniteMap.lookupFM2 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos Zero) False",fontsize=16,color="black",shape="box"];58 -> 73[label="",style="solid", color="black", weight=3]; 13.43/5.61 59[label="FiniteMap.lookupFM2 (Neg Zero) wx31 wx32 wx33 wx34 (Pos Zero) False",fontsize=16,color="black",shape="box"];59 -> 74[label="",style="solid", color="black", weight=3]; 13.43/5.61 60 -> 4[label="",style="dashed", color="red", weight=0]; 13.43/5.61 60[label="FiniteMap.lookupFM wx33 (Neg (Succ wx400))",fontsize=16,color="magenta"];60 -> 75[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 60 -> 76[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 61 -> 1060[label="",style="dashed", color="red", weight=0]; 13.43/5.61 61[label="FiniteMap.lookupFM2 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg (Succ wx400)) (primCmpNat wx3000 wx400 == LT)",fontsize=16,color="magenta"];61 -> 1061[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 61 -> 1062[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 61 -> 1063[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 61 -> 1064[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 61 -> 1065[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 61 -> 1066[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 61 -> 1067[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 61 -> 1068[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 62[label="FiniteMap.lookupFM2 (Neg Zero) wx31 wx32 wx33 wx34 (Neg (Succ wx400)) (LT == LT)",fontsize=16,color="black",shape="box"];62 -> 79[label="",style="solid", color="black", weight=3]; 13.43/5.61 63[label="FiniteMap.lookupFM2 (Pos (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg Zero) True",fontsize=16,color="black",shape="box"];63 -> 80[label="",style="solid", color="black", weight=3]; 13.43/5.61 64[label="FiniteMap.lookupFM2 (Pos Zero) wx31 wx32 wx33 wx34 (Neg Zero) False",fontsize=16,color="black",shape="box"];64 -> 81[label="",style="solid", color="black", weight=3]; 13.43/5.61 65[label="FiniteMap.lookupFM2 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg Zero) (GT == LT)",fontsize=16,color="black",shape="box"];65 -> 82[label="",style="solid", color="black", weight=3]; 13.43/5.61 66[label="FiniteMap.lookupFM2 (Neg Zero) wx31 wx32 wx33 wx34 (Neg Zero) False",fontsize=16,color="black",shape="box"];66 -> 83[label="",style="solid", color="black", weight=3]; 13.43/5.61 974[label="wx3000",fontsize=16,color="green",shape="box"];975[label="wx31",fontsize=16,color="green",shape="box"];976[label="wx34",fontsize=16,color="green",shape="box"];977[label="wx3000",fontsize=16,color="green",shape="box"];978[label="wx400",fontsize=16,color="green",shape="box"];979[label="wx400",fontsize=16,color="green",shape="box"];980[label="wx33",fontsize=16,color="green",shape="box"];981[label="wx32",fontsize=16,color="green",shape="box"];973[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (primCmpNat wx114 wx115 == LT)",fontsize=16,color="burlywood",shape="triangle"];2104[label="wx114/Succ wx1140",fontsize=10,color="white",style="solid",shape="box"];973 -> 2104[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2104 -> 1054[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2105[label="wx114/Zero",fontsize=10,color="white",style="solid",shape="box"];973 -> 2105[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2105 -> 1055[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 69[label="FiniteMap.lookupFM2 (Pos Zero) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) False",fontsize=16,color="black",shape="box"];69 -> 88[label="",style="solid", color="black", weight=3]; 13.43/5.61 70[label="FiniteMap.lookupFM1 (Neg wx300) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (compare (Pos (Succ wx400)) (Neg wx300) == GT)",fontsize=16,color="black",shape="box"];70 -> 89[label="",style="solid", color="black", weight=3]; 13.43/5.61 71[label="FiniteMap.lookupFM2 (Pos (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos Zero) True",fontsize=16,color="black",shape="box"];71 -> 90[label="",style="solid", color="black", weight=3]; 13.43/5.61 72[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Pos Zero) (Pos Zero > Pos Zero)",fontsize=16,color="black",shape="box"];72 -> 91[label="",style="solid", color="black", weight=3]; 13.43/5.61 73[label="FiniteMap.lookupFM1 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos Zero) (Pos Zero > Neg (Succ wx3000))",fontsize=16,color="black",shape="box"];73 -> 92[label="",style="solid", color="black", weight=3]; 13.43/5.61 74[label="FiniteMap.lookupFM1 (Neg Zero) wx31 wx32 wx33 wx34 (Pos Zero) (Pos Zero > Neg Zero)",fontsize=16,color="black",shape="box"];74 -> 93[label="",style="solid", color="black", weight=3]; 13.43/5.61 75[label="wx33",fontsize=16,color="green",shape="box"];76[label="Neg (Succ wx400)",fontsize=16,color="green",shape="box"];1061[label="wx33",fontsize=16,color="green",shape="box"];1062[label="wx31",fontsize=16,color="green",shape="box"];1063[label="wx400",fontsize=16,color="green",shape="box"];1064[label="wx32",fontsize=16,color="green",shape="box"];1065[label="wx400",fontsize=16,color="green",shape="box"];1066[label="wx34",fontsize=16,color="green",shape="box"];1067[label="wx3000",fontsize=16,color="green",shape="box"];1068[label="wx3000",fontsize=16,color="green",shape="box"];1060[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (primCmpNat wx123 wx124 == LT)",fontsize=16,color="burlywood",shape="triangle"];2106[label="wx123/Succ wx1230",fontsize=10,color="white",style="solid",shape="box"];1060 -> 2106[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2106 -> 1141[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2107[label="wx123/Zero",fontsize=10,color="white",style="solid",shape="box"];1060 -> 2107[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2107 -> 1142[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 79[label="FiniteMap.lookupFM2 (Neg Zero) wx31 wx32 wx33 wx34 (Neg (Succ wx400)) True",fontsize=16,color="black",shape="box"];79 -> 98[label="",style="solid", color="black", weight=3]; 13.43/5.61 80 -> 4[label="",style="dashed", color="red", weight=0]; 13.43/5.61 80[label="FiniteMap.lookupFM wx33 (Neg Zero)",fontsize=16,color="magenta"];80 -> 99[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 80 -> 100[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 81[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Neg Zero) (Neg Zero > Pos Zero)",fontsize=16,color="black",shape="box"];81 -> 101[label="",style="solid", color="black", weight=3]; 13.43/5.61 82[label="FiniteMap.lookupFM2 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg Zero) False",fontsize=16,color="black",shape="box"];82 -> 102[label="",style="solid", color="black", weight=3]; 13.43/5.61 83[label="FiniteMap.lookupFM1 (Neg Zero) wx31 wx32 wx33 wx34 (Neg Zero) (Neg Zero > Neg Zero)",fontsize=16,color="black",shape="box"];83 -> 103[label="",style="solid", color="black", weight=3]; 13.43/5.61 1054[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (primCmpNat (Succ wx1140) wx115 == LT)",fontsize=16,color="burlywood",shape="box"];2108[label="wx115/Succ wx1150",fontsize=10,color="white",style="solid",shape="box"];1054 -> 2108[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2108 -> 1143[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2109[label="wx115/Zero",fontsize=10,color="white",style="solid",shape="box"];1054 -> 2109[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2109 -> 1144[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 1055[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (primCmpNat Zero wx115 == LT)",fontsize=16,color="burlywood",shape="box"];2110[label="wx115/Succ wx1150",fontsize=10,color="white",style="solid",shape="box"];1055 -> 2110[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2110 -> 1145[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2111[label="wx115/Zero",fontsize=10,color="white",style="solid",shape="box"];1055 -> 2111[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2111 -> 1146[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 88[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (Pos (Succ wx400) > Pos Zero)",fontsize=16,color="black",shape="box"];88 -> 108[label="",style="solid", color="black", weight=3]; 13.43/5.61 89[label="FiniteMap.lookupFM1 (Neg wx300) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (primCmpInt (Pos (Succ wx400)) (Neg wx300) == GT)",fontsize=16,color="black",shape="box"];89 -> 109[label="",style="solid", color="black", weight=3]; 13.43/5.61 90 -> 4[label="",style="dashed", color="red", weight=0]; 13.43/5.61 90[label="FiniteMap.lookupFM wx33 (Pos Zero)",fontsize=16,color="magenta"];90 -> 110[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 90 -> 111[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 91[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Pos Zero) (compare (Pos Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];91 -> 112[label="",style="solid", color="black", weight=3]; 13.43/5.61 92[label="FiniteMap.lookupFM1 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos Zero) (compare (Pos Zero) (Neg (Succ wx3000)) == GT)",fontsize=16,color="black",shape="box"];92 -> 113[label="",style="solid", color="black", weight=3]; 13.43/5.61 93[label="FiniteMap.lookupFM1 (Neg Zero) wx31 wx32 wx33 wx34 (Pos Zero) (compare (Pos Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];93 -> 114[label="",style="solid", color="black", weight=3]; 13.43/5.61 1141[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (primCmpNat (Succ wx1230) wx124 == LT)",fontsize=16,color="burlywood",shape="box"];2112[label="wx124/Succ wx1240",fontsize=10,color="white",style="solid",shape="box"];1141 -> 2112[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2112 -> 1147[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2113[label="wx124/Zero",fontsize=10,color="white",style="solid",shape="box"];1141 -> 2113[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2113 -> 1148[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 1142[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (primCmpNat Zero wx124 == LT)",fontsize=16,color="burlywood",shape="box"];2114[label="wx124/Succ wx1240",fontsize=10,color="white",style="solid",shape="box"];1142 -> 2114[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2114 -> 1149[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2115[label="wx124/Zero",fontsize=10,color="white",style="solid",shape="box"];1142 -> 2115[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2115 -> 1150[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 98 -> 4[label="",style="dashed", color="red", weight=0]; 13.43/5.61 98[label="FiniteMap.lookupFM wx33 (Neg (Succ wx400))",fontsize=16,color="magenta"];98 -> 119[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 98 -> 120[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 99[label="wx33",fontsize=16,color="green",shape="box"];100[label="Neg Zero",fontsize=16,color="green",shape="box"];101[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Neg Zero) (compare (Neg Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];101 -> 121[label="",style="solid", color="black", weight=3]; 13.43/5.61 102[label="FiniteMap.lookupFM1 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg Zero) (Neg Zero > Neg (Succ wx3000))",fontsize=16,color="black",shape="box"];102 -> 122[label="",style="solid", color="black", weight=3]; 13.43/5.61 103[label="FiniteMap.lookupFM1 (Neg Zero) wx31 wx32 wx33 wx34 (Neg Zero) (compare (Neg Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];103 -> 123[label="",style="solid", color="black", weight=3]; 13.43/5.61 1143[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (primCmpNat (Succ wx1140) (Succ wx1150) == LT)",fontsize=16,color="black",shape="box"];1143 -> 1151[label="",style="solid", color="black", weight=3]; 13.43/5.61 1144[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (primCmpNat (Succ wx1140) Zero == LT)",fontsize=16,color="black",shape="box"];1144 -> 1152[label="",style="solid", color="black", weight=3]; 13.43/5.61 1145[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (primCmpNat Zero (Succ wx1150) == LT)",fontsize=16,color="black",shape="box"];1145 -> 1153[label="",style="solid", color="black", weight=3]; 13.43/5.61 1146[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (primCmpNat Zero Zero == LT)",fontsize=16,color="black",shape="box"];1146 -> 1154[label="",style="solid", color="black", weight=3]; 13.43/5.61 108[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (compare (Pos (Succ wx400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];108 -> 129[label="",style="solid", color="black", weight=3]; 13.43/5.61 109[label="FiniteMap.lookupFM1 (Neg wx300) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (GT == GT)",fontsize=16,color="black",shape="box"];109 -> 130[label="",style="solid", color="black", weight=3]; 13.43/5.61 110[label="wx33",fontsize=16,color="green",shape="box"];111[label="Pos Zero",fontsize=16,color="green",shape="box"];112[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];112 -> 131[label="",style="solid", color="black", weight=3]; 13.43/5.61 113[label="FiniteMap.lookupFM1 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos Zero) (primCmpInt (Pos Zero) (Neg (Succ wx3000)) == GT)",fontsize=16,color="black",shape="box"];113 -> 132[label="",style="solid", color="black", weight=3]; 13.43/5.61 114[label="FiniteMap.lookupFM1 (Neg Zero) wx31 wx32 wx33 wx34 (Pos Zero) (primCmpInt (Pos Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];114 -> 133[label="",style="solid", color="black", weight=3]; 13.43/5.61 1147[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (primCmpNat (Succ wx1230) (Succ wx1240) == LT)",fontsize=16,color="black",shape="box"];1147 -> 1155[label="",style="solid", color="black", weight=3]; 13.43/5.61 1148[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (primCmpNat (Succ wx1230) Zero == LT)",fontsize=16,color="black",shape="box"];1148 -> 1156[label="",style="solid", color="black", weight=3]; 13.43/5.61 1149[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (primCmpNat Zero (Succ wx1240) == LT)",fontsize=16,color="black",shape="box"];1149 -> 1157[label="",style="solid", color="black", weight=3]; 13.43/5.61 1150[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (primCmpNat Zero Zero == LT)",fontsize=16,color="black",shape="box"];1150 -> 1158[label="",style="solid", color="black", weight=3]; 13.43/5.61 119[label="wx33",fontsize=16,color="green",shape="box"];120[label="Neg (Succ wx400)",fontsize=16,color="green",shape="box"];121[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];121 -> 139[label="",style="solid", color="black", weight=3]; 13.43/5.61 122[label="FiniteMap.lookupFM1 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg Zero) (compare (Neg Zero) (Neg (Succ wx3000)) == GT)",fontsize=16,color="black",shape="box"];122 -> 140[label="",style="solid", color="black", weight=3]; 13.43/5.61 123[label="FiniteMap.lookupFM1 (Neg Zero) wx31 wx32 wx33 wx34 (Neg Zero) (primCmpInt (Neg Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];123 -> 141[label="",style="solid", color="black", weight=3]; 13.43/5.61 1151 -> 973[label="",style="dashed", color="red", weight=0]; 13.43/5.61 1151[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (primCmpNat wx1140 wx1150 == LT)",fontsize=16,color="magenta"];1151 -> 1159[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1151 -> 1160[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1152[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (GT == LT)",fontsize=16,color="black",shape="box"];1152 -> 1161[label="",style="solid", color="black", weight=3]; 13.43/5.61 1153[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (LT == LT)",fontsize=16,color="black",shape="box"];1153 -> 1162[label="",style="solid", color="black", weight=3]; 13.43/5.61 1154[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (EQ == LT)",fontsize=16,color="black",shape="box"];1154 -> 1163[label="",style="solid", color="black", weight=3]; 13.43/5.61 129[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (primCmpInt (Pos (Succ wx400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];129 -> 149[label="",style="solid", color="black", weight=3]; 13.43/5.61 130[label="FiniteMap.lookupFM1 (Neg wx300) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) True",fontsize=16,color="black",shape="box"];130 -> 150[label="",style="solid", color="black", weight=3]; 13.43/5.61 131[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Pos Zero) (EQ == GT)",fontsize=16,color="black",shape="box"];131 -> 151[label="",style="solid", color="black", weight=3]; 13.43/5.61 132[label="FiniteMap.lookupFM1 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos Zero) (GT == GT)",fontsize=16,color="black",shape="box"];132 -> 152[label="",style="solid", color="black", weight=3]; 13.43/5.61 133[label="FiniteMap.lookupFM1 (Neg Zero) wx31 wx32 wx33 wx34 (Pos Zero) (EQ == GT)",fontsize=16,color="black",shape="box"];133 -> 153[label="",style="solid", color="black", weight=3]; 13.43/5.61 1155 -> 1060[label="",style="dashed", color="red", weight=0]; 13.43/5.61 1155[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (primCmpNat wx1230 wx1240 == LT)",fontsize=16,color="magenta"];1155 -> 1164[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1155 -> 1165[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1156[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (GT == LT)",fontsize=16,color="black",shape="box"];1156 -> 1166[label="",style="solid", color="black", weight=3]; 13.43/5.61 1157[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (LT == LT)",fontsize=16,color="black",shape="box"];1157 -> 1167[label="",style="solid", color="black", weight=3]; 13.43/5.61 1158[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (EQ == LT)",fontsize=16,color="black",shape="box"];1158 -> 1168[label="",style="solid", color="black", weight=3]; 13.43/5.61 139[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Neg Zero) (EQ == GT)",fontsize=16,color="black",shape="box"];139 -> 161[label="",style="solid", color="black", weight=3]; 13.43/5.61 140[label="FiniteMap.lookupFM1 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg Zero) (primCmpInt (Neg Zero) (Neg (Succ wx3000)) == GT)",fontsize=16,color="black",shape="box"];140 -> 162[label="",style="solid", color="black", weight=3]; 13.43/5.61 141[label="FiniteMap.lookupFM1 (Neg Zero) wx31 wx32 wx33 wx34 (Neg Zero) (EQ == GT)",fontsize=16,color="black",shape="box"];141 -> 163[label="",style="solid", color="black", weight=3]; 13.43/5.61 1159[label="wx1150",fontsize=16,color="green",shape="box"];1160[label="wx1140",fontsize=16,color="green",shape="box"];1161[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) False",fontsize=16,color="black",shape="triangle"];1161 -> 1169[label="",style="solid", color="black", weight=3]; 13.43/5.61 1162[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) True",fontsize=16,color="black",shape="box"];1162 -> 1170[label="",style="solid", color="black", weight=3]; 13.43/5.61 1163 -> 1161[label="",style="dashed", color="red", weight=0]; 13.43/5.61 1163[label="FiniteMap.lookupFM2 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) False",fontsize=16,color="magenta"];149[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (primCmpNat (Succ wx400) Zero == GT)",fontsize=16,color="black",shape="box"];149 -> 172[label="",style="solid", color="black", weight=3]; 13.43/5.61 150 -> 4[label="",style="dashed", color="red", weight=0]; 13.43/5.61 150[label="FiniteMap.lookupFM wx34 (Pos (Succ wx400))",fontsize=16,color="magenta"];150 -> 173[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 150 -> 174[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 151[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Pos Zero) False",fontsize=16,color="black",shape="box"];151 -> 175[label="",style="solid", color="black", weight=3]; 13.43/5.61 152[label="FiniteMap.lookupFM1 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Pos Zero) True",fontsize=16,color="black",shape="box"];152 -> 176[label="",style="solid", color="black", weight=3]; 13.43/5.61 153[label="FiniteMap.lookupFM1 (Neg Zero) wx31 wx32 wx33 wx34 (Pos Zero) False",fontsize=16,color="black",shape="box"];153 -> 177[label="",style="solid", color="black", weight=3]; 13.43/5.61 1164[label="wx1240",fontsize=16,color="green",shape="box"];1165[label="wx1230",fontsize=16,color="green",shape="box"];1166[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) False",fontsize=16,color="black",shape="triangle"];1166 -> 1171[label="",style="solid", color="black", weight=3]; 13.43/5.61 1167[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) True",fontsize=16,color="black",shape="box"];1167 -> 1172[label="",style="solid", color="black", weight=3]; 13.43/5.61 1168 -> 1166[label="",style="dashed", color="red", weight=0]; 13.43/5.61 1168[label="FiniteMap.lookupFM2 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) False",fontsize=16,color="magenta"];161[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Neg Zero) False",fontsize=16,color="black",shape="box"];161 -> 186[label="",style="solid", color="black", weight=3]; 13.43/5.61 162[label="FiniteMap.lookupFM1 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg Zero) (primCmpNat (Succ wx3000) Zero == GT)",fontsize=16,color="black",shape="box"];162 -> 187[label="",style="solid", color="black", weight=3]; 13.43/5.61 163[label="FiniteMap.lookupFM1 (Neg Zero) wx31 wx32 wx33 wx34 (Neg Zero) False",fontsize=16,color="black",shape="box"];163 -> 188[label="",style="solid", color="black", weight=3]; 13.43/5.61 1169[label="FiniteMap.lookupFM1 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (Pos (Succ wx113) > Pos (Succ wx108))",fontsize=16,color="black",shape="box"];1169 -> 1173[label="",style="solid", color="black", weight=3]; 13.43/5.61 1170 -> 4[label="",style="dashed", color="red", weight=0]; 13.43/5.61 1170[label="FiniteMap.lookupFM wx111 (Pos (Succ wx113))",fontsize=16,color="magenta"];1170 -> 1174[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1170 -> 1175[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 172[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) (GT == GT)",fontsize=16,color="black",shape="box"];172 -> 196[label="",style="solid", color="black", weight=3]; 13.43/5.61 173[label="wx34",fontsize=16,color="green",shape="box"];174[label="Pos (Succ wx400)",fontsize=16,color="green",shape="box"];175[label="FiniteMap.lookupFM0 (Pos Zero) wx31 wx32 wx33 wx34 (Pos Zero) otherwise",fontsize=16,color="black",shape="box"];175 -> 197[label="",style="solid", color="black", weight=3]; 13.43/5.61 176 -> 4[label="",style="dashed", color="red", weight=0]; 13.43/5.61 176[label="FiniteMap.lookupFM wx34 (Pos Zero)",fontsize=16,color="magenta"];176 -> 198[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 176 -> 199[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 177[label="FiniteMap.lookupFM0 (Neg Zero) wx31 wx32 wx33 wx34 (Pos Zero) otherwise",fontsize=16,color="black",shape="box"];177 -> 200[label="",style="solid", color="black", weight=3]; 13.43/5.61 1171[label="FiniteMap.lookupFM1 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (Neg (Succ wx122) > Neg (Succ wx117))",fontsize=16,color="black",shape="box"];1171 -> 1176[label="",style="solid", color="black", weight=3]; 13.43/5.61 1172 -> 4[label="",style="dashed", color="red", weight=0]; 13.43/5.61 1172[label="FiniteMap.lookupFM wx120 (Neg (Succ wx122))",fontsize=16,color="magenta"];1172 -> 1177[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1172 -> 1178[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 186[label="FiniteMap.lookupFM0 (Pos Zero) wx31 wx32 wx33 wx34 (Neg Zero) otherwise",fontsize=16,color="black",shape="box"];186 -> 208[label="",style="solid", color="black", weight=3]; 13.43/5.61 187[label="FiniteMap.lookupFM1 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg Zero) (GT == GT)",fontsize=16,color="black",shape="box"];187 -> 209[label="",style="solid", color="black", weight=3]; 13.43/5.61 188[label="FiniteMap.lookupFM0 (Neg Zero) wx31 wx32 wx33 wx34 (Neg Zero) otherwise",fontsize=16,color="black",shape="box"];188 -> 210[label="",style="solid", color="black", weight=3]; 13.43/5.61 1173[label="FiniteMap.lookupFM1 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (compare (Pos (Succ wx113)) (Pos (Succ wx108)) == GT)",fontsize=16,color="black",shape="box"];1173 -> 1179[label="",style="solid", color="black", weight=3]; 13.43/5.61 1174[label="wx111",fontsize=16,color="green",shape="box"];1175[label="Pos (Succ wx113)",fontsize=16,color="green",shape="box"];196[label="FiniteMap.lookupFM1 (Pos Zero) wx31 wx32 wx33 wx34 (Pos (Succ wx400)) True",fontsize=16,color="black",shape="box"];196 -> 220[label="",style="solid", color="black", weight=3]; 13.43/5.61 197[label="FiniteMap.lookupFM0 (Pos Zero) wx31 wx32 wx33 wx34 (Pos Zero) True",fontsize=16,color="black",shape="box"];197 -> 221[label="",style="solid", color="black", weight=3]; 13.43/5.61 198[label="wx34",fontsize=16,color="green",shape="box"];199[label="Pos Zero",fontsize=16,color="green",shape="box"];200[label="FiniteMap.lookupFM0 (Neg Zero) wx31 wx32 wx33 wx34 (Pos Zero) True",fontsize=16,color="black",shape="box"];200 -> 222[label="",style="solid", color="black", weight=3]; 13.43/5.61 1176[label="FiniteMap.lookupFM1 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (compare (Neg (Succ wx122)) (Neg (Succ wx117)) == GT)",fontsize=16,color="black",shape="box"];1176 -> 1180[label="",style="solid", color="black", weight=3]; 13.43/5.61 1177[label="wx120",fontsize=16,color="green",shape="box"];1178[label="Neg (Succ wx122)",fontsize=16,color="green",shape="box"];208[label="FiniteMap.lookupFM0 (Pos Zero) wx31 wx32 wx33 wx34 (Neg Zero) True",fontsize=16,color="black",shape="box"];208 -> 232[label="",style="solid", color="black", weight=3]; 13.43/5.61 209[label="FiniteMap.lookupFM1 (Neg (Succ wx3000)) wx31 wx32 wx33 wx34 (Neg Zero) True",fontsize=16,color="black",shape="box"];209 -> 233[label="",style="solid", color="black", weight=3]; 13.43/5.61 210[label="FiniteMap.lookupFM0 (Neg Zero) wx31 wx32 wx33 wx34 (Neg Zero) True",fontsize=16,color="black",shape="box"];210 -> 234[label="",style="solid", color="black", weight=3]; 13.43/5.61 1179[label="FiniteMap.lookupFM1 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (primCmpInt (Pos (Succ wx113)) (Pos (Succ wx108)) == GT)",fontsize=16,color="black",shape="box"];1179 -> 1181[label="",style="solid", color="black", weight=3]; 13.43/5.61 220 -> 4[label="",style="dashed", color="red", weight=0]; 13.43/5.61 220[label="FiniteMap.lookupFM wx34 (Pos (Succ wx400))",fontsize=16,color="magenta"];220 -> 245[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 220 -> 246[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 221[label="Just wx31",fontsize=16,color="green",shape="box"];222[label="Just wx31",fontsize=16,color="green",shape="box"];1180[label="FiniteMap.lookupFM1 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (primCmpInt (Neg (Succ wx122)) (Neg (Succ wx117)) == GT)",fontsize=16,color="black",shape="box"];1180 -> 1182[label="",style="solid", color="black", weight=3]; 13.43/5.61 232[label="Just wx31",fontsize=16,color="green",shape="box"];233 -> 4[label="",style="dashed", color="red", weight=0]; 13.43/5.61 233[label="FiniteMap.lookupFM wx34 (Neg Zero)",fontsize=16,color="magenta"];233 -> 257[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 233 -> 258[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 234[label="Just wx31",fontsize=16,color="green",shape="box"];1181 -> 1856[label="",style="dashed", color="red", weight=0]; 13.43/5.61 1181[label="FiniteMap.lookupFM1 (Pos (Succ wx108)) wx109 wx110 wx111 wx112 (Pos (Succ wx113)) (primCmpNat (Succ wx113) (Succ wx108) == GT)",fontsize=16,color="magenta"];1181 -> 1857[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1181 -> 1858[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1181 -> 1859[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1181 -> 1860[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1181 -> 1861[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1181 -> 1862[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1181 -> 1863[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1181 -> 1864[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 245[label="wx34",fontsize=16,color="green",shape="box"];246[label="Pos (Succ wx400)",fontsize=16,color="green",shape="box"];1182 -> 1947[label="",style="dashed", color="red", weight=0]; 13.43/5.61 1182[label="FiniteMap.lookupFM1 (Neg (Succ wx117)) wx118 wx119 wx120 wx121 (Neg (Succ wx122)) (primCmpNat (Succ wx117) (Succ wx122) == GT)",fontsize=16,color="magenta"];1182 -> 1948[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1182 -> 1949[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1182 -> 1950[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1182 -> 1951[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1182 -> 1952[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1182 -> 1953[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1182 -> 1954[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 1182 -> 1955[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 257[label="wx34",fontsize=16,color="green",shape="box"];258[label="Neg Zero",fontsize=16,color="green",shape="box"];1857[label="wx110",fontsize=16,color="green",shape="box"];1858[label="wx109",fontsize=16,color="green",shape="box"];1859[label="Succ wx108",fontsize=16,color="green",shape="box"];1860[label="wx112",fontsize=16,color="green",shape="box"];1861[label="wx108",fontsize=16,color="green",shape="box"];1862[label="wx111",fontsize=16,color="green",shape="box"];1863[label="wx113",fontsize=16,color="green",shape="box"];1864[label="Succ wx113",fontsize=16,color="green",shape="box"];1856[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) (primCmpNat wx234 wx235 == GT)",fontsize=16,color="burlywood",shape="triangle"];2116[label="wx234/Succ wx2340",fontsize=10,color="white",style="solid",shape="box"];1856 -> 2116[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2116 -> 1945[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2117[label="wx234/Zero",fontsize=10,color="white",style="solid",shape="box"];1856 -> 2117[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2117 -> 1946[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 1948[label="wx119",fontsize=16,color="green",shape="box"];1949[label="wx120",fontsize=16,color="green",shape="box"];1950[label="Succ wx117",fontsize=16,color="green",shape="box"];1951[label="wx117",fontsize=16,color="green",shape="box"];1952[label="wx118",fontsize=16,color="green",shape="box"];1953[label="wx121",fontsize=16,color="green",shape="box"];1954[label="wx122",fontsize=16,color="green",shape="box"];1955[label="Succ wx122",fontsize=16,color="green",shape="box"];1947[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) (primCmpNat wx243 wx244 == GT)",fontsize=16,color="burlywood",shape="triangle"];2118[label="wx243/Succ wx2430",fontsize=10,color="white",style="solid",shape="box"];1947 -> 2118[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2118 -> 2036[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2119[label="wx243/Zero",fontsize=10,color="white",style="solid",shape="box"];1947 -> 2119[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2119 -> 2037[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 1945[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) (primCmpNat (Succ wx2340) wx235 == GT)",fontsize=16,color="burlywood",shape="box"];2120[label="wx235/Succ wx2350",fontsize=10,color="white",style="solid",shape="box"];1945 -> 2120[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2120 -> 2038[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2121[label="wx235/Zero",fontsize=10,color="white",style="solid",shape="box"];1945 -> 2121[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2121 -> 2039[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 1946[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) (primCmpNat Zero wx235 == GT)",fontsize=16,color="burlywood",shape="box"];2122[label="wx235/Succ wx2350",fontsize=10,color="white",style="solid",shape="box"];1946 -> 2122[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2122 -> 2040[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2123[label="wx235/Zero",fontsize=10,color="white",style="solid",shape="box"];1946 -> 2123[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2123 -> 2041[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2036[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) (primCmpNat (Succ wx2430) wx244 == GT)",fontsize=16,color="burlywood",shape="box"];2124[label="wx244/Succ wx2440",fontsize=10,color="white",style="solid",shape="box"];2036 -> 2124[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2124 -> 2042[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2125[label="wx244/Zero",fontsize=10,color="white",style="solid",shape="box"];2036 -> 2125[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2125 -> 2043[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2037[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) (primCmpNat Zero wx244 == GT)",fontsize=16,color="burlywood",shape="box"];2126[label="wx244/Succ wx2440",fontsize=10,color="white",style="solid",shape="box"];2037 -> 2126[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2126 -> 2044[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2127[label="wx244/Zero",fontsize=10,color="white",style="solid",shape="box"];2037 -> 2127[label="",style="solid", color="burlywood", weight=9]; 13.43/5.61 2127 -> 2045[label="",style="solid", color="burlywood", weight=3]; 13.43/5.61 2038[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) (primCmpNat (Succ wx2340) (Succ wx2350) == GT)",fontsize=16,color="black",shape="box"];2038 -> 2046[label="",style="solid", color="black", weight=3]; 13.43/5.61 2039[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) (primCmpNat (Succ wx2340) Zero == GT)",fontsize=16,color="black",shape="box"];2039 -> 2047[label="",style="solid", color="black", weight=3]; 13.43/5.61 2040[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) (primCmpNat Zero (Succ wx2350) == GT)",fontsize=16,color="black",shape="box"];2040 -> 2048[label="",style="solid", color="black", weight=3]; 13.43/5.61 2041[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];2041 -> 2049[label="",style="solid", color="black", weight=3]; 13.43/5.61 2042[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) (primCmpNat (Succ wx2430) (Succ wx2440) == GT)",fontsize=16,color="black",shape="box"];2042 -> 2050[label="",style="solid", color="black", weight=3]; 13.43/5.61 2043[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) (primCmpNat (Succ wx2430) Zero == GT)",fontsize=16,color="black",shape="box"];2043 -> 2051[label="",style="solid", color="black", weight=3]; 13.43/5.61 2044[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) (primCmpNat Zero (Succ wx2440) == GT)",fontsize=16,color="black",shape="box"];2044 -> 2052[label="",style="solid", color="black", weight=3]; 13.43/5.61 2045[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];2045 -> 2053[label="",style="solid", color="black", weight=3]; 13.43/5.61 2046 -> 1856[label="",style="dashed", color="red", weight=0]; 13.43/5.61 2046[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) (primCmpNat wx2340 wx2350 == GT)",fontsize=16,color="magenta"];2046 -> 2054[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 2046 -> 2055[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 2047[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) (GT == GT)",fontsize=16,color="black",shape="box"];2047 -> 2056[label="",style="solid", color="black", weight=3]; 13.43/5.61 2048[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) (LT == GT)",fontsize=16,color="black",shape="box"];2048 -> 2057[label="",style="solid", color="black", weight=3]; 13.43/5.61 2049[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) (EQ == GT)",fontsize=16,color="black",shape="box"];2049 -> 2058[label="",style="solid", color="black", weight=3]; 13.43/5.61 2050 -> 1947[label="",style="dashed", color="red", weight=0]; 13.43/5.61 2050[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) (primCmpNat wx2430 wx2440 == GT)",fontsize=16,color="magenta"];2050 -> 2059[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 2050 -> 2060[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 2051[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) (GT == GT)",fontsize=16,color="black",shape="box"];2051 -> 2061[label="",style="solid", color="black", weight=3]; 13.43/5.61 2052[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) (LT == GT)",fontsize=16,color="black",shape="box"];2052 -> 2062[label="",style="solid", color="black", weight=3]; 13.43/5.61 2053[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) (EQ == GT)",fontsize=16,color="black",shape="box"];2053 -> 2063[label="",style="solid", color="black", weight=3]; 13.43/5.61 2054[label="wx2350",fontsize=16,color="green",shape="box"];2055[label="wx2340",fontsize=16,color="green",shape="box"];2056[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) True",fontsize=16,color="black",shape="box"];2056 -> 2064[label="",style="solid", color="black", weight=3]; 13.43/5.61 2057[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) False",fontsize=16,color="black",shape="triangle"];2057 -> 2065[label="",style="solid", color="black", weight=3]; 13.43/5.61 2058 -> 2057[label="",style="dashed", color="red", weight=0]; 13.43/5.61 2058[label="FiniteMap.lookupFM1 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) False",fontsize=16,color="magenta"];2059[label="wx2430",fontsize=16,color="green",shape="box"];2060[label="wx2440",fontsize=16,color="green",shape="box"];2061[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) True",fontsize=16,color="black",shape="box"];2061 -> 2066[label="",style="solid", color="black", weight=3]; 13.43/5.61 2062[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) False",fontsize=16,color="black",shape="triangle"];2062 -> 2067[label="",style="solid", color="black", weight=3]; 13.43/5.61 2063 -> 2062[label="",style="dashed", color="red", weight=0]; 13.43/5.61 2063[label="FiniteMap.lookupFM1 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) False",fontsize=16,color="magenta"];2064 -> 4[label="",style="dashed", color="red", weight=0]; 13.43/5.61 2064[label="FiniteMap.lookupFM wx232 (Pos (Succ wx233))",fontsize=16,color="magenta"];2064 -> 2068[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 2064 -> 2069[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 2065[label="FiniteMap.lookupFM0 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) otherwise",fontsize=16,color="black",shape="box"];2065 -> 2070[label="",style="solid", color="black", weight=3]; 13.43/5.61 2066 -> 4[label="",style="dashed", color="red", weight=0]; 13.43/5.61 2066[label="FiniteMap.lookupFM wx241 (Neg (Succ wx242))",fontsize=16,color="magenta"];2066 -> 2071[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 2066 -> 2072[label="",style="dashed", color="magenta", weight=3]; 13.43/5.61 2067[label="FiniteMap.lookupFM0 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) otherwise",fontsize=16,color="black",shape="box"];2067 -> 2073[label="",style="solid", color="black", weight=3]; 13.43/5.61 2068[label="wx232",fontsize=16,color="green",shape="box"];2069[label="Pos (Succ wx233)",fontsize=16,color="green",shape="box"];2070[label="FiniteMap.lookupFM0 (Pos (Succ wx228)) wx229 wx230 wx231 wx232 (Pos (Succ wx233)) True",fontsize=16,color="black",shape="box"];2070 -> 2074[label="",style="solid", color="black", weight=3]; 13.43/5.61 2071[label="wx241",fontsize=16,color="green",shape="box"];2072[label="Neg (Succ wx242)",fontsize=16,color="green",shape="box"];2073[label="FiniteMap.lookupFM0 (Neg (Succ wx237)) wx238 wx239 wx240 wx241 (Neg (Succ wx242)) True",fontsize=16,color="black",shape="box"];2073 -> 2075[label="",style="solid", color="black", weight=3]; 13.43/5.61 2074[label="Just wx229",fontsize=16,color="green",shape="box"];2075[label="Just wx238",fontsize=16,color="green",shape="box"];} 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (6) 13.43/5.61 Obligation: 13.43/5.61 Q DP problem: 13.43/5.61 The TRS P consists of the following rules: 13.43/5.61 13.43/5.61 new_lookupFM(Branch(Neg(Zero), wx31, wx32, wx33, wx34), Neg(Succ(wx400)), bb) -> new_lookupFM(wx33, Neg(Succ(wx400)), bb) 13.43/5.61 new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, Succ(wx1140), Succ(wx1150), h) -> new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, wx1140, wx1150, h) 13.43/5.61 new_lookupFM10(wx237, wx238, wx239, wx240, wx241, wx242, Succ(wx2430), Succ(wx2440), bd) -> new_lookupFM10(wx237, wx238, wx239, wx240, wx241, wx242, wx2430, wx2440, bd) 13.43/5.61 new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, Succ(wx1140), Zero, h) -> new_lookupFM1(wx108, wx109, wx110, wx111, wx112, wx113, Succ(wx113), Succ(wx108), h) 13.43/5.61 new_lookupFM1(wx228, wx229, wx230, wx231, wx232, wx233, Succ(wx2340), Succ(wx2350), ba) -> new_lookupFM1(wx228, wx229, wx230, wx231, wx232, wx233, wx2340, wx2350, ba) 13.43/5.61 new_lookupFM(Branch(Pos(Succ(wx3000)), wx31, wx32, wx33, wx34), Pos(Succ(wx400)), bb) -> new_lookupFM2(wx3000, wx31, wx32, wx33, wx34, wx400, wx400, wx3000, bb) 13.43/5.61 new_lookupFM(Branch(Neg(Succ(wx3000)), wx31, wx32, wx33, wx34), Neg(Succ(wx400)), bb) -> new_lookupFM21(wx3000, wx31, wx32, wx33, wx34, wx400, wx3000, wx400, bb) 13.43/5.61 new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, Succ(wx1230), Zero, bc) -> new_lookupFM10(wx117, wx118, wx119, wx120, wx121, wx122, Succ(wx117), Succ(wx122), bc) 13.43/5.61 new_lookupFM20(wx108, wx109, wx110, wx111, wx112, wx113, h) -> new_lookupFM1(wx108, wx109, wx110, wx111, wx112, wx113, Succ(wx113), Succ(wx108), h) 13.43/5.61 new_lookupFM(Branch(Neg(Succ(wx3000)), wx31, wx32, wx33, wx34), Pos(Zero), bb) -> new_lookupFM(wx34, Pos(Zero), bb) 13.43/5.61 new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, Zero, Succ(wx1150), h) -> new_lookupFM(wx111, Pos(Succ(wx113)), h) 13.43/5.61 new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, Zero, Succ(wx1240), bc) -> new_lookupFM(wx120, Neg(Succ(wx122)), bc) 13.43/5.61 new_lookupFM10(wx237, wx238, wx239, wx240, wx241, wx242, Succ(wx2430), Zero, bd) -> new_lookupFM(wx241, Neg(Succ(wx242)), bd) 13.43/5.61 new_lookupFM(Branch(Neg(Succ(wx3000)), wx31, wx32, wx33, wx34), Neg(Zero), bb) -> new_lookupFM(wx34, Neg(Zero), bb) 13.43/5.61 new_lookupFM(Branch(Pos(Succ(wx3000)), wx31, wx32, wx33, wx34), Neg(Zero), bb) -> new_lookupFM(wx33, Neg(Zero), bb) 13.43/5.61 new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, Succ(wx1230), Succ(wx1240), bc) -> new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, wx1230, wx1240, bc) 13.43/5.61 new_lookupFM(Branch(Pos(wx300), wx31, wx32, wx33, wx34), Neg(Succ(wx400)), bb) -> new_lookupFM(wx33, Neg(Succ(wx400)), bb) 13.43/5.61 new_lookupFM22(wx117, wx118, wx119, wx120, wx121, wx122, bc) -> new_lookupFM10(wx117, wx118, wx119, wx120, wx121, wx122, Succ(wx117), Succ(wx122), bc) 13.43/5.61 new_lookupFM(Branch(Pos(Zero), wx31, wx32, wx33, wx34), Pos(Succ(wx400)), bb) -> new_lookupFM(wx34, Pos(Succ(wx400)), bb) 13.43/5.61 new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, Zero, Zero, h) -> new_lookupFM20(wx108, wx109, wx110, wx111, wx112, wx113, h) 13.43/5.61 new_lookupFM(Branch(Neg(wx300), wx31, wx32, wx33, wx34), Pos(Succ(wx400)), bb) -> new_lookupFM(wx34, Pos(Succ(wx400)), bb) 13.43/5.61 new_lookupFM1(wx228, wx229, wx230, wx231, wx232, wx233, Succ(wx2340), Zero, ba) -> new_lookupFM(wx232, Pos(Succ(wx233)), ba) 13.43/5.61 new_lookupFM(Branch(Pos(Succ(wx3000)), wx31, wx32, wx33, wx34), Pos(Zero), bb) -> new_lookupFM(wx33, Pos(Zero), bb) 13.43/5.61 new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, Zero, Zero, bc) -> new_lookupFM22(wx117, wx118, wx119, wx120, wx121, wx122, bc) 13.43/5.61 13.43/5.61 R is empty. 13.43/5.61 Q is empty. 13.43/5.61 We have to consider all minimal (P,Q,R)-chains. 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (7) DependencyGraphProof (EQUIVALENT) 13.43/5.61 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs. 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (8) 13.43/5.61 Complex Obligation (AND) 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (9) 13.43/5.61 Obligation: 13.43/5.61 Q DP problem: 13.43/5.61 The TRS P consists of the following rules: 13.43/5.61 13.43/5.61 new_lookupFM(Branch(Pos(Succ(wx3000)), wx31, wx32, wx33, wx34), Neg(Zero), bb) -> new_lookupFM(wx33, Neg(Zero), bb) 13.43/5.61 new_lookupFM(Branch(Neg(Succ(wx3000)), wx31, wx32, wx33, wx34), Neg(Zero), bb) -> new_lookupFM(wx34, Neg(Zero), bb) 13.43/5.61 13.43/5.61 R is empty. 13.43/5.61 Q is empty. 13.43/5.61 We have to consider all minimal (P,Q,R)-chains. 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (10) QDPSizeChangeProof (EQUIVALENT) 13.43/5.61 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.43/5.61 13.43/5.61 From the DPs we obtained the following set of size-change graphs: 13.43/5.61 *new_lookupFM(Branch(Pos(Succ(wx3000)), wx31, wx32, wx33, wx34), Neg(Zero), bb) -> new_lookupFM(wx33, Neg(Zero), bb) 13.43/5.61 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM(Branch(Neg(Succ(wx3000)), wx31, wx32, wx33, wx34), Neg(Zero), bb) -> new_lookupFM(wx34, Neg(Zero), bb) 13.43/5.61 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 13.43/5.61 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (11) 13.43/5.61 YES 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (12) 13.43/5.61 Obligation: 13.43/5.61 Q DP problem: 13.43/5.61 The TRS P consists of the following rules: 13.43/5.61 13.43/5.61 new_lookupFM(Branch(Pos(Succ(wx3000)), wx31, wx32, wx33, wx34), Pos(Zero), bb) -> new_lookupFM(wx33, Pos(Zero), bb) 13.43/5.61 new_lookupFM(Branch(Neg(Succ(wx3000)), wx31, wx32, wx33, wx34), Pos(Zero), bb) -> new_lookupFM(wx34, Pos(Zero), bb) 13.43/5.61 13.43/5.61 R is empty. 13.43/5.61 Q is empty. 13.43/5.61 We have to consider all minimal (P,Q,R)-chains. 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (13) QDPSizeChangeProof (EQUIVALENT) 13.43/5.61 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.43/5.61 13.43/5.61 From the DPs we obtained the following set of size-change graphs: 13.43/5.61 *new_lookupFM(Branch(Pos(Succ(wx3000)), wx31, wx32, wx33, wx34), Pos(Zero), bb) -> new_lookupFM(wx33, Pos(Zero), bb) 13.43/5.61 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM(Branch(Neg(Succ(wx3000)), wx31, wx32, wx33, wx34), Pos(Zero), bb) -> new_lookupFM(wx34, Pos(Zero), bb) 13.43/5.61 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 13.43/5.61 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (14) 13.43/5.61 YES 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (15) 13.43/5.61 Obligation: 13.43/5.61 Q DP problem: 13.43/5.61 The TRS P consists of the following rules: 13.43/5.61 13.43/5.61 new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, Succ(wx1140), Zero, h) -> new_lookupFM1(wx108, wx109, wx110, wx111, wx112, wx113, Succ(wx113), Succ(wx108), h) 13.43/5.61 new_lookupFM1(wx228, wx229, wx230, wx231, wx232, wx233, Succ(wx2340), Succ(wx2350), ba) -> new_lookupFM1(wx228, wx229, wx230, wx231, wx232, wx233, wx2340, wx2350, ba) 13.43/5.61 new_lookupFM1(wx228, wx229, wx230, wx231, wx232, wx233, Succ(wx2340), Zero, ba) -> new_lookupFM(wx232, Pos(Succ(wx233)), ba) 13.43/5.61 new_lookupFM(Branch(Pos(Succ(wx3000)), wx31, wx32, wx33, wx34), Pos(Succ(wx400)), bb) -> new_lookupFM2(wx3000, wx31, wx32, wx33, wx34, wx400, wx400, wx3000, bb) 13.43/5.61 new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, Succ(wx1140), Succ(wx1150), h) -> new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, wx1140, wx1150, h) 13.43/5.61 new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, Zero, Succ(wx1150), h) -> new_lookupFM(wx111, Pos(Succ(wx113)), h) 13.43/5.61 new_lookupFM(Branch(Pos(Zero), wx31, wx32, wx33, wx34), Pos(Succ(wx400)), bb) -> new_lookupFM(wx34, Pos(Succ(wx400)), bb) 13.43/5.61 new_lookupFM(Branch(Neg(wx300), wx31, wx32, wx33, wx34), Pos(Succ(wx400)), bb) -> new_lookupFM(wx34, Pos(Succ(wx400)), bb) 13.43/5.61 new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, Zero, Zero, h) -> new_lookupFM20(wx108, wx109, wx110, wx111, wx112, wx113, h) 13.43/5.61 new_lookupFM20(wx108, wx109, wx110, wx111, wx112, wx113, h) -> new_lookupFM1(wx108, wx109, wx110, wx111, wx112, wx113, Succ(wx113), Succ(wx108), h) 13.43/5.61 13.43/5.61 R is empty. 13.43/5.61 Q is empty. 13.43/5.61 We have to consider all minimal (P,Q,R)-chains. 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (16) QDPSizeChangeProof (EQUIVALENT) 13.43/5.61 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.43/5.61 13.43/5.61 From the DPs we obtained the following set of size-change graphs: 13.43/5.61 *new_lookupFM1(wx228, wx229, wx230, wx231, wx232, wx233, Succ(wx2340), Succ(wx2350), ba) -> new_lookupFM1(wx228, wx229, wx230, wx231, wx232, wx233, wx2340, wx2350, ba) 13.43/5.61 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 > 7, 8 > 8, 9 >= 9 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM1(wx228, wx229, wx230, wx231, wx232, wx233, Succ(wx2340), Zero, ba) -> new_lookupFM(wx232, Pos(Succ(wx233)), ba) 13.43/5.61 The graph contains the following edges 5 >= 1, 9 >= 3 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM(Branch(Pos(Succ(wx3000)), wx31, wx32, wx33, wx34), Pos(Succ(wx400)), bb) -> new_lookupFM2(wx3000, wx31, wx32, wx33, wx34, wx400, wx400, wx3000, bb) 13.43/5.61 The graph contains the following edges 1 > 1, 1 > 2, 1 > 3, 1 > 4, 1 > 5, 2 > 6, 2 > 7, 1 > 8, 3 >= 9 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, Succ(wx1140), Succ(wx1150), h) -> new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, wx1140, wx1150, h) 13.43/5.61 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 > 7, 8 > 8, 9 >= 9 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, Succ(wx1140), Zero, h) -> new_lookupFM1(wx108, wx109, wx110, wx111, wx112, wx113, Succ(wx113), Succ(wx108), h) 13.43/5.61 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 9 >= 9 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM20(wx108, wx109, wx110, wx111, wx112, wx113, h) -> new_lookupFM1(wx108, wx109, wx110, wx111, wx112, wx113, Succ(wx113), Succ(wx108), h) 13.43/5.61 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 9 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, Zero, Succ(wx1150), h) -> new_lookupFM(wx111, Pos(Succ(wx113)), h) 13.43/5.61 The graph contains the following edges 4 >= 1, 9 >= 3 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM2(wx108, wx109, wx110, wx111, wx112, wx113, Zero, Zero, h) -> new_lookupFM20(wx108, wx109, wx110, wx111, wx112, wx113, h) 13.43/5.61 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 9 >= 7 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM(Branch(Pos(Zero), wx31, wx32, wx33, wx34), Pos(Succ(wx400)), bb) -> new_lookupFM(wx34, Pos(Succ(wx400)), bb) 13.43/5.61 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM(Branch(Neg(wx300), wx31, wx32, wx33, wx34), Pos(Succ(wx400)), bb) -> new_lookupFM(wx34, Pos(Succ(wx400)), bb) 13.43/5.61 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 13.43/5.61 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (17) 13.43/5.61 YES 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (18) 13.43/5.61 Obligation: 13.43/5.61 Q DP problem: 13.43/5.61 The TRS P consists of the following rules: 13.43/5.61 13.43/5.61 new_lookupFM(Branch(Neg(Succ(wx3000)), wx31, wx32, wx33, wx34), Neg(Succ(wx400)), bb) -> new_lookupFM21(wx3000, wx31, wx32, wx33, wx34, wx400, wx3000, wx400, bb) 13.43/5.61 new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, Succ(wx1230), Zero, bc) -> new_lookupFM10(wx117, wx118, wx119, wx120, wx121, wx122, Succ(wx117), Succ(wx122), bc) 13.43/5.61 new_lookupFM10(wx237, wx238, wx239, wx240, wx241, wx242, Succ(wx2430), Succ(wx2440), bd) -> new_lookupFM10(wx237, wx238, wx239, wx240, wx241, wx242, wx2430, wx2440, bd) 13.43/5.61 new_lookupFM10(wx237, wx238, wx239, wx240, wx241, wx242, Succ(wx2430), Zero, bd) -> new_lookupFM(wx241, Neg(Succ(wx242)), bd) 13.43/5.61 new_lookupFM(Branch(Neg(Zero), wx31, wx32, wx33, wx34), Neg(Succ(wx400)), bb) -> new_lookupFM(wx33, Neg(Succ(wx400)), bb) 13.43/5.61 new_lookupFM(Branch(Pos(wx300), wx31, wx32, wx33, wx34), Neg(Succ(wx400)), bb) -> new_lookupFM(wx33, Neg(Succ(wx400)), bb) 13.43/5.61 new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, Zero, Succ(wx1240), bc) -> new_lookupFM(wx120, Neg(Succ(wx122)), bc) 13.43/5.61 new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, Succ(wx1230), Succ(wx1240), bc) -> new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, wx1230, wx1240, bc) 13.43/5.61 new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, Zero, Zero, bc) -> new_lookupFM22(wx117, wx118, wx119, wx120, wx121, wx122, bc) 13.43/5.61 new_lookupFM22(wx117, wx118, wx119, wx120, wx121, wx122, bc) -> new_lookupFM10(wx117, wx118, wx119, wx120, wx121, wx122, Succ(wx117), Succ(wx122), bc) 13.43/5.61 13.43/5.61 R is empty. 13.43/5.61 Q is empty. 13.43/5.61 We have to consider all minimal (P,Q,R)-chains. 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (19) QDPSizeChangeProof (EQUIVALENT) 13.43/5.61 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.43/5.61 13.43/5.61 From the DPs we obtained the following set of size-change graphs: 13.43/5.61 *new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, Zero, Succ(wx1240), bc) -> new_lookupFM(wx120, Neg(Succ(wx122)), bc) 13.43/5.61 The graph contains the following edges 4 >= 1, 9 >= 3 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, Succ(wx1230), Succ(wx1240), bc) -> new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, wx1230, wx1240, bc) 13.43/5.61 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 > 7, 8 > 8, 9 >= 9 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM10(wx237, wx238, wx239, wx240, wx241, wx242, Succ(wx2430), Succ(wx2440), bd) -> new_lookupFM10(wx237, wx238, wx239, wx240, wx241, wx242, wx2430, wx2440, bd) 13.43/5.61 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 > 7, 8 > 8, 9 >= 9 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM(Branch(Neg(Succ(wx3000)), wx31, wx32, wx33, wx34), Neg(Succ(wx400)), bb) -> new_lookupFM21(wx3000, wx31, wx32, wx33, wx34, wx400, wx3000, wx400, bb) 13.43/5.61 The graph contains the following edges 1 > 1, 1 > 2, 1 > 3, 1 > 4, 1 > 5, 2 > 6, 1 > 7, 2 > 8, 3 >= 9 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM22(wx117, wx118, wx119, wx120, wx121, wx122, bc) -> new_lookupFM10(wx117, wx118, wx119, wx120, wx121, wx122, Succ(wx117), Succ(wx122), bc) 13.43/5.61 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 7 >= 9 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, Succ(wx1230), Zero, bc) -> new_lookupFM10(wx117, wx118, wx119, wx120, wx121, wx122, Succ(wx117), Succ(wx122), bc) 13.43/5.61 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 9 >= 9 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM21(wx117, wx118, wx119, wx120, wx121, wx122, Zero, Zero, bc) -> new_lookupFM22(wx117, wx118, wx119, wx120, wx121, wx122, bc) 13.43/5.61 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 >= 6, 9 >= 7 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM10(wx237, wx238, wx239, wx240, wx241, wx242, Succ(wx2430), Zero, bd) -> new_lookupFM(wx241, Neg(Succ(wx242)), bd) 13.43/5.61 The graph contains the following edges 5 >= 1, 9 >= 3 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM(Branch(Neg(Zero), wx31, wx32, wx33, wx34), Neg(Succ(wx400)), bb) -> new_lookupFM(wx33, Neg(Succ(wx400)), bb) 13.43/5.61 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 13.43/5.61 13.43/5.61 13.43/5.61 *new_lookupFM(Branch(Pos(wx300), wx31, wx32, wx33, wx34), Neg(Succ(wx400)), bb) -> new_lookupFM(wx33, Neg(Succ(wx400)), bb) 13.43/5.61 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 13.43/5.61 13.43/5.61 13.43/5.61 ---------------------------------------- 13.43/5.61 13.43/5.61 (20) 13.43/5.61 YES 13.61/9.07 EOF