/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.hs /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/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) CR [EQUIVALENT, 0 ms] (2) HASKELL (3) BR [EQUIVALENT, 0 ms] (4) HASKELL (5) COR [EQUIVALENT, 22 ms] (6) HASKELL (7) Narrow [SOUND, 0 ms] (8) QDP (9) DependencyGraphProof [EQUIVALENT, 0 ms] (10) AND (11) QDP (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] (13) YES (14) QDP (15) QDPSizeChangeProof [EQUIVALENT, 0 ms] (16) YES (17) QDP (18) QDPSizeChangeProof [EQUIVALENT, 0 ms] (19) YES (20) QDP (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] (22) YES ---------------------------------------- (0) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; insert :: Ord a => a -> [a] -> [a]; insert e ls = insertBy compare e ls; insertBy :: (a -> a -> Ordering) -> a -> [a] -> [a]; insertBy _ x [] = x : []; insertBy cmp x ys@(y : ys') = case cmp x y of { GT-> y : insertBy cmp x ys'; _-> x : ys; } ; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (1) CR (EQUIVALENT) Case Reductions: The following Case expression "case cmp x y of { GT -> y : insertBy cmp x ys'; _ -> x : ys} " is transformed to "insertBy0 y cmp x ys' ys GT = y : insertBy cmp x ys'; insertBy0 y cmp x ys' ys _ = x : ys; " ---------------------------------------- (2) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; insert :: Ord a => a -> [a] -> [a]; insert e ls = insertBy compare e ls; insertBy :: (a -> a -> Ordering) -> a -> [a] -> [a]; insertBy _ x [] = x : []; insertBy cmp x ys@(y : ys') = insertBy0 y cmp x ys' ys (cmp x y); insertBy0 y cmp x ys' ys GT = y : insertBy cmp x ys'; insertBy0 y cmp x ys' ys _ = x : ys; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. Binding Reductions: The bind variable of the following binding Pattern "ys@(wu : wv)" is replaced by the following term "wu : wv" ---------------------------------------- (4) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; insert :: Ord a => a -> [a] -> [a]; insert e ls = insertBy compare e ls; insertBy :: (a -> a -> Ordering) -> a -> [a] -> [a]; insertBy vz x [] = x : []; insertBy cmp x (wu : wv) = insertBy0 wu cmp x wv (wu : wv) (cmp x wu); insertBy0 y cmp x ys' ys GT = y : insertBy cmp x ys'; insertBy0 y cmp x ys' ys vy = x : ys; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " ---------------------------------------- (6) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; insert :: Ord a => a -> [a] -> [a]; insert e ls = insertBy compare e ls; insertBy :: (a -> a -> Ordering) -> a -> [a] -> [a]; insertBy vz x [] = x : []; insertBy cmp x (wu : wv) = insertBy0 wu cmp x wv (wu : wv) (cmp x wu); insertBy0 y cmp x ys' ys GT = y : insertBy cmp x ys'; insertBy0 y cmp x ys' ys vy = x : ys; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (7) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="List.insert",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="List.insert ww3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="List.insert ww3 ww4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="List.insertBy compare ww3 ww4",fontsize=16,color="burlywood",shape="box"];656[label="ww4/ww40 : ww41",fontsize=10,color="white",style="solid",shape="box"];5 -> 656[label="",style="solid", color="burlywood", weight=9]; 656 -> 6[label="",style="solid", color="burlywood", weight=3]; 657[label="ww4/[]",fontsize=10,color="white",style="solid",shape="box"];5 -> 657[label="",style="solid", color="burlywood", weight=9]; 657 -> 7[label="",style="solid", color="burlywood", weight=3]; 6[label="List.insertBy compare ww3 (ww40 : ww41)",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 7[label="List.insertBy compare ww3 []",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 8[label="List.insertBy0 ww40 compare ww3 ww41 (ww40 : ww41) (compare ww3 ww40)",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 9[label="ww3 : []",fontsize=16,color="green",shape="box"];10[label="List.insertBy0 ww40 primCmpInt ww3 ww41 (ww40 : ww41) (primCmpInt ww3 ww40)",fontsize=16,color="burlywood",shape="triangle"];658[label="ww3/Pos ww30",fontsize=10,color="white",style="solid",shape="box"];10 -> 658[label="",style="solid", color="burlywood", weight=9]; 658 -> 11[label="",style="solid", color="burlywood", weight=3]; 659[label="ww3/Neg ww30",fontsize=10,color="white",style="solid",shape="box"];10 -> 659[label="",style="solid", color="burlywood", weight=9]; 659 -> 12[label="",style="solid", color="burlywood", weight=3]; 11[label="List.insertBy0 ww40 primCmpInt (Pos ww30) ww41 (ww40 : ww41) (primCmpInt (Pos ww30) ww40)",fontsize=16,color="burlywood",shape="box"];660[label="ww30/Succ ww300",fontsize=10,color="white",style="solid",shape="box"];11 -> 660[label="",style="solid", color="burlywood", weight=9]; 660 -> 13[label="",style="solid", color="burlywood", weight=3]; 661[label="ww30/Zero",fontsize=10,color="white",style="solid",shape="box"];11 -> 661[label="",style="solid", color="burlywood", weight=9]; 661 -> 14[label="",style="solid", color="burlywood", weight=3]; 12[label="List.insertBy0 ww40 primCmpInt (Neg ww30) ww41 (ww40 : ww41) (primCmpInt (Neg ww30) ww40)",fontsize=16,color="burlywood",shape="box"];662[label="ww30/Succ ww300",fontsize=10,color="white",style="solid",shape="box"];12 -> 662[label="",style="solid", color="burlywood", weight=9]; 662 -> 15[label="",style="solid", color="burlywood", weight=3]; 663[label="ww30/Zero",fontsize=10,color="white",style="solid",shape="box"];12 -> 663[label="",style="solid", color="burlywood", weight=9]; 663 -> 16[label="",style="solid", color="burlywood", weight=3]; 13[label="List.insertBy0 ww40 primCmpInt (Pos (Succ ww300)) ww41 (ww40 : ww41) (primCmpInt (Pos (Succ ww300)) ww40)",fontsize=16,color="burlywood",shape="box"];664[label="ww40/Pos ww400",fontsize=10,color="white",style="solid",shape="box"];13 -> 664[label="",style="solid", color="burlywood", weight=9]; 664 -> 17[label="",style="solid", color="burlywood", weight=3]; 665[label="ww40/Neg ww400",fontsize=10,color="white",style="solid",shape="box"];13 -> 665[label="",style="solid", color="burlywood", weight=9]; 665 -> 18[label="",style="solid", color="burlywood", weight=3]; 14[label="List.insertBy0 ww40 primCmpInt (Pos Zero) ww41 (ww40 : ww41) (primCmpInt (Pos Zero) ww40)",fontsize=16,color="burlywood",shape="box"];666[label="ww40/Pos ww400",fontsize=10,color="white",style="solid",shape="box"];14 -> 666[label="",style="solid", color="burlywood", weight=9]; 666 -> 19[label="",style="solid", color="burlywood", weight=3]; 667[label="ww40/Neg ww400",fontsize=10,color="white",style="solid",shape="box"];14 -> 667[label="",style="solid", color="burlywood", weight=9]; 667 -> 20[label="",style="solid", color="burlywood", weight=3]; 15[label="List.insertBy0 ww40 primCmpInt (Neg (Succ ww300)) ww41 (ww40 : ww41) (primCmpInt (Neg (Succ ww300)) ww40)",fontsize=16,color="burlywood",shape="box"];668[label="ww40/Pos ww400",fontsize=10,color="white",style="solid",shape="box"];15 -> 668[label="",style="solid", color="burlywood", weight=9]; 668 -> 21[label="",style="solid", color="burlywood", weight=3]; 669[label="ww40/Neg ww400",fontsize=10,color="white",style="solid",shape="box"];15 -> 669[label="",style="solid", color="burlywood", weight=9]; 669 -> 22[label="",style="solid", color="burlywood", weight=3]; 16[label="List.insertBy0 ww40 primCmpInt (Neg Zero) ww41 (ww40 : ww41) (primCmpInt (Neg Zero) ww40)",fontsize=16,color="burlywood",shape="box"];670[label="ww40/Pos ww400",fontsize=10,color="white",style="solid",shape="box"];16 -> 670[label="",style="solid", color="burlywood", weight=9]; 670 -> 23[label="",style="solid", color="burlywood", weight=3]; 671[label="ww40/Neg ww400",fontsize=10,color="white",style="solid",shape="box"];16 -> 671[label="",style="solid", color="burlywood", weight=9]; 671 -> 24[label="",style="solid", color="burlywood", weight=3]; 17[label="List.insertBy0 (Pos ww400) primCmpInt (Pos (Succ ww300)) ww41 (Pos ww400 : ww41) (primCmpInt (Pos (Succ ww300)) (Pos ww400))",fontsize=16,color="black",shape="box"];17 -> 25[label="",style="solid", color="black", weight=3]; 18[label="List.insertBy0 (Neg ww400) primCmpInt (Pos (Succ ww300)) ww41 (Neg ww400 : ww41) (primCmpInt (Pos (Succ ww300)) (Neg ww400))",fontsize=16,color="black",shape="box"];18 -> 26[label="",style="solid", color="black", weight=3]; 19[label="List.insertBy0 (Pos ww400) primCmpInt (Pos Zero) ww41 (Pos ww400 : ww41) (primCmpInt (Pos Zero) (Pos ww400))",fontsize=16,color="burlywood",shape="box"];672[label="ww400/Succ ww4000",fontsize=10,color="white",style="solid",shape="box"];19 -> 672[label="",style="solid", color="burlywood", weight=9]; 672 -> 27[label="",style="solid", color="burlywood", weight=3]; 673[label="ww400/Zero",fontsize=10,color="white",style="solid",shape="box"];19 -> 673[label="",style="solid", color="burlywood", weight=9]; 673 -> 28[label="",style="solid", color="burlywood", weight=3]; 20[label="List.insertBy0 (Neg ww400) primCmpInt (Pos Zero) ww41 (Neg ww400 : ww41) (primCmpInt (Pos Zero) (Neg ww400))",fontsize=16,color="burlywood",shape="box"];674[label="ww400/Succ ww4000",fontsize=10,color="white",style="solid",shape="box"];20 -> 674[label="",style="solid", color="burlywood", weight=9]; 674 -> 29[label="",style="solid", color="burlywood", weight=3]; 675[label="ww400/Zero",fontsize=10,color="white",style="solid",shape="box"];20 -> 675[label="",style="solid", color="burlywood", weight=9]; 675 -> 30[label="",style="solid", color="burlywood", weight=3]; 21[label="List.insertBy0 (Pos ww400) primCmpInt (Neg (Succ ww300)) ww41 (Pos ww400 : ww41) (primCmpInt (Neg (Succ ww300)) (Pos ww400))",fontsize=16,color="black",shape="box"];21 -> 31[label="",style="solid", color="black", weight=3]; 22[label="List.insertBy0 (Neg ww400) primCmpInt (Neg (Succ ww300)) ww41 (Neg ww400 : ww41) (primCmpInt (Neg (Succ ww300)) (Neg ww400))",fontsize=16,color="black",shape="box"];22 -> 32[label="",style="solid", color="black", weight=3]; 23[label="List.insertBy0 (Pos ww400) primCmpInt (Neg Zero) ww41 (Pos ww400 : ww41) (primCmpInt (Neg Zero) (Pos ww400))",fontsize=16,color="burlywood",shape="box"];676[label="ww400/Succ ww4000",fontsize=10,color="white",style="solid",shape="box"];23 -> 676[label="",style="solid", color="burlywood", weight=9]; 676 -> 33[label="",style="solid", color="burlywood", weight=3]; 677[label="ww400/Zero",fontsize=10,color="white",style="solid",shape="box"];23 -> 677[label="",style="solid", color="burlywood", weight=9]; 677 -> 34[label="",style="solid", color="burlywood", weight=3]; 24[label="List.insertBy0 (Neg ww400) primCmpInt (Neg Zero) ww41 (Neg ww400 : ww41) (primCmpInt (Neg Zero) (Neg ww400))",fontsize=16,color="burlywood",shape="box"];678[label="ww400/Succ ww4000",fontsize=10,color="white",style="solid",shape="box"];24 -> 678[label="",style="solid", color="burlywood", weight=9]; 678 -> 35[label="",style="solid", color="burlywood", weight=3]; 679[label="ww400/Zero",fontsize=10,color="white",style="solid",shape="box"];24 -> 679[label="",style="solid", color="burlywood", weight=9]; 679 -> 36[label="",style="solid", color="burlywood", weight=3]; 25[label="List.insertBy0 (Pos ww400) primCmpInt (Pos (Succ ww300)) ww41 (Pos ww400 : ww41) (primCmpNat (Succ ww300) ww400)",fontsize=16,color="burlywood",shape="box"];680[label="ww400/Succ ww4000",fontsize=10,color="white",style="solid",shape="box"];25 -> 680[label="",style="solid", color="burlywood", weight=9]; 680 -> 37[label="",style="solid", color="burlywood", weight=3]; 681[label="ww400/Zero",fontsize=10,color="white",style="solid",shape="box"];25 -> 681[label="",style="solid", color="burlywood", weight=9]; 681 -> 38[label="",style="solid", color="burlywood", weight=3]; 26[label="List.insertBy0 (Neg ww400) primCmpInt (Pos (Succ ww300)) ww41 (Neg ww400 : ww41) GT",fontsize=16,color="black",shape="box"];26 -> 39[label="",style="solid", color="black", weight=3]; 27[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Pos Zero) ww41 (Pos (Succ ww4000) : ww41) (primCmpInt (Pos Zero) (Pos (Succ ww4000)))",fontsize=16,color="black",shape="box"];27 -> 40[label="",style="solid", color="black", weight=3]; 28[label="List.insertBy0 (Pos Zero) primCmpInt (Pos Zero) ww41 (Pos Zero : ww41) (primCmpInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];28 -> 41[label="",style="solid", color="black", weight=3]; 29[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Pos Zero) ww41 (Neg (Succ ww4000) : ww41) (primCmpInt (Pos Zero) (Neg (Succ ww4000)))",fontsize=16,color="black",shape="box"];29 -> 42[label="",style="solid", color="black", weight=3]; 30[label="List.insertBy0 (Neg Zero) primCmpInt (Pos Zero) ww41 (Neg Zero : ww41) (primCmpInt (Pos Zero) (Neg Zero))",fontsize=16,color="black",shape="box"];30 -> 43[label="",style="solid", color="black", weight=3]; 31[label="List.insertBy0 (Pos ww400) primCmpInt (Neg (Succ ww300)) ww41 (Pos ww400 : ww41) LT",fontsize=16,color="black",shape="box"];31 -> 44[label="",style="solid", color="black", weight=3]; 32[label="List.insertBy0 (Neg ww400) primCmpInt (Neg (Succ ww300)) ww41 (Neg ww400 : ww41) (primCmpNat ww400 (Succ ww300))",fontsize=16,color="burlywood",shape="box"];682[label="ww400/Succ ww4000",fontsize=10,color="white",style="solid",shape="box"];32 -> 682[label="",style="solid", color="burlywood", weight=9]; 682 -> 45[label="",style="solid", color="burlywood", weight=3]; 683[label="ww400/Zero",fontsize=10,color="white",style="solid",shape="box"];32 -> 683[label="",style="solid", color="burlywood", weight=9]; 683 -> 46[label="",style="solid", color="burlywood", weight=3]; 33[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Neg Zero) ww41 (Pos (Succ ww4000) : ww41) (primCmpInt (Neg Zero) (Pos (Succ ww4000)))",fontsize=16,color="black",shape="box"];33 -> 47[label="",style="solid", color="black", weight=3]; 34[label="List.insertBy0 (Pos Zero) primCmpInt (Neg Zero) ww41 (Pos Zero : ww41) (primCmpInt (Neg Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];34 -> 48[label="",style="solid", color="black", weight=3]; 35[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Neg Zero) ww41 (Neg (Succ ww4000) : ww41) (primCmpInt (Neg Zero) (Neg (Succ ww4000)))",fontsize=16,color="black",shape="box"];35 -> 49[label="",style="solid", color="black", weight=3]; 36[label="List.insertBy0 (Neg Zero) primCmpInt (Neg Zero) ww41 (Neg Zero : ww41) (primCmpInt (Neg Zero) (Neg Zero))",fontsize=16,color="black",shape="box"];36 -> 50[label="",style="solid", color="black", weight=3]; 37[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Pos (Succ ww300)) ww41 (Pos (Succ ww4000) : ww41) (primCmpNat (Succ ww300) (Succ ww4000))",fontsize=16,color="black",shape="box"];37 -> 51[label="",style="solid", color="black", weight=3]; 38[label="List.insertBy0 (Pos Zero) primCmpInt (Pos (Succ ww300)) ww41 (Pos Zero : ww41) (primCmpNat (Succ ww300) Zero)",fontsize=16,color="black",shape="box"];38 -> 52[label="",style="solid", color="black", weight=3]; 39[label="Neg ww400 : List.insertBy primCmpInt (Pos (Succ ww300)) ww41",fontsize=16,color="green",shape="box"];39 -> 53[label="",style="dashed", color="green", weight=3]; 40[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Pos Zero) ww41 (Pos (Succ ww4000) : ww41) (primCmpNat Zero (Succ ww4000))",fontsize=16,color="black",shape="box"];40 -> 54[label="",style="solid", color="black", weight=3]; 41[label="List.insertBy0 (Pos Zero) primCmpInt (Pos Zero) ww41 (Pos Zero : ww41) EQ",fontsize=16,color="black",shape="box"];41 -> 55[label="",style="solid", color="black", weight=3]; 42[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Pos Zero) ww41 (Neg (Succ ww4000) : ww41) GT",fontsize=16,color="black",shape="box"];42 -> 56[label="",style="solid", color="black", weight=3]; 43[label="List.insertBy0 (Neg Zero) primCmpInt (Pos Zero) ww41 (Neg Zero : ww41) EQ",fontsize=16,color="black",shape="box"];43 -> 57[label="",style="solid", color="black", weight=3]; 44[label="Neg (Succ ww300) : Pos ww400 : ww41",fontsize=16,color="green",shape="box"];45[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Neg (Succ ww300)) ww41 (Neg (Succ ww4000) : ww41) (primCmpNat (Succ ww4000) (Succ ww300))",fontsize=16,color="black",shape="box"];45 -> 58[label="",style="solid", color="black", weight=3]; 46[label="List.insertBy0 (Neg Zero) primCmpInt (Neg (Succ ww300)) ww41 (Neg Zero : ww41) (primCmpNat Zero (Succ ww300))",fontsize=16,color="black",shape="box"];46 -> 59[label="",style="solid", color="black", weight=3]; 47[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Neg Zero) ww41 (Pos (Succ ww4000) : ww41) LT",fontsize=16,color="black",shape="box"];47 -> 60[label="",style="solid", color="black", weight=3]; 48[label="List.insertBy0 (Pos Zero) primCmpInt (Neg Zero) ww41 (Pos Zero : ww41) EQ",fontsize=16,color="black",shape="box"];48 -> 61[label="",style="solid", color="black", weight=3]; 49[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Neg Zero) ww41 (Neg (Succ ww4000) : ww41) (primCmpNat (Succ ww4000) Zero)",fontsize=16,color="black",shape="box"];49 -> 62[label="",style="solid", color="black", weight=3]; 50[label="List.insertBy0 (Neg Zero) primCmpInt (Neg Zero) ww41 (Neg Zero : ww41) EQ",fontsize=16,color="black",shape="box"];50 -> 63[label="",style="solid", color="black", weight=3]; 51 -> 511[label="",style="dashed", color="red", weight=0]; 51[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Pos (Succ ww300)) ww41 (Pos (Succ ww4000) : ww41) (primCmpNat ww300 ww4000)",fontsize=16,color="magenta"];51 -> 512[label="",style="dashed", color="magenta", weight=3]; 51 -> 513[label="",style="dashed", color="magenta", weight=3]; 51 -> 514[label="",style="dashed", color="magenta", weight=3]; 51 -> 515[label="",style="dashed", color="magenta", weight=3]; 51 -> 516[label="",style="dashed", color="magenta", weight=3]; 52[label="List.insertBy0 (Pos Zero) primCmpInt (Pos (Succ ww300)) ww41 (Pos Zero : ww41) GT",fontsize=16,color="black",shape="box"];52 -> 66[label="",style="solid", color="black", weight=3]; 53[label="List.insertBy primCmpInt (Pos (Succ ww300)) ww41",fontsize=16,color="burlywood",shape="triangle"];684[label="ww41/ww410 : ww411",fontsize=10,color="white",style="solid",shape="box"];53 -> 684[label="",style="solid", color="burlywood", weight=9]; 684 -> 67[label="",style="solid", color="burlywood", weight=3]; 685[label="ww41/[]",fontsize=10,color="white",style="solid",shape="box"];53 -> 685[label="",style="solid", color="burlywood", weight=9]; 685 -> 68[label="",style="solid", color="burlywood", weight=3]; 54[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Pos Zero) ww41 (Pos (Succ ww4000) : ww41) LT",fontsize=16,color="black",shape="box"];54 -> 69[label="",style="solid", color="black", weight=3]; 55[label="Pos Zero : Pos Zero : ww41",fontsize=16,color="green",shape="box"];56[label="Neg (Succ ww4000) : List.insertBy primCmpInt (Pos Zero) ww41",fontsize=16,color="green",shape="box"];56 -> 70[label="",style="dashed", color="green", weight=3]; 57[label="Pos Zero : Neg Zero : ww41",fontsize=16,color="green",shape="box"];58 -> 566[label="",style="dashed", color="red", weight=0]; 58[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Neg (Succ ww300)) ww41 (Neg (Succ ww4000) : ww41) (primCmpNat ww4000 ww300)",fontsize=16,color="magenta"];58 -> 567[label="",style="dashed", color="magenta", weight=3]; 58 -> 568[label="",style="dashed", color="magenta", weight=3]; 58 -> 569[label="",style="dashed", color="magenta", weight=3]; 58 -> 570[label="",style="dashed", color="magenta", weight=3]; 58 -> 571[label="",style="dashed", color="magenta", weight=3]; 59[label="List.insertBy0 (Neg Zero) primCmpInt (Neg (Succ ww300)) ww41 (Neg Zero : ww41) LT",fontsize=16,color="black",shape="box"];59 -> 73[label="",style="solid", color="black", weight=3]; 60[label="Neg Zero : Pos (Succ ww4000) : ww41",fontsize=16,color="green",shape="box"];61[label="Neg Zero : Pos Zero : ww41",fontsize=16,color="green",shape="box"];62[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Neg Zero) ww41 (Neg (Succ ww4000) : ww41) GT",fontsize=16,color="black",shape="box"];62 -> 74[label="",style="solid", color="black", weight=3]; 63[label="Neg Zero : Neg Zero : ww41",fontsize=16,color="green",shape="box"];512[label="ww4000",fontsize=16,color="green",shape="box"];513[label="ww300",fontsize=16,color="green",shape="box"];514[label="ww300",fontsize=16,color="green",shape="box"];515[label="ww4000",fontsize=16,color="green",shape="box"];516[label="ww41",fontsize=16,color="green",shape="box"];511[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat ww62 ww63)",fontsize=16,color="burlywood",shape="triangle"];686[label="ww62/Succ ww620",fontsize=10,color="white",style="solid",shape="box"];511 -> 686[label="",style="solid", color="burlywood", weight=9]; 686 -> 562[label="",style="solid", color="burlywood", weight=3]; 687[label="ww62/Zero",fontsize=10,color="white",style="solid",shape="box"];511 -> 687[label="",style="solid", color="burlywood", weight=9]; 687 -> 563[label="",style="solid", color="burlywood", weight=3]; 66[label="Pos Zero : List.insertBy primCmpInt (Pos (Succ ww300)) ww41",fontsize=16,color="green",shape="box"];66 -> 79[label="",style="dashed", color="green", weight=3]; 67[label="List.insertBy primCmpInt (Pos (Succ ww300)) (ww410 : ww411)",fontsize=16,color="black",shape="box"];67 -> 80[label="",style="solid", color="black", weight=3]; 68[label="List.insertBy primCmpInt (Pos (Succ ww300)) []",fontsize=16,color="black",shape="box"];68 -> 81[label="",style="solid", color="black", weight=3]; 69[label="Pos Zero : Pos (Succ ww4000) : ww41",fontsize=16,color="green",shape="box"];70[label="List.insertBy primCmpInt (Pos Zero) ww41",fontsize=16,color="burlywood",shape="box"];688[label="ww41/ww410 : ww411",fontsize=10,color="white",style="solid",shape="box"];70 -> 688[label="",style="solid", color="burlywood", weight=9]; 688 -> 82[label="",style="solid", color="burlywood", weight=3]; 689[label="ww41/[]",fontsize=10,color="white",style="solid",shape="box"];70 -> 689[label="",style="solid", color="burlywood", weight=9]; 689 -> 83[label="",style="solid", color="burlywood", weight=3]; 567[label="ww300",fontsize=16,color="green",shape="box"];568[label="ww4000",fontsize=16,color="green",shape="box"];569[label="ww41",fontsize=16,color="green",shape="box"];570[label="ww4000",fontsize=16,color="green",shape="box"];571[label="ww300",fontsize=16,color="green",shape="box"];566[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat ww68 ww69)",fontsize=16,color="burlywood",shape="triangle"];690[label="ww68/Succ ww680",fontsize=10,color="white",style="solid",shape="box"];566 -> 690[label="",style="solid", color="burlywood", weight=9]; 690 -> 617[label="",style="solid", color="burlywood", weight=3]; 691[label="ww68/Zero",fontsize=10,color="white",style="solid",shape="box"];566 -> 691[label="",style="solid", color="burlywood", weight=9]; 691 -> 618[label="",style="solid", color="burlywood", weight=3]; 73[label="Neg (Succ ww300) : Neg Zero : ww41",fontsize=16,color="green",shape="box"];74[label="Neg (Succ ww4000) : List.insertBy primCmpInt (Neg Zero) ww41",fontsize=16,color="green",shape="box"];74 -> 88[label="",style="dashed", color="green", weight=3]; 562[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat (Succ ww620) ww63)",fontsize=16,color="burlywood",shape="box"];692[label="ww63/Succ ww630",fontsize=10,color="white",style="solid",shape="box"];562 -> 692[label="",style="solid", color="burlywood", weight=9]; 692 -> 619[label="",style="solid", color="burlywood", weight=3]; 693[label="ww63/Zero",fontsize=10,color="white",style="solid",shape="box"];562 -> 693[label="",style="solid", color="burlywood", weight=9]; 693 -> 620[label="",style="solid", color="burlywood", weight=3]; 563[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat Zero ww63)",fontsize=16,color="burlywood",shape="box"];694[label="ww63/Succ ww630",fontsize=10,color="white",style="solid",shape="box"];563 -> 694[label="",style="solid", color="burlywood", weight=9]; 694 -> 621[label="",style="solid", color="burlywood", weight=3]; 695[label="ww63/Zero",fontsize=10,color="white",style="solid",shape="box"];563 -> 695[label="",style="solid", color="burlywood", weight=9]; 695 -> 622[label="",style="solid", color="burlywood", weight=3]; 79 -> 53[label="",style="dashed", color="red", weight=0]; 79[label="List.insertBy primCmpInt (Pos (Succ ww300)) ww41",fontsize=16,color="magenta"];80 -> 10[label="",style="dashed", color="red", weight=0]; 80[label="List.insertBy0 ww410 primCmpInt (Pos (Succ ww300)) ww411 (ww410 : ww411) (primCmpInt (Pos (Succ ww300)) ww410)",fontsize=16,color="magenta"];80 -> 93[label="",style="dashed", color="magenta", weight=3]; 80 -> 94[label="",style="dashed", color="magenta", weight=3]; 80 -> 95[label="",style="dashed", color="magenta", weight=3]; 81[label="Pos (Succ ww300) : []",fontsize=16,color="green",shape="box"];82[label="List.insertBy primCmpInt (Pos Zero) (ww410 : ww411)",fontsize=16,color="black",shape="box"];82 -> 96[label="",style="solid", color="black", weight=3]; 83[label="List.insertBy primCmpInt (Pos Zero) []",fontsize=16,color="black",shape="box"];83 -> 97[label="",style="solid", color="black", weight=3]; 617[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat (Succ ww680) ww69)",fontsize=16,color="burlywood",shape="box"];696[label="ww69/Succ ww690",fontsize=10,color="white",style="solid",shape="box"];617 -> 696[label="",style="solid", color="burlywood", weight=9]; 696 -> 623[label="",style="solid", color="burlywood", weight=3]; 697[label="ww69/Zero",fontsize=10,color="white",style="solid",shape="box"];617 -> 697[label="",style="solid", color="burlywood", weight=9]; 697 -> 624[label="",style="solid", color="burlywood", weight=3]; 618[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat Zero ww69)",fontsize=16,color="burlywood",shape="box"];698[label="ww69/Succ ww690",fontsize=10,color="white",style="solid",shape="box"];618 -> 698[label="",style="solid", color="burlywood", weight=9]; 698 -> 625[label="",style="solid", color="burlywood", weight=3]; 699[label="ww69/Zero",fontsize=10,color="white",style="solid",shape="box"];618 -> 699[label="",style="solid", color="burlywood", weight=9]; 699 -> 626[label="",style="solid", color="burlywood", weight=3]; 88[label="List.insertBy primCmpInt (Neg Zero) ww41",fontsize=16,color="burlywood",shape="box"];700[label="ww41/ww410 : ww411",fontsize=10,color="white",style="solid",shape="box"];88 -> 700[label="",style="solid", color="burlywood", weight=9]; 700 -> 102[label="",style="solid", color="burlywood", weight=3]; 701[label="ww41/[]",fontsize=10,color="white",style="solid",shape="box"];88 -> 701[label="",style="solid", color="burlywood", weight=9]; 701 -> 103[label="",style="solid", color="burlywood", weight=3]; 619[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat (Succ ww620) (Succ ww630))",fontsize=16,color="black",shape="box"];619 -> 627[label="",style="solid", color="black", weight=3]; 620[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat (Succ ww620) Zero)",fontsize=16,color="black",shape="box"];620 -> 628[label="",style="solid", color="black", weight=3]; 621[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat Zero (Succ ww630))",fontsize=16,color="black",shape="box"];621 -> 629[label="",style="solid", color="black", weight=3]; 622[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat Zero Zero)",fontsize=16,color="black",shape="box"];622 -> 630[label="",style="solid", color="black", weight=3]; 93[label="ww411",fontsize=16,color="green",shape="box"];94[label="ww410",fontsize=16,color="green",shape="box"];95[label="Pos (Succ ww300)",fontsize=16,color="green",shape="box"];96 -> 10[label="",style="dashed", color="red", weight=0]; 96[label="List.insertBy0 ww410 primCmpInt (Pos Zero) ww411 (ww410 : ww411) (primCmpInt (Pos Zero) ww410)",fontsize=16,color="magenta"];96 -> 109[label="",style="dashed", color="magenta", weight=3]; 96 -> 110[label="",style="dashed", color="magenta", weight=3]; 96 -> 111[label="",style="dashed", color="magenta", weight=3]; 97[label="Pos Zero : []",fontsize=16,color="green",shape="box"];623[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat (Succ ww680) (Succ ww690))",fontsize=16,color="black",shape="box"];623 -> 631[label="",style="solid", color="black", weight=3]; 624[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat (Succ ww680) Zero)",fontsize=16,color="black",shape="box"];624 -> 632[label="",style="solid", color="black", weight=3]; 625[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat Zero (Succ ww690))",fontsize=16,color="black",shape="box"];625 -> 633[label="",style="solid", color="black", weight=3]; 626[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat Zero Zero)",fontsize=16,color="black",shape="box"];626 -> 634[label="",style="solid", color="black", weight=3]; 102[label="List.insertBy primCmpInt (Neg Zero) (ww410 : ww411)",fontsize=16,color="black",shape="box"];102 -> 117[label="",style="solid", color="black", weight=3]; 103[label="List.insertBy primCmpInt (Neg Zero) []",fontsize=16,color="black",shape="box"];103 -> 118[label="",style="solid", color="black", weight=3]; 627 -> 511[label="",style="dashed", color="red", weight=0]; 627[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat ww620 ww630)",fontsize=16,color="magenta"];627 -> 635[label="",style="dashed", color="magenta", weight=3]; 627 -> 636[label="",style="dashed", color="magenta", weight=3]; 628[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) GT",fontsize=16,color="black",shape="box"];628 -> 637[label="",style="solid", color="black", weight=3]; 629[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) LT",fontsize=16,color="black",shape="box"];629 -> 638[label="",style="solid", color="black", weight=3]; 630[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) EQ",fontsize=16,color="black",shape="box"];630 -> 639[label="",style="solid", color="black", weight=3]; 109[label="ww411",fontsize=16,color="green",shape="box"];110[label="ww410",fontsize=16,color="green",shape="box"];111[label="Pos Zero",fontsize=16,color="green",shape="box"];631 -> 566[label="",style="dashed", color="red", weight=0]; 631[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat ww680 ww690)",fontsize=16,color="magenta"];631 -> 640[label="",style="dashed", color="magenta", weight=3]; 631 -> 641[label="",style="dashed", color="magenta", weight=3]; 632[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) GT",fontsize=16,color="black",shape="box"];632 -> 642[label="",style="solid", color="black", weight=3]; 633[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) LT",fontsize=16,color="black",shape="box"];633 -> 643[label="",style="solid", color="black", weight=3]; 634[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) EQ",fontsize=16,color="black",shape="box"];634 -> 644[label="",style="solid", color="black", weight=3]; 117 -> 10[label="",style="dashed", color="red", weight=0]; 117[label="List.insertBy0 ww410 primCmpInt (Neg Zero) ww411 (ww410 : ww411) (primCmpInt (Neg Zero) ww410)",fontsize=16,color="magenta"];117 -> 129[label="",style="dashed", color="magenta", weight=3]; 117 -> 130[label="",style="dashed", color="magenta", weight=3]; 117 -> 131[label="",style="dashed", color="magenta", weight=3]; 118[label="Neg Zero : []",fontsize=16,color="green",shape="box"];635[label="ww630",fontsize=16,color="green",shape="box"];636[label="ww620",fontsize=16,color="green",shape="box"];637[label="Pos (Succ ww59) : List.insertBy primCmpInt (Pos (Succ ww60)) ww61",fontsize=16,color="green",shape="box"];637 -> 645[label="",style="dashed", color="green", weight=3]; 638[label="Pos (Succ ww60) : Pos (Succ ww59) : ww61",fontsize=16,color="green",shape="box"];639[label="Pos (Succ ww60) : Pos (Succ ww59) : ww61",fontsize=16,color="green",shape="box"];640[label="ww680",fontsize=16,color="green",shape="box"];641[label="ww690",fontsize=16,color="green",shape="box"];642[label="Neg (Succ ww65) : List.insertBy primCmpInt (Neg (Succ ww66)) ww67",fontsize=16,color="green",shape="box"];642 -> 646[label="",style="dashed", color="green", weight=3]; 643[label="Neg (Succ ww66) : Neg (Succ ww65) : ww67",fontsize=16,color="green",shape="box"];644[label="Neg (Succ ww66) : Neg (Succ ww65) : ww67",fontsize=16,color="green",shape="box"];129[label="ww411",fontsize=16,color="green",shape="box"];130[label="ww410",fontsize=16,color="green",shape="box"];131[label="Neg Zero",fontsize=16,color="green",shape="box"];645 -> 53[label="",style="dashed", color="red", weight=0]; 645[label="List.insertBy primCmpInt (Pos (Succ ww60)) ww61",fontsize=16,color="magenta"];645 -> 647[label="",style="dashed", color="magenta", weight=3]; 645 -> 648[label="",style="dashed", color="magenta", weight=3]; 646[label="List.insertBy primCmpInt (Neg (Succ ww66)) ww67",fontsize=16,color="burlywood",shape="box"];702[label="ww67/ww670 : ww671",fontsize=10,color="white",style="solid",shape="box"];646 -> 702[label="",style="solid", color="burlywood", weight=9]; 702 -> 649[label="",style="solid", color="burlywood", weight=3]; 703[label="ww67/[]",fontsize=10,color="white",style="solid",shape="box"];646 -> 703[label="",style="solid", color="burlywood", weight=9]; 703 -> 650[label="",style="solid", color="burlywood", weight=3]; 647[label="ww61",fontsize=16,color="green",shape="box"];648[label="ww60",fontsize=16,color="green",shape="box"];649[label="List.insertBy primCmpInt (Neg (Succ ww66)) (ww670 : ww671)",fontsize=16,color="black",shape="box"];649 -> 651[label="",style="solid", color="black", weight=3]; 650[label="List.insertBy primCmpInt (Neg (Succ ww66)) []",fontsize=16,color="black",shape="box"];650 -> 652[label="",style="solid", color="black", weight=3]; 651 -> 10[label="",style="dashed", color="red", weight=0]; 651[label="List.insertBy0 ww670 primCmpInt (Neg (Succ ww66)) ww671 (ww670 : ww671) (primCmpInt (Neg (Succ ww66)) ww670)",fontsize=16,color="magenta"];651 -> 653[label="",style="dashed", color="magenta", weight=3]; 651 -> 654[label="",style="dashed", color="magenta", weight=3]; 651 -> 655[label="",style="dashed", color="magenta", weight=3]; 652[label="Neg (Succ ww66) : []",fontsize=16,color="green",shape="box"];653[label="ww671",fontsize=16,color="green",shape="box"];654[label="ww670",fontsize=16,color="green",shape="box"];655[label="Neg (Succ ww66)",fontsize=16,color="green",shape="box"];} ---------------------------------------- (8) Obligation: Q DP problem: The TRS P consists of the following rules: new_insertBy00(Pos(Zero), Pos(Succ(ww300)), ww41) -> new_insertBy(ww300, ww41) new_insertBy01(ww65, ww66, :(ww670, ww671), Succ(ww680), Zero) -> new_insertBy00(ww670, Neg(Succ(ww66)), ww671) new_insertBy01(ww65, ww66, ww67, Succ(ww680), Succ(ww690)) -> new_insertBy01(ww65, ww66, ww67, ww680, ww690) new_insertBy(ww300, :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Succ(ww300)), ww411) new_insertBy0(ww59, ww60, ww61, Succ(ww620), Succ(ww630)) -> new_insertBy0(ww59, ww60, ww61, ww620, ww630) new_insertBy00(Neg(ww400), Pos(Succ(ww300)), :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Succ(ww300)), ww411) new_insertBy0(ww59, ww60, ww61, Succ(ww620), Zero) -> new_insertBy(ww60, ww61) new_insertBy00(Neg(Succ(ww4000)), Pos(Zero), :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Zero), ww411) new_insertBy00(Neg(Succ(ww4000)), Neg(Succ(ww300)), ww41) -> new_insertBy01(ww4000, ww300, ww41, ww4000, ww300) new_insertBy00(Neg(Succ(ww4000)), Neg(Zero), :(ww410, ww411)) -> new_insertBy00(ww410, Neg(Zero), ww411) new_insertBy00(Pos(Succ(ww4000)), Pos(Succ(ww300)), ww41) -> new_insertBy0(ww4000, ww300, ww41, ww300, ww4000) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (9) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs. ---------------------------------------- (10) Complex Obligation (AND) ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: new_insertBy00(Neg(Succ(ww4000)), Neg(Zero), :(ww410, ww411)) -> new_insertBy00(ww410, Neg(Zero), ww411) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (12) 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_insertBy00(Neg(Succ(ww4000)), Neg(Zero), :(ww410, ww411)) -> new_insertBy00(ww410, Neg(Zero), ww411) The graph contains the following edges 3 > 1, 2 >= 2, 3 > 3 ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: Q DP problem: The TRS P consists of the following rules: new_insertBy00(Neg(Succ(ww4000)), Pos(Zero), :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Zero), ww411) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (15) 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_insertBy00(Neg(Succ(ww4000)), Pos(Zero), :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Zero), ww411) The graph contains the following edges 3 > 1, 2 >= 2, 3 > 3 ---------------------------------------- (16) YES ---------------------------------------- (17) Obligation: Q DP problem: The TRS P consists of the following rules: new_insertBy00(Neg(Succ(ww4000)), Neg(Succ(ww300)), ww41) -> new_insertBy01(ww4000, ww300, ww41, ww4000, ww300) new_insertBy01(ww65, ww66, :(ww670, ww671), Succ(ww680), Zero) -> new_insertBy00(ww670, Neg(Succ(ww66)), ww671) new_insertBy01(ww65, ww66, ww67, Succ(ww680), Succ(ww690)) -> new_insertBy01(ww65, ww66, ww67, ww680, ww690) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (18) 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_insertBy01(ww65, ww66, :(ww670, ww671), Succ(ww680), Zero) -> new_insertBy00(ww670, Neg(Succ(ww66)), ww671) The graph contains the following edges 3 > 1, 3 > 3 *new_insertBy01(ww65, ww66, ww67, Succ(ww680), Succ(ww690)) -> new_insertBy01(ww65, ww66, ww67, ww680, ww690) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5 *new_insertBy00(Neg(Succ(ww4000)), Neg(Succ(ww300)), ww41) -> new_insertBy01(ww4000, ww300, ww41, ww4000, ww300) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3, 1 > 4, 2 > 5 ---------------------------------------- (19) YES ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: new_insertBy(ww300, :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Succ(ww300)), ww411) new_insertBy00(Pos(Zero), Pos(Succ(ww300)), ww41) -> new_insertBy(ww300, ww41) new_insertBy00(Neg(ww400), Pos(Succ(ww300)), :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Succ(ww300)), ww411) new_insertBy00(Pos(Succ(ww4000)), Pos(Succ(ww300)), ww41) -> new_insertBy0(ww4000, ww300, ww41, ww300, ww4000) new_insertBy0(ww59, ww60, ww61, Succ(ww620), Succ(ww630)) -> new_insertBy0(ww59, ww60, ww61, ww620, ww630) new_insertBy0(ww59, ww60, ww61, Succ(ww620), Zero) -> new_insertBy(ww60, ww61) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (21) 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_insertBy00(Pos(Zero), Pos(Succ(ww300)), ww41) -> new_insertBy(ww300, ww41) The graph contains the following edges 2 > 1, 3 >= 2 *new_insertBy0(ww59, ww60, ww61, Succ(ww620), Zero) -> new_insertBy(ww60, ww61) The graph contains the following edges 2 >= 1, 3 >= 2 *new_insertBy00(Neg(ww400), Pos(Succ(ww300)), :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Succ(ww300)), ww411) The graph contains the following edges 3 > 1, 2 >= 2, 3 > 3 *new_insertBy00(Pos(Succ(ww4000)), Pos(Succ(ww300)), ww41) -> new_insertBy0(ww4000, ww300, ww41, ww300, ww4000) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3, 2 > 4, 1 > 5 *new_insertBy(ww300, :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Succ(ww300)), ww411) The graph contains the following edges 2 > 1, 2 > 3 *new_insertBy0(ww59, ww60, ww61, Succ(ww620), Succ(ww630)) -> new_insertBy0(ww59, ww60, ww61, ww620, ww630) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5 ---------------------------------------- (22) YES