10.06/4.34 MAYBE 12.24/4.91 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 12.24/4.91 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 12.24/4.91 12.24/4.91 12.24/4.91 H-Termination with start terms of the given HASKELL could not be shown: 12.24/4.91 12.24/4.91 (0) HASKELL 12.24/4.91 (1) LR [EQUIVALENT, 0 ms] 12.24/4.91 (2) HASKELL 12.24/4.91 (3) BR [EQUIVALENT, 0 ms] 12.24/4.91 (4) HASKELL 12.24/4.91 (5) COR [EQUIVALENT, 0 ms] 12.24/4.91 (6) HASKELL 12.24/4.91 (7) Narrow [SOUND, 0 ms] 12.24/4.91 (8) AND 12.24/4.91 (9) QDP 12.24/4.91 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.24/4.91 (11) YES 12.24/4.91 (12) QDP 12.24/4.91 (13) DependencyGraphProof [EQUIVALENT, 0 ms] 12.24/4.91 (14) AND 12.24/4.91 (15) QDP 12.24/4.91 (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.24/4.91 (17) YES 12.24/4.91 (18) QDP 12.24/4.91 (19) QDPOrderProof [EQUIVALENT, 28 ms] 12.24/4.91 (20) QDP 12.24/4.91 (21) DependencyGraphProof [EQUIVALENT, 0 ms] 12.24/4.91 (22) QDP 12.24/4.91 (23) MNOCProof [EQUIVALENT, 0 ms] 12.24/4.91 (24) QDP 12.24/4.91 (25) NonTerminationLoopProof [COMPLETE, 0 ms] 12.24/4.91 (26) NO 12.24/4.91 (27) QDP 12.24/4.91 (28) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.24/4.91 (29) YES 12.24/4.91 (30) QDP 12.24/4.91 (31) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.24/4.91 (32) YES 12.24/4.91 (33) Narrow [COMPLETE, 0 ms] 12.24/4.91 (34) TRUE 12.24/4.91 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (0) 12.24/4.91 Obligation: 12.24/4.91 mainModule Main 12.24/4.91 module Maybe where { 12.24/4.91 import qualified Main; 12.24/4.91 import qualified Monad; 12.24/4.91 import qualified Prelude; 12.24/4.91 } 12.24/4.91 module Main where { 12.24/4.91 import qualified Maybe; 12.24/4.91 import qualified Monad; 12.24/4.91 import qualified Prelude; 12.24/4.91 } 12.24/4.91 module Monad where { 12.24/4.91 import qualified Main; 12.24/4.91 import qualified Maybe; 12.24/4.91 import qualified Prelude; 12.24/4.91 zipWithM :: Monad d => (b -> a -> d c) -> [b] -> [a] -> d [c]; 12.24/4.91 zipWithM f xs ys = sequence (zipWith f xs ys); 12.24/4.91 12.24/4.91 } 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (1) LR (EQUIVALENT) 12.24/4.91 Lambda Reductions: 12.24/4.91 The following Lambda expression 12.24/4.91 "\xs->return (x : xs)" 12.24/4.91 is transformed to 12.24/4.91 "sequence0 x xs = return (x : xs); 12.24/4.91 " 12.24/4.91 The following Lambda expression 12.24/4.91 "\x->sequence cs >>= sequence0 x" 12.24/4.91 is transformed to 12.24/4.91 "sequence1 cs x = sequence cs >>= sequence0 x; 12.24/4.91 " 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (2) 12.24/4.91 Obligation: 12.24/4.91 mainModule Main 12.24/4.91 module Maybe where { 12.24/4.91 import qualified Main; 12.24/4.91 import qualified Monad; 12.24/4.91 import qualified Prelude; 12.24/4.91 } 12.24/4.91 module Main where { 12.24/4.91 import qualified Maybe; 12.24/4.91 import qualified Monad; 12.24/4.91 import qualified Prelude; 12.24/4.91 } 12.24/4.91 module Monad where { 12.24/4.91 import qualified Main; 12.24/4.91 import qualified Maybe; 12.24/4.91 import qualified Prelude; 12.24/4.91 zipWithM :: Monad a => (c -> d -> a b) -> [c] -> [d] -> a [b]; 12.24/4.91 zipWithM f xs ys = sequence (zipWith f xs ys); 12.24/4.91 12.24/4.91 } 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (3) BR (EQUIVALENT) 12.24/4.91 Replaced joker patterns by fresh variables and removed binding patterns. 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (4) 12.24/4.91 Obligation: 12.24/4.91 mainModule Main 12.24/4.91 module Maybe where { 12.24/4.91 import qualified Main; 12.24/4.91 import qualified Monad; 12.24/4.91 import qualified Prelude; 12.24/4.91 } 12.24/4.91 module Main where { 12.24/4.91 import qualified Maybe; 12.24/4.91 import qualified Monad; 12.24/4.91 import qualified Prelude; 12.24/4.91 } 12.24/4.91 module Monad where { 12.24/4.91 import qualified Main; 12.24/4.91 import qualified Maybe; 12.24/4.91 import qualified Prelude; 12.24/4.91 zipWithM :: Monad a => (b -> c -> a d) -> [b] -> [c] -> a [d]; 12.24/4.91 zipWithM f xs ys = sequence (zipWith f xs ys); 12.24/4.91 12.24/4.91 } 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (5) COR (EQUIVALENT) 12.24/4.91 Cond Reductions: 12.24/4.91 The following Function with conditions 12.24/4.91 "undefined |Falseundefined; 12.24/4.91 " 12.24/4.91 is transformed to 12.24/4.91 "undefined = undefined1; 12.24/4.91 " 12.24/4.91 "undefined0 True = undefined; 12.24/4.91 " 12.24/4.91 "undefined1 = undefined0 False; 12.24/4.91 " 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (6) 12.24/4.91 Obligation: 12.24/4.91 mainModule Main 12.24/4.91 module Maybe where { 12.24/4.91 import qualified Main; 12.24/4.91 import qualified Monad; 12.24/4.91 import qualified Prelude; 12.24/4.91 } 12.24/4.91 module Main where { 12.24/4.91 import qualified Maybe; 12.24/4.91 import qualified Monad; 12.24/4.91 import qualified Prelude; 12.24/4.91 } 12.24/4.91 module Monad where { 12.24/4.91 import qualified Main; 12.24/4.91 import qualified Maybe; 12.24/4.91 import qualified Prelude; 12.24/4.91 zipWithM :: Monad a => (d -> b -> a c) -> [d] -> [b] -> a [c]; 12.24/4.91 zipWithM f xs ys = sequence (zipWith f xs ys); 12.24/4.91 12.24/4.91 } 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (7) Narrow (SOUND) 12.24/4.91 Haskell To QDPs 12.24/4.91 12.24/4.91 digraph dp_graph { 12.24/4.91 node [outthreshold=100, inthreshold=100];1[label="Monad.zipWithM",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 12.24/4.91 3[label="Monad.zipWithM wv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 12.24/4.91 4[label="Monad.zipWithM wv3 wv4",fontsize=16,color="grey",shape="box"];4 -> 5[label="",style="dashed", color="grey", weight=3]; 12.24/4.91 5[label="Monad.zipWithM wv3 wv4 wv5",fontsize=16,color="black",shape="triangle"];5 -> 6[label="",style="solid", color="black", weight=3]; 12.24/4.91 6[label="sequence (zipWith wv3 wv4 wv5)",fontsize=16,color="burlywood",shape="triangle"];121[label="wv4/wv40 : wv41",fontsize=10,color="white",style="solid",shape="box"];6 -> 121[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 121 -> 7[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 122[label="wv4/[]",fontsize=10,color="white",style="solid",shape="box"];6 -> 122[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 122 -> 8[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 7[label="sequence (zipWith wv3 (wv40 : wv41) wv5)",fontsize=16,color="burlywood",shape="box"];123[label="wv5/wv50 : wv51",fontsize=10,color="white",style="solid",shape="box"];7 -> 123[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 123 -> 9[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 124[label="wv5/[]",fontsize=10,color="white",style="solid",shape="box"];7 -> 124[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 124 -> 10[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 8[label="sequence (zipWith wv3 [] wv5)",fontsize=16,color="black",shape="box"];8 -> 11[label="",style="solid", color="black", weight=3]; 12.24/4.91 9[label="sequence (zipWith wv3 (wv40 : wv41) (wv50 : wv51))",fontsize=16,color="black",shape="box"];9 -> 12[label="",style="solid", color="black", weight=3]; 12.24/4.91 10[label="sequence (zipWith wv3 (wv40 : wv41) [])",fontsize=16,color="black",shape="box"];10 -> 13[label="",style="solid", color="black", weight=3]; 12.24/4.91 11[label="sequence []",fontsize=16,color="black",shape="triangle"];11 -> 14[label="",style="solid", color="black", weight=3]; 12.24/4.91 12[label="sequence (wv3 wv40 wv50 : zipWith wv3 wv41 wv51)",fontsize=16,color="black",shape="box"];12 -> 15[label="",style="solid", color="black", weight=3]; 12.24/4.91 13 -> 11[label="",style="dashed", color="red", weight=0]; 12.24/4.91 13[label="sequence []",fontsize=16,color="magenta"];14[label="return []",fontsize=16,color="blue",shape="box"];125[label="return :: ([] a) -> Maybe ([] a)",fontsize=10,color="white",style="solid",shape="box"];14 -> 125[label="",style="solid", color="blue", weight=9]; 12.24/4.91 125 -> 16[label="",style="solid", color="blue", weight=3]; 12.24/4.91 126[label="return :: ([] a) -> IO ([] a)",fontsize=10,color="white",style="solid",shape="box"];14 -> 126[label="",style="solid", color="blue", weight=9]; 12.24/4.91 126 -> 17[label="",style="solid", color="blue", weight=3]; 12.24/4.91 127[label="return :: ([] a) -> [] ([] a)",fontsize=10,color="white",style="solid",shape="box"];14 -> 127[label="",style="solid", color="blue", weight=9]; 12.24/4.91 127 -> 18[label="",style="solid", color="blue", weight=3]; 12.24/4.91 15[label="wv3 wv40 wv50 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="blue",shape="box"];128[label=">>= :: (Maybe a) -> (a -> Maybe ([] a)) -> Maybe ([] a)",fontsize=10,color="white",style="solid",shape="box"];15 -> 128[label="",style="solid", color="blue", weight=9]; 12.24/4.91 128 -> 19[label="",style="solid", color="blue", weight=3]; 12.24/4.91 129[label=">>= :: (IO a) -> (a -> IO ([] a)) -> IO ([] a)",fontsize=10,color="white",style="solid",shape="box"];15 -> 129[label="",style="solid", color="blue", weight=9]; 12.24/4.91 129 -> 20[label="",style="solid", color="blue", weight=3]; 12.24/4.91 130[label=">>= :: ([] a) -> (a -> [] ([] a)) -> [] ([] a)",fontsize=10,color="white",style="solid",shape="box"];15 -> 130[label="",style="solid", color="blue", weight=9]; 12.24/4.91 130 -> 21[label="",style="solid", color="blue", weight=3]; 12.24/4.91 16[label="return []",fontsize=16,color="black",shape="box"];16 -> 22[label="",style="solid", color="black", weight=3]; 12.24/4.91 17[label="return []",fontsize=16,color="black",shape="box"];17 -> 23[label="",style="solid", color="black", weight=3]; 12.24/4.91 18[label="return []",fontsize=16,color="black",shape="box"];18 -> 24[label="",style="solid", color="black", weight=3]; 12.24/4.91 19 -> 25[label="",style="dashed", color="red", weight=0]; 12.24/4.91 19[label="wv3 wv40 wv50 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="magenta"];19 -> 26[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 20[label="wv3 wv40 wv50 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="black",shape="box"];20 -> 27[label="",style="solid", color="black", weight=3]; 12.24/4.91 21 -> 28[label="",style="dashed", color="red", weight=0]; 12.24/4.91 21[label="wv3 wv40 wv50 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="magenta"];21 -> 29[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 22[label="Just []",fontsize=16,color="green",shape="box"];23[label="primretIO []",fontsize=16,color="black",shape="box"];23 -> 30[label="",style="solid", color="black", weight=3]; 12.24/4.91 24[label="[] : []",fontsize=16,color="green",shape="box"];26[label="wv3 wv40 wv50",fontsize=16,color="green",shape="box"];26 -> 31[label="",style="dashed", color="green", weight=3]; 12.24/4.91 26 -> 32[label="",style="dashed", color="green", weight=3]; 12.24/4.91 25[label="wv6 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="burlywood",shape="triangle"];131[label="wv6/Nothing",fontsize=10,color="white",style="solid",shape="box"];25 -> 131[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 131 -> 33[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 132[label="wv6/Just wv60",fontsize=10,color="white",style="solid",shape="box"];25 -> 132[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 132 -> 34[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 27 -> 35[label="",style="dashed", color="red", weight=0]; 12.24/4.91 27[label="primbindIO (wv3 wv40 wv50) (sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="magenta"];27 -> 36[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 29[label="wv3 wv40 wv50",fontsize=16,color="green",shape="box"];29 -> 37[label="",style="dashed", color="green", weight=3]; 12.24/4.91 29 -> 38[label="",style="dashed", color="green", weight=3]; 12.24/4.91 28[label="wv7 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="burlywood",shape="triangle"];133[label="wv7/wv70 : wv71",fontsize=10,color="white",style="solid",shape="box"];28 -> 133[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 133 -> 39[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 134[label="wv7/[]",fontsize=10,color="white",style="solid",shape="box"];28 -> 134[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 134 -> 40[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 30[label="AProVE_IO []",fontsize=16,color="green",shape="box"];31[label="wv40",fontsize=16,color="green",shape="box"];32[label="wv50",fontsize=16,color="green",shape="box"];33[label="Nothing >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="black",shape="box"];33 -> 41[label="",style="solid", color="black", weight=3]; 12.24/4.91 34[label="Just wv60 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="black",shape="box"];34 -> 42[label="",style="solid", color="black", weight=3]; 12.24/4.91 36[label="wv3 wv40 wv50",fontsize=16,color="green",shape="box"];36 -> 49[label="",style="dashed", color="green", weight=3]; 12.24/4.91 36 -> 50[label="",style="dashed", color="green", weight=3]; 12.24/4.91 35[label="primbindIO wv8 (sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="burlywood",shape="triangle"];135[label="wv8/IO wv80",fontsize=10,color="white",style="solid",shape="box"];35 -> 135[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 135 -> 45[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 136[label="wv8/AProVE_IO wv80",fontsize=10,color="white",style="solid",shape="box"];35 -> 136[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 136 -> 46[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 137[label="wv8/AProVE_Exception wv80",fontsize=10,color="white",style="solid",shape="box"];35 -> 137[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 137 -> 47[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 138[label="wv8/AProVE_Error wv80",fontsize=10,color="white",style="solid",shape="box"];35 -> 138[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 138 -> 48[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 37[label="wv40",fontsize=16,color="green",shape="box"];38[label="wv50",fontsize=16,color="green",shape="box"];39[label="wv70 : wv71 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="black",shape="box"];39 -> 51[label="",style="solid", color="black", weight=3]; 12.24/4.91 40[label="[] >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="black",shape="box"];40 -> 52[label="",style="solid", color="black", weight=3]; 12.24/4.91 41[label="Nothing",fontsize=16,color="green",shape="box"];42[label="sequence1 (zipWith wv3 wv41 wv51) wv60",fontsize=16,color="black",shape="box"];42 -> 53[label="",style="solid", color="black", weight=3]; 12.24/4.91 49[label="wv40",fontsize=16,color="green",shape="box"];50[label="wv50",fontsize=16,color="green",shape="box"];45[label="primbindIO (IO wv80) (sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="black",shape="box"];45 -> 54[label="",style="solid", color="black", weight=3]; 12.24/4.91 46[label="primbindIO (AProVE_IO wv80) (sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="black",shape="box"];46 -> 55[label="",style="solid", color="black", weight=3]; 12.24/4.91 47[label="primbindIO (AProVE_Exception wv80) (sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="black",shape="box"];47 -> 56[label="",style="solid", color="black", weight=3]; 12.24/4.91 48[label="primbindIO (AProVE_Error wv80) (sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="black",shape="box"];48 -> 57[label="",style="solid", color="black", weight=3]; 12.24/4.91 51 -> 58[label="",style="dashed", color="red", weight=0]; 12.24/4.91 51[label="sequence1 (zipWith wv3 wv41 wv51) wv70 ++ (wv71 >>= sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="magenta"];51 -> 59[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 52[label="[]",fontsize=16,color="green",shape="box"];53 -> 60[label="",style="dashed", color="red", weight=0]; 12.24/4.91 53[label="sequence (zipWith wv3 wv41 wv51) >>= sequence0 wv60",fontsize=16,color="magenta"];53 -> 61[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 54[label="error []",fontsize=16,color="red",shape="box"];55[label="sequence1 (zipWith wv3 wv41 wv51) wv80",fontsize=16,color="black",shape="box"];55 -> 62[label="",style="solid", color="black", weight=3]; 12.24/4.91 56[label="AProVE_Exception wv80",fontsize=16,color="green",shape="box"];57[label="AProVE_Error wv80",fontsize=16,color="green",shape="box"];59 -> 28[label="",style="dashed", color="red", weight=0]; 12.24/4.91 59[label="wv71 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="magenta"];59 -> 63[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 58[label="sequence1 (zipWith wv3 wv41 wv51) wv70 ++ wv9",fontsize=16,color="black",shape="triangle"];58 -> 64[label="",style="solid", color="black", weight=3]; 12.24/4.91 61 -> 6[label="",style="dashed", color="red", weight=0]; 12.24/4.91 61[label="sequence (zipWith wv3 wv41 wv51)",fontsize=16,color="magenta"];61 -> 65[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 61 -> 66[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 60[label="wv10 >>= sequence0 wv60",fontsize=16,color="burlywood",shape="triangle"];139[label="wv10/Nothing",fontsize=10,color="white",style="solid",shape="box"];60 -> 139[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 139 -> 67[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 140[label="wv10/Just wv100",fontsize=10,color="white",style="solid",shape="box"];60 -> 140[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 140 -> 68[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 62 -> 69[label="",style="dashed", color="red", weight=0]; 12.24/4.91 62[label="sequence (zipWith wv3 wv41 wv51) >>= sequence0 wv80",fontsize=16,color="magenta"];62 -> 70[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 63[label="wv71",fontsize=16,color="green",shape="box"];64 -> 71[label="",style="dashed", color="red", weight=0]; 12.24/4.91 64[label="(sequence (zipWith wv3 wv41 wv51) >>= sequence0 wv70) ++ wv9",fontsize=16,color="magenta"];64 -> 72[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 65[label="wv51",fontsize=16,color="green",shape="box"];66[label="wv41",fontsize=16,color="green",shape="box"];67[label="Nothing >>= sequence0 wv60",fontsize=16,color="black",shape="box"];67 -> 73[label="",style="solid", color="black", weight=3]; 12.24/4.91 68[label="Just wv100 >>= sequence0 wv60",fontsize=16,color="black",shape="box"];68 -> 74[label="",style="solid", color="black", weight=3]; 12.24/4.91 70 -> 6[label="",style="dashed", color="red", weight=0]; 12.24/4.91 70[label="sequence (zipWith wv3 wv41 wv51)",fontsize=16,color="magenta"];70 -> 75[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 70 -> 76[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 69[label="wv11 >>= sequence0 wv80",fontsize=16,color="black",shape="triangle"];69 -> 77[label="",style="solid", color="black", weight=3]; 12.24/4.91 72 -> 6[label="",style="dashed", color="red", weight=0]; 12.24/4.91 72[label="sequence (zipWith wv3 wv41 wv51)",fontsize=16,color="magenta"];72 -> 78[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 72 -> 79[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 71[label="(wv12 >>= sequence0 wv70) ++ wv9",fontsize=16,color="burlywood",shape="triangle"];141[label="wv12/wv120 : wv121",fontsize=10,color="white",style="solid",shape="box"];71 -> 141[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 141 -> 80[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 142[label="wv12/[]",fontsize=10,color="white",style="solid",shape="box"];71 -> 142[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 142 -> 81[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 73[label="Nothing",fontsize=16,color="green",shape="box"];74[label="sequence0 wv60 wv100",fontsize=16,color="black",shape="box"];74 -> 82[label="",style="solid", color="black", weight=3]; 12.24/4.91 75[label="wv51",fontsize=16,color="green",shape="box"];76[label="wv41",fontsize=16,color="green",shape="box"];77[label="primbindIO wv11 (sequence0 wv80)",fontsize=16,color="burlywood",shape="box"];143[label="wv11/IO wv110",fontsize=10,color="white",style="solid",shape="box"];77 -> 143[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 143 -> 83[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 144[label="wv11/AProVE_IO wv110",fontsize=10,color="white",style="solid",shape="box"];77 -> 144[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 144 -> 84[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 145[label="wv11/AProVE_Exception wv110",fontsize=10,color="white",style="solid",shape="box"];77 -> 145[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 145 -> 85[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 146[label="wv11/AProVE_Error wv110",fontsize=10,color="white",style="solid",shape="box"];77 -> 146[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 146 -> 86[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 78[label="wv51",fontsize=16,color="green",shape="box"];79[label="wv41",fontsize=16,color="green",shape="box"];80[label="(wv120 : wv121 >>= sequence0 wv70) ++ wv9",fontsize=16,color="black",shape="box"];80 -> 87[label="",style="solid", color="black", weight=3]; 12.24/4.91 81[label="([] >>= sequence0 wv70) ++ wv9",fontsize=16,color="black",shape="box"];81 -> 88[label="",style="solid", color="black", weight=3]; 12.24/4.91 82[label="return (wv60 : wv100)",fontsize=16,color="black",shape="box"];82 -> 89[label="",style="solid", color="black", weight=3]; 12.24/4.91 83[label="primbindIO (IO wv110) (sequence0 wv80)",fontsize=16,color="black",shape="box"];83 -> 90[label="",style="solid", color="black", weight=3]; 12.24/4.91 84[label="primbindIO (AProVE_IO wv110) (sequence0 wv80)",fontsize=16,color="black",shape="box"];84 -> 91[label="",style="solid", color="black", weight=3]; 12.24/4.91 85[label="primbindIO (AProVE_Exception wv110) (sequence0 wv80)",fontsize=16,color="black",shape="box"];85 -> 92[label="",style="solid", color="black", weight=3]; 12.24/4.91 86[label="primbindIO (AProVE_Error wv110) (sequence0 wv80)",fontsize=16,color="black",shape="box"];86 -> 93[label="",style="solid", color="black", weight=3]; 12.24/4.91 87[label="(sequence0 wv70 wv120 ++ (wv121 >>= sequence0 wv70)) ++ wv9",fontsize=16,color="black",shape="box"];87 -> 94[label="",style="solid", color="black", weight=3]; 12.24/4.91 88[label="[] ++ wv9",fontsize=16,color="black",shape="triangle"];88 -> 95[label="",style="solid", color="black", weight=3]; 12.24/4.91 89[label="Just (wv60 : wv100)",fontsize=16,color="green",shape="box"];90[label="error []",fontsize=16,color="red",shape="box"];91[label="sequence0 wv80 wv110",fontsize=16,color="black",shape="box"];91 -> 96[label="",style="solid", color="black", weight=3]; 12.24/4.91 92[label="AProVE_Exception wv110",fontsize=16,color="green",shape="box"];93[label="AProVE_Error wv110",fontsize=16,color="green",shape="box"];94[label="(return (wv70 : wv120) ++ (wv121 >>= sequence0 wv70)) ++ wv9",fontsize=16,color="black",shape="box"];94 -> 97[label="",style="solid", color="black", weight=3]; 12.24/4.91 95[label="wv9",fontsize=16,color="green",shape="box"];96[label="return (wv80 : wv110)",fontsize=16,color="black",shape="box"];96 -> 98[label="",style="solid", color="black", weight=3]; 12.24/4.91 97[label="(((wv70 : wv120) : []) ++ (wv121 >>= sequence0 wv70)) ++ wv9",fontsize=16,color="black",shape="box"];97 -> 99[label="",style="solid", color="black", weight=3]; 12.24/4.91 98[label="primretIO (wv80 : wv110)",fontsize=16,color="black",shape="box"];98 -> 100[label="",style="solid", color="black", weight=3]; 12.24/4.91 99 -> 101[label="",style="dashed", color="red", weight=0]; 12.24/4.91 99[label="((wv70 : wv120) : [] ++ (wv121 >>= sequence0 wv70)) ++ wv9",fontsize=16,color="magenta"];99 -> 102[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 100[label="AProVE_IO (wv80 : wv110)",fontsize=16,color="green",shape="box"];102 -> 88[label="",style="dashed", color="red", weight=0]; 12.24/4.91 102[label="[] ++ (wv121 >>= sequence0 wv70)",fontsize=16,color="magenta"];102 -> 103[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 101[label="((wv70 : wv120) : wv13) ++ wv9",fontsize=16,color="black",shape="triangle"];101 -> 104[label="",style="solid", color="black", weight=3]; 12.24/4.91 103[label="wv121 >>= sequence0 wv70",fontsize=16,color="burlywood",shape="triangle"];147[label="wv121/wv1210 : wv1211",fontsize=10,color="white",style="solid",shape="box"];103 -> 147[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 147 -> 105[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 148[label="wv121/[]",fontsize=10,color="white",style="solid",shape="box"];103 -> 148[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 148 -> 106[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 104[label="(wv70 : wv120) : wv13 ++ wv9",fontsize=16,color="green",shape="box"];104 -> 107[label="",style="dashed", color="green", weight=3]; 12.24/4.91 105[label="wv1210 : wv1211 >>= sequence0 wv70",fontsize=16,color="black",shape="box"];105 -> 108[label="",style="solid", color="black", weight=3]; 12.24/4.91 106[label="[] >>= sequence0 wv70",fontsize=16,color="black",shape="box"];106 -> 109[label="",style="solid", color="black", weight=3]; 12.24/4.91 107[label="wv13 ++ wv9",fontsize=16,color="burlywood",shape="triangle"];149[label="wv13/wv130 : wv131",fontsize=10,color="white",style="solid",shape="box"];107 -> 149[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 149 -> 110[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 150[label="wv13/[]",fontsize=10,color="white",style="solid",shape="box"];107 -> 150[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 150 -> 111[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 108 -> 107[label="",style="dashed", color="red", weight=0]; 12.24/4.91 108[label="sequence0 wv70 wv1210 ++ (wv1211 >>= sequence0 wv70)",fontsize=16,color="magenta"];108 -> 112[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 108 -> 113[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 109[label="[]",fontsize=16,color="green",shape="box"];110[label="(wv130 : wv131) ++ wv9",fontsize=16,color="black",shape="box"];110 -> 114[label="",style="solid", color="black", weight=3]; 12.24/4.91 111[label="[] ++ wv9",fontsize=16,color="black",shape="box"];111 -> 115[label="",style="solid", color="black", weight=3]; 12.24/4.91 112 -> 103[label="",style="dashed", color="red", weight=0]; 12.24/4.91 112[label="wv1211 >>= sequence0 wv70",fontsize=16,color="magenta"];112 -> 116[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 113[label="sequence0 wv70 wv1210",fontsize=16,color="black",shape="box"];113 -> 117[label="",style="solid", color="black", weight=3]; 12.24/4.91 114[label="wv130 : wv131 ++ wv9",fontsize=16,color="green",shape="box"];114 -> 118[label="",style="dashed", color="green", weight=3]; 12.24/4.91 115[label="wv9",fontsize=16,color="green",shape="box"];116[label="wv1211",fontsize=16,color="green",shape="box"];117[label="return (wv70 : wv1210)",fontsize=16,color="black",shape="box"];117 -> 119[label="",style="solid", color="black", weight=3]; 12.24/4.91 118 -> 107[label="",style="dashed", color="red", weight=0]; 12.24/4.91 118[label="wv131 ++ wv9",fontsize=16,color="magenta"];118 -> 120[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 119[label="(wv70 : wv1210) : []",fontsize=16,color="green",shape="box"];120[label="wv131",fontsize=16,color="green",shape="box"];} 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (8) 12.24/4.91 Complex Obligation (AND) 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (9) 12.24/4.91 Obligation: 12.24/4.91 Q DP problem: 12.24/4.91 The TRS P consists of the following rules: 12.24/4.91 12.24/4.91 new_gtGtEs(:(wv1210, wv1211), wv70, h) -> new_gtGtEs(wv1211, wv70, h) 12.24/4.91 12.24/4.91 R is empty. 12.24/4.91 Q is empty. 12.24/4.91 We have to consider all minimal (P,Q,R)-chains. 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (10) QDPSizeChangeProof (EQUIVALENT) 12.24/4.91 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. 12.24/4.91 12.24/4.91 From the DPs we obtained the following set of size-change graphs: 12.24/4.91 *new_gtGtEs(:(wv1210, wv1211), wv70, h) -> new_gtGtEs(wv1211, wv70, h) 12.24/4.91 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 12.24/4.91 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (11) 12.24/4.91 YES 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (12) 12.24/4.91 Obligation: 12.24/4.91 Q DP problem: 12.24/4.91 The TRS P consists of the following rules: 12.24/4.91 12.24/4.91 new_sequence(wv3, :(wv40, wv41), :(wv50, wv51), ty_IO, h, ba, bb) -> new_primbindIO(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 new_psPs0(wv3, wv41, wv51, h, ba, bb) -> new_sequence(wv3, wv41, wv51, ty_[], h, ba, bb) 12.24/4.91 new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) -> new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 new_gtGtEs0(wv3, wv41, wv51, h, ba, bb) -> new_sequence(wv3, wv41, wv51, ty_Maybe, h, ba, bb) 12.24/4.91 new_sequence(wv3, :(wv40, wv41), :(wv50, wv51), ty_Maybe, h, ba, bb) -> new_gtGtEs0(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 new_sequence(wv3, :(wv40, wv41), :(wv50, wv51), ty_[], h, ba, bb) -> new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) -> new_psPs0(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 new_primbindIO(wv3, wv41, wv51, h, ba, bb) -> new_sequence(wv3, wv41, wv51, ty_IO, h, ba, bb) 12.24/4.91 12.24/4.91 The TRS R consists of the following rules: 12.24/4.91 12.24/4.91 new_psPs2(:(wv120, wv121), wv70, wv9, h) -> new_psPs3(wv70, wv120, new_psPs5(new_gtGtEs3(wv121, wv70, h), h), wv9, h) 12.24/4.91 new_psPs4([], wv9, h) -> wv9 12.24/4.91 new_gtGtEs3([], wv70, h) -> [] 12.24/4.91 new_psPs4(:(wv130, wv131), wv9, h) -> :(wv130, new_psPs4(wv131, wv9, h)) 12.24/4.91 new_gtGtEs2(:(wv70, wv71), wv3, wv41, wv51, h, ba, bb) -> new_psPs1(wv3, wv41, wv51, wv70, new_gtGtEs2(wv71, wv3, wv41, wv51, h, ba, bb), h, ba, bb) 12.24/4.91 new_gtGtEs2([], wv3, wv41, wv51, h, ba, bb) -> [] 12.24/4.91 new_psPs2([], wv70, wv9, h) -> new_psPs5(wv9, h) 12.24/4.91 new_gtGtEs3(:(wv1210, wv1211), wv70, h) -> new_psPs4(:(:(wv70, wv1210), []), new_gtGtEs3(wv1211, wv70, h), h) 12.24/4.91 new_psPs5(wv9, h) -> wv9 12.24/4.91 new_psPs1(wv3, wv41, wv51, wv70, wv9, h, ba, bb) -> new_psPs2(new_sequence0(wv3, wv41, wv51, ty_[], h, ba, bb), wv70, wv9, h) 12.24/4.91 new_psPs3(wv70, wv120, wv13, wv9, h) -> :(:(wv70, wv120), new_psPs4(wv13, wv9, h)) 12.24/4.91 12.24/4.91 The set Q consists of the following terms: 12.24/4.91 12.24/4.91 new_psPs2(:(x0, x1), x2, x3, x4) 12.24/4.91 new_psPs5(x0, x1) 12.24/4.91 new_gtGtEs2([], x0, x1, x2, x3, x4, x5) 12.24/4.91 new_psPs3(x0, x1, x2, x3, x4) 12.24/4.91 new_psPs2([], x0, x1, x2) 12.24/4.91 new_psPs1(x0, x1, x2, x3, x4, x5, x6, x7) 12.24/4.91 new_psPs4([], x0, x1) 12.24/4.91 new_gtGtEs3([], x0, x1) 12.24/4.91 new_psPs4(:(x0, x1), x2, x3) 12.24/4.91 new_gtGtEs2(:(x0, x1), x2, x3, x4, x5, x6, x7) 12.24/4.91 new_gtGtEs3(:(x0, x1), x2, x3) 12.24/4.91 12.24/4.91 We have to consider all minimal (P,Q,R)-chains. 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (13) DependencyGraphProof (EQUIVALENT) 12.24/4.91 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs. 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (14) 12.24/4.91 Complex Obligation (AND) 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (15) 12.24/4.91 Obligation: 12.24/4.91 Q DP problem: 12.24/4.91 The TRS P consists of the following rules: 12.24/4.91 12.24/4.91 new_sequence(wv3, :(wv40, wv41), :(wv50, wv51), ty_Maybe, h, ba, bb) -> new_gtGtEs0(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 new_gtGtEs0(wv3, wv41, wv51, h, ba, bb) -> new_sequence(wv3, wv41, wv51, ty_Maybe, h, ba, bb) 12.24/4.91 12.24/4.91 The TRS R consists of the following rules: 12.24/4.91 12.24/4.91 new_psPs2(:(wv120, wv121), wv70, wv9, h) -> new_psPs3(wv70, wv120, new_psPs5(new_gtGtEs3(wv121, wv70, h), h), wv9, h) 12.24/4.91 new_psPs4([], wv9, h) -> wv9 12.24/4.91 new_gtGtEs3([], wv70, h) -> [] 12.24/4.91 new_psPs4(:(wv130, wv131), wv9, h) -> :(wv130, new_psPs4(wv131, wv9, h)) 12.24/4.91 new_gtGtEs2(:(wv70, wv71), wv3, wv41, wv51, h, ba, bb) -> new_psPs1(wv3, wv41, wv51, wv70, new_gtGtEs2(wv71, wv3, wv41, wv51, h, ba, bb), h, ba, bb) 12.24/4.91 new_gtGtEs2([], wv3, wv41, wv51, h, ba, bb) -> [] 12.24/4.91 new_psPs2([], wv70, wv9, h) -> new_psPs5(wv9, h) 12.24/4.91 new_gtGtEs3(:(wv1210, wv1211), wv70, h) -> new_psPs4(:(:(wv70, wv1210), []), new_gtGtEs3(wv1211, wv70, h), h) 12.24/4.91 new_psPs5(wv9, h) -> wv9 12.24/4.91 new_psPs1(wv3, wv41, wv51, wv70, wv9, h, ba, bb) -> new_psPs2(new_sequence0(wv3, wv41, wv51, ty_[], h, ba, bb), wv70, wv9, h) 12.24/4.91 new_psPs3(wv70, wv120, wv13, wv9, h) -> :(:(wv70, wv120), new_psPs4(wv13, wv9, h)) 12.24/4.91 12.24/4.91 The set Q consists of the following terms: 12.24/4.91 12.24/4.91 new_psPs2(:(x0, x1), x2, x3, x4) 12.24/4.91 new_psPs5(x0, x1) 12.24/4.91 new_gtGtEs2([], x0, x1, x2, x3, x4, x5) 12.24/4.91 new_psPs3(x0, x1, x2, x3, x4) 12.24/4.91 new_psPs2([], x0, x1, x2) 12.24/4.91 new_psPs1(x0, x1, x2, x3, x4, x5, x6, x7) 12.24/4.91 new_psPs4([], x0, x1) 12.24/4.91 new_gtGtEs3([], x0, x1) 12.24/4.91 new_psPs4(:(x0, x1), x2, x3) 12.24/4.91 new_gtGtEs2(:(x0, x1), x2, x3, x4, x5, x6, x7) 12.24/4.91 new_gtGtEs3(:(x0, x1), x2, x3) 12.24/4.91 12.24/4.91 We have to consider all minimal (P,Q,R)-chains. 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (16) QDPSizeChangeProof (EQUIVALENT) 12.24/4.91 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. 12.24/4.91 12.24/4.91 From the DPs we obtained the following set of size-change graphs: 12.24/4.91 *new_gtGtEs0(wv3, wv41, wv51, h, ba, bb) -> new_sequence(wv3, wv41, wv51, ty_Maybe, h, ba, bb) 12.24/4.91 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 5, 5 >= 6, 6 >= 7 12.24/4.91 12.24/4.91 12.24/4.91 *new_sequence(wv3, :(wv40, wv41), :(wv50, wv51), ty_Maybe, h, ba, bb) -> new_gtGtEs0(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 5 >= 4, 6 >= 5, 7 >= 6 12.24/4.91 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (17) 12.24/4.91 YES 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (18) 12.24/4.91 Obligation: 12.24/4.91 Q DP problem: 12.24/4.91 The TRS P consists of the following rules: 12.24/4.91 12.24/4.91 new_sequence(wv3, :(wv40, wv41), :(wv50, wv51), ty_[], h, ba, bb) -> new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) -> new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) -> new_psPs0(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 new_psPs0(wv3, wv41, wv51, h, ba, bb) -> new_sequence(wv3, wv41, wv51, ty_[], h, ba, bb) 12.24/4.91 12.24/4.91 The TRS R consists of the following rules: 12.24/4.91 12.24/4.91 new_psPs2(:(wv120, wv121), wv70, wv9, h) -> new_psPs3(wv70, wv120, new_psPs5(new_gtGtEs3(wv121, wv70, h), h), wv9, h) 12.24/4.91 new_psPs4([], wv9, h) -> wv9 12.24/4.91 new_gtGtEs3([], wv70, h) -> [] 12.24/4.91 new_psPs4(:(wv130, wv131), wv9, h) -> :(wv130, new_psPs4(wv131, wv9, h)) 12.24/4.91 new_gtGtEs2(:(wv70, wv71), wv3, wv41, wv51, h, ba, bb) -> new_psPs1(wv3, wv41, wv51, wv70, new_gtGtEs2(wv71, wv3, wv41, wv51, h, ba, bb), h, ba, bb) 12.24/4.91 new_gtGtEs2([], wv3, wv41, wv51, h, ba, bb) -> [] 12.24/4.91 new_psPs2([], wv70, wv9, h) -> new_psPs5(wv9, h) 12.24/4.91 new_gtGtEs3(:(wv1210, wv1211), wv70, h) -> new_psPs4(:(:(wv70, wv1210), []), new_gtGtEs3(wv1211, wv70, h), h) 12.24/4.91 new_psPs5(wv9, h) -> wv9 12.24/4.91 new_psPs1(wv3, wv41, wv51, wv70, wv9, h, ba, bb) -> new_psPs2(new_sequence0(wv3, wv41, wv51, ty_[], h, ba, bb), wv70, wv9, h) 12.24/4.91 new_psPs3(wv70, wv120, wv13, wv9, h) -> :(:(wv70, wv120), new_psPs4(wv13, wv9, h)) 12.24/4.91 12.24/4.91 The set Q consists of the following terms: 12.24/4.91 12.24/4.91 new_psPs2(:(x0, x1), x2, x3, x4) 12.24/4.91 new_psPs5(x0, x1) 12.24/4.91 new_gtGtEs2([], x0, x1, x2, x3, x4, x5) 12.24/4.91 new_psPs3(x0, x1, x2, x3, x4) 12.24/4.91 new_psPs2([], x0, x1, x2) 12.24/4.91 new_psPs1(x0, x1, x2, x3, x4, x5, x6, x7) 12.24/4.91 new_psPs4([], x0, x1) 12.24/4.91 new_gtGtEs3([], x0, x1) 12.24/4.91 new_psPs4(:(x0, x1), x2, x3) 12.24/4.91 new_gtGtEs2(:(x0, x1), x2, x3, x4, x5, x6, x7) 12.24/4.91 new_gtGtEs3(:(x0, x1), x2, x3) 12.24/4.91 12.24/4.91 We have to consider all minimal (P,Q,R)-chains. 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (19) QDPOrderProof (EQUIVALENT) 12.24/4.91 We use the reduction pair processor [LPAR04,JAR06]. 12.24/4.91 12.24/4.91 12.24/4.91 The following pairs can be oriented strictly and are deleted. 12.24/4.91 12.24/4.91 new_sequence(wv3, :(wv40, wv41), :(wv50, wv51), ty_[], h, ba, bb) -> new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 The remaining pairs can at least be oriented weakly. 12.24/4.91 Used ordering: Polynomial interpretation [POLO]: 12.24/4.91 12.24/4.91 POL(:(x_1, x_2)) = 1 + x_2 12.24/4.91 POL(new_gtGtEs1(x_1, x_2, x_3, x_4, x_5, x_6)) = 1 + x_2 12.24/4.91 POL(new_psPs0(x_1, x_2, x_3, x_4, x_5, x_6)) = 1 + x_2 12.24/4.91 POL(new_sequence(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_2 + x_4 12.24/4.91 POL(ty_[]) = 1 12.24/4.91 12.24/4.91 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 12.24/4.91 none 12.24/4.91 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (20) 12.24/4.91 Obligation: 12.24/4.91 Q DP problem: 12.24/4.91 The TRS P consists of the following rules: 12.24/4.91 12.24/4.91 new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) -> new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) -> new_psPs0(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 new_psPs0(wv3, wv41, wv51, h, ba, bb) -> new_sequence(wv3, wv41, wv51, ty_[], h, ba, bb) 12.24/4.91 12.24/4.91 The TRS R consists of the following rules: 12.24/4.91 12.24/4.91 new_psPs2(:(wv120, wv121), wv70, wv9, h) -> new_psPs3(wv70, wv120, new_psPs5(new_gtGtEs3(wv121, wv70, h), h), wv9, h) 12.24/4.91 new_psPs4([], wv9, h) -> wv9 12.24/4.91 new_gtGtEs3([], wv70, h) -> [] 12.24/4.91 new_psPs4(:(wv130, wv131), wv9, h) -> :(wv130, new_psPs4(wv131, wv9, h)) 12.24/4.91 new_gtGtEs2(:(wv70, wv71), wv3, wv41, wv51, h, ba, bb) -> new_psPs1(wv3, wv41, wv51, wv70, new_gtGtEs2(wv71, wv3, wv41, wv51, h, ba, bb), h, ba, bb) 12.24/4.91 new_gtGtEs2([], wv3, wv41, wv51, h, ba, bb) -> [] 12.24/4.91 new_psPs2([], wv70, wv9, h) -> new_psPs5(wv9, h) 12.24/4.91 new_gtGtEs3(:(wv1210, wv1211), wv70, h) -> new_psPs4(:(:(wv70, wv1210), []), new_gtGtEs3(wv1211, wv70, h), h) 12.24/4.91 new_psPs5(wv9, h) -> wv9 12.24/4.91 new_psPs1(wv3, wv41, wv51, wv70, wv9, h, ba, bb) -> new_psPs2(new_sequence0(wv3, wv41, wv51, ty_[], h, ba, bb), wv70, wv9, h) 12.24/4.91 new_psPs3(wv70, wv120, wv13, wv9, h) -> :(:(wv70, wv120), new_psPs4(wv13, wv9, h)) 12.24/4.91 12.24/4.91 The set Q consists of the following terms: 12.24/4.91 12.24/4.91 new_psPs2(:(x0, x1), x2, x3, x4) 12.24/4.91 new_psPs5(x0, x1) 12.24/4.91 new_gtGtEs2([], x0, x1, x2, x3, x4, x5) 12.24/4.91 new_psPs3(x0, x1, x2, x3, x4) 12.24/4.91 new_psPs2([], x0, x1, x2) 12.24/4.91 new_psPs1(x0, x1, x2, x3, x4, x5, x6, x7) 12.24/4.91 new_psPs4([], x0, x1) 12.24/4.91 new_gtGtEs3([], x0, x1) 12.24/4.91 new_psPs4(:(x0, x1), x2, x3) 12.24/4.91 new_gtGtEs2(:(x0, x1), x2, x3, x4, x5, x6, x7) 12.24/4.91 new_gtGtEs3(:(x0, x1), x2, x3) 12.24/4.91 12.24/4.91 We have to consider all minimal (P,Q,R)-chains. 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (21) DependencyGraphProof (EQUIVALENT) 12.24/4.91 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (22) 12.24/4.91 Obligation: 12.24/4.91 Q DP problem: 12.24/4.91 The TRS P consists of the following rules: 12.24/4.91 12.24/4.91 new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) -> new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 12.24/4.91 The TRS R consists of the following rules: 12.24/4.91 12.24/4.91 new_psPs2(:(wv120, wv121), wv70, wv9, h) -> new_psPs3(wv70, wv120, new_psPs5(new_gtGtEs3(wv121, wv70, h), h), wv9, h) 12.24/4.91 new_psPs4([], wv9, h) -> wv9 12.24/4.91 new_gtGtEs3([], wv70, h) -> [] 12.24/4.91 new_psPs4(:(wv130, wv131), wv9, h) -> :(wv130, new_psPs4(wv131, wv9, h)) 12.24/4.91 new_gtGtEs2(:(wv70, wv71), wv3, wv41, wv51, h, ba, bb) -> new_psPs1(wv3, wv41, wv51, wv70, new_gtGtEs2(wv71, wv3, wv41, wv51, h, ba, bb), h, ba, bb) 12.24/4.91 new_gtGtEs2([], wv3, wv41, wv51, h, ba, bb) -> [] 12.24/4.91 new_psPs2([], wv70, wv9, h) -> new_psPs5(wv9, h) 12.24/4.91 new_gtGtEs3(:(wv1210, wv1211), wv70, h) -> new_psPs4(:(:(wv70, wv1210), []), new_gtGtEs3(wv1211, wv70, h), h) 12.24/4.91 new_psPs5(wv9, h) -> wv9 12.24/4.91 new_psPs1(wv3, wv41, wv51, wv70, wv9, h, ba, bb) -> new_psPs2(new_sequence0(wv3, wv41, wv51, ty_[], h, ba, bb), wv70, wv9, h) 12.24/4.91 new_psPs3(wv70, wv120, wv13, wv9, h) -> :(:(wv70, wv120), new_psPs4(wv13, wv9, h)) 12.24/4.91 12.24/4.91 The set Q consists of the following terms: 12.24/4.91 12.24/4.91 new_psPs2(:(x0, x1), x2, x3, x4) 12.24/4.91 new_psPs5(x0, x1) 12.24/4.91 new_gtGtEs2([], x0, x1, x2, x3, x4, x5) 12.24/4.91 new_psPs3(x0, x1, x2, x3, x4) 12.24/4.91 new_psPs2([], x0, x1, x2) 12.24/4.91 new_psPs1(x0, x1, x2, x3, x4, x5, x6, x7) 12.24/4.91 new_psPs4([], x0, x1) 12.24/4.91 new_gtGtEs3([], x0, x1) 12.24/4.91 new_psPs4(:(x0, x1), x2, x3) 12.24/4.91 new_gtGtEs2(:(x0, x1), x2, x3, x4, x5, x6, x7) 12.24/4.91 new_gtGtEs3(:(x0, x1), x2, x3) 12.24/4.91 12.24/4.91 We have to consider all minimal (P,Q,R)-chains. 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (23) MNOCProof (EQUIVALENT) 12.24/4.91 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (24) 12.24/4.91 Obligation: 12.24/4.91 Q DP problem: 12.24/4.91 The TRS P consists of the following rules: 12.24/4.91 12.24/4.91 new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) -> new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 12.24/4.91 The TRS R consists of the following rules: 12.24/4.91 12.24/4.91 new_psPs2(:(wv120, wv121), wv70, wv9, h) -> new_psPs3(wv70, wv120, new_psPs5(new_gtGtEs3(wv121, wv70, h), h), wv9, h) 12.24/4.91 new_psPs4([], wv9, h) -> wv9 12.24/4.91 new_gtGtEs3([], wv70, h) -> [] 12.24/4.91 new_psPs4(:(wv130, wv131), wv9, h) -> :(wv130, new_psPs4(wv131, wv9, h)) 12.24/4.91 new_gtGtEs2(:(wv70, wv71), wv3, wv41, wv51, h, ba, bb) -> new_psPs1(wv3, wv41, wv51, wv70, new_gtGtEs2(wv71, wv3, wv41, wv51, h, ba, bb), h, ba, bb) 12.24/4.91 new_gtGtEs2([], wv3, wv41, wv51, h, ba, bb) -> [] 12.24/4.91 new_psPs2([], wv70, wv9, h) -> new_psPs5(wv9, h) 12.24/4.91 new_gtGtEs3(:(wv1210, wv1211), wv70, h) -> new_psPs4(:(:(wv70, wv1210), []), new_gtGtEs3(wv1211, wv70, h), h) 12.24/4.91 new_psPs5(wv9, h) -> wv9 12.24/4.91 new_psPs1(wv3, wv41, wv51, wv70, wv9, h, ba, bb) -> new_psPs2(new_sequence0(wv3, wv41, wv51, ty_[], h, ba, bb), wv70, wv9, h) 12.24/4.91 new_psPs3(wv70, wv120, wv13, wv9, h) -> :(:(wv70, wv120), new_psPs4(wv13, wv9, h)) 12.24/4.91 12.24/4.91 Q is empty. 12.24/4.91 We have to consider all (P,Q,R)-chains. 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (25) NonTerminationLoopProof (COMPLETE) 12.24/4.91 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 12.24/4.91 Found a loop by semiunifying a rule from P directly. 12.24/4.91 12.24/4.91 s = new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) evaluates to t =new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 12.24/4.91 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 12.24/4.91 * Matcher: [ ] 12.24/4.91 * Semiunifier: [ ] 12.24/4.91 12.24/4.91 -------------------------------------------------------------------------------- 12.24/4.91 Rewriting sequence 12.24/4.91 12.24/4.91 The DP semiunifies directly so there is only one rewrite step from new_gtGtEs1(wv3, wv41, wv51, h, ba, bb) to new_gtGtEs1(wv3, wv41, wv51, h, ba, bb). 12.24/4.91 12.24/4.91 12.24/4.91 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (26) 12.24/4.91 NO 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (27) 12.24/4.91 Obligation: 12.24/4.91 Q DP problem: 12.24/4.91 The TRS P consists of the following rules: 12.24/4.91 12.24/4.91 new_primbindIO(wv3, wv41, wv51, h, ba, bb) -> new_sequence(wv3, wv41, wv51, ty_IO, h, ba, bb) 12.24/4.91 new_sequence(wv3, :(wv40, wv41), :(wv50, wv51), ty_IO, h, ba, bb) -> new_primbindIO(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 12.24/4.91 The TRS R consists of the following rules: 12.24/4.91 12.24/4.91 new_psPs2(:(wv120, wv121), wv70, wv9, h) -> new_psPs3(wv70, wv120, new_psPs5(new_gtGtEs3(wv121, wv70, h), h), wv9, h) 12.24/4.91 new_psPs4([], wv9, h) -> wv9 12.24/4.91 new_gtGtEs3([], wv70, h) -> [] 12.24/4.91 new_psPs4(:(wv130, wv131), wv9, h) -> :(wv130, new_psPs4(wv131, wv9, h)) 12.24/4.91 new_gtGtEs2(:(wv70, wv71), wv3, wv41, wv51, h, ba, bb) -> new_psPs1(wv3, wv41, wv51, wv70, new_gtGtEs2(wv71, wv3, wv41, wv51, h, ba, bb), h, ba, bb) 12.24/4.91 new_gtGtEs2([], wv3, wv41, wv51, h, ba, bb) -> [] 12.24/4.91 new_psPs2([], wv70, wv9, h) -> new_psPs5(wv9, h) 12.24/4.91 new_gtGtEs3(:(wv1210, wv1211), wv70, h) -> new_psPs4(:(:(wv70, wv1210), []), new_gtGtEs3(wv1211, wv70, h), h) 12.24/4.91 new_psPs5(wv9, h) -> wv9 12.24/4.91 new_psPs1(wv3, wv41, wv51, wv70, wv9, h, ba, bb) -> new_psPs2(new_sequence0(wv3, wv41, wv51, ty_[], h, ba, bb), wv70, wv9, h) 12.24/4.91 new_psPs3(wv70, wv120, wv13, wv9, h) -> :(:(wv70, wv120), new_psPs4(wv13, wv9, h)) 12.24/4.91 12.24/4.91 The set Q consists of the following terms: 12.24/4.91 12.24/4.91 new_psPs2(:(x0, x1), x2, x3, x4) 12.24/4.91 new_psPs5(x0, x1) 12.24/4.91 new_gtGtEs2([], x0, x1, x2, x3, x4, x5) 12.24/4.91 new_psPs3(x0, x1, x2, x3, x4) 12.24/4.91 new_psPs2([], x0, x1, x2) 12.24/4.91 new_psPs1(x0, x1, x2, x3, x4, x5, x6, x7) 12.24/4.91 new_psPs4([], x0, x1) 12.24/4.91 new_gtGtEs3([], x0, x1) 12.24/4.91 new_psPs4(:(x0, x1), x2, x3) 12.24/4.91 new_gtGtEs2(:(x0, x1), x2, x3, x4, x5, x6, x7) 12.24/4.91 new_gtGtEs3(:(x0, x1), x2, x3) 12.24/4.91 12.24/4.91 We have to consider all minimal (P,Q,R)-chains. 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (28) QDPSizeChangeProof (EQUIVALENT) 12.24/4.91 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. 12.24/4.91 12.24/4.91 From the DPs we obtained the following set of size-change graphs: 12.24/4.91 *new_sequence(wv3, :(wv40, wv41), :(wv50, wv51), ty_IO, h, ba, bb) -> new_primbindIO(wv3, wv41, wv51, h, ba, bb) 12.24/4.91 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 5 >= 4, 6 >= 5, 7 >= 6 12.24/4.91 12.24/4.91 12.24/4.91 *new_primbindIO(wv3, wv41, wv51, h, ba, bb) -> new_sequence(wv3, wv41, wv51, ty_IO, h, ba, bb) 12.24/4.91 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 5, 5 >= 6, 6 >= 7 12.24/4.91 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (29) 12.24/4.91 YES 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (30) 12.24/4.91 Obligation: 12.24/4.91 Q DP problem: 12.24/4.91 The TRS P consists of the following rules: 12.24/4.91 12.24/4.91 new_psPs(:(wv130, wv131), wv9, h) -> new_psPs(wv131, wv9, h) 12.24/4.91 12.24/4.91 R is empty. 12.24/4.91 Q is empty. 12.24/4.91 We have to consider all minimal (P,Q,R)-chains. 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (31) QDPSizeChangeProof (EQUIVALENT) 12.24/4.91 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. 12.24/4.91 12.24/4.91 From the DPs we obtained the following set of size-change graphs: 12.24/4.91 *new_psPs(:(wv130, wv131), wv9, h) -> new_psPs(wv131, wv9, h) 12.24/4.91 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 12.24/4.91 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (32) 12.24/4.91 YES 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (33) Narrow (COMPLETE) 12.24/4.91 Haskell To QDPs 12.24/4.91 12.24/4.91 digraph dp_graph { 12.24/4.91 node [outthreshold=100, inthreshold=100];1[label="Monad.zipWithM",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 12.24/4.91 3[label="Monad.zipWithM wv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 12.24/4.91 4[label="Monad.zipWithM wv3 wv4",fontsize=16,color="grey",shape="box"];4 -> 5[label="",style="dashed", color="grey", weight=3]; 12.24/4.91 5[label="Monad.zipWithM wv3 wv4 wv5",fontsize=16,color="black",shape="triangle"];5 -> 6[label="",style="solid", color="black", weight=3]; 12.24/4.91 6[label="sequence (zipWith wv3 wv4 wv5)",fontsize=16,color="burlywood",shape="triangle"];121[label="wv4/wv40 : wv41",fontsize=10,color="white",style="solid",shape="box"];6 -> 121[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 121 -> 7[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 122[label="wv4/[]",fontsize=10,color="white",style="solid",shape="box"];6 -> 122[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 122 -> 8[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 7[label="sequence (zipWith wv3 (wv40 : wv41) wv5)",fontsize=16,color="burlywood",shape="box"];123[label="wv5/wv50 : wv51",fontsize=10,color="white",style="solid",shape="box"];7 -> 123[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 123 -> 9[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 124[label="wv5/[]",fontsize=10,color="white",style="solid",shape="box"];7 -> 124[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 124 -> 10[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 8[label="sequence (zipWith wv3 [] wv5)",fontsize=16,color="black",shape="box"];8 -> 11[label="",style="solid", color="black", weight=3]; 12.24/4.91 9[label="sequence (zipWith wv3 (wv40 : wv41) (wv50 : wv51))",fontsize=16,color="black",shape="box"];9 -> 12[label="",style="solid", color="black", weight=3]; 12.24/4.91 10[label="sequence (zipWith wv3 (wv40 : wv41) [])",fontsize=16,color="black",shape="box"];10 -> 13[label="",style="solid", color="black", weight=3]; 12.24/4.91 11[label="sequence []",fontsize=16,color="black",shape="triangle"];11 -> 14[label="",style="solid", color="black", weight=3]; 12.24/4.91 12[label="sequence (wv3 wv40 wv50 : zipWith wv3 wv41 wv51)",fontsize=16,color="black",shape="box"];12 -> 15[label="",style="solid", color="black", weight=3]; 12.24/4.91 13 -> 11[label="",style="dashed", color="red", weight=0]; 12.24/4.91 13[label="sequence []",fontsize=16,color="magenta"];14[label="return []",fontsize=16,color="blue",shape="box"];125[label="return :: ([] a) -> Maybe ([] a)",fontsize=10,color="white",style="solid",shape="box"];14 -> 125[label="",style="solid", color="blue", weight=9]; 12.24/4.91 125 -> 16[label="",style="solid", color="blue", weight=3]; 12.24/4.91 126[label="return :: ([] a) -> IO ([] a)",fontsize=10,color="white",style="solid",shape="box"];14 -> 126[label="",style="solid", color="blue", weight=9]; 12.24/4.91 126 -> 17[label="",style="solid", color="blue", weight=3]; 12.24/4.91 127[label="return :: ([] a) -> [] ([] a)",fontsize=10,color="white",style="solid",shape="box"];14 -> 127[label="",style="solid", color="blue", weight=9]; 12.24/4.91 127 -> 18[label="",style="solid", color="blue", weight=3]; 12.24/4.91 15[label="wv3 wv40 wv50 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="blue",shape="box"];128[label=">>= :: (Maybe a) -> (a -> Maybe ([] a)) -> Maybe ([] a)",fontsize=10,color="white",style="solid",shape="box"];15 -> 128[label="",style="solid", color="blue", weight=9]; 12.24/4.91 128 -> 19[label="",style="solid", color="blue", weight=3]; 12.24/4.91 129[label=">>= :: (IO a) -> (a -> IO ([] a)) -> IO ([] a)",fontsize=10,color="white",style="solid",shape="box"];15 -> 129[label="",style="solid", color="blue", weight=9]; 12.24/4.91 129 -> 20[label="",style="solid", color="blue", weight=3]; 12.24/4.91 130[label=">>= :: ([] a) -> (a -> [] ([] a)) -> [] ([] a)",fontsize=10,color="white",style="solid",shape="box"];15 -> 130[label="",style="solid", color="blue", weight=9]; 12.24/4.91 130 -> 21[label="",style="solid", color="blue", weight=3]; 12.24/4.91 16[label="return []",fontsize=16,color="black",shape="box"];16 -> 22[label="",style="solid", color="black", weight=3]; 12.24/4.91 17[label="return []",fontsize=16,color="black",shape="box"];17 -> 23[label="",style="solid", color="black", weight=3]; 12.24/4.91 18[label="return []",fontsize=16,color="black",shape="box"];18 -> 24[label="",style="solid", color="black", weight=3]; 12.24/4.91 19 -> 25[label="",style="dashed", color="red", weight=0]; 12.24/4.91 19[label="wv3 wv40 wv50 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="magenta"];19 -> 26[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 20[label="wv3 wv40 wv50 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="black",shape="box"];20 -> 27[label="",style="solid", color="black", weight=3]; 12.24/4.91 21 -> 28[label="",style="dashed", color="red", weight=0]; 12.24/4.91 21[label="wv3 wv40 wv50 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="magenta"];21 -> 29[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 22[label="Just []",fontsize=16,color="green",shape="box"];23[label="primretIO []",fontsize=16,color="black",shape="box"];23 -> 30[label="",style="solid", color="black", weight=3]; 12.24/4.91 24[label="[] : []",fontsize=16,color="green",shape="box"];26[label="wv3 wv40 wv50",fontsize=16,color="green",shape="box"];26 -> 31[label="",style="dashed", color="green", weight=3]; 12.24/4.91 26 -> 32[label="",style="dashed", color="green", weight=3]; 12.24/4.91 25[label="wv6 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="burlywood",shape="triangle"];131[label="wv6/Nothing",fontsize=10,color="white",style="solid",shape="box"];25 -> 131[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 131 -> 33[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 132[label="wv6/Just wv60",fontsize=10,color="white",style="solid",shape="box"];25 -> 132[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 132 -> 34[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 27 -> 35[label="",style="dashed", color="red", weight=0]; 12.24/4.91 27[label="primbindIO (wv3 wv40 wv50) (sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="magenta"];27 -> 36[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 29[label="wv3 wv40 wv50",fontsize=16,color="green",shape="box"];29 -> 37[label="",style="dashed", color="green", weight=3]; 12.24/4.91 29 -> 38[label="",style="dashed", color="green", weight=3]; 12.24/4.91 28[label="wv7 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="burlywood",shape="triangle"];133[label="wv7/wv70 : wv71",fontsize=10,color="white",style="solid",shape="box"];28 -> 133[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 133 -> 39[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 134[label="wv7/[]",fontsize=10,color="white",style="solid",shape="box"];28 -> 134[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 134 -> 40[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 30[label="AProVE_IO []",fontsize=16,color="green",shape="box"];31[label="wv40",fontsize=16,color="green",shape="box"];32[label="wv50",fontsize=16,color="green",shape="box"];33[label="Nothing >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="black",shape="box"];33 -> 41[label="",style="solid", color="black", weight=3]; 12.24/4.91 34[label="Just wv60 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="black",shape="box"];34 -> 42[label="",style="solid", color="black", weight=3]; 12.24/4.91 36[label="wv3 wv40 wv50",fontsize=16,color="green",shape="box"];36 -> 49[label="",style="dashed", color="green", weight=3]; 12.24/4.91 36 -> 50[label="",style="dashed", color="green", weight=3]; 12.24/4.91 35[label="primbindIO wv8 (sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="burlywood",shape="triangle"];135[label="wv8/IO wv80",fontsize=10,color="white",style="solid",shape="box"];35 -> 135[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 135 -> 45[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 136[label="wv8/AProVE_IO wv80",fontsize=10,color="white",style="solid",shape="box"];35 -> 136[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 136 -> 46[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 137[label="wv8/AProVE_Exception wv80",fontsize=10,color="white",style="solid",shape="box"];35 -> 137[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 137 -> 47[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 138[label="wv8/AProVE_Error wv80",fontsize=10,color="white",style="solid",shape="box"];35 -> 138[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 138 -> 48[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 37[label="wv40",fontsize=16,color="green",shape="box"];38[label="wv50",fontsize=16,color="green",shape="box"];39[label="wv70 : wv71 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="black",shape="box"];39 -> 51[label="",style="solid", color="black", weight=3]; 12.24/4.91 40[label="[] >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="black",shape="box"];40 -> 52[label="",style="solid", color="black", weight=3]; 12.24/4.91 41[label="Nothing",fontsize=16,color="green",shape="box"];42[label="sequence1 (zipWith wv3 wv41 wv51) wv60",fontsize=16,color="black",shape="box"];42 -> 53[label="",style="solid", color="black", weight=3]; 12.24/4.91 49[label="wv40",fontsize=16,color="green",shape="box"];50[label="wv50",fontsize=16,color="green",shape="box"];45[label="primbindIO (IO wv80) (sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="black",shape="box"];45 -> 54[label="",style="solid", color="black", weight=3]; 12.24/4.91 46[label="primbindIO (AProVE_IO wv80) (sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="black",shape="box"];46 -> 55[label="",style="solid", color="black", weight=3]; 12.24/4.91 47[label="primbindIO (AProVE_Exception wv80) (sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="black",shape="box"];47 -> 56[label="",style="solid", color="black", weight=3]; 12.24/4.91 48[label="primbindIO (AProVE_Error wv80) (sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="black",shape="box"];48 -> 57[label="",style="solid", color="black", weight=3]; 12.24/4.91 51 -> 58[label="",style="dashed", color="red", weight=0]; 12.24/4.91 51[label="sequence1 (zipWith wv3 wv41 wv51) wv70 ++ (wv71 >>= sequence1 (zipWith wv3 wv41 wv51))",fontsize=16,color="magenta"];51 -> 59[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 52[label="[]",fontsize=16,color="green",shape="box"];53 -> 60[label="",style="dashed", color="red", weight=0]; 12.24/4.91 53[label="sequence (zipWith wv3 wv41 wv51) >>= sequence0 wv60",fontsize=16,color="magenta"];53 -> 61[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 54[label="error []",fontsize=16,color="red",shape="box"];55[label="sequence1 (zipWith wv3 wv41 wv51) wv80",fontsize=16,color="black",shape="box"];55 -> 62[label="",style="solid", color="black", weight=3]; 12.24/4.91 56[label="AProVE_Exception wv80",fontsize=16,color="green",shape="box"];57[label="AProVE_Error wv80",fontsize=16,color="green",shape="box"];59 -> 28[label="",style="dashed", color="red", weight=0]; 12.24/4.91 59[label="wv71 >>= sequence1 (zipWith wv3 wv41 wv51)",fontsize=16,color="magenta"];59 -> 63[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 58[label="sequence1 (zipWith wv3 wv41 wv51) wv70 ++ wv9",fontsize=16,color="black",shape="triangle"];58 -> 64[label="",style="solid", color="black", weight=3]; 12.24/4.91 61 -> 6[label="",style="dashed", color="red", weight=0]; 12.24/4.91 61[label="sequence (zipWith wv3 wv41 wv51)",fontsize=16,color="magenta"];61 -> 65[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 61 -> 66[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 60[label="wv10 >>= sequence0 wv60",fontsize=16,color="burlywood",shape="triangle"];139[label="wv10/Nothing",fontsize=10,color="white",style="solid",shape="box"];60 -> 139[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 139 -> 67[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 140[label="wv10/Just wv100",fontsize=10,color="white",style="solid",shape="box"];60 -> 140[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 140 -> 68[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 62 -> 69[label="",style="dashed", color="red", weight=0]; 12.24/4.91 62[label="sequence (zipWith wv3 wv41 wv51) >>= sequence0 wv80",fontsize=16,color="magenta"];62 -> 70[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 63[label="wv71",fontsize=16,color="green",shape="box"];64 -> 71[label="",style="dashed", color="red", weight=0]; 12.24/4.91 64[label="(sequence (zipWith wv3 wv41 wv51) >>= sequence0 wv70) ++ wv9",fontsize=16,color="magenta"];64 -> 72[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 65[label="wv51",fontsize=16,color="green",shape="box"];66[label="wv41",fontsize=16,color="green",shape="box"];67[label="Nothing >>= sequence0 wv60",fontsize=16,color="black",shape="box"];67 -> 73[label="",style="solid", color="black", weight=3]; 12.24/4.91 68[label="Just wv100 >>= sequence0 wv60",fontsize=16,color="black",shape="box"];68 -> 74[label="",style="solid", color="black", weight=3]; 12.24/4.91 70 -> 6[label="",style="dashed", color="red", weight=0]; 12.24/4.91 70[label="sequence (zipWith wv3 wv41 wv51)",fontsize=16,color="magenta"];70 -> 75[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 70 -> 76[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 69[label="wv11 >>= sequence0 wv80",fontsize=16,color="black",shape="triangle"];69 -> 77[label="",style="solid", color="black", weight=3]; 12.24/4.91 72 -> 6[label="",style="dashed", color="red", weight=0]; 12.24/4.91 72[label="sequence (zipWith wv3 wv41 wv51)",fontsize=16,color="magenta"];72 -> 78[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 72 -> 79[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 71[label="(wv12 >>= sequence0 wv70) ++ wv9",fontsize=16,color="burlywood",shape="triangle"];141[label="wv12/wv120 : wv121",fontsize=10,color="white",style="solid",shape="box"];71 -> 141[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 141 -> 80[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 142[label="wv12/[]",fontsize=10,color="white",style="solid",shape="box"];71 -> 142[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 142 -> 81[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 73[label="Nothing",fontsize=16,color="green",shape="box"];74[label="sequence0 wv60 wv100",fontsize=16,color="black",shape="box"];74 -> 82[label="",style="solid", color="black", weight=3]; 12.24/4.91 75[label="wv51",fontsize=16,color="green",shape="box"];76[label="wv41",fontsize=16,color="green",shape="box"];77[label="primbindIO wv11 (sequence0 wv80)",fontsize=16,color="burlywood",shape="box"];143[label="wv11/IO wv110",fontsize=10,color="white",style="solid",shape="box"];77 -> 143[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 143 -> 83[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 144[label="wv11/AProVE_IO wv110",fontsize=10,color="white",style="solid",shape="box"];77 -> 144[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 144 -> 84[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 145[label="wv11/AProVE_Exception wv110",fontsize=10,color="white",style="solid",shape="box"];77 -> 145[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 145 -> 85[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 146[label="wv11/AProVE_Error wv110",fontsize=10,color="white",style="solid",shape="box"];77 -> 146[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 146 -> 86[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 78[label="wv51",fontsize=16,color="green",shape="box"];79[label="wv41",fontsize=16,color="green",shape="box"];80[label="(wv120 : wv121 >>= sequence0 wv70) ++ wv9",fontsize=16,color="black",shape="box"];80 -> 87[label="",style="solid", color="black", weight=3]; 12.24/4.91 81[label="([] >>= sequence0 wv70) ++ wv9",fontsize=16,color="black",shape="box"];81 -> 88[label="",style="solid", color="black", weight=3]; 12.24/4.91 82[label="return (wv60 : wv100)",fontsize=16,color="black",shape="box"];82 -> 89[label="",style="solid", color="black", weight=3]; 12.24/4.91 83[label="primbindIO (IO wv110) (sequence0 wv80)",fontsize=16,color="black",shape="box"];83 -> 90[label="",style="solid", color="black", weight=3]; 12.24/4.91 84[label="primbindIO (AProVE_IO wv110) (sequence0 wv80)",fontsize=16,color="black",shape="box"];84 -> 91[label="",style="solid", color="black", weight=3]; 12.24/4.91 85[label="primbindIO (AProVE_Exception wv110) (sequence0 wv80)",fontsize=16,color="black",shape="box"];85 -> 92[label="",style="solid", color="black", weight=3]; 12.24/4.91 86[label="primbindIO (AProVE_Error wv110) (sequence0 wv80)",fontsize=16,color="black",shape="box"];86 -> 93[label="",style="solid", color="black", weight=3]; 12.24/4.91 87[label="(sequence0 wv70 wv120 ++ (wv121 >>= sequence0 wv70)) ++ wv9",fontsize=16,color="black",shape="box"];87 -> 94[label="",style="solid", color="black", weight=3]; 12.24/4.91 88[label="[] ++ wv9",fontsize=16,color="black",shape="triangle"];88 -> 95[label="",style="solid", color="black", weight=3]; 12.24/4.91 89[label="Just (wv60 : wv100)",fontsize=16,color="green",shape="box"];90[label="error []",fontsize=16,color="red",shape="box"];91[label="sequence0 wv80 wv110",fontsize=16,color="black",shape="box"];91 -> 96[label="",style="solid", color="black", weight=3]; 12.24/4.91 92[label="AProVE_Exception wv110",fontsize=16,color="green",shape="box"];93[label="AProVE_Error wv110",fontsize=16,color="green",shape="box"];94[label="(return (wv70 : wv120) ++ (wv121 >>= sequence0 wv70)) ++ wv9",fontsize=16,color="black",shape="box"];94 -> 97[label="",style="solid", color="black", weight=3]; 12.24/4.91 95[label="wv9",fontsize=16,color="green",shape="box"];96[label="return (wv80 : wv110)",fontsize=16,color="black",shape="box"];96 -> 98[label="",style="solid", color="black", weight=3]; 12.24/4.91 97[label="(((wv70 : wv120) : []) ++ (wv121 >>= sequence0 wv70)) ++ wv9",fontsize=16,color="black",shape="box"];97 -> 99[label="",style="solid", color="black", weight=3]; 12.24/4.91 98[label="primretIO (wv80 : wv110)",fontsize=16,color="black",shape="box"];98 -> 100[label="",style="solid", color="black", weight=3]; 12.24/4.91 99 -> 101[label="",style="dashed", color="red", weight=0]; 12.24/4.91 99[label="((wv70 : wv120) : [] ++ (wv121 >>= sequence0 wv70)) ++ wv9",fontsize=16,color="magenta"];99 -> 102[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 100[label="AProVE_IO (wv80 : wv110)",fontsize=16,color="green",shape="box"];102 -> 88[label="",style="dashed", color="red", weight=0]; 12.24/4.91 102[label="[] ++ (wv121 >>= sequence0 wv70)",fontsize=16,color="magenta"];102 -> 103[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 101[label="((wv70 : wv120) : wv13) ++ wv9",fontsize=16,color="black",shape="triangle"];101 -> 104[label="",style="solid", color="black", weight=3]; 12.24/4.91 103[label="wv121 >>= sequence0 wv70",fontsize=16,color="burlywood",shape="triangle"];147[label="wv121/wv1210 : wv1211",fontsize=10,color="white",style="solid",shape="box"];103 -> 147[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 147 -> 105[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 148[label="wv121/[]",fontsize=10,color="white",style="solid",shape="box"];103 -> 148[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 148 -> 106[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 104[label="(wv70 : wv120) : wv13 ++ wv9",fontsize=16,color="green",shape="box"];104 -> 107[label="",style="dashed", color="green", weight=3]; 12.24/4.91 105[label="wv1210 : wv1211 >>= sequence0 wv70",fontsize=16,color="black",shape="box"];105 -> 108[label="",style="solid", color="black", weight=3]; 12.24/4.91 106[label="[] >>= sequence0 wv70",fontsize=16,color="black",shape="box"];106 -> 109[label="",style="solid", color="black", weight=3]; 12.24/4.91 107[label="wv13 ++ wv9",fontsize=16,color="burlywood",shape="triangle"];149[label="wv13/wv130 : wv131",fontsize=10,color="white",style="solid",shape="box"];107 -> 149[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 149 -> 110[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 150[label="wv13/[]",fontsize=10,color="white",style="solid",shape="box"];107 -> 150[label="",style="solid", color="burlywood", weight=9]; 12.24/4.91 150 -> 111[label="",style="solid", color="burlywood", weight=3]; 12.24/4.91 108 -> 107[label="",style="dashed", color="red", weight=0]; 12.24/4.91 108[label="sequence0 wv70 wv1210 ++ (wv1211 >>= sequence0 wv70)",fontsize=16,color="magenta"];108 -> 112[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 108 -> 113[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 109[label="[]",fontsize=16,color="green",shape="box"];110[label="(wv130 : wv131) ++ wv9",fontsize=16,color="black",shape="box"];110 -> 114[label="",style="solid", color="black", weight=3]; 12.24/4.91 111[label="[] ++ wv9",fontsize=16,color="black",shape="box"];111 -> 115[label="",style="solid", color="black", weight=3]; 12.24/4.91 112 -> 103[label="",style="dashed", color="red", weight=0]; 12.24/4.91 112[label="wv1211 >>= sequence0 wv70",fontsize=16,color="magenta"];112 -> 116[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 113[label="sequence0 wv70 wv1210",fontsize=16,color="black",shape="box"];113 -> 117[label="",style="solid", color="black", weight=3]; 12.24/4.91 114[label="wv130 : wv131 ++ wv9",fontsize=16,color="green",shape="box"];114 -> 118[label="",style="dashed", color="green", weight=3]; 12.24/4.91 115[label="wv9",fontsize=16,color="green",shape="box"];116[label="wv1211",fontsize=16,color="green",shape="box"];117[label="return (wv70 : wv1210)",fontsize=16,color="black",shape="box"];117 -> 119[label="",style="solid", color="black", weight=3]; 12.24/4.91 118 -> 107[label="",style="dashed", color="red", weight=0]; 12.24/4.91 118[label="wv131 ++ wv9",fontsize=16,color="magenta"];118 -> 120[label="",style="dashed", color="magenta", weight=3]; 12.24/4.91 119[label="(wv70 : wv1210) : []",fontsize=16,color="green",shape="box"];120[label="wv131",fontsize=16,color="green",shape="box"];} 12.24/4.91 12.24/4.91 ---------------------------------------- 12.24/4.91 12.24/4.91 (34) 12.24/4.91 TRUE 12.39/4.99 EOF