/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty H-Termination with start terms of the given HASKELL could be proven: (0) HASKELL (1) LR [EQUIVALENT, 0 ms] (2) HASKELL (3) BR [EQUIVALENT, 0 ms] (4) HASKELL (5) COR [EQUIVALENT, 0 ms] (6) HASKELL (7) LetRed [EQUIVALENT, 0 ms] (8) HASKELL (9) NumRed [SOUND, 0 ms] (10) HASKELL (11) Narrow [SOUND, 0 ms] (12) AND (13) QDP (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] (15) YES (16) QDP (17) DependencyGraphProof [EQUIVALENT, 0 ms] (18) AND (19) QDP (20) QDPSizeChangeProof [EQUIVALENT, 0 ms] (21) YES (22) QDP (23) QDPSizeChangeProof [EQUIVALENT, 0 ms] (24) YES (25) QDP (26) QDPSizeChangeProof [EQUIVALENT, 0 ms] (27) YES (28) QDP (29) QDPSizeChangeProof [EQUIVALENT, 0 ms] (30) YES ---------------------------------------- (0) Obligation: mainModule Main module Maybe where { import qualified Main; import qualified Monad; import qualified Prelude; } module Main where { import qualified Maybe; import qualified Monad; import qualified Prelude; } module Monad where { import qualified Main; import qualified Maybe; import qualified Prelude; replicateM :: Monad a => Int -> a b -> a [b]; replicateM n x = sequence (replicate n x); } ---------------------------------------- (1) LR (EQUIVALENT) Lambda Reductions: The following Lambda expression "\xs->return (x : xs)" is transformed to "sequence0 x xs = return (x : xs); " The following Lambda expression "\x->sequence cs >>= sequence0 x" is transformed to "sequence1 cs x = sequence cs >>= sequence0 x; " ---------------------------------------- (2) Obligation: mainModule Main module Maybe where { import qualified Main; import qualified Monad; import qualified Prelude; } module Main where { import qualified Maybe; import qualified Monad; import qualified Prelude; } module Monad where { import qualified Main; import qualified Maybe; import qualified Prelude; replicateM :: Monad b => Int -> b a -> b [a]; replicateM n x = sequence (replicate n x); } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module Maybe where { import qualified Main; import qualified Monad; import qualified Prelude; } module Main where { import qualified Maybe; import qualified Monad; import qualified Prelude; } module Monad where { import qualified Main; import qualified Maybe; import qualified Prelude; replicateM :: Monad a => Int -> a b -> a [b]; replicateM n x = sequence (replicate n x); } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " The following Function with conditions "take n vx|n <= 0[]; take vy [] = []; take n (x : xs) = x : take (n - 1) xs; " is transformed to "take n vx = take3 n vx; take vy [] = take1 vy []; take n (x : xs) = take0 n (x : xs); " "take0 n (x : xs) = x : take (n - 1) xs; " "take1 vy [] = []; take1 ww wx = take0 ww wx; " "take2 n vx True = []; take2 n vx False = take1 n vx; " "take3 n vx = take2 n vx (n <= 0); take3 wy wz = take1 wy wz; " ---------------------------------------- (6) Obligation: mainModule Main module Maybe where { import qualified Main; import qualified Monad; import qualified Prelude; } module Main where { import qualified Maybe; import qualified Monad; import qualified Prelude; } module Monad where { import qualified Main; import qualified Maybe; import qualified Prelude; replicateM :: Monad a => Int -> a b -> a [b]; replicateM n x = sequence (replicate n x); } ---------------------------------------- (7) LetRed (EQUIVALENT) Let/Where Reductions: The bindings of the following Let/Where expression "xs where { xs = x : xs; } " are unpacked to the following functions on top level "repeatXs xu = xu : repeatXs xu; " ---------------------------------------- (8) Obligation: mainModule Main module Maybe where { import qualified Main; import qualified Monad; import qualified Prelude; } module Main where { import qualified Maybe; import qualified Monad; import qualified Prelude; } module Monad where { import qualified Main; import qualified Maybe; import qualified Prelude; replicateM :: Monad b => Int -> b a -> b [a]; replicateM n x = sequence (replicate n x); } ---------------------------------------- (9) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (10) Obligation: mainModule Main module Maybe where { import qualified Main; import qualified Monad; import qualified Prelude; } module Main where { import qualified Maybe; import qualified Monad; import qualified Prelude; } module Monad where { import qualified Main; import qualified Maybe; import qualified Prelude; replicateM :: Monad b => Int -> b a -> b [a]; replicateM n x = sequence (replicate n x); } ---------------------------------------- (11) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="Monad.replicateM",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="Monad.replicateM xv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="Monad.replicateM xv3 xv4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="sequence (replicate xv3 xv4)",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="sequence (take xv3 (repeat xv4))",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="sequence (take3 xv3 (repeat xv4))",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 8[label="sequence (take2 xv3 (repeat xv4) (xv3 <= Pos Zero))",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 9[label="sequence (take2 xv3 (repeat xv4) (compare xv3 (Pos Zero) /= GT))",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 10[label="sequence (take2 xv3 (repeat xv4) (not (compare xv3 (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 11[label="sequence (take2 xv3 (repeat xv4) (not (primCmpInt xv3 (Pos Zero) == GT)))",fontsize=16,color="burlywood",shape="box"];520[label="xv3/Pos xv30",fontsize=10,color="white",style="solid",shape="box"];11 -> 520[label="",style="solid", color="burlywood", weight=9]; 520 -> 12[label="",style="solid", color="burlywood", weight=3]; 521[label="xv3/Neg xv30",fontsize=10,color="white",style="solid",shape="box"];11 -> 521[label="",style="solid", color="burlywood", weight=9]; 521 -> 13[label="",style="solid", color="burlywood", weight=3]; 12[label="sequence (take2 (Pos xv30) (repeat xv4) (not (primCmpInt (Pos xv30) (Pos Zero) == GT)))",fontsize=16,color="burlywood",shape="box"];522[label="xv30/Succ xv300",fontsize=10,color="white",style="solid",shape="box"];12 -> 522[label="",style="solid", color="burlywood", weight=9]; 522 -> 14[label="",style="solid", color="burlywood", weight=3]; 523[label="xv30/Zero",fontsize=10,color="white",style="solid",shape="box"];12 -> 523[label="",style="solid", color="burlywood", weight=9]; 523 -> 15[label="",style="solid", color="burlywood", weight=3]; 13[label="sequence (take2 (Neg xv30) (repeat xv4) (not (primCmpInt (Neg xv30) (Pos Zero) == GT)))",fontsize=16,color="burlywood",shape="box"];524[label="xv30/Succ xv300",fontsize=10,color="white",style="solid",shape="box"];13 -> 524[label="",style="solid", color="burlywood", weight=9]; 524 -> 16[label="",style="solid", color="burlywood", weight=3]; 525[label="xv30/Zero",fontsize=10,color="white",style="solid",shape="box"];13 -> 525[label="",style="solid", color="burlywood", weight=9]; 525 -> 17[label="",style="solid", color="burlywood", weight=3]; 14[label="sequence (take2 (Pos (Succ xv300)) (repeat xv4) (not (primCmpInt (Pos (Succ xv300)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 15[label="sequence (take2 (Pos Zero) (repeat xv4) (not (primCmpInt (Pos Zero) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 16[label="sequence (take2 (Neg (Succ xv300)) (repeat xv4) (not (primCmpInt (Neg (Succ xv300)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 17[label="sequence (take2 (Neg Zero) (repeat xv4) (not (primCmpInt (Neg Zero) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 18[label="sequence (take2 (Pos (Succ xv300)) (repeat xv4) (not (primCmpNat (Succ xv300) Zero == GT)))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 19[label="sequence (take2 (Pos Zero) (repeat xv4) (not (EQ == GT)))",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 20[label="sequence (take2 (Neg (Succ xv300)) (repeat xv4) (not (LT == GT)))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 21[label="sequence (take2 (Neg Zero) (repeat xv4) (not (EQ == GT)))",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 22[label="sequence (take2 (Pos (Succ xv300)) (repeat xv4) (not (GT == GT)))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 23[label="sequence (take2 (Pos Zero) (repeat xv4) (not False))",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 24[label="sequence (take2 (Neg (Succ xv300)) (repeat xv4) (not False))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 25[label="sequence (take2 (Neg Zero) (repeat xv4) (not False))",fontsize=16,color="black",shape="box"];25 -> 29[label="",style="solid", color="black", weight=3]; 26[label="sequence (take2 (Pos (Succ xv300)) (repeat xv4) (not True))",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 27[label="sequence (take2 (Pos Zero) (repeat xv4) True)",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 28[label="sequence (take2 (Neg (Succ xv300)) (repeat xv4) True)",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 29[label="sequence (take2 (Neg Zero) (repeat xv4) True)",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 30[label="sequence (take2 (Pos (Succ xv300)) (repeat xv4) False)",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 31[label="sequence []",fontsize=16,color="black",shape="triangle"];31 -> 35[label="",style="solid", color="black", weight=3]; 32 -> 31[label="",style="dashed", color="red", weight=0]; 32[label="sequence []",fontsize=16,color="magenta"];33 -> 31[label="",style="dashed", color="red", weight=0]; 33[label="sequence []",fontsize=16,color="magenta"];34[label="sequence (take1 (Pos (Succ xv300)) (repeat xv4))",fontsize=16,color="black",shape="box"];34 -> 36[label="",style="solid", color="black", weight=3]; 35[label="return []",fontsize=16,color="blue",shape="box"];526[label="return :: ([] a) -> IO ([] a)",fontsize=10,color="white",style="solid",shape="box"];35 -> 526[label="",style="solid", color="blue", weight=9]; 526 -> 37[label="",style="solid", color="blue", weight=3]; 527[label="return :: ([] a) -> Maybe ([] a)",fontsize=10,color="white",style="solid",shape="box"];35 -> 527[label="",style="solid", color="blue", weight=9]; 527 -> 38[label="",style="solid", color="blue", weight=3]; 528[label="return :: ([] a) -> [] ([] a)",fontsize=10,color="white",style="solid",shape="box"];35 -> 528[label="",style="solid", color="blue", weight=9]; 528 -> 39[label="",style="solid", color="blue", weight=3]; 36[label="sequence (take1 (Pos (Succ xv300)) (repeatXs xv4))",fontsize=16,color="black",shape="triangle"];36 -> 40[label="",style="solid", color="black", weight=3]; 37[label="return []",fontsize=16,color="black",shape="box"];37 -> 41[label="",style="solid", color="black", weight=3]; 38[label="return []",fontsize=16,color="black",shape="box"];38 -> 42[label="",style="solid", color="black", weight=3]; 39[label="return []",fontsize=16,color="black",shape="box"];39 -> 43[label="",style="solid", color="black", weight=3]; 40[label="sequence (take1 (Pos (Succ xv300)) (xv4 : repeatXs xv4))",fontsize=16,color="black",shape="box"];40 -> 44[label="",style="solid", color="black", weight=3]; 41[label="primretIO []",fontsize=16,color="black",shape="box"];41 -> 45[label="",style="solid", color="black", weight=3]; 42[label="Just []",fontsize=16,color="green",shape="box"];43[label="[] : []",fontsize=16,color="green",shape="box"];44[label="sequence (take0 (Pos (Succ xv300)) (xv4 : repeatXs xv4))",fontsize=16,color="black",shape="box"];44 -> 46[label="",style="solid", color="black", weight=3]; 45[label="AProVE_IO []",fontsize=16,color="green",shape="box"];46[label="sequence (xv4 : take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs xv4))",fontsize=16,color="black",shape="box"];46 -> 47[label="",style="solid", color="black", weight=3]; 47[label="xv4 >>= sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs xv4))",fontsize=16,color="blue",shape="box"];529[label=">>= :: (IO a) -> (a -> IO ([] a)) -> IO ([] a)",fontsize=10,color="white",style="solid",shape="box"];47 -> 529[label="",style="solid", color="blue", weight=9]; 529 -> 48[label="",style="solid", color="blue", weight=3]; 530[label=">>= :: (Maybe a) -> (a -> Maybe ([] a)) -> Maybe ([] a)",fontsize=10,color="white",style="solid",shape="box"];47 -> 530[label="",style="solid", color="blue", weight=9]; 530 -> 49[label="",style="solid", color="blue", weight=3]; 531[label=">>= :: ([] a) -> (a -> [] ([] a)) -> [] ([] a)",fontsize=10,color="white",style="solid",shape="box"];47 -> 531[label="",style="solid", color="blue", weight=9]; 531 -> 50[label="",style="solid", color="blue", weight=3]; 48[label="xv4 >>= sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs xv4))",fontsize=16,color="black",shape="box"];48 -> 51[label="",style="solid", color="black", weight=3]; 49[label="xv4 >>= sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs xv4))",fontsize=16,color="burlywood",shape="box"];532[label="xv4/Nothing",fontsize=10,color="white",style="solid",shape="box"];49 -> 532[label="",style="solid", color="burlywood", weight=9]; 532 -> 52[label="",style="solid", color="burlywood", weight=3]; 533[label="xv4/Just xv40",fontsize=10,color="white",style="solid",shape="box"];49 -> 533[label="",style="solid", color="burlywood", weight=9]; 533 -> 53[label="",style="solid", color="burlywood", weight=3]; 50[label="xv4 >>= sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs xv4))",fontsize=16,color="burlywood",shape="box"];534[label="xv4/xv40 : xv41",fontsize=10,color="white",style="solid",shape="box"];50 -> 534[label="",style="solid", color="burlywood", weight=9]; 534 -> 54[label="",style="solid", color="burlywood", weight=3]; 535[label="xv4/[]",fontsize=10,color="white",style="solid",shape="box"];50 -> 535[label="",style="solid", color="burlywood", weight=9]; 535 -> 55[label="",style="solid", color="burlywood", weight=3]; 51[label="primbindIO xv4 (sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs xv4)))",fontsize=16,color="burlywood",shape="box"];536[label="xv4/IO xv40",fontsize=10,color="white",style="solid",shape="box"];51 -> 536[label="",style="solid", color="burlywood", weight=9]; 536 -> 56[label="",style="solid", color="burlywood", weight=3]; 537[label="xv4/AProVE_IO xv40",fontsize=10,color="white",style="solid",shape="box"];51 -> 537[label="",style="solid", color="burlywood", weight=9]; 537 -> 57[label="",style="solid", color="burlywood", weight=3]; 538[label="xv4/AProVE_Exception xv40",fontsize=10,color="white",style="solid",shape="box"];51 -> 538[label="",style="solid", color="burlywood", weight=9]; 538 -> 58[label="",style="solid", color="burlywood", weight=3]; 539[label="xv4/AProVE_Error xv40",fontsize=10,color="white",style="solid",shape="box"];51 -> 539[label="",style="solid", color="burlywood", weight=9]; 539 -> 59[label="",style="solid", color="burlywood", weight=3]; 52[label="Nothing >>= sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs Nothing))",fontsize=16,color="black",shape="box"];52 -> 60[label="",style="solid", color="black", weight=3]; 53[label="Just xv40 >>= sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (Just xv40)))",fontsize=16,color="black",shape="box"];53 -> 61[label="",style="solid", color="black", weight=3]; 54[label="xv40 : xv41 >>= sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (xv40 : xv41)))",fontsize=16,color="black",shape="box"];54 -> 62[label="",style="solid", color="black", weight=3]; 55[label="[] >>= sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs []))",fontsize=16,color="black",shape="box"];55 -> 63[label="",style="solid", color="black", weight=3]; 56[label="primbindIO (IO xv40) (sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (IO xv40))))",fontsize=16,color="black",shape="box"];56 -> 64[label="",style="solid", color="black", weight=3]; 57[label="primbindIO (AProVE_IO xv40) (sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (AProVE_IO xv40))))",fontsize=16,color="black",shape="box"];57 -> 65[label="",style="solid", color="black", weight=3]; 58[label="primbindIO (AProVE_Exception xv40) (sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (AProVE_Exception xv40))))",fontsize=16,color="black",shape="box"];58 -> 66[label="",style="solid", color="black", weight=3]; 59[label="primbindIO (AProVE_Error xv40) (sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (AProVE_Error xv40))))",fontsize=16,color="black",shape="box"];59 -> 67[label="",style="solid", color="black", weight=3]; 60[label="Nothing",fontsize=16,color="green",shape="box"];61[label="sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (Just xv40))) xv40",fontsize=16,color="black",shape="box"];61 -> 68[label="",style="solid", color="black", weight=3]; 62[label="sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (xv40 : xv41))) xv40 ++ (xv41 >>= sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (xv40 : xv41))))",fontsize=16,color="black",shape="box"];62 -> 69[label="",style="solid", color="black", weight=3]; 63[label="[]",fontsize=16,color="green",shape="box"];64[label="error []",fontsize=16,color="red",shape="box"];65[label="sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (AProVE_IO xv40))) xv40",fontsize=16,color="black",shape="box"];65 -> 70[label="",style="solid", color="black", weight=3]; 66[label="AProVE_Exception xv40",fontsize=16,color="green",shape="box"];67[label="AProVE_Error xv40",fontsize=16,color="green",shape="box"];68 -> 131[label="",style="dashed", color="red", weight=0]; 68[label="sequence (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (Just xv40))) >>= sequence0 xv40",fontsize=16,color="magenta"];68 -> 132[label="",style="dashed", color="magenta", weight=3]; 69 -> 263[label="",style="dashed", color="red", weight=0]; 69[label="(sequence (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (xv40 : xv41))) >>= sequence0 xv40) ++ (xv41 >>= sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (xv40 : xv41))))",fontsize=16,color="magenta"];69 -> 264[label="",style="dashed", color="magenta", weight=3]; 69 -> 265[label="",style="dashed", color="magenta", weight=3]; 69 -> 266[label="",style="dashed", color="magenta", weight=3]; 70[label="sequence (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (AProVE_IO xv40))) >>= sequence0 xv40",fontsize=16,color="black",shape="box"];70 -> 73[label="",style="solid", color="black", weight=3]; 132[label="sequence (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (Just xv40)))",fontsize=16,color="black",shape="box"];132 -> 152[label="",style="solid", color="black", weight=3]; 131[label="xv5 >>= sequence0 xv40",fontsize=16,color="burlywood",shape="triangle"];540[label="xv5/Nothing",fontsize=10,color="white",style="solid",shape="box"];131 -> 540[label="",style="solid", color="burlywood", weight=9]; 540 -> 153[label="",style="solid", color="burlywood", weight=3]; 541[label="xv5/Just xv50",fontsize=10,color="white",style="solid",shape="box"];131 -> 541[label="",style="solid", color="burlywood", weight=9]; 541 -> 154[label="",style="solid", color="burlywood", weight=3]; 264[label="xv40",fontsize=16,color="green",shape="box"];265 -> 478[label="",style="dashed", color="red", weight=0]; 265[label="xv41 >>= sequence1 (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (xv40 : xv41)))",fontsize=16,color="magenta"];265 -> 479[label="",style="dashed", color="magenta", weight=3]; 265 -> 480[label="",style="dashed", color="magenta", weight=3]; 265 -> 481[label="",style="dashed", color="magenta", weight=3]; 265 -> 482[label="",style="dashed", color="magenta", weight=3]; 266[label="sequence (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (xv40 : xv41)))",fontsize=16,color="black",shape="triangle"];266 -> 337[label="",style="solid", color="black", weight=3]; 263[label="(xv12 >>= sequence0 xv410) ++ xv10",fontsize=16,color="burlywood",shape="triangle"];542[label="xv12/xv120 : xv121",fontsize=10,color="white",style="solid",shape="box"];263 -> 542[label="",style="solid", color="burlywood", weight=9]; 542 -> 338[label="",style="solid", color="burlywood", weight=3]; 543[label="xv12/[]",fontsize=10,color="white",style="solid",shape="box"];263 -> 543[label="",style="solid", color="burlywood", weight=9]; 543 -> 339[label="",style="solid", color="burlywood", weight=3]; 73 -> 170[label="",style="dashed", color="red", weight=0]; 73[label="primbindIO (sequence (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (AProVE_IO xv40)))) (sequence0 xv40)",fontsize=16,color="magenta"];73 -> 171[label="",style="dashed", color="magenta", weight=3]; 152[label="sequence (take3 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (Just xv40)))",fontsize=16,color="black",shape="box"];152 -> 158[label="",style="solid", color="black", weight=3]; 153[label="Nothing >>= sequence0 xv40",fontsize=16,color="black",shape="box"];153 -> 159[label="",style="solid", color="black", weight=3]; 154[label="Just xv50 >>= sequence0 xv40",fontsize=16,color="black",shape="box"];154 -> 160[label="",style="solid", color="black", weight=3]; 479[label="xv40",fontsize=16,color="green",shape="box"];480[label="xv41",fontsize=16,color="green",shape="box"];481[label="xv41",fontsize=16,color="green",shape="box"];482[label="xv300",fontsize=16,color="green",shape="box"];478[label="xv20 >>= sequence1 (take (Pos (Succ xv21) - Pos (Succ Zero)) (repeatXs (xv22 : xv23)))",fontsize=16,color="burlywood",shape="triangle"];544[label="xv20/xv200 : xv201",fontsize=10,color="white",style="solid",shape="box"];478 -> 544[label="",style="solid", color="burlywood", weight=9]; 544 -> 507[label="",style="solid", color="burlywood", weight=3]; 545[label="xv20/[]",fontsize=10,color="white",style="solid",shape="box"];478 -> 545[label="",style="solid", color="burlywood", weight=9]; 545 -> 508[label="",style="solid", color="burlywood", weight=3]; 337[label="sequence (take3 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (xv40 : xv41)))",fontsize=16,color="black",shape="box"];337 -> 346[label="",style="solid", color="black", weight=3]; 338[label="(xv120 : xv121 >>= sequence0 xv410) ++ xv10",fontsize=16,color="black",shape="box"];338 -> 347[label="",style="solid", color="black", weight=3]; 339[label="([] >>= sequence0 xv410) ++ xv10",fontsize=16,color="black",shape="box"];339 -> 348[label="",style="solid", color="black", weight=3]; 171[label="sequence (take (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (AProVE_IO xv40)))",fontsize=16,color="black",shape="box"];171 -> 191[label="",style="solid", color="black", weight=3]; 170[label="primbindIO xv8 (sequence0 xv40)",fontsize=16,color="burlywood",shape="triangle"];546[label="xv8/IO xv80",fontsize=10,color="white",style="solid",shape="box"];170 -> 546[label="",style="solid", color="burlywood", weight=9]; 546 -> 192[label="",style="solid", color="burlywood", weight=3]; 547[label="xv8/AProVE_IO xv80",fontsize=10,color="white",style="solid",shape="box"];170 -> 547[label="",style="solid", color="burlywood", weight=9]; 547 -> 193[label="",style="solid", color="burlywood", weight=3]; 548[label="xv8/AProVE_Exception xv80",fontsize=10,color="white",style="solid",shape="box"];170 -> 548[label="",style="solid", color="burlywood", weight=9]; 548 -> 194[label="",style="solid", color="burlywood", weight=3]; 549[label="xv8/AProVE_Error xv80",fontsize=10,color="white",style="solid",shape="box"];170 -> 549[label="",style="solid", color="burlywood", weight=9]; 549 -> 195[label="",style="solid", color="burlywood", weight=3]; 158[label="sequence (take2 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (Just xv40)) (Pos (Succ xv300) - Pos (Succ Zero) <= Pos Zero))",fontsize=16,color="black",shape="box"];158 -> 165[label="",style="solid", color="black", weight=3]; 159[label="Nothing",fontsize=16,color="green",shape="box"];160[label="sequence0 xv40 xv50",fontsize=16,color="black",shape="box"];160 -> 166[label="",style="solid", color="black", weight=3]; 507[label="xv200 : xv201 >>= sequence1 (take (Pos (Succ xv21) - Pos (Succ Zero)) (repeatXs (xv22 : xv23)))",fontsize=16,color="black",shape="box"];507 -> 509[label="",style="solid", color="black", weight=3]; 508[label="[] >>= sequence1 (take (Pos (Succ xv21) - Pos (Succ Zero)) (repeatXs (xv22 : xv23)))",fontsize=16,color="black",shape="box"];508 -> 510[label="",style="solid", color="black", weight=3]; 346[label="sequence (take2 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (xv40 : xv41)) (Pos (Succ xv300) - Pos (Succ Zero) <= Pos Zero))",fontsize=16,color="black",shape="box"];346 -> 354[label="",style="solid", color="black", weight=3]; 347[label="(sequence0 xv410 xv120 ++ (xv121 >>= sequence0 xv410)) ++ xv10",fontsize=16,color="black",shape="box"];347 -> 355[label="",style="solid", color="black", weight=3]; 348[label="[] ++ xv10",fontsize=16,color="black",shape="triangle"];348 -> 356[label="",style="solid", color="black", weight=3]; 191[label="sequence (take3 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (AProVE_IO xv40)))",fontsize=16,color="black",shape="box"];191 -> 204[label="",style="solid", color="black", weight=3]; 192[label="primbindIO (IO xv80) (sequence0 xv40)",fontsize=16,color="black",shape="box"];192 -> 205[label="",style="solid", color="black", weight=3]; 193[label="primbindIO (AProVE_IO xv80) (sequence0 xv40)",fontsize=16,color="black",shape="box"];193 -> 206[label="",style="solid", color="black", weight=3]; 194[label="primbindIO (AProVE_Exception xv80) (sequence0 xv40)",fontsize=16,color="black",shape="box"];194 -> 207[label="",style="solid", color="black", weight=3]; 195[label="primbindIO (AProVE_Error xv80) (sequence0 xv40)",fontsize=16,color="black",shape="box"];195 -> 208[label="",style="solid", color="black", weight=3]; 165[label="sequence (take2 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (Just xv40)) (compare (Pos (Succ xv300) - Pos (Succ Zero)) (Pos Zero) /= GT))",fontsize=16,color="black",shape="box"];165 -> 196[label="",style="solid", color="black", weight=3]; 166[label="return (xv40 : xv50)",fontsize=16,color="black",shape="box"];166 -> 197[label="",style="solid", color="black", weight=3]; 509 -> 391[label="",style="dashed", color="red", weight=0]; 509[label="sequence1 (take (Pos (Succ xv21) - Pos (Succ Zero)) (repeatXs (xv22 : xv23))) xv200 ++ (xv201 >>= sequence1 (take (Pos (Succ xv21) - Pos (Succ Zero)) (repeatXs (xv22 : xv23))))",fontsize=16,color="magenta"];509 -> 511[label="",style="dashed", color="magenta", weight=3]; 509 -> 512[label="",style="dashed", color="magenta", weight=3]; 510[label="[]",fontsize=16,color="green",shape="box"];354[label="sequence (take2 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (xv40 : xv41)) (compare (Pos (Succ xv300) - Pos (Succ Zero)) (Pos Zero) /= GT))",fontsize=16,color="black",shape="box"];354 -> 362[label="",style="solid", color="black", weight=3]; 355[label="(return (xv410 : xv120) ++ (xv121 >>= sequence0 xv410)) ++ xv10",fontsize=16,color="black",shape="box"];355 -> 363[label="",style="solid", color="black", weight=3]; 356[label="xv10",fontsize=16,color="green",shape="box"];204[label="sequence (take2 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (AProVE_IO xv40)) (Pos (Succ xv300) - Pos (Succ Zero) <= Pos Zero))",fontsize=16,color="black",shape="box"];204 -> 214[label="",style="solid", color="black", weight=3]; 205[label="error []",fontsize=16,color="red",shape="box"];206[label="sequence0 xv40 xv80",fontsize=16,color="black",shape="box"];206 -> 215[label="",style="solid", color="black", weight=3]; 207[label="AProVE_Exception xv80",fontsize=16,color="green",shape="box"];208[label="AProVE_Error xv80",fontsize=16,color="green",shape="box"];196[label="sequence (take2 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (Just xv40)) (not (compare (Pos (Succ xv300) - Pos (Succ Zero)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];196 -> 209[label="",style="solid", color="black", weight=3]; 197[label="Just (xv40 : xv50)",fontsize=16,color="green",shape="box"];511[label="sequence1 (take (Pos (Succ xv21) - Pos (Succ Zero)) (repeatXs (xv22 : xv23))) xv200",fontsize=16,color="black",shape="box"];511 -> 513[label="",style="solid", color="black", weight=3]; 512 -> 478[label="",style="dashed", color="red", weight=0]; 512[label="xv201 >>= sequence1 (take (Pos (Succ xv21) - Pos (Succ Zero)) (repeatXs (xv22 : xv23)))",fontsize=16,color="magenta"];512 -> 514[label="",style="dashed", color="magenta", weight=3]; 391[label="xv13 ++ xv10",fontsize=16,color="burlywood",shape="triangle"];550[label="xv13/xv130 : xv131",fontsize=10,color="white",style="solid",shape="box"];391 -> 550[label="",style="solid", color="burlywood", weight=9]; 550 -> 401[label="",style="solid", color="burlywood", weight=3]; 551[label="xv13/[]",fontsize=10,color="white",style="solid",shape="box"];391 -> 551[label="",style="solid", color="burlywood", weight=9]; 551 -> 402[label="",style="solid", color="burlywood", weight=3]; 362[label="sequence (take2 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (xv40 : xv41)) (not (compare (Pos (Succ xv300) - Pos (Succ Zero)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];362 -> 371[label="",style="solid", color="black", weight=3]; 363[label="(((xv410 : xv120) : []) ++ (xv121 >>= sequence0 xv410)) ++ xv10",fontsize=16,color="black",shape="box"];363 -> 372[label="",style="solid", color="black", weight=3]; 214[label="sequence (take2 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (AProVE_IO xv40)) (compare (Pos (Succ xv300) - Pos (Succ Zero)) (Pos Zero) /= GT))",fontsize=16,color="black",shape="box"];214 -> 222[label="",style="solid", color="black", weight=3]; 215[label="return (xv40 : xv80)",fontsize=16,color="black",shape="box"];215 -> 223[label="",style="solid", color="black", weight=3]; 209[label="sequence (take2 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (Just xv40)) (not (primCmpInt (Pos (Succ xv300) - Pos (Succ Zero)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];209 -> 216[label="",style="solid", color="black", weight=3]; 513 -> 382[label="",style="dashed", color="red", weight=0]; 513[label="sequence (take (Pos (Succ xv21) - Pos (Succ Zero)) (repeatXs (xv22 : xv23))) >>= sequence0 xv200",fontsize=16,color="magenta"];513 -> 515[label="",style="dashed", color="magenta", weight=3]; 513 -> 516[label="",style="dashed", color="magenta", weight=3]; 514[label="xv201",fontsize=16,color="green",shape="box"];401[label="(xv130 : xv131) ++ xv10",fontsize=16,color="black",shape="box"];401 -> 409[label="",style="solid", color="black", weight=3]; 402[label="[] ++ xv10",fontsize=16,color="black",shape="box"];402 -> 410[label="",style="solid", color="black", weight=3]; 371[label="sequence (take2 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (xv40 : xv41)) (not (primCmpInt (Pos (Succ xv300) - Pos (Succ Zero)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];371 -> 377[label="",style="solid", color="black", weight=3]; 372 -> 378[label="",style="dashed", color="red", weight=0]; 372[label="((xv410 : xv120) : [] ++ (xv121 >>= sequence0 xv410)) ++ xv10",fontsize=16,color="magenta"];372 -> 379[label="",style="dashed", color="magenta", weight=3]; 222[label="sequence (take2 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (AProVE_IO xv40)) (not (compare (Pos (Succ xv300) - Pos (Succ Zero)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];222 -> 233[label="",style="solid", color="black", weight=3]; 223[label="primretIO (xv40 : xv80)",fontsize=16,color="black",shape="box"];223 -> 234[label="",style="solid", color="black", weight=3]; 216[label="sequence (take2 (primMinusInt (Pos (Succ xv300)) (Pos (Succ Zero))) (repeatXs (Just xv40)) (not (primCmpInt (primMinusInt (Pos (Succ xv300)) (Pos (Succ Zero))) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];216 -> 224[label="",style="solid", color="black", weight=3]; 515 -> 266[label="",style="dashed", color="red", weight=0]; 515[label="sequence (take (Pos (Succ xv21) - Pos (Succ Zero)) (repeatXs (xv22 : xv23)))",fontsize=16,color="magenta"];515 -> 517[label="",style="dashed", color="magenta", weight=3]; 515 -> 518[label="",style="dashed", color="magenta", weight=3]; 515 -> 519[label="",style="dashed", color="magenta", weight=3]; 516[label="xv200",fontsize=16,color="green",shape="box"];382[label="xv121 >>= sequence0 xv410",fontsize=16,color="burlywood",shape="triangle"];552[label="xv121/xv1210 : xv1211",fontsize=10,color="white",style="solid",shape="box"];382 -> 552[label="",style="solid", color="burlywood", weight=9]; 552 -> 389[label="",style="solid", color="burlywood", weight=3]; 553[label="xv121/[]",fontsize=10,color="white",style="solid",shape="box"];382 -> 553[label="",style="solid", color="burlywood", weight=9]; 553 -> 390[label="",style="solid", color="burlywood", weight=3]; 409[label="xv130 : xv131 ++ xv10",fontsize=16,color="green",shape="box"];409 -> 417[label="",style="dashed", color="green", weight=3]; 410[label="xv10",fontsize=16,color="green",shape="box"];377[label="sequence (take2 (primMinusInt (Pos (Succ xv300)) (Pos (Succ Zero))) (repeatXs (xv40 : xv41)) (not (primCmpInt (primMinusInt (Pos (Succ xv300)) (Pos (Succ Zero))) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];377 -> 381[label="",style="solid", color="black", weight=3]; 379 -> 348[label="",style="dashed", color="red", weight=0]; 379[label="[] ++ (xv121 >>= sequence0 xv410)",fontsize=16,color="magenta"];379 -> 382[label="",style="dashed", color="magenta", weight=3]; 378[label="((xv410 : xv120) : xv13) ++ xv10",fontsize=16,color="black",shape="triangle"];378 -> 383[label="",style="solid", color="black", weight=3]; 233[label="sequence (take2 (Pos (Succ xv300) - Pos (Succ Zero)) (repeatXs (AProVE_IO xv40)) (not (primCmpInt (Pos (Succ xv300) - Pos (Succ Zero)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];233 -> 241[label="",style="solid", color="black", weight=3]; 234[label="AProVE_IO (xv40 : xv80)",fontsize=16,color="green",shape="box"];224[label="sequence (take2 (primMinusNat (Succ xv300) (Succ Zero)) (repeatXs (Just xv40)) (not (primCmpInt (primMinusNat (Succ xv300) (Succ Zero)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];224 -> 235[label="",style="solid", color="black", weight=3]; 517[label="xv21",fontsize=16,color="green",shape="box"];518[label="xv23",fontsize=16,color="green",shape="box"];519[label="xv22",fontsize=16,color="green",shape="box"];389[label="xv1210 : xv1211 >>= sequence0 xv410",fontsize=16,color="black",shape="box"];389 -> 399[label="",style="solid", color="black", weight=3]; 390[label="[] >>= sequence0 xv410",fontsize=16,color="black",shape="box"];390 -> 400[label="",style="solid", color="black", weight=3]; 417 -> 391[label="",style="dashed", color="red", weight=0]; 417[label="xv131 ++ xv10",fontsize=16,color="magenta"];417 -> 424[label="",style="dashed", color="magenta", weight=3]; 381[label="sequence (take2 (primMinusNat (Succ xv300) (Succ Zero)) (repeatXs (xv40 : xv41)) (not (primCmpInt (primMinusNat (Succ xv300) (Succ Zero)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];381 -> 388[label="",style="solid", color="black", weight=3]; 383[label="(xv410 : xv120) : xv13 ++ xv10",fontsize=16,color="green",shape="box"];383 -> 391[label="",style="dashed", color="green", weight=3]; 241[label="sequence (take2 (primMinusInt (Pos (Succ xv300)) (Pos (Succ Zero))) (repeatXs (AProVE_IO xv40)) (not (primCmpInt (primMinusInt (Pos (Succ xv300)) (Pos (Succ Zero))) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];241 -> 246[label="",style="solid", color="black", weight=3]; 235[label="sequence (take2 (primMinusNat xv300 Zero) (repeatXs (Just xv40)) (not (primCmpInt (primMinusNat xv300 Zero) (Pos Zero) == GT)))",fontsize=16,color="burlywood",shape="box"];554[label="xv300/Succ xv3000",fontsize=10,color="white",style="solid",shape="box"];235 -> 554[label="",style="solid", color="burlywood", weight=9]; 554 -> 242[label="",style="solid", color="burlywood", weight=3]; 555[label="xv300/Zero",fontsize=10,color="white",style="solid",shape="box"];235 -> 555[label="",style="solid", color="burlywood", weight=9]; 555 -> 243[label="",style="solid", color="burlywood", weight=3]; 399 -> 391[label="",style="dashed", color="red", weight=0]; 399[label="sequence0 xv410 xv1210 ++ (xv1211 >>= sequence0 xv410)",fontsize=16,color="magenta"];399 -> 407[label="",style="dashed", color="magenta", weight=3]; 399 -> 408[label="",style="dashed", color="magenta", weight=3]; 400[label="[]",fontsize=16,color="green",shape="box"];424[label="xv131",fontsize=16,color="green",shape="box"];388[label="sequence (take2 (primMinusNat xv300 Zero) (repeatXs (xv40 : xv41)) (not (primCmpInt (primMinusNat xv300 Zero) (Pos Zero) == GT)))",fontsize=16,color="burlywood",shape="box"];556[label="xv300/Succ xv3000",fontsize=10,color="white",style="solid",shape="box"];388 -> 556[label="",style="solid", color="burlywood", weight=9]; 556 -> 397[label="",style="solid", color="burlywood", weight=3]; 557[label="xv300/Zero",fontsize=10,color="white",style="solid",shape="box"];388 -> 557[label="",style="solid", color="burlywood", weight=9]; 557 -> 398[label="",style="solid", color="burlywood", weight=3]; 246[label="sequence (take2 (primMinusNat (Succ xv300) (Succ Zero)) (repeatXs (AProVE_IO xv40)) (not (primCmpInt (primMinusNat (Succ xv300) (Succ Zero)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];246 -> 253[label="",style="solid", color="black", weight=3]; 242[label="sequence (take2 (primMinusNat (Succ xv3000) Zero) (repeatXs (Just xv40)) (not (primCmpInt (primMinusNat (Succ xv3000) Zero) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];242 -> 247[label="",style="solid", color="black", weight=3]; 243[label="sequence (take2 (primMinusNat Zero Zero) (repeatXs (Just xv40)) (not (primCmpInt (primMinusNat Zero Zero) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];243 -> 248[label="",style="solid", color="black", weight=3]; 407[label="sequence0 xv410 xv1210",fontsize=16,color="black",shape="box"];407 -> 415[label="",style="solid", color="black", weight=3]; 408 -> 382[label="",style="dashed", color="red", weight=0]; 408[label="xv1211 >>= sequence0 xv410",fontsize=16,color="magenta"];408 -> 416[label="",style="dashed", color="magenta", weight=3]; 397[label="sequence (take2 (primMinusNat (Succ xv3000) Zero) (repeatXs (xv40 : xv41)) (not (primCmpInt (primMinusNat (Succ xv3000) Zero) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];397 -> 405[label="",style="solid", color="black", weight=3]; 398[label="sequence (take2 (primMinusNat Zero Zero) (repeatXs (xv40 : xv41)) (not (primCmpInt (primMinusNat Zero Zero) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];398 -> 406[label="",style="solid", color="black", weight=3]; 253[label="sequence (take2 (primMinusNat xv300 Zero) (repeatXs (AProVE_IO xv40)) (not (primCmpInt (primMinusNat xv300 Zero) (Pos Zero) == GT)))",fontsize=16,color="burlywood",shape="box"];558[label="xv300/Succ xv3000",fontsize=10,color="white",style="solid",shape="box"];253 -> 558[label="",style="solid", color="burlywood", weight=9]; 558 -> 258[label="",style="solid", color="burlywood", weight=3]; 559[label="xv300/Zero",fontsize=10,color="white",style="solid",shape="box"];253 -> 559[label="",style="solid", color="burlywood", weight=9]; 559 -> 259[label="",style="solid", color="burlywood", weight=3]; 247[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (Just xv40)) (not (primCmpInt (Pos (Succ xv3000)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];247 -> 254[label="",style="solid", color="black", weight=3]; 248[label="sequence (take2 (Pos Zero) (repeatXs (Just xv40)) (not (primCmpInt (Pos Zero) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];248 -> 255[label="",style="solid", color="black", weight=3]; 415[label="return (xv410 : xv1210)",fontsize=16,color="black",shape="box"];415 -> 423[label="",style="solid", color="black", weight=3]; 416[label="xv1211",fontsize=16,color="green",shape="box"];405[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (xv40 : xv41)) (not (primCmpInt (Pos (Succ xv3000)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];405 -> 413[label="",style="solid", color="black", weight=3]; 406[label="sequence (take2 (Pos Zero) (repeatXs (xv40 : xv41)) (not (primCmpInt (Pos Zero) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];406 -> 414[label="",style="solid", color="black", weight=3]; 258[label="sequence (take2 (primMinusNat (Succ xv3000) Zero) (repeatXs (AProVE_IO xv40)) (not (primCmpInt (primMinusNat (Succ xv3000) Zero) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];258 -> 340[label="",style="solid", color="black", weight=3]; 259[label="sequence (take2 (primMinusNat Zero Zero) (repeatXs (AProVE_IO xv40)) (not (primCmpInt (primMinusNat Zero Zero) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];259 -> 341[label="",style="solid", color="black", weight=3]; 254[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (Just xv40)) (not (primCmpNat (Succ xv3000) Zero == GT)))",fontsize=16,color="black",shape="box"];254 -> 260[label="",style="solid", color="black", weight=3]; 255[label="sequence (take2 (Pos Zero) (repeatXs (Just xv40)) (not (EQ == GT)))",fontsize=16,color="black",shape="box"];255 -> 261[label="",style="solid", color="black", weight=3]; 423[label="(xv410 : xv1210) : []",fontsize=16,color="green",shape="box"];413[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (xv40 : xv41)) (not (primCmpNat (Succ xv3000) Zero == GT)))",fontsize=16,color="black",shape="box"];413 -> 421[label="",style="solid", color="black", weight=3]; 414[label="sequence (take2 (Pos Zero) (repeatXs (xv40 : xv41)) (not (EQ == GT)))",fontsize=16,color="black",shape="box"];414 -> 422[label="",style="solid", color="black", weight=3]; 340[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (AProVE_IO xv40)) (not (primCmpInt (Pos (Succ xv3000)) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];340 -> 349[label="",style="solid", color="black", weight=3]; 341[label="sequence (take2 (Pos Zero) (repeatXs (AProVE_IO xv40)) (not (primCmpInt (Pos Zero) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];341 -> 350[label="",style="solid", color="black", weight=3]; 260[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (Just xv40)) (not (GT == GT)))",fontsize=16,color="black",shape="box"];260 -> 342[label="",style="solid", color="black", weight=3]; 261[label="sequence (take2 (Pos Zero) (repeatXs (Just xv40)) (not False))",fontsize=16,color="black",shape="box"];261 -> 343[label="",style="solid", color="black", weight=3]; 421[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (xv40 : xv41)) (not (GT == GT)))",fontsize=16,color="black",shape="box"];421 -> 429[label="",style="solid", color="black", weight=3]; 422[label="sequence (take2 (Pos Zero) (repeatXs (xv40 : xv41)) (not False))",fontsize=16,color="black",shape="box"];422 -> 430[label="",style="solid", color="black", weight=3]; 349[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (AProVE_IO xv40)) (not (primCmpNat (Succ xv3000) Zero == GT)))",fontsize=16,color="black",shape="box"];349 -> 357[label="",style="solid", color="black", weight=3]; 350[label="sequence (take2 (Pos Zero) (repeatXs (AProVE_IO xv40)) (not (EQ == GT)))",fontsize=16,color="black",shape="box"];350 -> 358[label="",style="solid", color="black", weight=3]; 342[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (Just xv40)) (not True))",fontsize=16,color="black",shape="box"];342 -> 351[label="",style="solid", color="black", weight=3]; 343[label="sequence (take2 (Pos Zero) (repeatXs (Just xv40)) True)",fontsize=16,color="black",shape="box"];343 -> 352[label="",style="solid", color="black", weight=3]; 429[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (xv40 : xv41)) (not True))",fontsize=16,color="black",shape="box"];429 -> 434[label="",style="solid", color="black", weight=3]; 430[label="sequence (take2 (Pos Zero) (repeatXs (xv40 : xv41)) True)",fontsize=16,color="black",shape="box"];430 -> 435[label="",style="solid", color="black", weight=3]; 357[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (AProVE_IO xv40)) (not (GT == GT)))",fontsize=16,color="black",shape="box"];357 -> 364[label="",style="solid", color="black", weight=3]; 358[label="sequence (take2 (Pos Zero) (repeatXs (AProVE_IO xv40)) (not False))",fontsize=16,color="black",shape="box"];358 -> 365[label="",style="solid", color="black", weight=3]; 351[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (Just xv40)) False)",fontsize=16,color="black",shape="box"];351 -> 359[label="",style="solid", color="black", weight=3]; 352 -> 31[label="",style="dashed", color="red", weight=0]; 352[label="sequence []",fontsize=16,color="magenta"];434[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (xv40 : xv41)) False)",fontsize=16,color="black",shape="box"];434 -> 439[label="",style="solid", color="black", weight=3]; 435 -> 31[label="",style="dashed", color="red", weight=0]; 435[label="sequence []",fontsize=16,color="magenta"];364[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (AProVE_IO xv40)) (not True))",fontsize=16,color="black",shape="box"];364 -> 373[label="",style="solid", color="black", weight=3]; 365[label="sequence (take2 (Pos Zero) (repeatXs (AProVE_IO xv40)) True)",fontsize=16,color="black",shape="box"];365 -> 374[label="",style="solid", color="black", weight=3]; 359 -> 36[label="",style="dashed", color="red", weight=0]; 359[label="sequence (take1 (Pos (Succ xv3000)) (repeatXs (Just xv40)))",fontsize=16,color="magenta"];359 -> 366[label="",style="dashed", color="magenta", weight=3]; 359 -> 367[label="",style="dashed", color="magenta", weight=3]; 439 -> 36[label="",style="dashed", color="red", weight=0]; 439[label="sequence (take1 (Pos (Succ xv3000)) (repeatXs (xv40 : xv41)))",fontsize=16,color="magenta"];439 -> 444[label="",style="dashed", color="magenta", weight=3]; 439 -> 445[label="",style="dashed", color="magenta", weight=3]; 373[label="sequence (take2 (Pos (Succ xv3000)) (repeatXs (AProVE_IO xv40)) False)",fontsize=16,color="black",shape="box"];373 -> 384[label="",style="solid", color="black", weight=3]; 374 -> 31[label="",style="dashed", color="red", weight=0]; 374[label="sequence []",fontsize=16,color="magenta"];366[label="xv3000",fontsize=16,color="green",shape="box"];367[label="Just xv40",fontsize=16,color="green",shape="box"];444[label="xv3000",fontsize=16,color="green",shape="box"];445[label="xv40 : xv41",fontsize=16,color="green",shape="box"];384 -> 36[label="",style="dashed", color="red", weight=0]; 384[label="sequence (take1 (Pos (Succ xv3000)) (repeatXs (AProVE_IO xv40)))",fontsize=16,color="magenta"];384 -> 392[label="",style="dashed", color="magenta", weight=3]; 384 -> 393[label="",style="dashed", color="magenta", weight=3]; 392[label="xv3000",fontsize=16,color="green",shape="box"];393[label="AProVE_IO xv40",fontsize=16,color="green",shape="box"];} ---------------------------------------- (12) Complex Obligation (AND) ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_gtGtEs(:(xv1210, xv1211), xv410, h) -> new_gtGtEs(xv1211, xv410, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_gtGtEs(:(xv1210, xv1211), xv410, h) -> new_gtGtEs(xv1211, xv410, h) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 ---------------------------------------- (15) YES ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: new_sequence(Succ(xv3000), Just(xv40), ty_Maybe, h) -> new_sequence(xv3000, Just(xv40), ty_Maybe, h) new_sequence(Succ(xv3000), :(xv40, xv41), ty_[], h) -> new_sequence(xv3000, :(xv40, xv41), ty_[], h) new_gtGtEs0(:(xv200, xv201), xv21, xv22, xv23, ba) -> new_gtGtEs0(xv201, xv21, xv22, xv23, ba) new_sequence(xv300, :(xv40, xv41), ty_[], h) -> new_gtGtEs0(xv41, xv300, xv40, xv41, h) new_sequence(Succ(xv3000), AProVE_IO(xv40), ty_IO, h) -> new_sequence(xv3000, AProVE_IO(xv40), ty_IO, h) new_sequence0(Succ(xv3000), xv40, xv41, h) -> new_sequence(xv3000, :(xv40, xv41), ty_[], h) new_gtGtEs0(:(xv200, xv201), xv21, xv22, xv23, ba) -> new_sequence0(xv21, xv22, xv23, ba) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs. ---------------------------------------- (18) Complex Obligation (AND) ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: new_sequence(Succ(xv3000), AProVE_IO(xv40), ty_IO, h) -> new_sequence(xv3000, AProVE_IO(xv40), ty_IO, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (20) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_sequence(Succ(xv3000), AProVE_IO(xv40), ty_IO, h) -> new_sequence(xv3000, AProVE_IO(xv40), ty_IO, h) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4 ---------------------------------------- (21) YES ---------------------------------------- (22) Obligation: Q DP problem: The TRS P consists of the following rules: new_sequence(xv300, :(xv40, xv41), ty_[], h) -> new_gtGtEs0(xv41, xv300, xv40, xv41, h) new_gtGtEs0(:(xv200, xv201), xv21, xv22, xv23, ba) -> new_gtGtEs0(xv201, xv21, xv22, xv23, ba) new_gtGtEs0(:(xv200, xv201), xv21, xv22, xv23, ba) -> new_sequence0(xv21, xv22, xv23, ba) new_sequence0(Succ(xv3000), xv40, xv41, h) -> new_sequence(xv3000, :(xv40, xv41), ty_[], h) new_sequence(Succ(xv3000), :(xv40, xv41), ty_[], h) -> new_sequence(xv3000, :(xv40, xv41), ty_[], h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (23) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_sequence(xv300, :(xv40, xv41), ty_[], h) -> new_gtGtEs0(xv41, xv300, xv40, xv41, h) The graph contains the following edges 2 > 1, 1 >= 2, 2 > 3, 2 > 4, 4 >= 5 *new_gtGtEs0(:(xv200, xv201), xv21, xv22, xv23, ba) -> new_gtGtEs0(xv201, xv21, xv22, xv23, ba) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5 *new_gtGtEs0(:(xv200, xv201), xv21, xv22, xv23, ba) -> new_sequence0(xv21, xv22, xv23, ba) The graph contains the following edges 2 >= 1, 3 >= 2, 4 >= 3, 5 >= 4 *new_sequence0(Succ(xv3000), xv40, xv41, h) -> new_sequence(xv3000, :(xv40, xv41), ty_[], h) The graph contains the following edges 1 > 1, 4 >= 4 *new_sequence(Succ(xv3000), :(xv40, xv41), ty_[], h) -> new_sequence(xv3000, :(xv40, xv41), ty_[], h) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4 ---------------------------------------- (24) YES ---------------------------------------- (25) Obligation: Q DP problem: The TRS P consists of the following rules: new_sequence(Succ(xv3000), Just(xv40), ty_Maybe, h) -> new_sequence(xv3000, Just(xv40), ty_Maybe, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_sequence(Succ(xv3000), Just(xv40), ty_Maybe, h) -> new_sequence(xv3000, Just(xv40), ty_Maybe, h) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4 ---------------------------------------- (27) YES ---------------------------------------- (28) Obligation: Q DP problem: The TRS P consists of the following rules: new_psPs(:(xv130, xv131), xv10, h) -> new_psPs(xv131, xv10, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_psPs(:(xv130, xv131), xv10, h) -> new_psPs(xv131, xv10, h) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 ---------------------------------------- (30) YES