20.72/8.85 YES 22.30/9.38 proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs 22.30/9.38 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 22.30/9.38 22.30/9.38 22.30/9.38 H-Termination with start terms of the given HASKELL could be proven: 22.30/9.38 22.30/9.38 (0) HASKELL 22.30/9.38 (1) BR [EQUIVALENT, 0 ms] 22.30/9.38 (2) HASKELL 22.30/9.38 (3) COR [EQUIVALENT, 0 ms] 22.30/9.38 (4) HASKELL 22.30/9.38 (5) Narrow [SOUND, 0 ms] 22.30/9.38 (6) AND 22.30/9.38 (7) QDP 22.30/9.38 (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] 22.30/9.38 (9) YES 22.30/9.38 (10) QDP 22.30/9.38 (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] 22.30/9.38 (12) YES 22.30/9.38 (13) QDP 22.30/9.38 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 22.30/9.38 (15) YES 22.30/9.38 (16) QDP 22.30/9.38 (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] 22.30/9.38 (18) YES 22.30/9.38 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (0) 22.30/9.38 Obligation: 22.30/9.38 mainModule Main 22.30/9.38 module FiniteMap where { 22.30/9.38 import qualified Main; 22.30/9.38 import qualified Maybe; 22.30/9.38 import qualified Prelude; 22.30/9.38 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 22.30/9.38 22.30/9.38 instance (Eq a, Eq b) => Eq FiniteMap b a where { 22.30/9.38 } 22.30/9.38 foldFM_LE :: Ord a => (a -> b -> c -> c) -> c -> a -> FiniteMap a b -> c; 22.30/9.38 foldFM_LE k z fr EmptyFM = z; 22.30/9.38 foldFM_LE k z fr (Branch key elt _ fm_l fm_r) | key <= fr = foldFM_LE k (k key elt (foldFM_LE k z fr fm_l)) fr fm_r 22.30/9.38 | otherwise = foldFM_LE k z fr fm_l; 22.30/9.38 22.30/9.38 } 22.30/9.38 module Maybe where { 22.30/9.38 import qualified FiniteMap; 22.30/9.38 import qualified Main; 22.30/9.38 import qualified Prelude; 22.30/9.38 } 22.30/9.38 module Main where { 22.30/9.38 import qualified FiniteMap; 22.30/9.38 import qualified Maybe; 22.30/9.38 import qualified Prelude; 22.30/9.38 } 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (1) BR (EQUIVALENT) 22.30/9.38 Replaced joker patterns by fresh variables and removed binding patterns. 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (2) 22.30/9.38 Obligation: 22.30/9.38 mainModule Main 22.30/9.38 module FiniteMap where { 22.30/9.38 import qualified Main; 22.30/9.38 import qualified Maybe; 22.30/9.38 import qualified Prelude; 22.30/9.38 data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) ; 22.30/9.38 22.30/9.38 instance (Eq a, Eq b) => Eq FiniteMap b a where { 22.30/9.38 } 22.30/9.38 foldFM_LE :: Ord c => (c -> b -> a -> a) -> a -> c -> FiniteMap c b -> a; 22.30/9.38 foldFM_LE k z fr EmptyFM = z; 22.30/9.38 foldFM_LE k z fr (Branch key elt vy fm_l fm_r) | key <= fr = foldFM_LE k (k key elt (foldFM_LE k z fr fm_l)) fr fm_r 22.30/9.38 | otherwise = foldFM_LE k z fr fm_l; 22.30/9.38 22.30/9.38 } 22.30/9.38 module Maybe where { 22.30/9.38 import qualified FiniteMap; 22.30/9.38 import qualified Main; 22.30/9.38 import qualified Prelude; 22.30/9.38 } 22.30/9.38 module Main where { 22.30/9.38 import qualified FiniteMap; 22.30/9.38 import qualified Maybe; 22.30/9.38 import qualified Prelude; 22.30/9.38 } 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (3) COR (EQUIVALENT) 22.30/9.38 Cond Reductions: 22.30/9.38 The following Function with conditions 22.30/9.38 "undefined |Falseundefined; 22.30/9.38 " 22.30/9.38 is transformed to 22.30/9.38 "undefined = undefined1; 22.30/9.38 " 22.30/9.38 "undefined0 True = undefined; 22.30/9.38 " 22.30/9.38 "undefined1 = undefined0 False; 22.30/9.38 " 22.30/9.38 The following Function with conditions 22.30/9.38 "foldFM_LE k z fr EmptyFM = z; 22.30/9.38 foldFM_LE k z fr (Branch key elt vy fm_l fm_r)|key <= frfoldFM_LE k (k key elt (foldFM_LE k z fr fm_l)) fr fm_r|otherwisefoldFM_LE k z fr fm_l; 22.30/9.38 " 22.30/9.38 is transformed to 22.30/9.38 "foldFM_LE k z fr EmptyFM = foldFM_LE3 k z fr EmptyFM; 22.30/9.38 foldFM_LE k z fr (Branch key elt vy fm_l fm_r) = foldFM_LE2 k z fr (Branch key elt vy fm_l fm_r); 22.30/9.38 " 22.30/9.38 "foldFM_LE1 k z fr key elt vy fm_l fm_r True = foldFM_LE k (k key elt (foldFM_LE k z fr fm_l)) fr fm_r; 22.30/9.38 foldFM_LE1 k z fr key elt vy fm_l fm_r False = foldFM_LE0 k z fr key elt vy fm_l fm_r otherwise; 22.30/9.38 " 22.30/9.38 "foldFM_LE0 k z fr key elt vy fm_l fm_r True = foldFM_LE k z fr fm_l; 22.30/9.38 " 22.30/9.38 "foldFM_LE2 k z fr (Branch key elt vy fm_l fm_r) = foldFM_LE1 k z fr key elt vy fm_l fm_r (key <= fr); 22.30/9.38 " 22.30/9.38 "foldFM_LE3 k z fr EmptyFM = z; 22.30/9.38 foldFM_LE3 wv ww wx wy = foldFM_LE2 wv ww wx wy; 22.30/9.38 " 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (4) 22.30/9.38 Obligation: 22.30/9.38 mainModule Main 22.30/9.38 module FiniteMap where { 22.30/9.38 import qualified Main; 22.30/9.38 import qualified Maybe; 22.30/9.38 import qualified Prelude; 22.30/9.38 data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) ; 22.30/9.38 22.30/9.38 instance (Eq a, Eq b) => Eq FiniteMap b a where { 22.30/9.38 } 22.30/9.38 foldFM_LE :: Ord a => (a -> c -> b -> b) -> b -> a -> FiniteMap a c -> b; 22.30/9.38 foldFM_LE k z fr EmptyFM = foldFM_LE3 k z fr EmptyFM; 22.30/9.38 foldFM_LE k z fr (Branch key elt vy fm_l fm_r) = foldFM_LE2 k z fr (Branch key elt vy fm_l fm_r); 22.30/9.38 22.30/9.38 foldFM_LE0 k z fr key elt vy fm_l fm_r True = foldFM_LE k z fr fm_l; 22.30/9.38 22.30/9.38 foldFM_LE1 k z fr key elt vy fm_l fm_r True = foldFM_LE k (k key elt (foldFM_LE k z fr fm_l)) fr fm_r; 22.30/9.38 foldFM_LE1 k z fr key elt vy fm_l fm_r False = foldFM_LE0 k z fr key elt vy fm_l fm_r otherwise; 22.30/9.38 22.30/9.38 foldFM_LE2 k z fr (Branch key elt vy fm_l fm_r) = foldFM_LE1 k z fr key elt vy fm_l fm_r (key <= fr); 22.30/9.38 22.30/9.38 foldFM_LE3 k z fr EmptyFM = z; 22.30/9.38 foldFM_LE3 wv ww wx wy = foldFM_LE2 wv ww wx wy; 22.30/9.38 22.30/9.38 } 22.30/9.38 module Maybe where { 22.30/9.38 import qualified FiniteMap; 22.30/9.38 import qualified Main; 22.30/9.38 import qualified Prelude; 22.30/9.38 } 22.30/9.38 module Main where { 22.30/9.38 import qualified FiniteMap; 22.30/9.38 import qualified Maybe; 22.30/9.38 import qualified Prelude; 22.30/9.38 } 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (5) Narrow (SOUND) 22.30/9.38 Haskell To QDPs 22.30/9.38 22.30/9.38 digraph dp_graph { 22.30/9.38 node [outthreshold=100, inthreshold=100];1[label="FiniteMap.foldFM_LE",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 22.30/9.38 3[label="FiniteMap.foldFM_LE wz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 22.30/9.38 4[label="FiniteMap.foldFM_LE wz3 wz4",fontsize=16,color="grey",shape="box"];4 -> 5[label="",style="dashed", color="grey", weight=3]; 22.30/9.38 5[label="FiniteMap.foldFM_LE wz3 wz4 wz5",fontsize=16,color="grey",shape="box"];5 -> 6[label="",style="dashed", color="grey", weight=3]; 22.30/9.38 6[label="FiniteMap.foldFM_LE wz3 wz4 wz5 wz6",fontsize=16,color="burlywood",shape="triangle"];29634[label="wz6/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];6 -> 29634[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29634 -> 7[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29635[label="wz6/FiniteMap.Branch wz60 wz61 wz62 wz63 wz64",fontsize=10,color="white",style="solid",shape="box"];6 -> 29635[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29635 -> 8[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 7[label="FiniteMap.foldFM_LE wz3 wz4 wz5 FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 22.30/9.38 8[label="FiniteMap.foldFM_LE wz3 wz4 wz5 (FiniteMap.Branch wz60 wz61 wz62 wz63 wz64)",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 22.30/9.38 9[label="FiniteMap.foldFM_LE3 wz3 wz4 wz5 FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];9 -> 11[label="",style="solid", color="black", weight=3]; 22.30/9.38 10[label="FiniteMap.foldFM_LE2 wz3 wz4 wz5 (FiniteMap.Branch wz60 wz61 wz62 wz63 wz64)",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 22.30/9.38 11[label="wz4",fontsize=16,color="green",shape="box"];12 -> 9824[label="",style="dashed", color="red", weight=0]; 22.30/9.38 12[label="FiniteMap.foldFM_LE1 wz3 wz4 wz5 wz60 wz61 wz62 wz63 wz64 (wz60 <= wz5)",fontsize=16,color="magenta"];12 -> 9825[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 12 -> 9826[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 12 -> 9827[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 12 -> 9828[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 12 -> 9829[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 12 -> 9830[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 12 -> 9831[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 12 -> 9832[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 12 -> 9833[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 9825[label="wz64",fontsize=16,color="green",shape="box"];9826[label="wz60",fontsize=16,color="green",shape="box"];9827[label="wz62",fontsize=16,color="green",shape="box"];9828[label="wz4",fontsize=16,color="green",shape="box"];9829[label="wz61",fontsize=16,color="green",shape="box"];9830[label="wz3",fontsize=16,color="green",shape="box"];9831[label="wz63",fontsize=16,color="green",shape="box"];9832[label="wz60 <= wz5",fontsize=16,color="black",shape="box"];9832 -> 29256[label="",style="solid", color="black", weight=3]; 22.30/9.38 9833[label="wz5",fontsize=16,color="green",shape="box"];9824[label="FiniteMap.foldFM_LE1 wz498 wz499 wz500 wz501 wz502 wz503 wz504 wz505 wz506",fontsize=16,color="burlywood",shape="triangle"];29636[label="wz506/False",fontsize=10,color="white",style="solid",shape="box"];9824 -> 29636[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29636 -> 29257[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29637[label="wz506/True",fontsize=10,color="white",style="solid",shape="box"];9824 -> 29637[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29637 -> 29258[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29256[label="compare wz60 wz5 /= GT",fontsize=16,color="black",shape="box"];29256 -> 29259[label="",style="solid", color="black", weight=3]; 22.30/9.38 29257[label="FiniteMap.foldFM_LE1 wz498 wz499 wz500 wz501 wz502 wz503 wz504 wz505 False",fontsize=16,color="black",shape="box"];29257 -> 29260[label="",style="solid", color="black", weight=3]; 22.30/9.38 29258[label="FiniteMap.foldFM_LE1 wz498 wz499 wz500 wz501 wz502 wz503 wz504 wz505 True",fontsize=16,color="black",shape="box"];29258 -> 29261[label="",style="solid", color="black", weight=3]; 22.30/9.38 29259 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29259[label="not (compare wz60 wz5 == GT)",fontsize=16,color="magenta"];29259 -> 29447[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29260[label="FiniteMap.foldFM_LE0 wz498 wz499 wz500 wz501 wz502 wz503 wz504 wz505 otherwise",fontsize=16,color="black",shape="box"];29260 -> 29263[label="",style="solid", color="black", weight=3]; 22.30/9.38 29261[label="FiniteMap.foldFM_LE wz498 (wz498 wz501 wz502 (FiniteMap.foldFM_LE wz498 wz499 wz500 wz504)) wz500 wz505",fontsize=16,color="burlywood",shape="box"];29638[label="wz505/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];29261 -> 29638[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29638 -> 29264[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29639[label="wz505/FiniteMap.Branch wz5050 wz5051 wz5052 wz5053 wz5054",fontsize=10,color="white",style="solid",shape="box"];29261 -> 29639[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29639 -> 29265[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29447[label="compare wz60 wz5",fontsize=16,color="burlywood",shape="box"];29640[label="wz60/wz600 :% wz601",fontsize=10,color="white",style="solid",shape="box"];29447 -> 29640[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29640 -> 29479[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29446[label="not (wz511 == GT)",fontsize=16,color="burlywood",shape="triangle"];29641[label="wz511/LT",fontsize=10,color="white",style="solid",shape="box"];29446 -> 29641[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29641 -> 29480[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29642[label="wz511/EQ",fontsize=10,color="white",style="solid",shape="box"];29446 -> 29642[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29642 -> 29481[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29643[label="wz511/GT",fontsize=10,color="white",style="solid",shape="box"];29446 -> 29643[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29643 -> 29482[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29263[label="FiniteMap.foldFM_LE0 wz498 wz499 wz500 wz501 wz502 wz503 wz504 wz505 True",fontsize=16,color="black",shape="box"];29263 -> 29267[label="",style="solid", color="black", weight=3]; 22.30/9.38 29264[label="FiniteMap.foldFM_LE wz498 (wz498 wz501 wz502 (FiniteMap.foldFM_LE wz498 wz499 wz500 wz504)) wz500 FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];29264 -> 29268[label="",style="solid", color="black", weight=3]; 22.30/9.38 29265[label="FiniteMap.foldFM_LE wz498 (wz498 wz501 wz502 (FiniteMap.foldFM_LE wz498 wz499 wz500 wz504)) wz500 (FiniteMap.Branch wz5050 wz5051 wz5052 wz5053 wz5054)",fontsize=16,color="black",shape="box"];29265 -> 29269[label="",style="solid", color="black", weight=3]; 22.30/9.38 29479[label="compare (wz600 :% wz601) wz5",fontsize=16,color="burlywood",shape="box"];29644[label="wz5/wz50 :% wz51",fontsize=10,color="white",style="solid",shape="box"];29479 -> 29644[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29644 -> 29497[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29480[label="not (LT == GT)",fontsize=16,color="black",shape="box"];29480 -> 29498[label="",style="solid", color="black", weight=3]; 22.30/9.38 29481[label="not (EQ == GT)",fontsize=16,color="black",shape="box"];29481 -> 29499[label="",style="solid", color="black", weight=3]; 22.30/9.38 29482[label="not (GT == GT)",fontsize=16,color="black",shape="box"];29482 -> 29500[label="",style="solid", color="black", weight=3]; 22.30/9.38 29267[label="FiniteMap.foldFM_LE wz498 wz499 wz500 wz504",fontsize=16,color="burlywood",shape="triangle"];29645[label="wz504/FiniteMap.EmptyFM",fontsize=10,color="white",style="solid",shape="box"];29267 -> 29645[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29645 -> 29271[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29646[label="wz504/FiniteMap.Branch wz5040 wz5041 wz5042 wz5043 wz5044",fontsize=10,color="white",style="solid",shape="box"];29267 -> 29646[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29646 -> 29272[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29268 -> 29273[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29268[label="FiniteMap.foldFM_LE3 wz498 (wz498 wz501 wz502 (FiniteMap.foldFM_LE wz498 wz499 wz500 wz504)) wz500 FiniteMap.EmptyFM",fontsize=16,color="magenta"];29268 -> 29274[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29269 -> 29275[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29269[label="FiniteMap.foldFM_LE2 wz498 (wz498 wz501 wz502 (FiniteMap.foldFM_LE wz498 wz499 wz500 wz504)) wz500 (FiniteMap.Branch wz5050 wz5051 wz5052 wz5053 wz5054)",fontsize=16,color="magenta"];29269 -> 29276[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29497[label="compare (wz600 :% wz601) (wz50 :% wz51)",fontsize=16,color="black",shape="box"];29497 -> 29504[label="",style="solid", color="black", weight=3]; 22.30/9.38 29498[label="not False",fontsize=16,color="black",shape="triangle"];29498 -> 29505[label="",style="solid", color="black", weight=3]; 22.30/9.38 29499 -> 29498[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29499[label="not False",fontsize=16,color="magenta"];29500[label="not True",fontsize=16,color="black",shape="box"];29500 -> 29506[label="",style="solid", color="black", weight=3]; 22.30/9.38 29271[label="FiniteMap.foldFM_LE wz498 wz499 wz500 FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];29271 -> 29278[label="",style="solid", color="black", weight=3]; 22.30/9.38 29272[label="FiniteMap.foldFM_LE wz498 wz499 wz500 (FiniteMap.Branch wz5040 wz5041 wz5042 wz5043 wz5044)",fontsize=16,color="black",shape="box"];29272 -> 29279[label="",style="solid", color="black", weight=3]; 22.30/9.38 29274 -> 29267[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29274[label="FiniteMap.foldFM_LE wz498 wz499 wz500 wz504",fontsize=16,color="magenta"];29273[label="FiniteMap.foldFM_LE3 wz498 (wz498 wz501 wz502 wz507) wz500 FiniteMap.EmptyFM",fontsize=16,color="black",shape="triangle"];29273 -> 29280[label="",style="solid", color="black", weight=3]; 22.30/9.38 29276 -> 29267[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29276[label="FiniteMap.foldFM_LE wz498 wz499 wz500 wz504",fontsize=16,color="magenta"];29275[label="FiniteMap.foldFM_LE2 wz498 (wz498 wz501 wz502 wz508) wz500 (FiniteMap.Branch wz5050 wz5051 wz5052 wz5053 wz5054)",fontsize=16,color="black",shape="triangle"];29275 -> 29281[label="",style="solid", color="black", weight=3]; 22.30/9.38 29504 -> 29468[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29504[label="compare (wz600 * wz51) (wz50 * wz601)",fontsize=16,color="magenta"];29504 -> 29512[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29504 -> 29513[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29505[label="True",fontsize=16,color="green",shape="box"];29506[label="False",fontsize=16,color="green",shape="box"];29278[label="FiniteMap.foldFM_LE3 wz498 wz499 wz500 FiniteMap.EmptyFM",fontsize=16,color="black",shape="box"];29278 -> 29283[label="",style="solid", color="black", weight=3]; 22.30/9.38 29279[label="FiniteMap.foldFM_LE2 wz498 wz499 wz500 (FiniteMap.Branch wz5040 wz5041 wz5042 wz5043 wz5044)",fontsize=16,color="black",shape="box"];29279 -> 29284[label="",style="solid", color="black", weight=3]; 22.30/9.38 29280[label="wz498 wz501 wz502 wz507",fontsize=16,color="green",shape="box"];29280 -> 29285[label="",style="dashed", color="green", weight=3]; 22.30/9.38 29280 -> 29286[label="",style="dashed", color="green", weight=3]; 22.30/9.38 29280 -> 29287[label="",style="dashed", color="green", weight=3]; 22.30/9.38 29281 -> 9824[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29281[label="FiniteMap.foldFM_LE1 wz498 (wz498 wz501 wz502 wz508) wz500 wz5050 wz5051 wz5052 wz5053 wz5054 (wz5050 <= wz500)",fontsize=16,color="magenta"];29281 -> 29288[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29281 -> 29289[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29281 -> 29290[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29281 -> 29291[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29281 -> 29292[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29281 -> 29293[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29281 -> 29294[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29512[label="wz600 * wz51",fontsize=16,color="black",shape="triangle"];29512 -> 29524[label="",style="solid", color="black", weight=3]; 22.30/9.38 29513 -> 29512[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29513[label="wz50 * wz601",fontsize=16,color="magenta"];29513 -> 29525[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29513 -> 29526[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29468[label="compare wz5050 wz500",fontsize=16,color="black",shape="triangle"];29468 -> 29496[label="",style="solid", color="black", weight=3]; 22.30/9.38 29283[label="wz499",fontsize=16,color="green",shape="box"];29284 -> 9824[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29284[label="FiniteMap.foldFM_LE1 wz498 wz499 wz500 wz5040 wz5041 wz5042 wz5043 wz5044 (wz5040 <= wz500)",fontsize=16,color="magenta"];29284 -> 29297[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29284 -> 29298[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29284 -> 29299[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29284 -> 29300[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29284 -> 29301[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29284 -> 29302[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29285[label="wz501",fontsize=16,color="green",shape="box"];29286[label="wz502",fontsize=16,color="green",shape="box"];29287[label="wz507",fontsize=16,color="green",shape="box"];29288[label="wz5054",fontsize=16,color="green",shape="box"];29289[label="wz5050",fontsize=16,color="green",shape="box"];29290[label="wz5052",fontsize=16,color="green",shape="box"];29291[label="wz498 wz501 wz502 wz508",fontsize=16,color="green",shape="box"];29291 -> 29303[label="",style="dashed", color="green", weight=3]; 22.30/9.38 29291 -> 29304[label="",style="dashed", color="green", weight=3]; 22.30/9.38 29291 -> 29305[label="",style="dashed", color="green", weight=3]; 22.30/9.38 29292[label="wz5051",fontsize=16,color="green",shape="box"];29293[label="wz5053",fontsize=16,color="green",shape="box"];29294[label="wz5050 <= wz500",fontsize=16,color="blue",shape="box"];29647[label="<= :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29647[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29647 -> 29306[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29648[label="<= :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29648[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29648 -> 29307[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29649[label="<= :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29649[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29649 -> 29308[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29650[label="<= :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29650[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29650 -> 29309[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29651[label="<= :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29651[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29651 -> 29310[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29652[label="<= :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29652[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29652 -> 29311[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29653[label="<= :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29653[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29653 -> 29312[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29654[label="<= :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29654[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29654 -> 29313[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29655[label="<= :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29655[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29655 -> 29314[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29656[label="<= :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29656[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29656 -> 29315[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29657[label="<= :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29657[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29657 -> 29316[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29658[label="<= :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29658[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29658 -> 29317[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29659[label="<= :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29659[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29659 -> 29318[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29660[label="<= :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];29294 -> 29660[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29660 -> 29319[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29524[label="primMulInt wz600 wz51",fontsize=16,color="burlywood",shape="box"];29661[label="wz600/Pos wz6000",fontsize=10,color="white",style="solid",shape="box"];29524 -> 29661[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29661 -> 29543[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29662[label="wz600/Neg wz6000",fontsize=10,color="white",style="solid",shape="box"];29524 -> 29662[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29662 -> 29544[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29525[label="wz601",fontsize=16,color="green",shape="box"];29526[label="wz50",fontsize=16,color="green",shape="box"];29496[label="primCmpInt wz5050 wz500",fontsize=16,color="burlywood",shape="box"];29663[label="wz5050/Pos wz50500",fontsize=10,color="white",style="solid",shape="box"];29496 -> 29663[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29663 -> 29502[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29664[label="wz5050/Neg wz50500",fontsize=10,color="white",style="solid",shape="box"];29496 -> 29664[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29664 -> 29503[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29297[label="wz5044",fontsize=16,color="green",shape="box"];29298[label="wz5040",fontsize=16,color="green",shape="box"];29299[label="wz5042",fontsize=16,color="green",shape="box"];29300[label="wz5041",fontsize=16,color="green",shape="box"];29301[label="wz5043",fontsize=16,color="green",shape="box"];29302[label="wz5040 <= wz500",fontsize=16,color="blue",shape="box"];29665[label="<= :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29665[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29665 -> 29324[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29666[label="<= :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29666[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29666 -> 29325[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29667[label="<= :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29667[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29667 -> 29326[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29668[label="<= :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29668[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29668 -> 29327[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29669[label="<= :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29669[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29669 -> 29328[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29670[label="<= :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29670[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29670 -> 29329[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29671[label="<= :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29671[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29671 -> 29330[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29672[label="<= :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29672[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29672 -> 29331[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29673[label="<= :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29673[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29673 -> 29332[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29674[label="<= :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29674[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29674 -> 29333[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29675[label="<= :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29675[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29675 -> 29334[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29676[label="<= :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29676[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29676 -> 29335[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29677[label="<= :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29677[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29677 -> 29336[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29678[label="<= :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];29302 -> 29678[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29678 -> 29337[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29303[label="wz501",fontsize=16,color="green",shape="box"];29304[label="wz502",fontsize=16,color="green",shape="box"];29305[label="wz508",fontsize=16,color="green",shape="box"];29306[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29306 -> 29338[label="",style="solid", color="black", weight=3]; 22.30/9.38 29307[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29307 -> 29339[label="",style="solid", color="black", weight=3]; 22.30/9.38 29308[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29308 -> 29340[label="",style="solid", color="black", weight=3]; 22.30/9.38 29309[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29309 -> 29341[label="",style="solid", color="black", weight=3]; 22.30/9.38 29310[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29310 -> 29342[label="",style="solid", color="black", weight=3]; 22.30/9.38 29311[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29311 -> 29343[label="",style="solid", color="black", weight=3]; 22.30/9.38 29312[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29312 -> 29344[label="",style="solid", color="black", weight=3]; 22.30/9.38 29313[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29313 -> 29345[label="",style="solid", color="black", weight=3]; 22.30/9.38 29314[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29314 -> 29346[label="",style="solid", color="black", weight=3]; 22.30/9.38 29315[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29315 -> 29347[label="",style="solid", color="black", weight=3]; 22.30/9.38 29316[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29316 -> 29348[label="",style="solid", color="black", weight=3]; 22.30/9.38 29317[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29317 -> 29349[label="",style="solid", color="black", weight=3]; 22.30/9.38 29318[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29318 -> 29350[label="",style="solid", color="black", weight=3]; 22.30/9.38 29319[label="wz5050 <= wz500",fontsize=16,color="black",shape="triangle"];29319 -> 29351[label="",style="solid", color="black", weight=3]; 22.30/9.38 29543[label="primMulInt (Pos wz6000) wz51",fontsize=16,color="burlywood",shape="box"];29679[label="wz51/Pos wz510",fontsize=10,color="white",style="solid",shape="box"];29543 -> 29679[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29679 -> 29564[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29680[label="wz51/Neg wz510",fontsize=10,color="white",style="solid",shape="box"];29543 -> 29680[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29680 -> 29565[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29544[label="primMulInt (Neg wz6000) wz51",fontsize=16,color="burlywood",shape="box"];29681[label="wz51/Pos wz510",fontsize=10,color="white",style="solid",shape="box"];29544 -> 29681[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29681 -> 29566[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29682[label="wz51/Neg wz510",fontsize=10,color="white",style="solid",shape="box"];29544 -> 29682[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29682 -> 29567[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29502[label="primCmpInt (Pos wz50500) wz500",fontsize=16,color="burlywood",shape="box"];29683[label="wz50500/Succ wz505000",fontsize=10,color="white",style="solid",shape="box"];29502 -> 29683[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29683 -> 29508[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29684[label="wz50500/Zero",fontsize=10,color="white",style="solid",shape="box"];29502 -> 29684[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29684 -> 29509[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29503[label="primCmpInt (Neg wz50500) wz500",fontsize=16,color="burlywood",shape="box"];29685[label="wz50500/Succ wz505000",fontsize=10,color="white",style="solid",shape="box"];29503 -> 29685[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29685 -> 29510[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29686[label="wz50500/Zero",fontsize=10,color="white",style="solid",shape="box"];29503 -> 29686[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29686 -> 29511[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29324 -> 29306[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29324[label="wz5040 <= wz500",fontsize=16,color="magenta"];29324 -> 29356[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29325 -> 29307[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29325[label="wz5040 <= wz500",fontsize=16,color="magenta"];29325 -> 29357[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29326 -> 29308[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29326[label="wz5040 <= wz500",fontsize=16,color="magenta"];29326 -> 29358[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29327 -> 29309[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29327[label="wz5040 <= wz500",fontsize=16,color="magenta"];29327 -> 29359[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29328 -> 29310[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29328[label="wz5040 <= wz500",fontsize=16,color="magenta"];29328 -> 29360[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29329 -> 29311[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29329[label="wz5040 <= wz500",fontsize=16,color="magenta"];29329 -> 29361[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29330 -> 29312[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29330[label="wz5040 <= wz500",fontsize=16,color="magenta"];29330 -> 29362[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29331 -> 29313[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29331[label="wz5040 <= wz500",fontsize=16,color="magenta"];29331 -> 29363[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29332 -> 29314[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29332[label="wz5040 <= wz500",fontsize=16,color="magenta"];29332 -> 29364[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29333 -> 29315[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29333[label="wz5040 <= wz500",fontsize=16,color="magenta"];29333 -> 29365[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29334 -> 29316[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29334[label="wz5040 <= wz500",fontsize=16,color="magenta"];29334 -> 29366[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29335 -> 29317[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29335[label="wz5040 <= wz500",fontsize=16,color="magenta"];29335 -> 29367[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29336 -> 29318[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29336[label="wz5040 <= wz500",fontsize=16,color="magenta"];29336 -> 29368[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29337 -> 29319[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29337[label="wz5040 <= wz500",fontsize=16,color="magenta"];29337 -> 29369[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29338[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29338 -> 29370[label="",style="solid", color="black", weight=3]; 22.30/9.38 29339[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29339 -> 29371[label="",style="solid", color="black", weight=3]; 22.30/9.38 29340[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29340 -> 29372[label="",style="solid", color="black", weight=3]; 22.30/9.38 29341[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29341 -> 29373[label="",style="solid", color="black", weight=3]; 22.30/9.38 29342[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29342 -> 29374[label="",style="solid", color="black", weight=3]; 22.30/9.38 29343[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29343 -> 29375[label="",style="solid", color="black", weight=3]; 22.30/9.38 29344[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29344 -> 29376[label="",style="solid", color="black", weight=3]; 22.30/9.38 29345[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29345 -> 29377[label="",style="solid", color="black", weight=3]; 22.30/9.38 29346[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29346 -> 29378[label="",style="solid", color="black", weight=3]; 22.30/9.38 29347[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29347 -> 29379[label="",style="solid", color="black", weight=3]; 22.30/9.38 29348[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29348 -> 29380[label="",style="solid", color="black", weight=3]; 22.30/9.38 29349[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29349 -> 29381[label="",style="solid", color="black", weight=3]; 22.30/9.38 29350[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29350 -> 29382[label="",style="solid", color="black", weight=3]; 22.30/9.38 29351[label="compare wz5050 wz500 /= GT",fontsize=16,color="black",shape="box"];29351 -> 29383[label="",style="solid", color="black", weight=3]; 22.30/9.38 29564[label="primMulInt (Pos wz6000) (Pos wz510)",fontsize=16,color="black",shape="box"];29564 -> 29576[label="",style="solid", color="black", weight=3]; 22.30/9.38 29565[label="primMulInt (Pos wz6000) (Neg wz510)",fontsize=16,color="black",shape="box"];29565 -> 29577[label="",style="solid", color="black", weight=3]; 22.30/9.38 29566[label="primMulInt (Neg wz6000) (Pos wz510)",fontsize=16,color="black",shape="box"];29566 -> 29578[label="",style="solid", color="black", weight=3]; 22.30/9.38 29567[label="primMulInt (Neg wz6000) (Neg wz510)",fontsize=16,color="black",shape="box"];29567 -> 29579[label="",style="solid", color="black", weight=3]; 22.30/9.38 29508[label="primCmpInt (Pos (Succ wz505000)) wz500",fontsize=16,color="burlywood",shape="box"];29687[label="wz500/Pos wz5000",fontsize=10,color="white",style="solid",shape="box"];29508 -> 29687[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29687 -> 29516[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29688[label="wz500/Neg wz5000",fontsize=10,color="white",style="solid",shape="box"];29508 -> 29688[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29688 -> 29517[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29509[label="primCmpInt (Pos Zero) wz500",fontsize=16,color="burlywood",shape="box"];29689[label="wz500/Pos wz5000",fontsize=10,color="white",style="solid",shape="box"];29509 -> 29689[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29689 -> 29518[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29690[label="wz500/Neg wz5000",fontsize=10,color="white",style="solid",shape="box"];29509 -> 29690[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29690 -> 29519[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29510[label="primCmpInt (Neg (Succ wz505000)) wz500",fontsize=16,color="burlywood",shape="box"];29691[label="wz500/Pos wz5000",fontsize=10,color="white",style="solid",shape="box"];29510 -> 29691[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29691 -> 29520[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29692[label="wz500/Neg wz5000",fontsize=10,color="white",style="solid",shape="box"];29510 -> 29692[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29692 -> 29521[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29511[label="primCmpInt (Neg Zero) wz500",fontsize=16,color="burlywood",shape="box"];29693[label="wz500/Pos wz5000",fontsize=10,color="white",style="solid",shape="box"];29511 -> 29693[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29693 -> 29522[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29694[label="wz500/Neg wz5000",fontsize=10,color="white",style="solid",shape="box"];29511 -> 29694[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29694 -> 29523[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29356[label="wz5040",fontsize=16,color="green",shape="box"];29357[label="wz5040",fontsize=16,color="green",shape="box"];29358[label="wz5040",fontsize=16,color="green",shape="box"];29359[label="wz5040",fontsize=16,color="green",shape="box"];29360[label="wz5040",fontsize=16,color="green",shape="box"];29361[label="wz5040",fontsize=16,color="green",shape="box"];29362[label="wz5040",fontsize=16,color="green",shape="box"];29363[label="wz5040",fontsize=16,color="green",shape="box"];29364[label="wz5040",fontsize=16,color="green",shape="box"];29365[label="wz5040",fontsize=16,color="green",shape="box"];29366[label="wz5040",fontsize=16,color="green",shape="box"];29367[label="wz5040",fontsize=16,color="green",shape="box"];29368[label="wz5040",fontsize=16,color="green",shape="box"];29369[label="wz5040",fontsize=16,color="green",shape="box"];29370 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29370[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29370 -> 29455[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29371 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29371[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29371 -> 29456[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29372 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29372[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29372 -> 29457[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29373 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29373[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29373 -> 29458[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29374 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29374[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29374 -> 29459[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29375 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29375[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29375 -> 29460[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29376 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29376[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29376 -> 29461[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29377 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29377[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29377 -> 29462[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29378 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29378[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29378 -> 29463[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29379 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29379[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29379 -> 29464[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29380 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29380[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29380 -> 29465[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29381 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29381[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29381 -> 29466[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29382 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29382[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29382 -> 29467[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29383 -> 29446[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29383[label="not (compare wz5050 wz500 == GT)",fontsize=16,color="magenta"];29383 -> 29468[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29576[label="Pos (primMulNat wz6000 wz510)",fontsize=16,color="green",shape="box"];29576 -> 29584[label="",style="dashed", color="green", weight=3]; 22.30/9.38 29577[label="Neg (primMulNat wz6000 wz510)",fontsize=16,color="green",shape="box"];29577 -> 29585[label="",style="dashed", color="green", weight=3]; 22.30/9.38 29578[label="Neg (primMulNat wz6000 wz510)",fontsize=16,color="green",shape="box"];29578 -> 29586[label="",style="dashed", color="green", weight=3]; 22.30/9.38 29579[label="Pos (primMulNat wz6000 wz510)",fontsize=16,color="green",shape="box"];29579 -> 29587[label="",style="dashed", color="green", weight=3]; 22.30/9.38 29516[label="primCmpInt (Pos (Succ wz505000)) (Pos wz5000)",fontsize=16,color="black",shape="box"];29516 -> 29531[label="",style="solid", color="black", weight=3]; 22.30/9.38 29517[label="primCmpInt (Pos (Succ wz505000)) (Neg wz5000)",fontsize=16,color="black",shape="box"];29517 -> 29532[label="",style="solid", color="black", weight=3]; 22.30/9.38 29518[label="primCmpInt (Pos Zero) (Pos wz5000)",fontsize=16,color="burlywood",shape="box"];29695[label="wz5000/Succ wz50000",fontsize=10,color="white",style="solid",shape="box"];29518 -> 29695[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29695 -> 29533[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29696[label="wz5000/Zero",fontsize=10,color="white",style="solid",shape="box"];29518 -> 29696[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29696 -> 29534[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29519[label="primCmpInt (Pos Zero) (Neg wz5000)",fontsize=16,color="burlywood",shape="box"];29697[label="wz5000/Succ wz50000",fontsize=10,color="white",style="solid",shape="box"];29519 -> 29697[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29697 -> 29535[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29698[label="wz5000/Zero",fontsize=10,color="white",style="solid",shape="box"];29519 -> 29698[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29698 -> 29536[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29520[label="primCmpInt (Neg (Succ wz505000)) (Pos wz5000)",fontsize=16,color="black",shape="box"];29520 -> 29537[label="",style="solid", color="black", weight=3]; 22.30/9.38 29521[label="primCmpInt (Neg (Succ wz505000)) (Neg wz5000)",fontsize=16,color="black",shape="box"];29521 -> 29538[label="",style="solid", color="black", weight=3]; 22.30/9.38 29522[label="primCmpInt (Neg Zero) (Pos wz5000)",fontsize=16,color="burlywood",shape="box"];29699[label="wz5000/Succ wz50000",fontsize=10,color="white",style="solid",shape="box"];29522 -> 29699[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29699 -> 29539[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29700[label="wz5000/Zero",fontsize=10,color="white",style="solid",shape="box"];29522 -> 29700[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29700 -> 29540[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29523[label="primCmpInt (Neg Zero) (Neg wz5000)",fontsize=16,color="burlywood",shape="box"];29701[label="wz5000/Succ wz50000",fontsize=10,color="white",style="solid",shape="box"];29523 -> 29701[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29701 -> 29541[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29702[label="wz5000/Zero",fontsize=10,color="white",style="solid",shape="box"];29523 -> 29702[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29702 -> 29542[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29455[label="compare wz5050 wz500",fontsize=16,color="black",shape="box"];29455 -> 29483[label="",style="solid", color="black", weight=3]; 22.30/9.38 29456[label="compare wz5050 wz500",fontsize=16,color="black",shape="box"];29456 -> 29484[label="",style="solid", color="black", weight=3]; 22.30/9.38 29457[label="compare wz5050 wz500",fontsize=16,color="black",shape="box"];29457 -> 29485[label="",style="solid", color="black", weight=3]; 22.30/9.38 29458[label="compare wz5050 wz500",fontsize=16,color="black",shape="box"];29458 -> 29486[label="",style="solid", color="black", weight=3]; 22.30/9.38 29459[label="compare wz5050 wz500",fontsize=16,color="black",shape="box"];29459 -> 29487[label="",style="solid", color="black", weight=3]; 22.30/9.38 29460[label="compare wz5050 wz500",fontsize=16,color="black",shape="box"];29460 -> 29488[label="",style="solid", color="black", weight=3]; 22.30/9.38 29461[label="compare wz5050 wz500",fontsize=16,color="black",shape="box"];29461 -> 29489[label="",style="solid", color="black", weight=3]; 22.30/9.38 29462[label="compare wz5050 wz500",fontsize=16,color="black",shape="box"];29462 -> 29490[label="",style="solid", color="black", weight=3]; 22.30/9.38 29463[label="compare wz5050 wz500",fontsize=16,color="burlywood",shape="box"];29703[label="wz5050/wz50500 :% wz50501",fontsize=10,color="white",style="solid",shape="box"];29463 -> 29703[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29703 -> 29491[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29464[label="compare wz5050 wz500",fontsize=16,color="black",shape="box"];29464 -> 29492[label="",style="solid", color="black", weight=3]; 22.30/9.38 29465[label="compare wz5050 wz500",fontsize=16,color="black",shape="box"];29465 -> 29493[label="",style="solid", color="black", weight=3]; 22.30/9.38 29466[label="compare wz5050 wz500",fontsize=16,color="black",shape="box"];29466 -> 29494[label="",style="solid", color="black", weight=3]; 22.30/9.38 29467[label="compare wz5050 wz500",fontsize=16,color="black",shape="triangle"];29467 -> 29495[label="",style="solid", color="black", weight=3]; 22.30/9.38 29584[label="primMulNat wz6000 wz510",fontsize=16,color="burlywood",shape="triangle"];29704[label="wz6000/Succ wz60000",fontsize=10,color="white",style="solid",shape="box"];29584 -> 29704[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29704 -> 29592[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29705[label="wz6000/Zero",fontsize=10,color="white",style="solid",shape="box"];29584 -> 29705[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29705 -> 29593[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29585 -> 29584[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29585[label="primMulNat wz6000 wz510",fontsize=16,color="magenta"];29585 -> 29594[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29586 -> 29584[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29586[label="primMulNat wz6000 wz510",fontsize=16,color="magenta"];29586 -> 29595[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29587 -> 29584[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29587[label="primMulNat wz6000 wz510",fontsize=16,color="magenta"];29587 -> 29596[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29587 -> 29597[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29531[label="primCmpNat (Succ wz505000) wz5000",fontsize=16,color="burlywood",shape="triangle"];29706[label="wz5000/Succ wz50000",fontsize=10,color="white",style="solid",shape="box"];29531 -> 29706[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29706 -> 29552[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29707[label="wz5000/Zero",fontsize=10,color="white",style="solid",shape="box"];29531 -> 29707[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29707 -> 29553[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29532[label="GT",fontsize=16,color="green",shape="box"];29533[label="primCmpInt (Pos Zero) (Pos (Succ wz50000))",fontsize=16,color="black",shape="box"];29533 -> 29554[label="",style="solid", color="black", weight=3]; 22.30/9.38 29534[label="primCmpInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];29534 -> 29555[label="",style="solid", color="black", weight=3]; 22.30/9.38 29535[label="primCmpInt (Pos Zero) (Neg (Succ wz50000))",fontsize=16,color="black",shape="box"];29535 -> 29556[label="",style="solid", color="black", weight=3]; 22.30/9.38 29536[label="primCmpInt (Pos Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];29536 -> 29557[label="",style="solid", color="black", weight=3]; 22.30/9.38 29537[label="LT",fontsize=16,color="green",shape="box"];29538[label="primCmpNat wz5000 (Succ wz505000)",fontsize=16,color="burlywood",shape="triangle"];29708[label="wz5000/Succ wz50000",fontsize=10,color="white",style="solid",shape="box"];29538 -> 29708[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29708 -> 29558[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29709[label="wz5000/Zero",fontsize=10,color="white",style="solid",shape="box"];29538 -> 29709[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29709 -> 29559[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29539[label="primCmpInt (Neg Zero) (Pos (Succ wz50000))",fontsize=16,color="black",shape="box"];29539 -> 29560[label="",style="solid", color="black", weight=3]; 22.30/9.38 29540[label="primCmpInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];29540 -> 29561[label="",style="solid", color="black", weight=3]; 22.30/9.38 29541[label="primCmpInt (Neg Zero) (Neg (Succ wz50000))",fontsize=16,color="black",shape="box"];29541 -> 29562[label="",style="solid", color="black", weight=3]; 22.30/9.38 29542[label="primCmpInt (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];29542 -> 29563[label="",style="solid", color="black", weight=3]; 22.30/9.38 29483[label="error []",fontsize=16,color="red",shape="box"];29484[label="error []",fontsize=16,color="red",shape="box"];29485[label="error []",fontsize=16,color="red",shape="box"];29486[label="error []",fontsize=16,color="red",shape="box"];29487[label="error []",fontsize=16,color="red",shape="box"];29488[label="error []",fontsize=16,color="red",shape="box"];29489[label="error []",fontsize=16,color="red",shape="box"];29490[label="error []",fontsize=16,color="red",shape="box"];29491[label="compare (wz50500 :% wz50501) wz500",fontsize=16,color="burlywood",shape="box"];29710[label="wz500/wz5000 :% wz5001",fontsize=10,color="white",style="solid",shape="box"];29491 -> 29710[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29710 -> 29501[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29492[label="error []",fontsize=16,color="red",shape="box"];29493[label="error []",fontsize=16,color="red",shape="box"];29494[label="error []",fontsize=16,color="red",shape="box"];29495[label="error []",fontsize=16,color="red",shape="box"];29592[label="primMulNat (Succ wz60000) wz510",fontsize=16,color="burlywood",shape="box"];29711[label="wz510/Succ wz5100",fontsize=10,color="white",style="solid",shape="box"];29592 -> 29711[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29711 -> 29602[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29712[label="wz510/Zero",fontsize=10,color="white",style="solid",shape="box"];29592 -> 29712[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29712 -> 29603[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29593[label="primMulNat Zero wz510",fontsize=16,color="burlywood",shape="box"];29713[label="wz510/Succ wz5100",fontsize=10,color="white",style="solid",shape="box"];29593 -> 29713[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29713 -> 29604[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29714[label="wz510/Zero",fontsize=10,color="white",style="solid",shape="box"];29593 -> 29714[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29714 -> 29605[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29594[label="wz510",fontsize=16,color="green",shape="box"];29595[label="wz6000",fontsize=16,color="green",shape="box"];29596[label="wz510",fontsize=16,color="green",shape="box"];29597[label="wz6000",fontsize=16,color="green",shape="box"];29552[label="primCmpNat (Succ wz505000) (Succ wz50000)",fontsize=16,color="black",shape="box"];29552 -> 29568[label="",style="solid", color="black", weight=3]; 22.30/9.38 29553[label="primCmpNat (Succ wz505000) Zero",fontsize=16,color="black",shape="box"];29553 -> 29569[label="",style="solid", color="black", weight=3]; 22.30/9.38 29554 -> 29538[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29554[label="primCmpNat Zero (Succ wz50000)",fontsize=16,color="magenta"];29554 -> 29570[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29554 -> 29571[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29555[label="EQ",fontsize=16,color="green",shape="box"];29556[label="GT",fontsize=16,color="green",shape="box"];29557[label="EQ",fontsize=16,color="green",shape="box"];29558[label="primCmpNat (Succ wz50000) (Succ wz505000)",fontsize=16,color="black",shape="box"];29558 -> 29572[label="",style="solid", color="black", weight=3]; 22.30/9.38 29559[label="primCmpNat Zero (Succ wz505000)",fontsize=16,color="black",shape="box"];29559 -> 29573[label="",style="solid", color="black", weight=3]; 22.30/9.38 29560[label="LT",fontsize=16,color="green",shape="box"];29561[label="EQ",fontsize=16,color="green",shape="box"];29562 -> 29531[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29562[label="primCmpNat (Succ wz50000) Zero",fontsize=16,color="magenta"];29562 -> 29574[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29562 -> 29575[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29563[label="EQ",fontsize=16,color="green",shape="box"];29501[label="compare (wz50500 :% wz50501) (wz5000 :% wz5001)",fontsize=16,color="black",shape="box"];29501 -> 29507[label="",style="solid", color="black", weight=3]; 22.30/9.38 29602[label="primMulNat (Succ wz60000) (Succ wz5100)",fontsize=16,color="black",shape="box"];29602 -> 29608[label="",style="solid", color="black", weight=3]; 22.30/9.38 29603[label="primMulNat (Succ wz60000) Zero",fontsize=16,color="black",shape="box"];29603 -> 29609[label="",style="solid", color="black", weight=3]; 22.30/9.38 29604[label="primMulNat Zero (Succ wz5100)",fontsize=16,color="black",shape="box"];29604 -> 29610[label="",style="solid", color="black", weight=3]; 22.30/9.38 29605[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];29605 -> 29611[label="",style="solid", color="black", weight=3]; 22.30/9.38 29568[label="primCmpNat wz505000 wz50000",fontsize=16,color="burlywood",shape="triangle"];29715[label="wz505000/Succ wz5050000",fontsize=10,color="white",style="solid",shape="box"];29568 -> 29715[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29715 -> 29580[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29716[label="wz505000/Zero",fontsize=10,color="white",style="solid",shape="box"];29568 -> 29716[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29716 -> 29581[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29569[label="GT",fontsize=16,color="green",shape="box"];29570[label="Zero",fontsize=16,color="green",shape="box"];29571[label="wz50000",fontsize=16,color="green",shape="box"];29572 -> 29568[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29572[label="primCmpNat wz50000 wz505000",fontsize=16,color="magenta"];29572 -> 29582[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29572 -> 29583[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29573[label="LT",fontsize=16,color="green",shape="box"];29574[label="Zero",fontsize=16,color="green",shape="box"];29575[label="wz50000",fontsize=16,color="green",shape="box"];29507[label="compare (wz50500 * wz5001) (wz5000 * wz50501)",fontsize=16,color="blue",shape="box"];29717[label="compare :: Integer -> Integer -> Ordering",fontsize=10,color="white",style="solid",shape="box"];29507 -> 29717[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29717 -> 29514[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29718[label="compare :: Int -> Int -> Ordering",fontsize=10,color="white",style="solid",shape="box"];29507 -> 29718[label="",style="solid", color="blue", weight=9]; 22.30/9.38 29718 -> 29515[label="",style="solid", color="blue", weight=3]; 22.30/9.38 29608 -> 29612[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29608[label="primPlusNat (primMulNat wz60000 (Succ wz5100)) (Succ wz5100)",fontsize=16,color="magenta"];29608 -> 29613[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29609[label="Zero",fontsize=16,color="green",shape="box"];29610[label="Zero",fontsize=16,color="green",shape="box"];29611[label="Zero",fontsize=16,color="green",shape="box"];29580[label="primCmpNat (Succ wz5050000) wz50000",fontsize=16,color="burlywood",shape="box"];29719[label="wz50000/Succ wz500000",fontsize=10,color="white",style="solid",shape="box"];29580 -> 29719[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29719 -> 29588[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29720[label="wz50000/Zero",fontsize=10,color="white",style="solid",shape="box"];29580 -> 29720[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29720 -> 29589[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29581[label="primCmpNat Zero wz50000",fontsize=16,color="burlywood",shape="box"];29721[label="wz50000/Succ wz500000",fontsize=10,color="white",style="solid",shape="box"];29581 -> 29721[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29721 -> 29590[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29722[label="wz50000/Zero",fontsize=10,color="white",style="solid",shape="box"];29581 -> 29722[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29722 -> 29591[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29582[label="wz505000",fontsize=16,color="green",shape="box"];29583[label="wz50000",fontsize=16,color="green",shape="box"];29514 -> 29467[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29514[label="compare (wz50500 * wz5001) (wz5000 * wz50501)",fontsize=16,color="magenta"];29514 -> 29527[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29514 -> 29528[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29515 -> 29468[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29515[label="compare (wz50500 * wz5001) (wz5000 * wz50501)",fontsize=16,color="magenta"];29515 -> 29529[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29515 -> 29530[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29613 -> 29584[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29613[label="primMulNat wz60000 (Succ wz5100)",fontsize=16,color="magenta"];29613 -> 29614[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29613 -> 29615[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29612[label="primPlusNat wz512 (Succ wz5100)",fontsize=16,color="burlywood",shape="triangle"];29723[label="wz512/Succ wz5120",fontsize=10,color="white",style="solid",shape="box"];29612 -> 29723[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29723 -> 29616[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29724[label="wz512/Zero",fontsize=10,color="white",style="solid",shape="box"];29612 -> 29724[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29724 -> 29617[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29588[label="primCmpNat (Succ wz5050000) (Succ wz500000)",fontsize=16,color="black",shape="box"];29588 -> 29598[label="",style="solid", color="black", weight=3]; 22.30/9.38 29589[label="primCmpNat (Succ wz5050000) Zero",fontsize=16,color="black",shape="box"];29589 -> 29599[label="",style="solid", color="black", weight=3]; 22.30/9.38 29590[label="primCmpNat Zero (Succ wz500000)",fontsize=16,color="black",shape="box"];29590 -> 29600[label="",style="solid", color="black", weight=3]; 22.30/9.38 29591[label="primCmpNat Zero Zero",fontsize=16,color="black",shape="box"];29591 -> 29601[label="",style="solid", color="black", weight=3]; 22.30/9.38 29527[label="wz50500 * wz5001",fontsize=16,color="black",shape="triangle"];29527 -> 29545[label="",style="solid", color="black", weight=3]; 22.30/9.38 29528 -> 29527[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29528[label="wz5000 * wz50501",fontsize=16,color="magenta"];29528 -> 29546[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29528 -> 29547[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29529 -> 29512[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29529[label="wz50500 * wz5001",fontsize=16,color="magenta"];29529 -> 29548[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29529 -> 29549[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29530 -> 29512[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29530[label="wz5000 * wz50501",fontsize=16,color="magenta"];29530 -> 29550[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29530 -> 29551[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29614[label="Succ wz5100",fontsize=16,color="green",shape="box"];29615[label="wz60000",fontsize=16,color="green",shape="box"];29616[label="primPlusNat (Succ wz5120) (Succ wz5100)",fontsize=16,color="black",shape="box"];29616 -> 29618[label="",style="solid", color="black", weight=3]; 22.30/9.38 29617[label="primPlusNat Zero (Succ wz5100)",fontsize=16,color="black",shape="box"];29617 -> 29619[label="",style="solid", color="black", weight=3]; 22.30/9.38 29598 -> 29568[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29598[label="primCmpNat wz5050000 wz500000",fontsize=16,color="magenta"];29598 -> 29606[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29598 -> 29607[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29599[label="GT",fontsize=16,color="green",shape="box"];29600[label="LT",fontsize=16,color="green",shape="box"];29601[label="EQ",fontsize=16,color="green",shape="box"];29545[label="error []",fontsize=16,color="red",shape="box"];29546[label="wz5000",fontsize=16,color="green",shape="box"];29547[label="wz50501",fontsize=16,color="green",shape="box"];29548[label="wz5001",fontsize=16,color="green",shape="box"];29549[label="wz50500",fontsize=16,color="green",shape="box"];29550[label="wz50501",fontsize=16,color="green",shape="box"];29551[label="wz5000",fontsize=16,color="green",shape="box"];29618[label="Succ (Succ (primPlusNat wz5120 wz5100))",fontsize=16,color="green",shape="box"];29618 -> 29620[label="",style="dashed", color="green", weight=3]; 22.30/9.38 29619[label="Succ wz5100",fontsize=16,color="green",shape="box"];29606[label="wz500000",fontsize=16,color="green",shape="box"];29607[label="wz5050000",fontsize=16,color="green",shape="box"];29620[label="primPlusNat wz5120 wz5100",fontsize=16,color="burlywood",shape="triangle"];29725[label="wz5120/Succ wz51200",fontsize=10,color="white",style="solid",shape="box"];29620 -> 29725[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29725 -> 29621[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29726[label="wz5120/Zero",fontsize=10,color="white",style="solid",shape="box"];29620 -> 29726[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29726 -> 29622[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29621[label="primPlusNat (Succ wz51200) wz5100",fontsize=16,color="burlywood",shape="box"];29727[label="wz5100/Succ wz51000",fontsize=10,color="white",style="solid",shape="box"];29621 -> 29727[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29727 -> 29623[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29728[label="wz5100/Zero",fontsize=10,color="white",style="solid",shape="box"];29621 -> 29728[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29728 -> 29624[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29622[label="primPlusNat Zero wz5100",fontsize=16,color="burlywood",shape="box"];29729[label="wz5100/Succ wz51000",fontsize=10,color="white",style="solid",shape="box"];29622 -> 29729[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29729 -> 29625[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29730[label="wz5100/Zero",fontsize=10,color="white",style="solid",shape="box"];29622 -> 29730[label="",style="solid", color="burlywood", weight=9]; 22.30/9.38 29730 -> 29626[label="",style="solid", color="burlywood", weight=3]; 22.30/9.38 29623[label="primPlusNat (Succ wz51200) (Succ wz51000)",fontsize=16,color="black",shape="box"];29623 -> 29627[label="",style="solid", color="black", weight=3]; 22.30/9.38 29624[label="primPlusNat (Succ wz51200) Zero",fontsize=16,color="black",shape="box"];29624 -> 29628[label="",style="solid", color="black", weight=3]; 22.30/9.38 29625[label="primPlusNat Zero (Succ wz51000)",fontsize=16,color="black",shape="box"];29625 -> 29629[label="",style="solid", color="black", weight=3]; 22.30/9.38 29626[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];29626 -> 29630[label="",style="solid", color="black", weight=3]; 22.30/9.38 29627[label="Succ (Succ (primPlusNat wz51200 wz51000))",fontsize=16,color="green",shape="box"];29627 -> 29631[label="",style="dashed", color="green", weight=3]; 22.30/9.38 29628[label="Succ wz51200",fontsize=16,color="green",shape="box"];29629[label="Succ wz51000",fontsize=16,color="green",shape="box"];29630[label="Zero",fontsize=16,color="green",shape="box"];29631 -> 29620[label="",style="dashed", color="red", weight=0]; 22.30/9.38 29631[label="primPlusNat wz51200 wz51000",fontsize=16,color="magenta"];29631 -> 29632[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29631 -> 29633[label="",style="dashed", color="magenta", weight=3]; 22.30/9.38 29632[label="wz51200",fontsize=16,color="green",shape="box"];29633[label="wz51000",fontsize=16,color="green",shape="box"];} 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (6) 22.30/9.38 Complex Obligation (AND) 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (7) 22.30/9.38 Obligation: 22.30/9.38 Q DP problem: 22.30/9.38 The TRS P consists of the following rules: 22.30/9.38 22.30/9.38 new_primCmpNat(Succ(wz5050000), Succ(wz500000)) -> new_primCmpNat(wz5050000, wz500000) 22.30/9.38 22.30/9.38 R is empty. 22.30/9.38 Q is empty. 22.30/9.38 We have to consider all minimal (P,Q,R)-chains. 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (8) QDPSizeChangeProof (EQUIVALENT) 22.30/9.38 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. 22.30/9.38 22.30/9.38 From the DPs we obtained the following set of size-change graphs: 22.30/9.38 *new_primCmpNat(Succ(wz5050000), Succ(wz500000)) -> new_primCmpNat(wz5050000, wz500000) 22.30/9.38 The graph contains the following edges 1 > 1, 2 > 2 22.30/9.38 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (9) 22.30/9.38 YES 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (10) 22.30/9.38 Obligation: 22.30/9.38 Q DP problem: 22.30/9.38 The TRS P consists of the following rules: 22.30/9.38 22.30/9.38 new_primMulNat(Succ(wz60000), Succ(wz5100)) -> new_primMulNat(wz60000, Succ(wz5100)) 22.30/9.38 22.30/9.38 R is empty. 22.30/9.38 Q is empty. 22.30/9.38 We have to consider all minimal (P,Q,R)-chains. 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (11) QDPSizeChangeProof (EQUIVALENT) 22.30/9.38 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. 22.30/9.38 22.30/9.38 From the DPs we obtained the following set of size-change graphs: 22.30/9.38 *new_primMulNat(Succ(wz60000), Succ(wz5100)) -> new_primMulNat(wz60000, Succ(wz5100)) 22.30/9.38 The graph contains the following edges 1 > 1, 2 >= 2 22.30/9.38 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (12) 22.30/9.38 YES 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (13) 22.30/9.38 Obligation: 22.30/9.38 Q DP problem: 22.30/9.38 The TRS P consists of the following rules: 22.30/9.38 22.30/9.38 new_foldFM_LE(wz498, wz500, Branch(wz5040, wz5041, wz5042, wz5043, wz5044), h, ba, bb) -> new_foldFM_LE1(wz498, wz500, wz5040, wz5041, wz5042, wz5043, wz5044, new_ltEs(wz5040, wz500, ba), h, ba, bb) 22.30/9.38 new_foldFM_LE1(wz498, wz500, wz501, wz502, wz503, wz504, EmptyFM, True, h, ba, bb) -> new_foldFM_LE(wz498, wz500, wz504, h, ba, bb) 22.30/9.38 new_foldFM_LE1(wz498, wz500, wz501, wz502, wz503, wz504, Branch(wz5050, wz5051, wz5052, wz5053, wz5054), True, h, ba, bb) -> new_foldFM_LE(wz498, wz500, wz504, h, ba, bb) 22.30/9.38 new_foldFM_LE2(wz498, wz501, wz502, wz500, wz5050, wz5051, wz5052, wz5053, wz5054, h, ba, bb) -> new_foldFM_LE1(wz498, wz500, wz5050, wz5051, wz5052, wz5053, wz5054, new_ltEs0(wz5050, wz500, ba), h, ba, bb) 22.30/9.38 new_foldFM_LE1(wz498, wz500, wz501, wz502, wz503, wz504, Branch(wz5050, wz5051, wz5052, wz5053, wz5054), True, h, ba, bb) -> new_foldFM_LE2(wz498, wz501, wz502, wz500, wz5050, wz5051, wz5052, wz5053, wz5054, h, ba, bb) 22.30/9.38 new_foldFM_LE1(wz498, wz500, wz501, wz502, wz503, Branch(wz5040, wz5041, wz5042, wz5043, wz5044), wz505, False, h, ba, bb) -> new_foldFM_LE1(wz498, wz500, wz5040, wz5041, wz5042, wz5043, wz5044, new_ltEs(wz5040, wz500, ba), h, ba, bb) 22.30/9.38 22.30/9.38 The TRS R consists of the following rules: 22.30/9.38 22.30/9.38 new_sr0(Neg(wz6000), Neg(wz510)) -> Pos(new_primMulNat0(wz6000, wz510)) 22.30/9.38 new_ltEs3(wz5050, wz500) -> new_not(error([])) 22.30/9.38 new_ltEs0(wz5050, wz500, ty_Float) -> new_ltEs6(wz5050, wz500) 22.30/9.38 new_not0 -> True 22.30/9.38 new_sr0(Pos(wz6000), Pos(wz510)) -> Pos(new_primMulNat0(wz6000, wz510)) 22.30/9.38 new_compare1(Neg(Zero), Neg(Zero)) -> EQ 22.30/9.38 new_ltEs(wz5040, wz500, ty_@0) -> new_ltEs4(wz5040, wz500) 22.30/9.38 new_primCmpNat0(Zero, wz505000) -> LT 22.30/9.38 new_ltEs(wz5040, wz500, app(ty_Maybe, be)) -> new_ltEs10(wz5040, wz500, be) 22.30/9.38 new_compare1(Pos(Zero), Pos(Zero)) -> EQ 22.30/9.38 new_primMulNat0(Zero, Zero) -> Zero 22.30/9.38 new_ltEs13(wz5050, wz500, bh, ca, cb) -> new_not(error([])) 22.30/9.38 new_ltEs0(wz5050, wz500, app(ty_Ratio, bc)) -> new_ltEs1(wz5050, wz500, bc) 22.30/9.38 new_not(GT) -> False 22.30/9.38 new_foldFM_LE0(wz498, wz499, wz500, EmptyFM, h, ba, bb) -> wz499 22.30/9.38 new_primMulNat0(Succ(wz60000), Succ(wz5100)) -> new_primPlusNat0(new_primMulNat0(wz60000, Succ(wz5100)), wz5100) 22.30/9.38 new_ltEs(wz5040, wz500, ty_Ordering) -> new_ltEs11(wz5040, wz500) 22.30/9.38 new_ltEs1(wz5050, wz500, bc) -> new_not(new_compare(wz5050, wz500, bc)) 22.30/9.38 new_ltEs0(wz5050, wz500, app(app(ty_Either, cc), cd)) -> new_ltEs14(wz5050, wz500, cc, cd) 22.30/9.38 new_compare1(Pos(Zero), Pos(Succ(wz50000))) -> new_primCmpNat0(Zero, wz50000) 22.30/9.38 new_ltEs0(wz5050, wz500, ty_Int) -> new_ltEs7(wz5050, wz500) 22.30/9.38 new_ltEs(wz5040, wz500, ty_Char) -> new_ltEs8(wz5040, wz500) 22.30/9.38 new_primCmpNat1(Zero, Zero) -> EQ 22.30/9.38 new_ltEs0(wz5050, wz500, ty_Char) -> new_ltEs8(wz5050, wz500) 22.30/9.38 new_compare1(Neg(Succ(wz505000)), Pos(wz5000)) -> LT 22.30/9.38 new_ltEs0(wz5050, wz500, app(app(app(ty_@3, bh), ca), cb)) -> new_ltEs13(wz5050, wz500, bh, ca, cb) 22.30/9.38 new_compare1(Pos(Succ(wz505000)), Neg(wz5000)) -> GT 22.30/9.38 new_ltEs10(wz5050, wz500, be) -> new_not(error([])) 22.30/9.38 new_primCmpNat1(Succ(wz5050000), Zero) -> GT 22.30/9.38 new_ltEs(wz5040, wz500, app(app(ty_@2, bf), bg)) -> new_ltEs12(wz5040, wz500, bf, bg) 22.30/9.38 new_primPlusNat1(Succ(wz51200), Zero) -> Succ(wz51200) 22.30/9.38 new_primPlusNat1(Zero, Succ(wz51000)) -> Succ(wz51000) 22.30/9.38 new_compare(:%(wz50500, wz50501), :%(wz5000, wz5001), ty_Integer) -> new_compare0(new_sr(wz50500, wz5001), new_sr(wz5000, wz50501)) 22.30/9.38 new_ltEs2(wz5050, wz500) -> new_not(new_compare0(wz5050, wz500)) 22.30/9.38 new_compare0(wz5050, wz500) -> error([]) 22.30/9.38 new_primCmpNat2(wz505000, Succ(wz50000)) -> new_primCmpNat1(wz505000, wz50000) 22.30/9.38 new_ltEs(wz5040, wz500, app(ty_Ratio, bc)) -> new_ltEs1(wz5040, wz500, bc) 22.30/9.38 new_ltEs0(wz5050, wz500, ty_@0) -> new_ltEs4(wz5050, wz500) 22.30/9.38 new_ltEs(wz5040, wz500, ty_Float) -> new_ltEs6(wz5040, wz500) 22.30/9.38 new_ltEs(wz5040, wz500, ty_Integer) -> new_ltEs2(wz5040, wz500) 22.30/9.38 new_ltEs6(wz5050, wz500) -> new_not(error([])) 22.30/9.38 new_ltEs0(wz5050, wz500, app(ty_[], bd)) -> new_ltEs5(wz5050, wz500, bd) 22.30/9.38 new_compare1(Neg(Zero), Pos(Succ(wz50000))) -> LT 22.30/9.38 new_ltEs(wz5040, wz500, app(ty_[], bd)) -> new_ltEs5(wz5040, wz500, bd) 22.30/9.38 new_ltEs5(wz5050, wz500, bd) -> new_not(error([])) 22.30/9.38 new_compare1(Neg(Succ(wz505000)), Neg(wz5000)) -> new_primCmpNat0(wz5000, wz505000) 22.30/9.38 new_compare(:%(wz50500, wz50501), :%(wz5000, wz5001), ty_Int) -> new_compare1(new_sr0(wz50500, wz5001), new_sr0(wz5000, wz50501)) 22.30/9.38 new_sr(wz50500, wz5001) -> error([]) 22.30/9.38 new_compare1(Pos(Zero), Neg(Succ(wz50000))) -> GT 22.30/9.38 new_ltEs0(wz5050, wz500, app(app(ty_@2, bf), bg)) -> new_ltEs12(wz5050, wz500, bf, bg) 22.30/9.38 new_primCmpNat1(Succ(wz5050000), Succ(wz500000)) -> new_primCmpNat1(wz5050000, wz500000) 22.30/9.38 new_ltEs0(wz5050, wz500, ty_Integer) -> new_ltEs2(wz5050, wz500) 22.30/9.38 new_compare1(Pos(Zero), Neg(Zero)) -> EQ 22.30/9.38 new_compare1(Neg(Zero), Pos(Zero)) -> EQ 22.30/9.38 new_ltEs7(wz5050, wz500) -> new_not(new_compare1(wz5050, wz500)) 22.30/9.38 new_ltEs(wz5040, wz500, app(app(ty_Either, cc), cd)) -> new_ltEs14(wz5040, wz500, cc, cd) 22.30/9.38 new_primPlusNat0(Succ(wz5120), wz5100) -> Succ(Succ(new_primPlusNat1(wz5120, wz5100))) 22.30/9.38 new_not(EQ) -> new_not0 22.30/9.38 new_ltEs0(wz5050, wz500, ty_Ordering) -> new_ltEs11(wz5050, wz500) 22.30/9.38 new_ltEs12(wz5050, wz500, bf, bg) -> new_not(error([])) 22.30/9.38 new_ltEs(wz5040, wz500, app(app(app(ty_@3, bh), ca), cb)) -> new_ltEs13(wz5040, wz500, bh, ca, cb) 22.30/9.38 new_ltEs(wz5040, wz500, ty_Int) -> new_ltEs7(wz5040, wz500) 22.30/9.38 new_primCmpNat1(Zero, Succ(wz500000)) -> LT 22.30/9.38 new_ltEs11(wz5050, wz500) -> new_not(error([])) 22.30/9.38 new_ltEs14(wz5050, wz500, cc, cd) -> new_not(error([])) 22.30/9.38 new_ltEs9(wz5050, wz500) -> new_not(error([])) 22.30/9.38 new_ltEs0(wz5050, wz500, app(ty_Maybe, be)) -> new_ltEs10(wz5050, wz500, be) 22.30/9.38 new_ltEs4(wz5050, wz500) -> new_not(error([])) 22.30/9.38 new_compare1(Neg(Zero), Neg(Succ(wz50000))) -> new_primCmpNat2(wz50000, Zero) 22.30/9.38 new_primPlusNat1(Succ(wz51200), Succ(wz51000)) -> Succ(Succ(new_primPlusNat1(wz51200, wz51000))) 22.30/9.38 new_primPlusNat1(Zero, Zero) -> Zero 22.30/9.38 new_primMulNat0(Succ(wz60000), Zero) -> Zero 22.30/9.38 new_primMulNat0(Zero, Succ(wz5100)) -> Zero 22.30/9.38 new_primPlusNat0(Zero, wz5100) -> Succ(wz5100) 22.30/9.38 new_ltEs(wz5040, wz500, ty_Bool) -> new_ltEs9(wz5040, wz500) 22.30/9.38 new_ltEs0(wz5050, wz500, ty_Bool) -> new_ltEs9(wz5050, wz500) 22.30/9.38 new_compare1(Pos(Succ(wz505000)), Pos(wz5000)) -> new_primCmpNat2(wz505000, wz5000) 22.30/9.38 new_primCmpNat2(wz505000, Zero) -> GT 22.30/9.38 new_ltEs(wz5040, wz500, ty_Double) -> new_ltEs3(wz5040, wz500) 22.30/9.38 new_sr0(Pos(wz6000), Neg(wz510)) -> Neg(new_primMulNat0(wz6000, wz510)) 22.30/9.38 new_sr0(Neg(wz6000), Pos(wz510)) -> Neg(new_primMulNat0(wz6000, wz510)) 22.30/9.38 new_foldFM_LE0(wz498, wz499, wz500, Branch(wz5040, wz5041, wz5042, wz5043, wz5044), h, ba, bb) -> new_foldFM_LE10(wz498, wz499, wz500, wz5040, wz5041, wz5042, wz5043, wz5044, new_ltEs(wz5040, wz500, ba), h, ba, bb) 22.30/9.38 new_ltEs0(wz5050, wz500, ty_Double) -> new_ltEs3(wz5050, wz500) 22.30/9.38 new_primCmpNat0(Succ(wz50000), wz505000) -> new_primCmpNat1(wz50000, wz505000) 22.30/9.38 new_ltEs8(wz5050, wz500) -> new_not(error([])) 22.30/9.38 new_not(LT) -> new_not0 22.30/9.38 22.30/9.38 The set Q consists of the following terms: 22.30/9.38 22.30/9.38 new_compare(:%(x0, x1), :%(x2, x3), ty_Integer) 22.30/9.38 new_ltEs7(x0, x1) 22.30/9.38 new_foldFM_LE0(x0, x1, x2, Branch(x3, x4, x5, x6, x7), x8, x9, x10) 22.30/9.38 new_compare1(Pos(Zero), Neg(Zero)) 22.30/9.38 new_compare1(Neg(Zero), Pos(Zero)) 22.30/9.38 new_ltEs11(x0, x1) 22.30/9.38 new_primPlusNat1(Succ(x0), Succ(x1)) 22.30/9.38 new_compare0(x0, x1) 22.30/9.38 new_compare(:%(x0, x1), :%(x2, x3), ty_Int) 22.30/9.38 new_primCmpNat2(x0, Zero) 22.30/9.38 new_ltEs14(x0, x1, x2, x3) 22.30/9.38 new_ltEs8(x0, x1) 22.30/9.38 new_ltEs(x0, x1, app(app(ty_Either, x2), x3)) 22.30/9.38 new_not0 22.30/9.38 new_ltEs5(x0, x1, x2) 22.30/9.38 new_primCmpNat0(Succ(x0), x1) 22.30/9.38 new_ltEs1(x0, x1, x2) 22.30/9.38 new_primMulNat0(Zero, Zero) 22.30/9.38 new_ltEs(x0, x1, ty_Ordering) 22.30/9.38 new_ltEs0(x0, x1, app(app(ty_@2, x2), x3)) 22.30/9.38 new_primPlusNat1(Zero, Zero) 22.30/9.38 new_ltEs(x0, x1, app(ty_Ratio, x2)) 22.30/9.38 new_ltEs(x0, x1, ty_Integer) 22.30/9.38 new_primMulNat0(Succ(x0), Succ(x1)) 22.30/9.38 new_primPlusNat1(Zero, Succ(x0)) 22.30/9.38 new_not(LT) 22.30/9.38 new_compare1(Neg(Succ(x0)), Pos(x1)) 22.30/9.38 new_compare1(Pos(Succ(x0)), Neg(x1)) 22.30/9.38 new_ltEs0(x0, x1, ty_Float) 22.30/9.38 new_primCmpNat0(Zero, x0) 22.30/9.38 new_ltEs(x0, x1, ty_Float) 22.30/9.38 new_compare1(Pos(Succ(x0)), Pos(x1)) 22.30/9.38 new_primCmpNat1(Zero, Zero) 22.30/9.38 new_compare1(Pos(Zero), Pos(Zero)) 22.30/9.38 new_ltEs(x0, x1, ty_Bool) 22.30/9.38 new_ltEs0(x0, x1, app(ty_Maybe, x2)) 22.30/9.38 new_primPlusNat0(Zero, x0) 22.30/9.38 new_ltEs12(x0, x1, x2, x3) 22.30/9.38 new_sr0(Neg(x0), Neg(x1)) 22.30/9.38 new_ltEs(x0, x1, app(app(ty_@2, x2), x3)) 22.30/9.38 new_ltEs0(x0, x1, ty_Integer) 22.30/9.38 new_ltEs(x0, x1, ty_Char) 22.30/9.38 new_ltEs13(x0, x1, x2, x3, x4) 22.30/9.38 new_sr0(Pos(x0), Pos(x1)) 22.30/9.38 new_ltEs0(x0, x1, ty_Ordering) 22.30/9.38 new_ltEs(x0, x1, ty_@0) 22.30/9.38 new_ltEs0(x0, x1, app(ty_Ratio, x2)) 22.30/9.38 new_primCmpNat1(Succ(x0), Succ(x1)) 22.30/9.38 new_primPlusNat1(Succ(x0), Zero) 22.30/9.38 new_primCmpNat2(x0, Succ(x1)) 22.30/9.38 new_ltEs(x0, x1, app(ty_[], x2)) 22.30/9.38 new_ltEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 22.30/9.38 new_ltEs0(x0, x1, ty_Bool) 22.30/9.38 new_primMulNat0(Zero, Succ(x0)) 22.30/9.38 new_ltEs(x0, x1, app(ty_Maybe, x2)) 22.30/9.38 new_ltEs0(x0, x1, app(app(ty_Either, x2), x3)) 22.30/9.38 new_ltEs2(x0, x1) 22.30/9.38 new_not(EQ) 22.30/9.38 new_primPlusNat0(Succ(x0), x1) 22.30/9.38 new_primMulNat0(Succ(x0), Zero) 22.30/9.38 new_ltEs3(x0, x1) 22.30/9.38 new_compare1(Neg(Zero), Neg(Succ(x0))) 22.30/9.38 new_ltEs(x0, x1, ty_Double) 22.30/9.38 new_sr0(Pos(x0), Neg(x1)) 22.30/9.38 new_sr0(Neg(x0), Pos(x1)) 22.30/9.38 new_ltEs0(x0, x1, ty_Double) 22.30/9.38 new_ltEs0(x0, x1, ty_Char) 22.30/9.38 new_sr(x0, x1) 22.30/9.38 new_ltEs0(x0, x1, ty_@0) 22.30/9.38 new_ltEs0(x0, x1, app(ty_[], x2)) 22.30/9.38 new_ltEs4(x0, x1) 22.30/9.38 new_primCmpNat1(Succ(x0), Zero) 22.30/9.38 new_compare1(Pos(Zero), Pos(Succ(x0))) 22.30/9.38 new_compare1(Neg(Succ(x0)), Neg(x1)) 22.30/9.38 new_ltEs(x0, x1, ty_Int) 22.30/9.38 new_compare1(Neg(Zero), Pos(Succ(x0))) 22.30/9.38 new_compare1(Pos(Zero), Neg(Succ(x0))) 22.30/9.38 new_ltEs9(x0, x1) 22.30/9.38 new_foldFM_LE0(x0, x1, x2, EmptyFM, x3, x4, x5) 22.30/9.38 new_compare1(Neg(Zero), Neg(Zero)) 22.30/9.38 new_ltEs0(x0, x1, ty_Int) 22.30/9.38 new_primCmpNat1(Zero, Succ(x0)) 22.30/9.38 new_ltEs6(x0, x1) 22.30/9.38 new_not(GT) 22.30/9.38 new_ltEs10(x0, x1, x2) 22.30/9.38 new_ltEs0(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 22.30/9.38 22.30/9.38 We have to consider all minimal (P,Q,R)-chains. 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (14) QDPSizeChangeProof (EQUIVALENT) 22.30/9.38 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. 22.30/9.38 22.30/9.38 From the DPs we obtained the following set of size-change graphs: 22.30/9.38 *new_foldFM_LE1(wz498, wz500, wz501, wz502, wz503, Branch(wz5040, wz5041, wz5042, wz5043, wz5044), wz505, False, h, ba, bb) -> new_foldFM_LE1(wz498, wz500, wz5040, wz5041, wz5042, wz5043, wz5044, new_ltEs(wz5040, wz500, ba), h, ba, bb) 22.30/9.38 The graph contains the following edges 1 >= 1, 2 >= 2, 6 > 3, 6 > 4, 6 > 5, 6 > 6, 6 > 7, 9 >= 9, 10 >= 10, 11 >= 11 22.30/9.38 22.30/9.38 22.30/9.38 *new_foldFM_LE1(wz498, wz500, wz501, wz502, wz503, wz504, Branch(wz5050, wz5051, wz5052, wz5053, wz5054), True, h, ba, bb) -> new_foldFM_LE2(wz498, wz501, wz502, wz500, wz5050, wz5051, wz5052, wz5053, wz5054, h, ba, bb) 22.30/9.38 The graph contains the following edges 1 >= 1, 3 >= 2, 4 >= 3, 2 >= 4, 7 > 5, 7 > 6, 7 > 7, 7 > 8, 7 > 9, 9 >= 10, 10 >= 11, 11 >= 12 22.30/9.38 22.30/9.38 22.30/9.38 *new_foldFM_LE(wz498, wz500, Branch(wz5040, wz5041, wz5042, wz5043, wz5044), h, ba, bb) -> new_foldFM_LE1(wz498, wz500, wz5040, wz5041, wz5042, wz5043, wz5044, new_ltEs(wz5040, wz500, ba), h, ba, bb) 22.30/9.38 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4, 3 > 5, 3 > 6, 3 > 7, 4 >= 9, 5 >= 10, 6 >= 11 22.30/9.38 22.30/9.38 22.30/9.38 *new_foldFM_LE2(wz498, wz501, wz502, wz500, wz5050, wz5051, wz5052, wz5053, wz5054, h, ba, bb) -> new_foldFM_LE1(wz498, wz500, wz5050, wz5051, wz5052, wz5053, wz5054, new_ltEs0(wz5050, wz500, ba), h, ba, bb) 22.30/9.38 The graph contains the following edges 1 >= 1, 4 >= 2, 5 >= 3, 6 >= 4, 7 >= 5, 8 >= 6, 9 >= 7, 10 >= 9, 11 >= 10, 12 >= 11 22.30/9.38 22.30/9.38 22.30/9.38 *new_foldFM_LE1(wz498, wz500, wz501, wz502, wz503, wz504, EmptyFM, True, h, ba, bb) -> new_foldFM_LE(wz498, wz500, wz504, h, ba, bb) 22.30/9.38 The graph contains the following edges 1 >= 1, 2 >= 2, 6 >= 3, 9 >= 4, 10 >= 5, 11 >= 6 22.30/9.38 22.30/9.38 22.30/9.38 *new_foldFM_LE1(wz498, wz500, wz501, wz502, wz503, wz504, Branch(wz5050, wz5051, wz5052, wz5053, wz5054), True, h, ba, bb) -> new_foldFM_LE(wz498, wz500, wz504, h, ba, bb) 22.30/9.38 The graph contains the following edges 1 >= 1, 2 >= 2, 6 >= 3, 9 >= 4, 10 >= 5, 11 >= 6 22.30/9.38 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (15) 22.30/9.38 YES 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (16) 22.30/9.38 Obligation: 22.30/9.38 Q DP problem: 22.30/9.38 The TRS P consists of the following rules: 22.30/9.38 22.30/9.38 new_primPlusNat(Succ(wz51200), Succ(wz51000)) -> new_primPlusNat(wz51200, wz51000) 22.30/9.38 22.30/9.38 R is empty. 22.30/9.38 Q is empty. 22.30/9.38 We have to consider all minimal (P,Q,R)-chains. 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (17) QDPSizeChangeProof (EQUIVALENT) 22.30/9.38 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. 22.30/9.38 22.30/9.38 From the DPs we obtained the following set of size-change graphs: 22.30/9.38 *new_primPlusNat(Succ(wz51200), Succ(wz51000)) -> new_primPlusNat(wz51200, wz51000) 22.30/9.38 The graph contains the following edges 1 > 1, 2 > 2 22.30/9.38 22.30/9.38 22.30/9.38 ---------------------------------------- 22.30/9.38 22.30/9.38 (18) 22.30/9.38 YES 22.68/10.20 EOF