10.05/4.18 YES 12.82/4.88 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 12.82/4.88 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 12.82/4.88 12.82/4.88 12.82/4.88 H-Termination with start terms of the given HASKELL could be proven: 12.82/4.88 12.82/4.88 (0) HASKELL 12.82/4.88 (1) LR [EQUIVALENT, 0 ms] 12.82/4.88 (2) HASKELL 12.82/4.88 (3) BR [EQUIVALENT, 0 ms] 12.82/4.88 (4) HASKELL 12.82/4.88 (5) COR [EQUIVALENT, 0 ms] 12.82/4.88 (6) HASKELL 12.82/4.88 (7) LetRed [EQUIVALENT, 0 ms] 12.82/4.88 (8) HASKELL 12.82/4.88 (9) NumRed [SOUND, 0 ms] 12.82/4.88 (10) HASKELL 12.82/4.88 (11) Narrow [SOUND, 0 ms] 12.82/4.88 (12) AND 12.82/4.88 (13) QDP 12.82/4.88 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.82/4.88 (15) YES 12.82/4.88 (16) QDP 12.82/4.88 (17) DependencyGraphProof [EQUIVALENT, 0 ms] 12.82/4.88 (18) AND 12.82/4.88 (19) QDP 12.82/4.88 (20) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.82/4.88 (21) YES 12.82/4.88 (22) QDP 12.82/4.88 (23) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.82/4.88 (24) YES 12.82/4.88 (25) QDP 12.82/4.88 (26) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.82/4.88 (27) YES 12.82/4.88 (28) QDP 12.82/4.88 (29) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.82/4.88 (30) YES 12.82/4.88 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (0) 12.82/4.88 Obligation: 12.82/4.88 mainModule Main 12.82/4.88 module Maybe where { 12.82/4.88 import qualified Main; 12.82/4.88 import qualified Monad; 12.82/4.88 import qualified Prelude; 12.82/4.88 } 12.82/4.88 module Main where { 12.82/4.88 import qualified Maybe; 12.82/4.88 import qualified Monad; 12.82/4.88 import qualified Prelude; 12.82/4.88 } 12.82/4.88 module Monad where { 12.82/4.88 import qualified Main; 12.82/4.88 import qualified Maybe; 12.82/4.88 import qualified Prelude; 12.82/4.88 replicateM :: Monad a => Int -> a b -> a [b]; 12.82/4.88 replicateM n x = sequence (replicate n x); 12.82/4.88 12.82/4.88 } 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (1) LR (EQUIVALENT) 12.82/4.88 Lambda Reductions: 12.82/4.88 The following Lambda expression 12.82/4.88 "\xs->return (x : xs)" 12.82/4.88 is transformed to 12.82/4.88 "sequence0 x xs = return (x : xs); 12.82/4.88 " 12.82/4.88 The following Lambda expression 12.82/4.88 "\x->sequence cs >>= sequence0 x" 12.82/4.88 is transformed to 12.82/4.88 "sequence1 cs x = sequence cs >>= sequence0 x; 12.82/4.88 " 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (2) 12.82/4.88 Obligation: 12.82/4.88 mainModule Main 12.82/4.88 module Maybe where { 12.82/4.88 import qualified Main; 12.82/4.88 import qualified Monad; 12.82/4.88 import qualified Prelude; 12.82/4.88 } 12.82/4.88 module Main where { 12.82/4.88 import qualified Maybe; 12.82/4.88 import qualified Monad; 12.82/4.88 import qualified Prelude; 12.82/4.88 } 12.82/4.88 module Monad where { 12.82/4.88 import qualified Main; 12.82/4.88 import qualified Maybe; 12.82/4.88 import qualified Prelude; 12.82/4.88 replicateM :: Monad b => Int -> b a -> b [a]; 12.82/4.88 replicateM n x = sequence (replicate n x); 12.82/4.88 12.82/4.88 } 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (3) BR (EQUIVALENT) 12.82/4.88 Replaced joker patterns by fresh variables and removed binding patterns. 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (4) 12.82/4.88 Obligation: 12.82/4.88 mainModule Main 12.82/4.88 module Maybe where { 12.82/4.88 import qualified Main; 12.82/4.88 import qualified Monad; 12.82/4.88 import qualified Prelude; 12.82/4.88 } 12.82/4.88 module Main where { 12.82/4.88 import qualified Maybe; 12.82/4.88 import qualified Monad; 12.82/4.88 import qualified Prelude; 12.82/4.88 } 12.82/4.88 module Monad where { 12.82/4.88 import qualified Main; 12.82/4.88 import qualified Maybe; 12.82/4.88 import qualified Prelude; 12.82/4.88 replicateM :: Monad a => Int -> a b -> a [b]; 12.82/4.88 replicateM n x = sequence (replicate n x); 12.82/4.88 12.82/4.88 } 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (5) COR (EQUIVALENT) 12.82/4.88 Cond Reductions: 12.82/4.88 The following Function with conditions 12.82/4.88 "undefined |Falseundefined; 12.82/4.88 " 12.82/4.88 is transformed to 12.82/4.88 "undefined = undefined1; 12.82/4.88 " 12.82/4.88 "undefined0 True = undefined; 12.82/4.88 " 12.82/4.88 "undefined1 = undefined0 False; 12.82/4.88 " 12.82/4.88 The following Function with conditions 12.82/4.88 "take n vy|n <= 0[]; 12.82/4.88 take vz [] = []; 12.82/4.88 take n (x : xs) = x : take (n - 1) xs; 12.82/4.88 " 12.82/4.88 is transformed to 12.82/4.88 "take n vy = take3 n vy; 12.82/4.88 take vz [] = take1 vz []; 12.82/4.88 take n (x : xs) = take0 n (x : xs); 12.82/4.88 " 12.82/4.88 "take0 n (x : xs) = x : take (n - 1) xs; 12.82/4.88 " 12.82/4.88 "take1 vz [] = []; 12.82/4.88 take1 ww wx = take0 ww wx; 12.82/4.88 " 12.82/4.88 "take2 n vy True = []; 12.82/4.88 take2 n vy False = take1 n vy; 12.82/4.88 " 12.82/4.88 "take3 n vy = take2 n vy (n <= 0); 12.82/4.88 take3 wy wz = take1 wy wz; 12.82/4.88 " 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (6) 12.82/4.88 Obligation: 12.82/4.88 mainModule Main 12.82/4.88 module Maybe where { 12.82/4.88 import qualified Main; 12.82/4.88 import qualified Monad; 12.82/4.88 import qualified Prelude; 12.82/4.88 } 12.82/4.88 module Main where { 12.82/4.88 import qualified Maybe; 12.82/4.88 import qualified Monad; 12.82/4.88 import qualified Prelude; 12.82/4.88 } 12.82/4.88 module Monad where { 12.82/4.88 import qualified Main; 12.82/4.88 import qualified Maybe; 12.82/4.88 import qualified Prelude; 12.82/4.88 replicateM :: Monad a => Int -> a b -> a [b]; 12.82/4.88 replicateM n x = sequence (replicate n x); 12.82/4.88 12.82/4.88 } 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (7) LetRed (EQUIVALENT) 12.82/4.88 Let/Where Reductions: 12.82/4.88 The bindings of the following Let/Where expression 12.82/4.88 "xs where { 12.82/4.88 xs = x : xs; 12.82/4.88 } 12.82/4.88 " 12.82/4.88 are unpacked to the following functions on top level 12.82/4.88 "repeatXs xu = xu : repeatXs xu; 12.82/4.88 " 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (8) 12.82/4.88 Obligation: 12.82/4.88 mainModule Main 12.82/4.88 module Maybe where { 12.82/4.88 import qualified Main; 12.82/4.88 import qualified Monad; 12.82/4.88 import qualified Prelude; 12.82/4.88 } 12.82/4.88 module Main where { 12.82/4.88 import qualified Maybe; 12.82/4.88 import qualified Monad; 12.82/4.88 import qualified Prelude; 12.82/4.88 } 12.82/4.88 module Monad where { 12.82/4.88 import qualified Main; 12.82/4.88 import qualified Maybe; 12.82/4.88 import qualified Prelude; 12.82/4.88 replicateM :: Monad b => Int -> b a -> b [a]; 12.82/4.88 replicateM n x = sequence (replicate n x); 12.82/4.88 12.82/4.88 } 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (9) NumRed (SOUND) 12.82/4.88 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (10) 12.82/4.88 Obligation: 12.82/4.88 mainModule Main 12.82/4.88 module Maybe where { 12.82/4.88 import qualified Main; 12.82/4.88 import qualified Monad; 12.82/4.88 import qualified Prelude; 12.82/4.88 } 12.82/4.88 module Main where { 12.82/4.88 import qualified Maybe; 12.82/4.88 import qualified Monad; 12.82/4.88 import qualified Prelude; 12.82/4.88 } 12.82/4.88 module Monad where { 12.82/4.88 import qualified Main; 12.82/4.88 import qualified Maybe; 12.82/4.88 import qualified Prelude; 12.82/4.88 replicateM :: Monad b => Int -> b a -> b [a]; 12.82/4.88 replicateM n x = sequence (replicate n x); 12.82/4.88 12.82/4.88 } 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (11) Narrow (SOUND) 12.82/4.88 Haskell To QDPs 12.82/4.88 12.82/4.88 digraph dp_graph { 12.82/4.88 node [outthreshold=100, inthreshold=100];1[label="Monad.replicateM",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 12.82/4.88 3[label="Monad.replicateM xv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 12.82/4.88 4[label="Monad.replicateM xv3 xv4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 12.82/4.88 5[label="sequence (replicate xv3 xv4)",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 12.82/4.88 6[label="sequence (take xv3 (repeat xv4))",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 12.82/4.88 7[label="sequence (take3 xv3 (repeat xv4))",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 520 -> 12[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 521[label="xv3/Neg xv30",fontsize=10,color="white",style="solid",shape="box"];11 -> 521[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 521 -> 13[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 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]; 12.82/4.88 522 -> 14[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 523[label="xv30/Zero",fontsize=10,color="white",style="solid",shape="box"];12 -> 523[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 523 -> 15[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 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]; 12.82/4.88 524 -> 16[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 525[label="xv30/Zero",fontsize=10,color="white",style="solid",shape="box"];13 -> 525[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 525 -> 17[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 27[label="sequence (take2 (Pos Zero) (repeat xv4) True)",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 29[label="sequence (take2 (Neg Zero) (repeat xv4) True)",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 31[label="sequence []",fontsize=16,color="black",shape="triangle"];31 -> 35[label="",style="solid", color="black", weight=3]; 12.82/4.88 32 -> 31[label="",style="dashed", color="red", weight=0]; 12.82/4.88 32[label="sequence []",fontsize=16,color="magenta"];33 -> 31[label="",style="dashed", color="red", weight=0]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 526 -> 37[label="",style="solid", color="blue", weight=3]; 12.82/4.88 527[label="return :: ([] a) -> Maybe ([] a)",fontsize=10,color="white",style="solid",shape="box"];35 -> 527[label="",style="solid", color="blue", weight=9]; 12.82/4.88 527 -> 38[label="",style="solid", color="blue", weight=3]; 12.82/4.88 528[label="return :: ([] a) -> [] ([] a)",fontsize=10,color="white",style="solid",shape="box"];35 -> 528[label="",style="solid", color="blue", weight=9]; 12.82/4.88 528 -> 39[label="",style="solid", color="blue", weight=3]; 12.82/4.88 36[label="sequence (take1 (Pos (Succ xv300)) (repeatXs xv4))",fontsize=16,color="black",shape="triangle"];36 -> 40[label="",style="solid", color="black", weight=3]; 12.82/4.88 37[label="return []",fontsize=16,color="black",shape="box"];37 -> 41[label="",style="solid", color="black", weight=3]; 12.82/4.88 38[label="return []",fontsize=16,color="black",shape="box"];38 -> 42[label="",style="solid", color="black", weight=3]; 12.82/4.88 39[label="return []",fontsize=16,color="black",shape="box"];39 -> 43[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 41[label="primretIO []",fontsize=16,color="black",shape="box"];41 -> 45[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 529 -> 48[label="",style="solid", color="blue", weight=3]; 12.82/4.88 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]; 12.82/4.88 530 -> 49[label="",style="solid", color="blue", weight=3]; 12.82/4.88 531[label=">>= :: ([] a) -> (a -> [] ([] a)) -> [] ([] a)",fontsize=10,color="white",style="solid",shape="box"];47 -> 531[label="",style="solid", color="blue", weight=9]; 12.82/4.88 531 -> 50[label="",style="solid", color="blue", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 532 -> 52[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 533[label="xv4/Just xv40",fontsize=10,color="white",style="solid",shape="box"];49 -> 533[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 533 -> 53[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 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]; 12.82/4.88 534 -> 54[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 535[label="xv4/[]",fontsize=10,color="white",style="solid",shape="box"];50 -> 535[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 535 -> 55[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 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]; 12.82/4.88 536 -> 56[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 537[label="xv4/AProVE_IO xv40",fontsize=10,color="white",style="solid",shape="box"];51 -> 537[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 537 -> 57[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 538[label="xv4/AProVE_Exception xv40",fontsize=10,color="white",style="solid",shape="box"];51 -> 538[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 538 -> 58[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 539[label="xv4/AProVE_Error xv40",fontsize=10,color="white",style="solid",shape="box"];51 -> 539[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 539 -> 59[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 69 -> 263[label="",style="dashed", color="red", weight=0]; 12.82/4.88 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]; 12.82/4.88 69 -> 265[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 69 -> 266[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 540 -> 153[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 541[label="xv5/Just xv50",fontsize=10,color="white",style="solid",shape="box"];131 -> 541[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 541 -> 154[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 264[label="xv40",fontsize=16,color="green",shape="box"];265 -> 478[label="",style="dashed", color="red", weight=0]; 12.82/4.88 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]; 12.82/4.88 265 -> 480[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 265 -> 481[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 265 -> 482[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 542 -> 338[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 543[label="xv12/[]",fontsize=10,color="white",style="solid",shape="box"];263 -> 543[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 543 -> 339[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 73 -> 170[label="",style="dashed", color="red", weight=0]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 153[label="Nothing >>= sequence0 xv40",fontsize=16,color="black",shape="box"];153 -> 159[label="",style="solid", color="black", weight=3]; 12.82/4.88 154[label="Just xv50 >>= sequence0 xv40",fontsize=16,color="black",shape="box"];154 -> 160[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 544 -> 507[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 545[label="xv20/[]",fontsize=10,color="white",style="solid",shape="box"];478 -> 545[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 545 -> 508[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 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]; 12.82/4.88 338[label="(xv120 : xv121 >>= sequence0 xv410) ++ xv10",fontsize=16,color="black",shape="box"];338 -> 347[label="",style="solid", color="black", weight=3]; 12.82/4.88 339[label="([] >>= sequence0 xv410) ++ xv10",fontsize=16,color="black",shape="box"];339 -> 348[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 546 -> 192[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 547[label="xv8/AProVE_IO xv80",fontsize=10,color="white",style="solid",shape="box"];170 -> 547[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 547 -> 193[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 548[label="xv8/AProVE_Exception xv80",fontsize=10,color="white",style="solid",shape="box"];170 -> 548[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 548 -> 194[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 549[label="xv8/AProVE_Error xv80",fontsize=10,color="white",style="solid",shape="box"];170 -> 549[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 549 -> 195[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 347[label="(sequence0 xv410 xv120 ++ (xv121 >>= sequence0 xv410)) ++ xv10",fontsize=16,color="black",shape="box"];347 -> 355[label="",style="solid", color="black", weight=3]; 12.82/4.88 348[label="[] ++ xv10",fontsize=16,color="black",shape="triangle"];348 -> 356[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 192[label="primbindIO (IO xv80) (sequence0 xv40)",fontsize=16,color="black",shape="box"];192 -> 205[label="",style="solid", color="black", weight=3]; 12.82/4.88 193[label="primbindIO (AProVE_IO xv80) (sequence0 xv40)",fontsize=16,color="black",shape="box"];193 -> 206[label="",style="solid", color="black", weight=3]; 12.82/4.88 194[label="primbindIO (AProVE_Exception xv80) (sequence0 xv40)",fontsize=16,color="black",shape="box"];194 -> 207[label="",style="solid", color="black", weight=3]; 12.82/4.88 195[label="primbindIO (AProVE_Error xv80) (sequence0 xv40)",fontsize=16,color="black",shape="box"];195 -> 208[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 166[label="return (xv40 : xv50)",fontsize=16,color="black",shape="box"];166 -> 197[label="",style="solid", color="black", weight=3]; 12.82/4.88 509 -> 391[label="",style="dashed", color="red", weight=0]; 12.82/4.88 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]; 12.82/4.88 509 -> 512[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 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]; 12.82/4.88 355[label="(return (xv410 : xv120) ++ (xv121 >>= sequence0 xv410)) ++ xv10",fontsize=16,color="black",shape="box"];355 -> 363[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 512 -> 478[label="",style="dashed", color="red", weight=0]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 550 -> 401[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 551[label="xv13/[]",fontsize=10,color="white",style="solid",shape="box"];391 -> 551[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 551 -> 402[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 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]; 12.82/4.88 363[label="(((xv410 : xv120) : []) ++ (xv121 >>= sequence0 xv410)) ++ xv10",fontsize=16,color="black",shape="box"];363 -> 372[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 215[label="return (xv40 : xv80)",fontsize=16,color="black",shape="box"];215 -> 223[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 513 -> 382[label="",style="dashed", color="red", weight=0]; 12.82/4.88 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]; 12.82/4.88 513 -> 516[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 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]; 12.82/4.88 402[label="[] ++ xv10",fontsize=16,color="black",shape="box"];402 -> 410[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 372 -> 378[label="",style="dashed", color="red", weight=0]; 12.82/4.88 372[label="((xv410 : xv120) : [] ++ (xv121 >>= sequence0 xv410)) ++ xv10",fontsize=16,color="magenta"];372 -> 379[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 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]; 12.82/4.88 223[label="primretIO (xv40 : xv80)",fontsize=16,color="black",shape="box"];223 -> 234[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 515 -> 266[label="",style="dashed", color="red", weight=0]; 12.82/4.88 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]; 12.82/4.88 515 -> 518[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 515 -> 519[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 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]; 12.82/4.88 552 -> 389[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 553[label="xv121/[]",fontsize=10,color="white",style="solid",shape="box"];382 -> 553[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 553 -> 390[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 409[label="xv130 : xv131 ++ xv10",fontsize=16,color="green",shape="box"];409 -> 417[label="",style="dashed", color="green", weight=3]; 12.82/4.88 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]; 12.82/4.88 379 -> 348[label="",style="dashed", color="red", weight=0]; 12.82/4.88 379[label="[] ++ (xv121 >>= sequence0 xv410)",fontsize=16,color="magenta"];379 -> 382[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 378[label="((xv410 : xv120) : xv13) ++ xv10",fontsize=16,color="black",shape="triangle"];378 -> 383[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 390[label="[] >>= sequence0 xv410",fontsize=16,color="black",shape="box"];390 -> 400[label="",style="solid", color="black", weight=3]; 12.82/4.88 417 -> 391[label="",style="dashed", color="red", weight=0]; 12.82/4.88 417[label="xv131 ++ xv10",fontsize=16,color="magenta"];417 -> 424[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 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]; 12.82/4.88 383[label="(xv410 : xv120) : xv13 ++ xv10",fontsize=16,color="green",shape="box"];383 -> 391[label="",style="dashed", color="green", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 554 -> 242[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 555[label="xv300/Zero",fontsize=10,color="white",style="solid",shape="box"];235 -> 555[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 555 -> 243[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 399 -> 391[label="",style="dashed", color="red", weight=0]; 12.82/4.88 399[label="sequence0 xv410 xv1210 ++ (xv1211 >>= sequence0 xv410)",fontsize=16,color="magenta"];399 -> 407[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 399 -> 408[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 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]; 12.82/4.88 556 -> 397[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 557[label="xv300/Zero",fontsize=10,color="white",style="solid",shape="box"];388 -> 557[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 557 -> 398[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 407[label="sequence0 xv410 xv1210",fontsize=16,color="black",shape="box"];407 -> 415[label="",style="solid", color="black", weight=3]; 12.82/4.88 408 -> 382[label="",style="dashed", color="red", weight=0]; 12.82/4.88 408[label="xv1211 >>= sequence0 xv410",fontsize=16,color="magenta"];408 -> 416[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 558 -> 258[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 559[label="xv300/Zero",fontsize=10,color="white",style="solid",shape="box"];253 -> 559[label="",style="solid", color="burlywood", weight=9]; 12.82/4.88 559 -> 259[label="",style="solid", color="burlywood", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 415[label="return (xv410 : xv1210)",fontsize=16,color="black",shape="box"];415 -> 423[label="",style="solid", color="black", weight=3]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 352 -> 31[label="",style="dashed", color="red", weight=0]; 12.82/4.88 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]; 12.82/4.88 435 -> 31[label="",style="dashed", color="red", weight=0]; 12.82/4.88 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]; 12.82/4.88 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]; 12.82/4.88 359 -> 36[label="",style="dashed", color="red", weight=0]; 12.82/4.88 359[label="sequence (take1 (Pos (Succ xv3000)) (repeatXs (Just xv40)))",fontsize=16,color="magenta"];359 -> 366[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 359 -> 367[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 439 -> 36[label="",style="dashed", color="red", weight=0]; 12.82/4.88 439[label="sequence (take1 (Pos (Succ xv3000)) (repeatXs (xv40 : xv41)))",fontsize=16,color="magenta"];439 -> 444[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 439 -> 445[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 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]; 12.82/4.88 374 -> 31[label="",style="dashed", color="red", weight=0]; 12.82/4.88 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]; 12.82/4.88 384[label="sequence (take1 (Pos (Succ xv3000)) (repeatXs (AProVE_IO xv40)))",fontsize=16,color="magenta"];384 -> 392[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 384 -> 393[label="",style="dashed", color="magenta", weight=3]; 12.82/4.88 392[label="xv3000",fontsize=16,color="green",shape="box"];393[label="AProVE_IO xv40",fontsize=16,color="green",shape="box"];} 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (12) 12.82/4.88 Complex Obligation (AND) 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (13) 12.82/4.88 Obligation: 12.82/4.88 Q DP problem: 12.82/4.88 The TRS P consists of the following rules: 12.82/4.88 12.82/4.88 new_gtGtEs(:(xv1210, xv1211), xv410, h) -> new_gtGtEs(xv1211, xv410, h) 12.82/4.88 12.82/4.88 R is empty. 12.82/4.88 Q is empty. 12.82/4.88 We have to consider all minimal (P,Q,R)-chains. 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (14) QDPSizeChangeProof (EQUIVALENT) 12.82/4.88 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.82/4.88 12.82/4.88 From the DPs we obtained the following set of size-change graphs: 12.82/4.88 *new_gtGtEs(:(xv1210, xv1211), xv410, h) -> new_gtGtEs(xv1211, xv410, h) 12.82/4.88 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 12.82/4.88 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (15) 12.82/4.88 YES 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (16) 12.82/4.88 Obligation: 12.82/4.88 Q DP problem: 12.82/4.88 The TRS P consists of the following rules: 12.82/4.88 12.82/4.88 new_sequence(Succ(xv3000), Just(xv40), ty_Maybe, h) -> new_sequence(xv3000, Just(xv40), ty_Maybe, h) 12.82/4.88 new_sequence(Succ(xv3000), :(xv40, xv41), ty_[], h) -> new_sequence(xv3000, :(xv40, xv41), ty_[], h) 12.82/4.88 new_gtGtEs0(:(xv200, xv201), xv21, xv22, xv23, ba) -> new_gtGtEs0(xv201, xv21, xv22, xv23, ba) 12.82/4.88 new_sequence(xv300, :(xv40, xv41), ty_[], h) -> new_gtGtEs0(xv41, xv300, xv40, xv41, h) 12.82/4.88 new_sequence(Succ(xv3000), AProVE_IO(xv40), ty_IO, h) -> new_sequence(xv3000, AProVE_IO(xv40), ty_IO, h) 12.82/4.88 new_sequence0(Succ(xv3000), xv40, xv41, h) -> new_sequence(xv3000, :(xv40, xv41), ty_[], h) 12.82/4.88 new_gtGtEs0(:(xv200, xv201), xv21, xv22, xv23, ba) -> new_sequence0(xv21, xv22, xv23, ba) 12.82/4.88 12.82/4.88 R is empty. 12.82/4.88 Q is empty. 12.82/4.88 We have to consider all minimal (P,Q,R)-chains. 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (17) DependencyGraphProof (EQUIVALENT) 12.82/4.88 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs. 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (18) 12.82/4.88 Complex Obligation (AND) 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (19) 12.82/4.88 Obligation: 12.82/4.88 Q DP problem: 12.82/4.88 The TRS P consists of the following rules: 12.82/4.88 12.82/4.88 new_sequence(Succ(xv3000), AProVE_IO(xv40), ty_IO, h) -> new_sequence(xv3000, AProVE_IO(xv40), ty_IO, h) 12.82/4.88 12.82/4.88 R is empty. 12.82/4.88 Q is empty. 12.82/4.88 We have to consider all minimal (P,Q,R)-chains. 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (20) QDPSizeChangeProof (EQUIVALENT) 12.82/4.88 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.82/4.88 12.82/4.88 From the DPs we obtained the following set of size-change graphs: 12.82/4.88 *new_sequence(Succ(xv3000), AProVE_IO(xv40), ty_IO, h) -> new_sequence(xv3000, AProVE_IO(xv40), ty_IO, h) 12.82/4.88 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4 12.82/4.88 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (21) 12.82/4.88 YES 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (22) 12.82/4.88 Obligation: 12.82/4.88 Q DP problem: 12.82/4.88 The TRS P consists of the following rules: 12.82/4.88 12.82/4.88 new_sequence(xv300, :(xv40, xv41), ty_[], h) -> new_gtGtEs0(xv41, xv300, xv40, xv41, h) 12.82/4.88 new_gtGtEs0(:(xv200, xv201), xv21, xv22, xv23, ba) -> new_gtGtEs0(xv201, xv21, xv22, xv23, ba) 12.82/4.88 new_gtGtEs0(:(xv200, xv201), xv21, xv22, xv23, ba) -> new_sequence0(xv21, xv22, xv23, ba) 12.82/4.88 new_sequence0(Succ(xv3000), xv40, xv41, h) -> new_sequence(xv3000, :(xv40, xv41), ty_[], h) 12.82/4.88 new_sequence(Succ(xv3000), :(xv40, xv41), ty_[], h) -> new_sequence(xv3000, :(xv40, xv41), ty_[], h) 12.82/4.88 12.82/4.88 R is empty. 12.82/4.88 Q is empty. 12.82/4.88 We have to consider all minimal (P,Q,R)-chains. 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (23) QDPSizeChangeProof (EQUIVALENT) 12.82/4.88 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.82/4.88 12.82/4.88 From the DPs we obtained the following set of size-change graphs: 12.82/4.88 *new_sequence(xv300, :(xv40, xv41), ty_[], h) -> new_gtGtEs0(xv41, xv300, xv40, xv41, h) 12.82/4.88 The graph contains the following edges 2 > 1, 1 >= 2, 2 > 3, 2 > 4, 4 >= 5 12.82/4.88 12.82/4.88 12.82/4.88 *new_gtGtEs0(:(xv200, xv201), xv21, xv22, xv23, ba) -> new_gtGtEs0(xv201, xv21, xv22, xv23, ba) 12.82/4.88 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5 12.82/4.88 12.82/4.88 12.82/4.88 *new_gtGtEs0(:(xv200, xv201), xv21, xv22, xv23, ba) -> new_sequence0(xv21, xv22, xv23, ba) 12.82/4.88 The graph contains the following edges 2 >= 1, 3 >= 2, 4 >= 3, 5 >= 4 12.82/4.88 12.82/4.88 12.82/4.88 *new_sequence0(Succ(xv3000), xv40, xv41, h) -> new_sequence(xv3000, :(xv40, xv41), ty_[], h) 12.82/4.88 The graph contains the following edges 1 > 1, 4 >= 4 12.82/4.88 12.82/4.88 12.82/4.88 *new_sequence(Succ(xv3000), :(xv40, xv41), ty_[], h) -> new_sequence(xv3000, :(xv40, xv41), ty_[], h) 12.82/4.88 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4 12.82/4.88 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (24) 12.82/4.88 YES 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (25) 12.82/4.88 Obligation: 12.82/4.88 Q DP problem: 12.82/4.88 The TRS P consists of the following rules: 12.82/4.88 12.82/4.88 new_sequence(Succ(xv3000), Just(xv40), ty_Maybe, h) -> new_sequence(xv3000, Just(xv40), ty_Maybe, h) 12.82/4.88 12.82/4.88 R is empty. 12.82/4.88 Q is empty. 12.82/4.88 We have to consider all minimal (P,Q,R)-chains. 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (26) QDPSizeChangeProof (EQUIVALENT) 12.82/4.88 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.82/4.88 12.82/4.88 From the DPs we obtained the following set of size-change graphs: 12.82/4.88 *new_sequence(Succ(xv3000), Just(xv40), ty_Maybe, h) -> new_sequence(xv3000, Just(xv40), ty_Maybe, h) 12.82/4.88 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4 12.82/4.88 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (27) 12.82/4.88 YES 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (28) 12.82/4.88 Obligation: 12.82/4.88 Q DP problem: 12.82/4.88 The TRS P consists of the following rules: 12.82/4.88 12.82/4.88 new_psPs(:(xv130, xv131), xv10, h) -> new_psPs(xv131, xv10, h) 12.82/4.88 12.82/4.88 R is empty. 12.82/4.88 Q is empty. 12.82/4.88 We have to consider all minimal (P,Q,R)-chains. 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (29) QDPSizeChangeProof (EQUIVALENT) 12.82/4.88 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.82/4.88 12.82/4.88 From the DPs we obtained the following set of size-change graphs: 12.82/4.88 *new_psPs(:(xv130, xv131), xv10, h) -> new_psPs(xv131, xv10, h) 12.82/4.88 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 12.82/4.88 12.82/4.88 12.82/4.88 ---------------------------------------- 12.82/4.88 12.82/4.88 (30) 12.82/4.88 YES 12.82/4.94 EOF