/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty H-Termination with start terms of the given HASKELL could be proven: (0) HASKELL (1) BR [EQUIVALENT, 0 ms] (2) HASKELL (3) COR [EQUIVALENT, 0 ms] (4) HASKELL (5) NumRed [SOUND, 0 ms] (6) HASKELL (7) Narrow [SOUND, 0 ms] (8) QDP (9) QDPPairToRuleProof [EQUIVALENT, 0 ms] (10) AND (11) QDP (12) DependencyGraphProof [EQUIVALENT, 0 ms] (13) QDP (14) TransformationProof [EQUIVALENT, 0 ms] (15) QDP (16) TransformationProof [EQUIVALENT, 0 ms] (17) QDP (18) UsableRulesProof [EQUIVALENT, 0 ms] (19) QDP (20) QReductionProof [EQUIVALENT, 0 ms] (21) QDP (22) TransformationProof [EQUIVALENT, 0 ms] (23) QDP (24) TransformationProof [EQUIVALENT, 1 ms] (25) QDP (26) TransformationProof [EQUIVALENT, 0 ms] (27) QDP (28) TransformationProof [EQUIVALENT, 0 ms] (29) QDP (30) TransformationProof [EQUIVALENT, 0 ms] (31) QDP (32) TransformationProof [EQUIVALENT, 0 ms] (33) QDP (34) TransformationProof [EQUIVALENT, 0 ms] (35) QDP (36) TransformationProof [EQUIVALENT, 0 ms] (37) QDP (38) TransformationProof [EQUIVALENT, 0 ms] (39) QDP (40) TransformationProof [EQUIVALENT, 0 ms] (41) QDP (42) TransformationProof [EQUIVALENT, 0 ms] (43) QDP (44) TransformationProof [EQUIVALENT, 0 ms] (45) QDP (46) TransformationProof [EQUIVALENT, 0 ms] (47) QDP (48) UsableRulesProof [EQUIVALENT, 0 ms] (49) QDP (50) TransformationProof [EQUIVALENT, 0 ms] (51) QDP (52) UsableRulesProof [EQUIVALENT, 0 ms] (53) QDP (54) QReductionProof [EQUIVALENT, 0 ms] (55) QDP (56) TransformationProof [EQUIVALENT, 0 ms] (57) QDP (58) TransformationProof [EQUIVALENT, 0 ms] (59) QDP (60) TransformationProof [EQUIVALENT, 0 ms] (61) QDP (62) TransformationProof [EQUIVALENT, 0 ms] (63) QDP (64) TransformationProof [EQUIVALENT, 0 ms] (65) QDP (66) TransformationProof [EQUIVALENT, 0 ms] (67) QDP (68) TransformationProof [EQUIVALENT, 0 ms] (69) QDP (70) TransformationProof [EQUIVALENT, 0 ms] (71) QDP (72) QDPOrderProof [EQUIVALENT, 9 ms] (73) QDP (74) TransformationProof [EQUIVALENT, 0 ms] (75) QDP (76) DependencyGraphProof [EQUIVALENT, 0 ms] (77) QDP (78) InductionCalculusProof [EQUIVALENT, 8 ms] (79) QDP (80) NonInfProof [EQUIVALENT, 89 ms] (81) QDP (82) InductionCalculusProof [EQUIVALENT, 0 ms] (83) QDP (84) NonInfProof [EQUIVALENT, 77 ms] (85) AND (86) QDP (87) DependencyGraphProof [EQUIVALENT, 0 ms] (88) TRUE (89) QDP (90) InductionCalculusProof [EQUIVALENT, 0 ms] (91) QDP (92) NonInfProof [EQUIVALENT, 25 ms] (93) QDP (94) DependencyGraphProof [EQUIVALENT, 0 ms] (95) TRUE (96) QDP (97) QDPSizeChangeProof [EQUIVALENT, 0 ms] (98) YES ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "takeWhile p [] = []; takeWhile p (x : xs)|p xx : takeWhile p xs|otherwise[]; " is transformed to "takeWhile p [] = takeWhile3 p []; takeWhile p (x : xs) = takeWhile2 p (x : xs); " "takeWhile1 p x xs True = x : takeWhile p xs; takeWhile1 p x xs False = takeWhile0 p x xs otherwise; " "takeWhile0 p x xs True = []; " "takeWhile2 p (x : xs) = takeWhile1 p x xs (p x); " "takeWhile3 p [] = []; takeWhile3 vz wu = takeWhile2 vz wu; " The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (6) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (7) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="enumFromTo",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="enumFromTo wv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="enumFromTo wv3 wv4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="map toEnum (enumFromTo (fromEnum wv3) (fromEnum wv4))",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="map toEnum (numericEnumFromTo (fromEnum wv3) (fromEnum wv4))",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="map toEnum (takeWhile (flip (<=) (fromEnum wv4)) (numericEnumFrom (fromEnum wv3)))",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 8[label="map toEnum (takeWhile (flip (<=) (fromEnum wv4)) (fromEnum wv3 : (numericEnumFrom $! fromEnum wv3 + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 9[label="map toEnum (takeWhile2 (flip (<=) (fromEnum wv4)) (fromEnum wv3 : (numericEnumFrom $! fromEnum wv3 + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 10[label="map toEnum (takeWhile1 (flip (<=) (fromEnum wv4)) (fromEnum wv3) (numericEnumFrom $! fromEnum wv3 + fromInt (Pos (Succ Zero))) (flip (<=) (fromEnum wv4) (fromEnum wv3)))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 11[label="map toEnum (takeWhile1 (flip (<=) (fromEnum wv4)) (fromEnum wv3) (numericEnumFrom $! fromEnum wv3 + fromInt (Pos (Succ Zero))) ((<=) fromEnum wv3 fromEnum wv4))",fontsize=16,color="black",shape="box"];11 -> 12[label="",style="solid", color="black", weight=3]; 12[label="map toEnum (takeWhile1 (flip (<=) (fromEnum wv4)) (fromEnum wv3) (numericEnumFrom $! fromEnum wv3 + fromInt (Pos (Succ Zero))) (compare (fromEnum wv3) (fromEnum wv4) /= GT))",fontsize=16,color="black",shape="box"];12 -> 13[label="",style="solid", color="black", weight=3]; 13[label="map toEnum (takeWhile1 (flip (<=) (fromEnum wv4)) (fromEnum wv3) (numericEnumFrom $! fromEnum wv3 + fromInt (Pos (Succ Zero))) (not (compare (fromEnum wv3) (fromEnum wv4) == GT)))",fontsize=16,color="black",shape="box"];13 -> 14[label="",style="solid", color="black", weight=3]; 14[label="map toEnum (takeWhile1 (flip (<=) (fromEnum wv4)) (fromEnum wv3) (numericEnumFrom $! fromEnum wv3 + fromInt (Pos (Succ Zero))) (not (primCmpInt (fromEnum wv3) (fromEnum wv4) == GT)))",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 15[label="map toEnum (takeWhile1 (flip (<=) (fromEnum wv4)) (primCharToInt wv3) (numericEnumFrom $! primCharToInt wv3 + fromInt (Pos (Succ Zero))) (not (primCmpInt (primCharToInt wv3) (fromEnum wv4) == GT)))",fontsize=16,color="burlywood",shape="box"];559[label="wv3/Char wv30",fontsize=10,color="white",style="solid",shape="box"];15 -> 559[label="",style="solid", color="burlywood", weight=9]; 559 -> 16[label="",style="solid", color="burlywood", weight=3]; 16[label="map toEnum (takeWhile1 (flip (<=) (fromEnum wv4)) (primCharToInt (Char wv30)) (numericEnumFrom $! primCharToInt (Char wv30) + fromInt (Pos (Succ Zero))) (not (primCmpInt (primCharToInt (Char wv30)) (fromEnum wv4) == GT)))",fontsize=16,color="black",shape="box"];16 -> 17[label="",style="solid", color="black", weight=3]; 17[label="map toEnum (takeWhile1 (flip (<=) (fromEnum wv4)) (Pos wv30) (numericEnumFrom $! Pos wv30 + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos wv30) (fromEnum wv4) == GT)))",fontsize=16,color="burlywood",shape="box"];560[label="wv30/Succ wv300",fontsize=10,color="white",style="solid",shape="box"];17 -> 560[label="",style="solid", color="burlywood", weight=9]; 560 -> 18[label="",style="solid", color="burlywood", weight=3]; 561[label="wv30/Zero",fontsize=10,color="white",style="solid",shape="box"];17 -> 561[label="",style="solid", color="burlywood", weight=9]; 561 -> 19[label="",style="solid", color="burlywood", weight=3]; 18[label="map toEnum (takeWhile1 (flip (<=) (fromEnum wv4)) (Pos (Succ wv300)) (numericEnumFrom $! Pos (Succ wv300) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ wv300)) (fromEnum wv4) == GT)))",fontsize=16,color="black",shape="box"];18 -> 20[label="",style="solid", color="black", weight=3]; 19[label="map toEnum (takeWhile1 (flip (<=) (fromEnum wv4)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (fromEnum wv4) == GT)))",fontsize=16,color="black",shape="box"];19 -> 21[label="",style="solid", color="black", weight=3]; 20[label="map toEnum (takeWhile1 (flip (<=) (primCharToInt wv4)) (Pos (Succ wv300)) (numericEnumFrom $! Pos (Succ wv300) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ wv300)) (primCharToInt wv4) == GT)))",fontsize=16,color="burlywood",shape="box"];562[label="wv4/Char wv40",fontsize=10,color="white",style="solid",shape="box"];20 -> 562[label="",style="solid", color="burlywood", weight=9]; 562 -> 22[label="",style="solid", color="burlywood", weight=3]; 21[label="map toEnum (takeWhile1 (flip (<=) (primCharToInt wv4)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (primCharToInt wv4) == GT)))",fontsize=16,color="burlywood",shape="box"];563[label="wv4/Char wv40",fontsize=10,color="white",style="solid",shape="box"];21 -> 563[label="",style="solid", color="burlywood", weight=9]; 563 -> 23[label="",style="solid", color="burlywood", weight=3]; 22[label="map toEnum (takeWhile1 (flip (<=) (primCharToInt (Char wv40))) (Pos (Succ wv300)) (numericEnumFrom $! Pos (Succ wv300) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ wv300)) (primCharToInt (Char wv40)) == GT)))",fontsize=16,color="black",shape="box"];22 -> 24[label="",style="solid", color="black", weight=3]; 23[label="map toEnum (takeWhile1 (flip (<=) (primCharToInt (Char wv40))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (primCharToInt (Char wv40)) == GT)))",fontsize=16,color="black",shape="box"];23 -> 25[label="",style="solid", color="black", weight=3]; 24[label="map toEnum (takeWhile1 (flip (<=) (Pos wv40)) (Pos (Succ wv300)) (numericEnumFrom $! Pos (Succ wv300) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ wv300)) (Pos wv40) == GT)))",fontsize=16,color="black",shape="triangle"];24 -> 26[label="",style="solid", color="black", weight=3]; 25[label="map toEnum (takeWhile1 (flip (<=) (Pos wv40)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos wv40) == GT)))",fontsize=16,color="burlywood",shape="box"];564[label="wv40/Succ wv400",fontsize=10,color="white",style="solid",shape="box"];25 -> 564[label="",style="solid", color="burlywood", weight=9]; 564 -> 27[label="",style="solid", color="burlywood", weight=3]; 565[label="wv40/Zero",fontsize=10,color="white",style="solid",shape="box"];25 -> 565[label="",style="solid", color="burlywood", weight=9]; 565 -> 28[label="",style="solid", color="burlywood", weight=3]; 26[label="map toEnum (takeWhile1 (flip (<=) (Pos wv40)) (Pos (Succ wv300)) (numericEnumFrom $! Pos (Succ wv300) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ wv300) wv40 == GT)))",fontsize=16,color="burlywood",shape="box"];566[label="wv40/Succ wv400",fontsize=10,color="white",style="solid",shape="box"];26 -> 566[label="",style="solid", color="burlywood", weight=9]; 566 -> 29[label="",style="solid", color="burlywood", weight=3]; 567[label="wv40/Zero",fontsize=10,color="white",style="solid",shape="box"];26 -> 567[label="",style="solid", color="burlywood", weight=9]; 567 -> 30[label="",style="solid", color="burlywood", weight=3]; 27[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv400))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos (Succ wv400)) == GT)))",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 28[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 29[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv400))) (Pos (Succ wv300)) (numericEnumFrom $! Pos (Succ wv300) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ wv300) (Succ wv400) == GT)))",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 30[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ wv300)) (numericEnumFrom $! Pos (Succ wv300) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ wv300) Zero == GT)))",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 31[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv400))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ wv400) == GT)))",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 32[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT)))",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 33 -> 450[label="",style="dashed", color="red", weight=0]; 33[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv400))) (Pos (Succ wv300)) (numericEnumFrom $! Pos (Succ wv300) + fromInt (Pos (Succ Zero))) (not (primCmpNat wv300 wv400 == GT)))",fontsize=16,color="magenta"];33 -> 451[label="",style="dashed", color="magenta", weight=3]; 33 -> 452[label="",style="dashed", color="magenta", weight=3]; 33 -> 453[label="",style="dashed", color="magenta", weight=3]; 33 -> 454[label="",style="dashed", color="magenta", weight=3]; 34[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ wv300)) (numericEnumFrom $! Pos (Succ wv300) + fromInt (Pos (Succ Zero))) (not (GT == GT)))",fontsize=16,color="black",shape="box"];34 -> 39[label="",style="solid", color="black", weight=3]; 35[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv400))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (LT == GT)))",fontsize=16,color="black",shape="box"];35 -> 40[label="",style="solid", color="black", weight=3]; 36[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False))",fontsize=16,color="black",shape="box"];36 -> 41[label="",style="solid", color="black", weight=3]; 451[label="wv300",fontsize=16,color="green",shape="box"];452[label="wv300",fontsize=16,color="green",shape="box"];453[label="wv400",fontsize=16,color="green",shape="box"];454[label="wv400",fontsize=16,color="green",shape="box"];450[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not (primCmpNat wv24 wv25 == GT)))",fontsize=16,color="burlywood",shape="triangle"];568[label="wv24/Succ wv240",fontsize=10,color="white",style="solid",shape="box"];450 -> 568[label="",style="solid", color="burlywood", weight=9]; 568 -> 491[label="",style="solid", color="burlywood", weight=3]; 569[label="wv24/Zero",fontsize=10,color="white",style="solid",shape="box"];450 -> 569[label="",style="solid", color="burlywood", weight=9]; 569 -> 492[label="",style="solid", color="burlywood", weight=3]; 39[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ wv300)) (numericEnumFrom $! Pos (Succ wv300) + fromInt (Pos (Succ Zero))) (not True))",fontsize=16,color="black",shape="box"];39 -> 46[label="",style="solid", color="black", weight=3]; 40[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv400))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False))",fontsize=16,color="black",shape="box"];40 -> 47[label="",style="solid", color="black", weight=3]; 41[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True)",fontsize=16,color="black",shape="box"];41 -> 48[label="",style="solid", color="black", weight=3]; 491[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ wv240) wv25 == GT)))",fontsize=16,color="burlywood",shape="box"];570[label="wv25/Succ wv250",fontsize=10,color="white",style="solid",shape="box"];491 -> 570[label="",style="solid", color="burlywood", weight=9]; 570 -> 493[label="",style="solid", color="burlywood", weight=3]; 571[label="wv25/Zero",fontsize=10,color="white",style="solid",shape="box"];491 -> 571[label="",style="solid", color="burlywood", weight=9]; 571 -> 494[label="",style="solid", color="burlywood", weight=3]; 492[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero wv25 == GT)))",fontsize=16,color="burlywood",shape="box"];572[label="wv25/Succ wv250",fontsize=10,color="white",style="solid",shape="box"];492 -> 572[label="",style="solid", color="burlywood", weight=9]; 572 -> 495[label="",style="solid", color="burlywood", weight=3]; 573[label="wv25/Zero",fontsize=10,color="white",style="solid",shape="box"];492 -> 573[label="",style="solid", color="burlywood", weight=9]; 573 -> 496[label="",style="solid", color="burlywood", weight=3]; 46[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ wv300)) (numericEnumFrom $! Pos (Succ wv300) + fromInt (Pos (Succ Zero))) False)",fontsize=16,color="black",shape="box"];46 -> 53[label="",style="solid", color="black", weight=3]; 47[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv400))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True)",fontsize=16,color="black",shape="box"];47 -> 54[label="",style="solid", color="black", weight=3]; 48[label="map toEnum (Pos Zero : takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];48 -> 55[label="",style="solid", color="black", weight=3]; 493[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ wv240) (Succ wv250) == GT)))",fontsize=16,color="black",shape="box"];493 -> 497[label="",style="solid", color="black", weight=3]; 494[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ wv240) Zero == GT)))",fontsize=16,color="black",shape="box"];494 -> 498[label="",style="solid", color="black", weight=3]; 495[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ wv250) == GT)))",fontsize=16,color="black",shape="box"];495 -> 499[label="",style="solid", color="black", weight=3]; 496[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero Zero == GT)))",fontsize=16,color="black",shape="box"];496 -> 500[label="",style="solid", color="black", weight=3]; 53[label="map toEnum (takeWhile0 (flip (<=) (Pos Zero)) (Pos (Succ wv300)) (numericEnumFrom $! Pos (Succ wv300) + fromInt (Pos (Succ Zero))) otherwise)",fontsize=16,color="black",shape="box"];53 -> 61[label="",style="solid", color="black", weight=3]; 54[label="map toEnum (Pos Zero : takeWhile (flip (<=) (Pos (Succ wv400))) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];54 -> 62[label="",style="solid", color="black", weight=3]; 55[label="toEnum (Pos Zero) : map toEnum (takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="green",shape="box"];55 -> 63[label="",style="dashed", color="green", weight=3]; 55 -> 64[label="",style="dashed", color="green", weight=3]; 497 -> 450[label="",style="dashed", color="red", weight=0]; 497[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not (primCmpNat wv240 wv250 == GT)))",fontsize=16,color="magenta"];497 -> 501[label="",style="dashed", color="magenta", weight=3]; 497 -> 502[label="",style="dashed", color="magenta", weight=3]; 498[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not (GT == GT)))",fontsize=16,color="black",shape="box"];498 -> 503[label="",style="solid", color="black", weight=3]; 499[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not (LT == GT)))",fontsize=16,color="black",shape="box"];499 -> 504[label="",style="solid", color="black", weight=3]; 500[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not (EQ == GT)))",fontsize=16,color="black",shape="box"];500 -> 505[label="",style="solid", color="black", weight=3]; 61[label="map toEnum (takeWhile0 (flip (<=) (Pos Zero)) (Pos (Succ wv300)) (numericEnumFrom $! Pos (Succ wv300) + fromInt (Pos (Succ Zero))) True)",fontsize=16,color="black",shape="box"];61 -> 72[label="",style="solid", color="black", weight=3]; 62[label="toEnum (Pos Zero) : map toEnum (takeWhile (flip (<=) (Pos (Succ wv400))) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="green",shape="box"];62 -> 73[label="",style="dashed", color="green", weight=3]; 62 -> 74[label="",style="dashed", color="green", weight=3]; 63[label="toEnum (Pos Zero)",fontsize=16,color="black",shape="triangle"];63 -> 75[label="",style="solid", color="black", weight=3]; 64[label="map toEnum (takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];64 -> 76[label="",style="solid", color="black", weight=3]; 501[label="wv240",fontsize=16,color="green",shape="box"];502[label="wv250",fontsize=16,color="green",shape="box"];503[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not True))",fontsize=16,color="black",shape="box"];503 -> 506[label="",style="solid", color="black", weight=3]; 504[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not False))",fontsize=16,color="black",shape="triangle"];504 -> 507[label="",style="solid", color="black", weight=3]; 505 -> 504[label="",style="dashed", color="red", weight=0]; 505[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) (not False))",fontsize=16,color="magenta"];72[label="map toEnum []",fontsize=16,color="black",shape="triangle"];72 -> 84[label="",style="solid", color="black", weight=3]; 73 -> 63[label="",style="dashed", color="red", weight=0]; 73[label="toEnum (Pos Zero)",fontsize=16,color="magenta"];74[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv400))) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];74 -> 85[label="",style="solid", color="black", weight=3]; 75[label="primIntToChar (Pos Zero)",fontsize=16,color="black",shape="box"];75 -> 86[label="",style="solid", color="black", weight=3]; 76[label="map toEnum (takeWhile (flip (<=) (Pos Zero)) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];76 -> 87[label="",style="solid", color="black", weight=3]; 506[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) False)",fontsize=16,color="black",shape="box"];506 -> 508[label="",style="solid", color="black", weight=3]; 507[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) True)",fontsize=16,color="black",shape="box"];507 -> 509[label="",style="solid", color="black", weight=3]; 84[label="[]",fontsize=16,color="green",shape="box"];85[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv400))) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];85 -> 96[label="",style="solid", color="black", weight=3]; 86[label="Char Zero",fontsize=16,color="green",shape="box"];87[label="map toEnum (takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];87 -> 97[label="",style="solid", color="black", weight=3]; 508[label="map toEnum (takeWhile0 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) otherwise)",fontsize=16,color="black",shape="box"];508 -> 510[label="",style="solid", color="black", weight=3]; 509[label="map toEnum (Pos (Succ wv23) : takeWhile (flip (<=) (Pos (Succ wv22))) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];509 -> 511[label="",style="solid", color="black", weight=3]; 96[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv400))) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];96 -> 110[label="",style="solid", color="black", weight=3]; 97[label="map toEnum (takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];97 -> 111[label="",style="solid", color="black", weight=3]; 510[label="map toEnum (takeWhile0 (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23)) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))) True)",fontsize=16,color="black",shape="box"];510 -> 512[label="",style="solid", color="black", weight=3]; 511[label="toEnum (Pos (Succ wv23)) : map toEnum (takeWhile (flip (<=) (Pos (Succ wv22))) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))))",fontsize=16,color="green",shape="box"];511 -> 513[label="",style="dashed", color="green", weight=3]; 511 -> 514[label="",style="dashed", color="green", weight=3]; 110[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv400))) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];110 -> 122[label="",style="solid", color="black", weight=3]; 111[label="map toEnum (takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];111 -> 123[label="",style="solid", color="black", weight=3]; 512[label="map toEnum []",fontsize=16,color="black",shape="box"];512 -> 515[label="",style="solid", color="black", weight=3]; 513[label="toEnum (Pos (Succ wv23))",fontsize=16,color="blue",shape="box"];574[label="toEnum :: Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];513 -> 574[label="",style="solid", color="blue", weight=9]; 574 -> 516[label="",style="solid", color="blue", weight=3]; 575[label="toEnum :: Int -> Double",fontsize=10,color="white",style="solid",shape="box"];513 -> 575[label="",style="solid", color="blue", weight=9]; 575 -> 517[label="",style="solid", color="blue", weight=3]; 576[label="toEnum :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];513 -> 576[label="",style="solid", color="blue", weight=9]; 576 -> 518[label="",style="solid", color="blue", weight=3]; 577[label="toEnum :: Int -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];513 -> 577[label="",style="solid", color="blue", weight=9]; 577 -> 519[label="",style="solid", color="blue", weight=3]; 578[label="toEnum :: Int -> Ordering",fontsize=10,color="white",style="solid",shape="box"];513 -> 578[label="",style="solid", color="blue", weight=9]; 578 -> 520[label="",style="solid", color="blue", weight=3]; 579[label="toEnum :: Int -> Char",fontsize=10,color="white",style="solid",shape="box"];513 -> 579[label="",style="solid", color="blue", weight=9]; 579 -> 521[label="",style="solid", color="blue", weight=3]; 580[label="toEnum :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];513 -> 580[label="",style="solid", color="blue", weight=9]; 580 -> 522[label="",style="solid", color="blue", weight=3]; 581[label="toEnum :: Int -> Float",fontsize=10,color="white",style="solid",shape="box"];513 -> 581[label="",style="solid", color="blue", weight=9]; 581 -> 523[label="",style="solid", color="blue", weight=3]; 582[label="toEnum :: Int -> ()",fontsize=10,color="white",style="solid",shape="box"];513 -> 582[label="",style="solid", color="blue", weight=9]; 582 -> 524[label="",style="solid", color="blue", weight=3]; 514[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv22))) (numericEnumFrom $! Pos (Succ wv23) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];514 -> 525[label="",style="solid", color="black", weight=3]; 122[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv400))) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];122 -> 135[label="",style="solid", color="black", weight=3]; 123[label="map toEnum (takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))))",fontsize=16,color="black",shape="box"];123 -> 136[label="",style="solid", color="black", weight=3]; 515[label="[]",fontsize=16,color="green",shape="box"];516[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];516 -> 526[label="",style="solid", color="black", weight=3]; 517[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];517 -> 527[label="",style="solid", color="black", weight=3]; 518[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];518 -> 528[label="",style="solid", color="black", weight=3]; 519[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];519 -> 529[label="",style="solid", color="black", weight=3]; 520[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];520 -> 530[label="",style="solid", color="black", weight=3]; 521[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];521 -> 531[label="",style="solid", color="black", weight=3]; 522[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];522 -> 532[label="",style="solid", color="black", weight=3]; 523[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];523 -> 533[label="",style="solid", color="black", weight=3]; 524[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];524 -> 534[label="",style="solid", color="black", weight=3]; 525[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv22))) (Pos (Succ wv23) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos (Succ wv23) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];525 -> 535[label="",style="solid", color="black", weight=3]; 135[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv400))) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))))",fontsize=16,color="black",shape="box"];135 -> 151[label="",style="solid", color="black", weight=3]; 136[label="map toEnum (takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];136 -> 152[label="",style="solid", color="black", weight=3]; 526[label="error []",fontsize=16,color="red",shape="box"];527[label="error []",fontsize=16,color="red",shape="box"];528[label="error []",fontsize=16,color="red",shape="box"];529[label="error []",fontsize=16,color="red",shape="box"];530[label="error []",fontsize=16,color="red",shape="box"];531[label="primIntToChar (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];531 -> 536[label="",style="solid", color="black", weight=3]; 532[label="error []",fontsize=16,color="red",shape="box"];533[label="error []",fontsize=16,color="red",shape="box"];534[label="error []",fontsize=16,color="red",shape="box"];535[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv22))) (enforceWHNF (WHNF (Pos (Succ wv23) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos (Succ wv23) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];535 -> 537[label="",style="solid", color="black", weight=3]; 151[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv400))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];151 -> 165[label="",style="solid", color="black", weight=3]; 152[label="map toEnum (takeWhile (flip (<=) (Pos Zero)) (Pos (primPlusNat Zero (Succ Zero)) : (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];152 -> 166[label="",style="solid", color="black", weight=3]; 536[label="Char (Succ wv23)",fontsize=16,color="green",shape="box"];537[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv22))) (enforceWHNF (WHNF (primPlusInt (Pos (Succ wv23)) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos (Succ wv23)) (fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];537 -> 538[label="",style="solid", color="black", weight=3]; 165[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv400))) (Pos (primPlusNat Zero (Succ Zero)) : (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];165 -> 180[label="",style="solid", color="black", weight=3]; 166[label="map toEnum (takeWhile2 (flip (<=) (Pos Zero)) (Pos (primPlusNat Zero (Succ Zero)) : (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];166 -> 181[label="",style="solid", color="black", weight=3]; 538[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv22))) (enforceWHNF (WHNF (primPlusInt (Pos (Succ wv23)) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos (Succ wv23)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];538 -> 539[label="",style="solid", color="black", weight=3]; 180[label="map toEnum (takeWhile2 (flip (<=) (Pos (Succ wv400))) (Pos (primPlusNat Zero (Succ Zero)) : (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];180 -> 198[label="",style="solid", color="black", weight=3]; 181[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos (primPlusNat Zero (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero))) (flip (<=) (Pos Zero) (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];181 -> 199[label="",style="solid", color="black", weight=3]; 539[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv22))) (enforceWHNF (WHNF (Pos (primPlusNat (Succ wv23) (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat (Succ wv23) (Succ Zero))))))",fontsize=16,color="black",shape="box"];539 -> 540[label="",style="solid", color="black", weight=3]; 198[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv400))) (Pos (primPlusNat Zero (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero))) (flip (<=) (Pos (Succ wv400)) (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];198 -> 214[label="",style="solid", color="black", weight=3]; 199[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos (primPlusNat Zero (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero))) ((<=) Pos (primPlusNat Zero (Succ Zero)) Pos Zero))",fontsize=16,color="black",shape="box"];199 -> 215[label="",style="solid", color="black", weight=3]; 540[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv22))) (numericEnumFrom (Pos (primPlusNat (Succ wv23) (Succ Zero)))))",fontsize=16,color="black",shape="box"];540 -> 541[label="",style="solid", color="black", weight=3]; 214[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv400))) (Pos (primPlusNat Zero (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero))) ((<=) Pos (primPlusNat Zero (Succ Zero)) Pos (Succ wv400)))",fontsize=16,color="black",shape="box"];214 -> 231[label="",style="solid", color="black", weight=3]; 215[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos (primPlusNat Zero (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero))) (compare (Pos (primPlusNat Zero (Succ Zero))) (Pos Zero) /= GT))",fontsize=16,color="black",shape="box"];215 -> 232[label="",style="solid", color="black", weight=3]; 541[label="map toEnum (takeWhile (flip (<=) (Pos (Succ wv22))) (Pos (primPlusNat (Succ wv23) (Succ Zero)) : (numericEnumFrom $! Pos (primPlusNat (Succ wv23) (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];541 -> 542[label="",style="solid", color="black", weight=3]; 231[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv400))) (Pos (primPlusNat Zero (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero))) (compare (Pos (primPlusNat Zero (Succ Zero))) (Pos (Succ wv400)) /= GT))",fontsize=16,color="black",shape="box"];231 -> 253[label="",style="solid", color="black", weight=3]; 232[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos (primPlusNat Zero (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero))) (not (compare (Pos (primPlusNat Zero (Succ Zero))) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];232 -> 254[label="",style="solid", color="black", weight=3]; 542[label="map toEnum (takeWhile2 (flip (<=) (Pos (Succ wv22))) (Pos (primPlusNat (Succ wv23) (Succ Zero)) : (numericEnumFrom $! Pos (primPlusNat (Succ wv23) (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];542 -> 543[label="",style="solid", color="black", weight=3]; 253[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv400))) (Pos (primPlusNat Zero (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero))) (not (compare (Pos (primPlusNat Zero (Succ Zero))) (Pos (Succ wv400)) == GT)))",fontsize=16,color="black",shape="box"];253 -> 270[label="",style="solid", color="black", weight=3]; 254[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos (primPlusNat Zero (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (primPlusNat Zero (Succ Zero))) (Pos Zero) == GT)))",fontsize=16,color="black",shape="box"];254 -> 271[label="",style="solid", color="black", weight=3]; 543[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (primPlusNat (Succ wv23) (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat (Succ wv23) (Succ Zero)) + fromInt (Pos (Succ Zero))) (flip (<=) (Pos (Succ wv22)) (Pos (primPlusNat (Succ wv23) (Succ Zero)))))",fontsize=16,color="black",shape="box"];543 -> 544[label="",style="solid", color="black", weight=3]; 270[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv400))) (Pos (primPlusNat Zero (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat Zero (Succ Zero)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (primPlusNat Zero (Succ Zero))) (Pos (Succ wv400)) == GT)))",fontsize=16,color="black",shape="box"];270 -> 288[label="",style="solid", color="black", weight=3]; 271 -> 24[label="",style="dashed", color="red", weight=0]; 271[label="map toEnum (takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ Zero)) (numericEnumFrom $! Pos (Succ Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ Zero)) (Pos Zero) == GT)))",fontsize=16,color="magenta"];271 -> 289[label="",style="dashed", color="magenta", weight=3]; 271 -> 290[label="",style="dashed", color="magenta", weight=3]; 544[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (primPlusNat (Succ wv23) (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat (Succ wv23) (Succ Zero)) + fromInt (Pos (Succ Zero))) ((<=) Pos (primPlusNat (Succ wv23) (Succ Zero)) Pos (Succ wv22)))",fontsize=16,color="black",shape="box"];544 -> 545[label="",style="solid", color="black", weight=3]; 288 -> 24[label="",style="dashed", color="red", weight=0]; 288[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv400))) (Pos (Succ Zero)) (numericEnumFrom $! Pos (Succ Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ Zero)) (Pos (Succ wv400)) == GT)))",fontsize=16,color="magenta"];288 -> 310[label="",style="dashed", color="magenta", weight=3]; 288 -> 311[label="",style="dashed", color="magenta", weight=3]; 289[label="Zero",fontsize=16,color="green",shape="box"];290[label="Zero",fontsize=16,color="green",shape="box"];545[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (primPlusNat (Succ wv23) (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat (Succ wv23) (Succ Zero)) + fromInt (Pos (Succ Zero))) (compare (Pos (primPlusNat (Succ wv23) (Succ Zero))) (Pos (Succ wv22)) /= GT))",fontsize=16,color="black",shape="box"];545 -> 546[label="",style="solid", color="black", weight=3]; 310[label="Succ wv400",fontsize=16,color="green",shape="box"];311[label="Zero",fontsize=16,color="green",shape="box"];546[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (primPlusNat (Succ wv23) (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat (Succ wv23) (Succ Zero)) + fromInt (Pos (Succ Zero))) (not (compare (Pos (primPlusNat (Succ wv23) (Succ Zero))) (Pos (Succ wv22)) == GT)))",fontsize=16,color="black",shape="box"];546 -> 547[label="",style="solid", color="black", weight=3]; 547[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (primPlusNat (Succ wv23) (Succ Zero))) (numericEnumFrom $! Pos (primPlusNat (Succ wv23) (Succ Zero)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (primPlusNat (Succ wv23) (Succ Zero))) (Pos (Succ wv22)) == GT)))",fontsize=16,color="black",shape="box"];547 -> 548[label="",style="solid", color="black", weight=3]; 548[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ (Succ (primPlusNat wv23 Zero)))) (numericEnumFrom $! Pos (Succ (Succ (primPlusNat wv23 Zero))) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ (Succ (primPlusNat wv23 Zero)))) (Pos (Succ wv22)) == GT)))",fontsize=16,color="black",shape="box"];548 -> 549[label="",style="solid", color="black", weight=3]; 549 -> 450[label="",style="dashed", color="red", weight=0]; 549[label="map toEnum (takeWhile1 (flip (<=) (Pos (Succ wv22))) (Pos (Succ (Succ (primPlusNat wv23 Zero)))) (numericEnumFrom $! Pos (Succ (Succ (primPlusNat wv23 Zero))) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ (Succ (primPlusNat wv23 Zero))) (Succ wv22) == GT)))",fontsize=16,color="magenta"];549 -> 550[label="",style="dashed", color="magenta", weight=3]; 549 -> 551[label="",style="dashed", color="magenta", weight=3]; 549 -> 552[label="",style="dashed", color="magenta", weight=3]; 550[label="Succ (primPlusNat wv23 Zero)",fontsize=16,color="green",shape="box"];550 -> 553[label="",style="dashed", color="green", weight=3]; 551[label="Succ (Succ (primPlusNat wv23 Zero))",fontsize=16,color="green",shape="box"];551 -> 554[label="",style="dashed", color="green", weight=3]; 552[label="Succ wv22",fontsize=16,color="green",shape="box"];553[label="primPlusNat wv23 Zero",fontsize=16,color="burlywood",shape="triangle"];583[label="wv23/Succ wv230",fontsize=10,color="white",style="solid",shape="box"];553 -> 583[label="",style="solid", color="burlywood", weight=9]; 583 -> 555[label="",style="solid", color="burlywood", weight=3]; 584[label="wv23/Zero",fontsize=10,color="white",style="solid",shape="box"];553 -> 584[label="",style="solid", color="burlywood", weight=9]; 584 -> 556[label="",style="solid", color="burlywood", weight=3]; 554 -> 553[label="",style="dashed", color="red", weight=0]; 554[label="primPlusNat wv23 Zero",fontsize=16,color="magenta"];555[label="primPlusNat (Succ wv230) Zero",fontsize=16,color="black",shape="box"];555 -> 557[label="",style="solid", color="black", weight=3]; 556[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];556 -> 558[label="",style="solid", color="black", weight=3]; 557[label="Succ wv230",fontsize=16,color="green",shape="box"];558[label="Zero",fontsize=16,color="green",shape="box"];} ---------------------------------------- (8) Obligation: Q DP problem: The TRS P consists of the following rules: new_map0(wv22, wv23, h) -> new_map(wv22, Succ(new_primPlusNat(wv23)), Succ(Succ(new_primPlusNat(wv23))), Succ(wv22), h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) new_map(wv22, wv23, Zero, Succ(wv250), h) -> new_map(wv22, Succ(new_primPlusNat(wv23)), Succ(Succ(new_primPlusNat(wv23))), Succ(wv22), h) new_map(wv22, wv23, Succ(wv240), Succ(wv250), h) -> new_map(wv22, wv23, wv240, wv250, h) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (9) QDPPairToRuleProof (EQUIVALENT) The dependency pair new_map(wv22, wv23, Succ(wv240), Succ(wv250), h) -> new_map(wv22, wv23, wv240, wv250, h) was transformed to the following new rules: anew_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) the following new pairs maintain the fan-in: new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, anew_new_map(Succ(Succ(new_primPlusNat(wv23))), Succ(wv22))) new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, anew_new_map(Succ(Succ(new_primPlusNat(wv23))), Succ(wv22))) the following new pairs maintain the fan-out: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) ---------------------------------------- (10) Complex Obligation (AND) ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: new_map0(wv22, wv23, h) -> new_map(wv22, Succ(new_primPlusNat(wv23)), Succ(Succ(new_primPlusNat(wv23))), Succ(wv22), h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) new_map(wv22, wv23, Zero, Succ(wv250), h) -> new_map(wv22, Succ(new_primPlusNat(wv23)), Succ(Succ(new_primPlusNat(wv23))), Succ(wv22), h) new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, anew_new_map(Succ(Succ(new_primPlusNat(wv23))), Succ(wv22))) new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, anew_new_map(Succ(Succ(new_primPlusNat(wv23))), Succ(wv22))) H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) anew_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) anew_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (12) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, anew_new_map(Succ(Succ(new_primPlusNat(wv23))), Succ(wv22))) H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, anew_new_map(Succ(Succ(new_primPlusNat(wv23))), Succ(wv22))) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) anew_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) anew_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, anew_new_map(Succ(Succ(new_primPlusNat(wv23))), Succ(wv22))) at position [3] we obtained the following new rules [LPAR04]: (new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)),new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22))) ---------------------------------------- (15) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, anew_new_map(Succ(Succ(new_primPlusNat(wv23))), Succ(wv22))) new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) anew_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) anew_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (16) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, anew_new_map(Succ(Succ(new_primPlusNat(wv23))), Succ(wv22))) at position [3] we obtained the following new rules [LPAR04]: (new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)),new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22))) ---------------------------------------- (17) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) anew_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) anew_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (18) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) anew_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (20) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. anew_new_map(Succ(x0), Succ(x1)) ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (22) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) at position [3] we obtained the following new rules [LPAR04]: (new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)),new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1))) (new_map0(y0, Zero, y2) -> H(y0, Succ(new_primPlusNat(Zero)), y2, new_new_map(Succ(Zero), y0)),new_map0(y0, Zero, y2) -> H(y0, Succ(new_primPlusNat(Zero)), y2, new_new_map(Succ(Zero), y0))) (new_map0(y0, Succ(x0), y2) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(Succ(x0)), y0)),new_map0(y0, Succ(x0), y2) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(Succ(x0)), y0))) ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)) new_map0(y0, Zero, y2) -> H(y0, Succ(new_primPlusNat(Zero)), y2, new_new_map(Succ(Zero), y0)) new_map0(y0, Succ(x0), y2) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(Succ(x0)), y0)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (24) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_map0(y0, Zero, y2) -> H(y0, Succ(new_primPlusNat(Zero)), y2, new_new_map(Succ(Zero), y0)) at position [1,0] we obtained the following new rules [LPAR04]: (new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)),new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0))) ---------------------------------------- (25) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)) new_map0(y0, Succ(x0), y2) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(Succ(x0)), y0)) new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_map0(y0, Succ(x0), y2) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(Succ(x0)), y0)) at position [1,0] we obtained the following new rules [LPAR04]: (new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)),new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0))) ---------------------------------------- (27) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)) new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (28) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) at position [3] we obtained the following new rules [LPAR04]: (new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)),new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1))) (new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(new_primPlusNat(Zero)), y3, new_new_map(Succ(Zero), y0)),new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(new_primPlusNat(Zero)), y3, new_new_map(Succ(Zero), y0))) (new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y3, new_new_map(Succ(Succ(x0)), y0)),new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y3, new_new_map(Succ(Succ(x0)), y0))) ---------------------------------------- (29) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)) new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(new_primPlusNat(Zero)), y3, new_new_map(Succ(Zero), y0)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y3, new_new_map(Succ(Succ(x0)), y0)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (30) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(new_primPlusNat(Zero)), y3, new_new_map(Succ(Zero), y0)) at position [1,0] we obtained the following new rules [LPAR04]: (new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)),new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0))) ---------------------------------------- (31) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)) new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y3, new_new_map(Succ(Succ(x0)), y0)) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (32) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y3, new_new_map(Succ(Succ(x0)), y0)) at position [1,0] we obtained the following new rules [LPAR04]: (new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)),new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0))) ---------------------------------------- (33) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)) new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (34) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)) at position [3] we obtained the following new rules [LPAR04]: (new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(new_primPlusNat(Zero)), y2, new_new_map(Zero, y0)),new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(new_primPlusNat(Zero)), y2, new_new_map(Zero, y0))) (new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(x0), y0)),new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(x0), y0))) ---------------------------------------- (35) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(new_primPlusNat(Zero)), y2, new_new_map(Zero, y0)) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(x0), y0)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (36) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(new_primPlusNat(Zero)), y2, new_new_map(Zero, y0)) at position [1,0] we obtained the following new rules [LPAR04]: (new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)),new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0))) ---------------------------------------- (37) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(x0), y0)) new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (38) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(x0), y0)) at position [1,0] we obtained the following new rules [LPAR04]: (new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)),new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0))) ---------------------------------------- (39) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (40) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) at position [3] we obtained the following new rules [LPAR04]: (new_map0(Succ(x1), Zero, y1) -> H(Succ(x1), Succ(Zero), y1, new_new_map(Zero, x1)),new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0))) ---------------------------------------- (41) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (42) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) at position [3] we obtained the following new rules [LPAR04]: (new_map0(Succ(x1), Succ(y1), y2) -> H(Succ(x1), Succ(Succ(y1)), y2, new_new_map(Succ(y1), x1)),new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0))) ---------------------------------------- (43) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (44) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) at position [3] we obtained the following new rules [LPAR04]: (new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(new_primPlusNat(Zero)), y3, new_new_map(Zero, y0)),new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(new_primPlusNat(Zero)), y3, new_new_map(Zero, y0))) (new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(new_primPlusNat(Succ(x0))), y3, new_new_map(Succ(x0), y0)),new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(new_primPlusNat(Succ(x0))), y3, new_new_map(Succ(x0), y0))) ---------------------------------------- (45) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(new_primPlusNat(Zero)), y3, new_new_map(Zero, y0)) new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(new_primPlusNat(Succ(x0))), y3, new_new_map(Succ(x0), y0)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (46) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(new_primPlusNat(Zero)), y3, new_new_map(Zero, y0)) at position [1,0] we obtained the following new rules [LPAR04]: (new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)),new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0))) ---------------------------------------- (47) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(new_primPlusNat(Succ(x0))), y3, new_new_map(Succ(x0), y0)) new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) The TRS R consists of the following rules: new_primPlusNat(Zero) -> Zero new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (48) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (49) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(new_primPlusNat(Succ(x0))), y3, new_new_map(Succ(x0), y0)) new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) The TRS R consists of the following rules: new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (50) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(new_primPlusNat(Succ(x0))), y3, new_new_map(Succ(x0), y0)) at position [1,0] we obtained the following new rules [LPAR04]: (new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)),new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0))) ---------------------------------------- (51) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) The TRS R consists of the following rules: new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) new_primPlusNat(Succ(wv230)) -> Succ(wv230) new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (52) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (53) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (54) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) ---------------------------------------- (55) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (56) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) at position [3] we obtained the following new rules [LPAR04]: (new_map(Succ(x1), Zero, Zero, Succ(y1), y2) -> H(Succ(x1), Succ(Zero), y2, new_new_map(Zero, x1)),new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0))) ---------------------------------------- (57) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (58) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) at position [3] we obtained the following new rules [LPAR04]: (new_map(Succ(x1), Succ(y1), Zero, Succ(y2), y3) -> H(Succ(x1), Succ(Succ(y1)), y3, new_new_map(Succ(y1), x1)),new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0))) ---------------------------------------- (59) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (60) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) at position [3] we obtained the following new rules [LPAR04]: (new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)),new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero))) (new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))),new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0)))) ---------------------------------------- (61) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (62) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) at position [3] we obtained the following new rules [LPAR04]: (new_map0(Succ(Succ(x1)), Succ(x0), y2) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y2, new_new_map(x0, x1)),new_map0(Succ(Succ(x1)), Succ(x0), y2) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y2, new_new_map(x0, x1))) ---------------------------------------- (63) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) new_map0(Succ(Succ(x1)), Succ(x0), y2) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y2, new_new_map(x0, x1)) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (64) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) at position [3] we obtained the following new rules [LPAR04]: (new_map(Succ(Zero), Zero, Zero, Succ(y1), y2) -> H(Succ(Zero), Succ(Zero), y2, cons_new_map(Zero, Zero)),new_map(Succ(Zero), Zero, Zero, Succ(y1), y2) -> H(Succ(Zero), Succ(Zero), y2, cons_new_map(Zero, Zero))) (new_map(Succ(Succ(x0)), Zero, Zero, Succ(y1), y2) -> H(Succ(Succ(x0)), Succ(Zero), y2, cons_new_map(Zero, Succ(x0))),new_map(Succ(Succ(x0)), Zero, Zero, Succ(y1), y2) -> H(Succ(Succ(x0)), Succ(Zero), y2, cons_new_map(Zero, Succ(x0)))) ---------------------------------------- (65) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) new_map0(Succ(Succ(x1)), Succ(x0), y2) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y2, new_new_map(x0, x1)) new_map(Succ(Zero), Zero, Zero, Succ(y1), y2) -> H(Succ(Zero), Succ(Zero), y2, cons_new_map(Zero, Zero)) new_map(Succ(Succ(x0)), Zero, Zero, Succ(y1), y2) -> H(Succ(Succ(x0)), Succ(Zero), y2, cons_new_map(Zero, Succ(x0))) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (66) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) at position [3] we obtained the following new rules [LPAR04]: (new_map(Succ(Succ(x1)), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y3, new_new_map(x0, x1)),new_map(Succ(Succ(x1)), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y3, new_new_map(x0, x1))) ---------------------------------------- (67) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) new_map0(Succ(Succ(x1)), Succ(x0), y2) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y2, new_new_map(x0, x1)) new_map(Succ(Zero), Zero, Zero, Succ(y1), y2) -> H(Succ(Zero), Succ(Zero), y2, cons_new_map(Zero, Zero)) new_map(Succ(Succ(x0)), Zero, Zero, Succ(y1), y2) -> H(Succ(Succ(x0)), Succ(Zero), y2, cons_new_map(Zero, Succ(x0))) new_map(Succ(Succ(x1)), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y3, new_new_map(x0, x1)) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (68) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map0(Succ(Succ(x1)), Succ(x0), y2) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y2, new_new_map(x0, x1)) at position [3] we obtained the following new rules [LPAR04]: (new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)),new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1))) (new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)),new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero))) (new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))),new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0)))) ---------------------------------------- (69) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) new_map(Succ(Zero), Zero, Zero, Succ(y1), y2) -> H(Succ(Zero), Succ(Zero), y2, cons_new_map(Zero, Zero)) new_map(Succ(Succ(x0)), Zero, Zero, Succ(y1), y2) -> H(Succ(Succ(x0)), Succ(Zero), y2, cons_new_map(Zero, Succ(x0))) new_map(Succ(Succ(x1)), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y3, new_new_map(x0, x1)) new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (70) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_map(Succ(Succ(x1)), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y3, new_new_map(x0, x1)) at position [3] we obtained the following new rules [LPAR04]: (new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)),new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1))) (new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Succ(y2), y3) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y3, cons_new_map(Zero, Zero)),new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Succ(y2), y3) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y3, cons_new_map(Zero, Zero))) (new_map(Succ(Succ(Succ(x0))), Succ(Zero), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y3, cons_new_map(Zero, Succ(x0))),new_map(Succ(Succ(Succ(x0))), Succ(Zero), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y3, cons_new_map(Zero, Succ(x0)))) ---------------------------------------- (71) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) new_map(Succ(Zero), Zero, Zero, Succ(y1), y2) -> H(Succ(Zero), Succ(Zero), y2, cons_new_map(Zero, Zero)) new_map(Succ(Succ(x0)), Zero, Zero, Succ(y1), y2) -> H(Succ(Succ(x0)), Succ(Zero), y2, cons_new_map(Zero, Succ(x0))) new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Succ(y2), y3) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y3, cons_new_map(Zero, Zero)) new_map(Succ(Succ(Succ(x0))), Succ(Zero), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y3, cons_new_map(Zero, Succ(x0))) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (72) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) new_map(Succ(Zero), Zero, Zero, Succ(y1), y2) -> H(Succ(Zero), Succ(Zero), y2, cons_new_map(Zero, Zero)) new_map(Succ(Succ(x0)), Zero, Zero, Succ(y1), y2) -> H(Succ(Succ(x0)), Succ(Zero), y2, cons_new_map(Zero, Succ(x0))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(H(x_1, x_2, x_3, x_4)) = x_2 POL(Succ(x_1)) = 0 POL(Zero) = 1 POL(cons_new_map(x_1, x_2)) = 0 POL(new_map(x_1, x_2, x_3, x_4, x_5)) = x_2 POL(new_map0(x_1, x_2, x_3)) = x_2 POL(new_new_map(x_1, x_2)) = 0 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (73) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Succ(y2), y3) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y3, cons_new_map(Zero, Zero)) new_map(Succ(Succ(Succ(x0))), Succ(Zero), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y3, cons_new_map(Zero, Succ(x0))) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (74) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) we obtained the following new rules [LPAR04]: (H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2),H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2)) (H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1),H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1)) ---------------------------------------- (75) Obligation: Q DP problem: The TRS P consists of the following rules: H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Succ(y2), y3) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y3, cons_new_map(Zero, Zero)) new_map(Succ(Succ(Succ(x0))), Succ(Zero), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y3, cons_new_map(Zero, Succ(x0))) H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (76) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (77) Obligation: Q DP problem: The TRS P consists of the following rules: new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (78) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) the following chains were created: *We consider the chain new_map(x3, x4, Zero, Zero, x5) -> new_map0(x3, x4, x5), new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x8) -> H(Succ(Succ(Succ(x6))), Succ(Succ(Succ(x7))), x8, new_new_map(x7, x6)) which results in the following constraint: (1) (new_map0(x3, x4, x5)=new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x8) ==> new_map(x3, x4, Zero, Zero, x5)_>=_new_map0(x3, x4, x5)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) *We consider the chain new_map(x18, x19, Zero, Zero, x20) -> new_map0(x18, x19, x20), new_map0(Succ(Succ(Zero)), Succ(Zero), x21) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), x21, cons_new_map(Zero, Zero)) which results in the following constraint: (1) (new_map0(x18, x19, x20)=new_map0(Succ(Succ(Zero)), Succ(Zero), x21) ==> new_map(x18, x19, Zero, Zero, x20)_>=_new_map0(x18, x19, x20)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Zero, x20)_>=_new_map0(Succ(Succ(Zero)), Succ(Zero), x20)) *We consider the chain new_map(x22, x23, Zero, Zero, x24) -> new_map0(x22, x23, x24), new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x26) -> H(Succ(Succ(Succ(x25))), Succ(Succ(Zero)), x26, cons_new_map(Zero, Succ(x25))) which results in the following constraint: (1) (new_map0(x22, x23, x24)=new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x26) ==> new_map(x22, x23, Zero, Zero, x24)_>=_new_map0(x22, x23, x24)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) For Pair new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) the following chains were created: *We consider the chain new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38) -> H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36)), H(x39, x40, x41, cons_new_map(Zero, Zero)) -> new_map(x39, x40, Zero, Zero, x41) which results in the following constraint: (1) (H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))=H(x39, x40, x41, cons_new_map(Zero, Zero)) ==> new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38)_>=_H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x37, x36)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38)_>=_H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x37, x36)=cons_new_map(Zero, Zero) which results in the following new constraints: (3) (new_new_map(x213, x212)=cons_new_map(Zero, Zero) & (\/x214:new_new_map(x213, x212)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x214)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x214, new_new_map(x213, x212))) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x215))=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(Succ(x215)))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Succ(x215)))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Succ(x215)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x214:new_new_map(x213, x212)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x214)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x214, new_new_map(x213, x212))) with sigma = [x214 / x38] which results in the following new constraint: (6) (new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x38)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x38, new_new_map(x213, x212)) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44) -> H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42)), H(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), x47, cons_new_map(Zero, Succ(x48))) -> new_map(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), Zero, Succ(x48), x47) which results in the following constraint: (1) (H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))=H(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), x47, cons_new_map(Zero, Succ(x48))) ==> new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44)_>=_H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x43, x42)=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44)_>=_H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x43, x42)=cons_new_map(Zero, Succ(x48)) which results in the following new constraints: (3) (new_new_map(x217, x216)=cons_new_map(Zero, Succ(x48)) & (\/x218,x219:new_new_map(x217, x216)=cons_new_map(Zero, Succ(x218)) ==> new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x219)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x219, new_new_map(x217, x216))) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x220))=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x218,x219:new_new_map(x217, x216)=cons_new_map(Zero, Succ(x218)) ==> new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x219)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x219, new_new_map(x217, x216))) with sigma = [x218 / x48, x219 / x44] which results in the following new constraint: (6) (new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x44)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x44, new_new_map(x217, x216)) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (7) (new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) For Pair H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) the following chains were created: *We consider the chain H(x61, x62, x63, cons_new_map(Zero, Zero)) -> new_map(x61, x62, Zero, Zero, x63), new_map(x64, x65, Zero, Zero, x66) -> new_map0(x64, x65, x66) which results in the following constraint: (1) (new_map(x61, x62, Zero, Zero, x63)=new_map(x64, x65, Zero, Zero, x66) ==> H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) For Pair H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) the following chains were created: *We consider the chain H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107))) -> new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106), new_map(Succ(Succ(Succ(x108))), Succ(Succ(x109)), Zero, Succ(x110), x111) -> H(Succ(Succ(Succ(x108))), Succ(Succ(Succ(x109))), x111, new_new_map(x109, x108)) which results in the following constraint: (1) (new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)=new_map(Succ(Succ(Succ(x108))), Succ(Succ(x109)), Zero, Succ(x110), x111) ==> H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) For Pair new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) the following chains were created: *We consider the chain new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135) -> H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132)), H(x136, x137, x138, cons_new_map(Zero, Zero)) -> new_map(x136, x137, Zero, Zero, x138) which results in the following constraint: (1) (H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))=H(x136, x137, x138, cons_new_map(Zero, Zero)) ==> new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x133, x132)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x133, x132)=cons_new_map(Zero, Zero) which results in the following new constraints: (3) (new_new_map(x222, x221)=cons_new_map(Zero, Zero) & (\/x223,x224:new_new_map(x222, x221)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x223), x224)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x224, new_new_map(x222, x221))) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x225))=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(Succ(x225)))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x225)))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Succ(x225)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x223,x224:new_new_map(x222, x221)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x223), x224)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x224, new_new_map(x222, x221))) with sigma = [x223 / x134, x224 / x135] which results in the following new constraint: (6) (new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x135, new_new_map(x222, x221)) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142) -> H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139)), H(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), x145, cons_new_map(Zero, Succ(x146))) -> new_map(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), Zero, Succ(x146), x145) which results in the following constraint: (1) (H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))=H(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), x145, cons_new_map(Zero, Succ(x146))) ==> new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x140, x139)=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x140, x139)=cons_new_map(Zero, Succ(x146)) which results in the following new constraints: (3) (new_new_map(x227, x226)=cons_new_map(Zero, Succ(x146)) & (\/x228,x229,x230:new_new_map(x227, x226)=cons_new_map(Zero, Succ(x228)) ==> new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x229), x230)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x230, new_new_map(x227, x226))) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x231))=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x228,x229,x230:new_new_map(x227, x226)=cons_new_map(Zero, Succ(x228)) ==> new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x229), x230)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x230, new_new_map(x227, x226))) with sigma = [x228 / x146, x229 / x141, x230 / x142] which results in the following new constraint: (6) (new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x142, new_new_map(x227, x226)) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (7) (new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) For Pair new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) the following chains were created: *We consider the chain new_map0(Succ(Succ(Zero)), Succ(Zero), x165) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero)), H(x166, x167, x168, cons_new_map(Zero, Zero)) -> new_map(x166, x167, Zero, Zero, x168) which results in the following constraint: (1) (H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero))=H(x166, x167, x168, cons_new_map(Zero, Zero)) ==> new_map0(Succ(Succ(Zero)), Succ(Zero), x165)_>=_H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_map0(Succ(Succ(Zero)), Succ(Zero), x165)_>=_H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero))) For Pair new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) the following chains were created: *We consider the chain new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189) -> H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188))), H(Succ(Succ(Succ(x190))), Succ(Succ(Zero)), x191, cons_new_map(Zero, Succ(x190))) -> new_map(Succ(Succ(Succ(x190))), Succ(Succ(Zero)), Zero, Succ(x190), x191) which results in the following constraint: (1) (H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))=H(Succ(Succ(Succ(x190))), Succ(Succ(Zero)), x191, cons_new_map(Zero, Succ(x190))) ==> new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) For Pair H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) the following chains were created: *We consider the chain H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200))) -> new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201), new_map(Succ(Succ(Succ(x202))), Succ(Succ(x203)), Zero, Succ(x204), x205) -> H(Succ(Succ(Succ(x202))), Succ(Succ(Succ(x203))), x205, new_new_map(x203, x202)) which results in the following constraint: (1) (new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)=new_map(Succ(Succ(Succ(x202))), Succ(Succ(x203)), Zero, Succ(x204), x205) ==> H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200)))_>=_new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200)))_>=_new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)) To summarize, we get the following constraints P__>=_ for the following pairs. *new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) *(new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) *(new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Zero, x20)_>=_new_map0(Succ(Succ(Zero)), Succ(Zero), x20)) *(new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) *new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) *(new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x38)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x38, new_new_map(x213, x212)) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) *(new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) *(new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x44)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x44, new_new_map(x217, x216)) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) *(new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) *H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) *(H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) *H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) *(H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) *new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) *(new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x135, new_new_map(x222, x221)) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) *(new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) *(new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x142, new_new_map(x227, x226)) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) *(new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) *new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) *(new_map0(Succ(Succ(Zero)), Succ(Zero), x165)_>=_H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero))) *new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) *(new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) *H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) *(H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200)))_>=_new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (79) Obligation: Q DP problem: The TRS P consists of the following rules: new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (80) NonInfProof (EQUIVALENT) The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps: Note that final constraints are written in bold face. For Pair new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) the following chains were created: *We consider the chain new_map(x3, x4, Zero, Zero, x5) -> new_map0(x3, x4, x5), new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x8) -> H(Succ(Succ(Succ(x6))), Succ(Succ(Succ(x7))), x8, new_new_map(x7, x6)) which results in the following constraint: (1) (new_map0(x3, x4, x5)=new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x8) ==> new_map(x3, x4, Zero, Zero, x5)_>=_new_map0(x3, x4, x5)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) *We consider the chain new_map(x18, x19, Zero, Zero, x20) -> new_map0(x18, x19, x20), new_map0(Succ(Succ(Zero)), Succ(Zero), x21) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), x21, cons_new_map(Zero, Zero)) which results in the following constraint: (1) (new_map0(x18, x19, x20)=new_map0(Succ(Succ(Zero)), Succ(Zero), x21) ==> new_map(x18, x19, Zero, Zero, x20)_>=_new_map0(x18, x19, x20)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Zero, x20)_>=_new_map0(Succ(Succ(Zero)), Succ(Zero), x20)) *We consider the chain new_map(x22, x23, Zero, Zero, x24) -> new_map0(x22, x23, x24), new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x26) -> H(Succ(Succ(Succ(x25))), Succ(Succ(Zero)), x26, cons_new_map(Zero, Succ(x25))) which results in the following constraint: (1) (new_map0(x22, x23, x24)=new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x26) ==> new_map(x22, x23, Zero, Zero, x24)_>=_new_map0(x22, x23, x24)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) For Pair new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) the following chains were created: *We consider the chain new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38) -> H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36)), H(x39, x40, x41, cons_new_map(Zero, Zero)) -> new_map(x39, x40, Zero, Zero, x41) which results in the following constraint: (1) (H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))=H(x39, x40, x41, cons_new_map(Zero, Zero)) ==> new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38)_>=_H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x37, x36)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38)_>=_H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x37, x36)=cons_new_map(Zero, Zero) which results in the following new constraints: (3) (new_new_map(x213, x212)=cons_new_map(Zero, Zero) & (\/x214:new_new_map(x213, x212)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x214)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x214, new_new_map(x213, x212))) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x215))=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(Succ(x215)))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Succ(x215)))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Succ(x215)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x214:new_new_map(x213, x212)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x214)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x214, new_new_map(x213, x212))) with sigma = [x214 / x38] which results in the following new constraint: (6) (new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x38)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x38, new_new_map(x213, x212)) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44) -> H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42)), H(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), x47, cons_new_map(Zero, Succ(x48))) -> new_map(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), Zero, Succ(x48), x47) which results in the following constraint: (1) (H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))=H(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), x47, cons_new_map(Zero, Succ(x48))) ==> new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44)_>=_H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x43, x42)=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44)_>=_H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x43, x42)=cons_new_map(Zero, Succ(x48)) which results in the following new constraints: (3) (new_new_map(x217, x216)=cons_new_map(Zero, Succ(x48)) & (\/x218,x219:new_new_map(x217, x216)=cons_new_map(Zero, Succ(x218)) ==> new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x219)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x219, new_new_map(x217, x216))) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x220))=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x218,x219:new_new_map(x217, x216)=cons_new_map(Zero, Succ(x218)) ==> new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x219)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x219, new_new_map(x217, x216))) with sigma = [x218 / x48, x219 / x44] which results in the following new constraint: (6) (new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x44)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x44, new_new_map(x217, x216)) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (7) (new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) For Pair H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) the following chains were created: *We consider the chain H(x61, x62, x63, cons_new_map(Zero, Zero)) -> new_map(x61, x62, Zero, Zero, x63), new_map(x64, x65, Zero, Zero, x66) -> new_map0(x64, x65, x66) which results in the following constraint: (1) (new_map(x61, x62, Zero, Zero, x63)=new_map(x64, x65, Zero, Zero, x66) ==> H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) For Pair H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) the following chains were created: *We consider the chain H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107))) -> new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106), new_map(Succ(Succ(Succ(x108))), Succ(Succ(x109)), Zero, Succ(x110), x111) -> H(Succ(Succ(Succ(x108))), Succ(Succ(Succ(x109))), x111, new_new_map(x109, x108)) which results in the following constraint: (1) (new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)=new_map(Succ(Succ(Succ(x108))), Succ(Succ(x109)), Zero, Succ(x110), x111) ==> H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) For Pair new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) the following chains were created: *We consider the chain new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135) -> H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132)), H(x136, x137, x138, cons_new_map(Zero, Zero)) -> new_map(x136, x137, Zero, Zero, x138) which results in the following constraint: (1) (H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))=H(x136, x137, x138, cons_new_map(Zero, Zero)) ==> new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x133, x132)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x133, x132)=cons_new_map(Zero, Zero) which results in the following new constraints: (3) (new_new_map(x222, x221)=cons_new_map(Zero, Zero) & (\/x223,x224:new_new_map(x222, x221)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x223), x224)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x224, new_new_map(x222, x221))) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x225))=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(Succ(x225)))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x225)))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Succ(x225)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x223,x224:new_new_map(x222, x221)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x223), x224)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x224, new_new_map(x222, x221))) with sigma = [x223 / x134, x224 / x135] which results in the following new constraint: (6) (new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x135, new_new_map(x222, x221)) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142) -> H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139)), H(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), x145, cons_new_map(Zero, Succ(x146))) -> new_map(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), Zero, Succ(x146), x145) which results in the following constraint: (1) (H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))=H(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), x145, cons_new_map(Zero, Succ(x146))) ==> new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x140, x139)=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x140, x139)=cons_new_map(Zero, Succ(x146)) which results in the following new constraints: (3) (new_new_map(x227, x226)=cons_new_map(Zero, Succ(x146)) & (\/x228,x229,x230:new_new_map(x227, x226)=cons_new_map(Zero, Succ(x228)) ==> new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x229), x230)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x230, new_new_map(x227, x226))) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x231))=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x228,x229,x230:new_new_map(x227, x226)=cons_new_map(Zero, Succ(x228)) ==> new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x229), x230)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x230, new_new_map(x227, x226))) with sigma = [x228 / x146, x229 / x141, x230 / x142] which results in the following new constraint: (6) (new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x142, new_new_map(x227, x226)) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (7) (new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) For Pair new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) the following chains were created: *We consider the chain new_map0(Succ(Succ(Zero)), Succ(Zero), x165) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero)), H(x166, x167, x168, cons_new_map(Zero, Zero)) -> new_map(x166, x167, Zero, Zero, x168) which results in the following constraint: (1) (H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero))=H(x166, x167, x168, cons_new_map(Zero, Zero)) ==> new_map0(Succ(Succ(Zero)), Succ(Zero), x165)_>=_H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_map0(Succ(Succ(Zero)), Succ(Zero), x165)_>=_H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero))) For Pair new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) the following chains were created: *We consider the chain new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189) -> H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188))), H(Succ(Succ(Succ(x190))), Succ(Succ(Zero)), x191, cons_new_map(Zero, Succ(x190))) -> new_map(Succ(Succ(Succ(x190))), Succ(Succ(Zero)), Zero, Succ(x190), x191) which results in the following constraint: (1) (H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))=H(Succ(Succ(Succ(x190))), Succ(Succ(Zero)), x191, cons_new_map(Zero, Succ(x190))) ==> new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) For Pair H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) the following chains were created: *We consider the chain H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200))) -> new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201), new_map(Succ(Succ(Succ(x202))), Succ(Succ(x203)), Zero, Succ(x204), x205) -> H(Succ(Succ(Succ(x202))), Succ(Succ(Succ(x203))), x205, new_new_map(x203, x202)) which results in the following constraint: (1) (new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)=new_map(Succ(Succ(Succ(x202))), Succ(Succ(x203)), Zero, Succ(x204), x205) ==> H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200)))_>=_new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200)))_>=_new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)) To summarize, we get the following constraints P__>=_ for the following pairs. *new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) *(new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) *(new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Zero, x20)_>=_new_map0(Succ(Succ(Zero)), Succ(Zero), x20)) *(new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) *new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) *(new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x38)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x38, new_new_map(x213, x212)) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) *(new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) *(new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x44)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x44, new_new_map(x217, x216)) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) *(new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) *H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) *(H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) *H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) *(H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) *new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) *(new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x135, new_new_map(x222, x221)) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) *(new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) *(new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x142, new_new_map(x227, x226)) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) *(new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) *new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) *(new_map0(Succ(Succ(Zero)), Succ(Zero), x165)_>=_H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero))) *new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) *(new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) *H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) *(H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200)))_>=_new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. Using the following integer polynomial ordering the resulting constraints can be solved Polynomial interpretation [NONINF]: POL(H(x_1, x_2, x_3, x_4)) = -1 - x_1 - x_2 + x_3 - x_4 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL(c) = -7 POL(cons_new_map(x_1, x_2)) = 0 POL(new_map(x_1, x_2, x_3, x_4, x_5)) = -1 - x_1 - x_2 + x_3 + x_5 POL(new_map0(x_1, x_2, x_3)) = -1 - x_1 - x_2 + x_3 POL(new_new_map(x_1, x_2)) = 0 The following pairs are in P_>: new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) The following pairs are in P_bound: new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) The following rules are usable: new_new_map(wv240, wv250) -> new_new_map(Succ(wv240), Succ(wv250)) cons_new_map(Zero, Zero) -> new_new_map(Zero, Zero) cons_new_map(Zero, Succ(wv250)) -> new_new_map(Zero, Succ(wv250)) ---------------------------------------- (81) Obligation: Q DP problem: The TRS P consists of the following rules: new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (82) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) the following chains were created: *We consider the chain new_map(x3, x4, Zero, Zero, x5) -> new_map0(x3, x4, x5), new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x8) -> H(Succ(Succ(Succ(x6))), Succ(Succ(Succ(x7))), x8, new_new_map(x7, x6)) which results in the following constraint: (1) (new_map0(x3, x4, x5)=new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x8) ==> new_map(x3, x4, Zero, Zero, x5)_>=_new_map0(x3, x4, x5)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) *We consider the chain new_map(x22, x23, Zero, Zero, x24) -> new_map0(x22, x23, x24), new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x26) -> H(Succ(Succ(Succ(x25))), Succ(Succ(Zero)), x26, cons_new_map(Zero, Succ(x25))) which results in the following constraint: (1) (new_map0(x22, x23, x24)=new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x26) ==> new_map(x22, x23, Zero, Zero, x24)_>=_new_map0(x22, x23, x24)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) For Pair new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) the following chains were created: *We consider the chain new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38) -> H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36)), H(x39, x40, x41, cons_new_map(Zero, Zero)) -> new_map(x39, x40, Zero, Zero, x41) which results in the following constraint: (1) (H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))=H(x39, x40, x41, cons_new_map(Zero, Zero)) ==> new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38)_>=_H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x37, x36)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38)_>=_H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x37, x36)=cons_new_map(Zero, Zero) which results in the following new constraints: (3) (new_new_map(x213, x212)=cons_new_map(Zero, Zero) & (\/x214:new_new_map(x213, x212)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x214)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x214, new_new_map(x213, x212))) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x215))=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(Succ(x215)))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Succ(x215)))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Succ(x215)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x214:new_new_map(x213, x212)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x214)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x214, new_new_map(x213, x212))) with sigma = [x214 / x38] which results in the following new constraint: (6) (new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x38)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x38, new_new_map(x213, x212)) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44) -> H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42)), H(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), x47, cons_new_map(Zero, Succ(x48))) -> new_map(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), Zero, Succ(x48), x47) which results in the following constraint: (1) (H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))=H(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), x47, cons_new_map(Zero, Succ(x48))) ==> new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44)_>=_H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x43, x42)=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44)_>=_H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x43, x42)=cons_new_map(Zero, Succ(x48)) which results in the following new constraints: (3) (new_new_map(x217, x216)=cons_new_map(Zero, Succ(x48)) & (\/x218,x219:new_new_map(x217, x216)=cons_new_map(Zero, Succ(x218)) ==> new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x219)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x219, new_new_map(x217, x216))) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x220))=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x218,x219:new_new_map(x217, x216)=cons_new_map(Zero, Succ(x218)) ==> new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x219)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x219, new_new_map(x217, x216))) with sigma = [x218 / x48, x219 / x44] which results in the following new constraint: (6) (new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x44)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x44, new_new_map(x217, x216)) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (7) (new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) For Pair H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) the following chains were created: *We consider the chain H(x61, x62, x63, cons_new_map(Zero, Zero)) -> new_map(x61, x62, Zero, Zero, x63), new_map(x64, x65, Zero, Zero, x66) -> new_map0(x64, x65, x66) which results in the following constraint: (1) (new_map(x61, x62, Zero, Zero, x63)=new_map(x64, x65, Zero, Zero, x66) ==> H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) For Pair H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) the following chains were created: *We consider the chain H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107))) -> new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106), new_map(Succ(Succ(Succ(x108))), Succ(Succ(x109)), Zero, Succ(x110), x111) -> H(Succ(Succ(Succ(x108))), Succ(Succ(Succ(x109))), x111, new_new_map(x109, x108)) which results in the following constraint: (1) (new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)=new_map(Succ(Succ(Succ(x108))), Succ(Succ(x109)), Zero, Succ(x110), x111) ==> H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) For Pair new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) the following chains were created: *We consider the chain new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135) -> H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132)), H(x136, x137, x138, cons_new_map(Zero, Zero)) -> new_map(x136, x137, Zero, Zero, x138) which results in the following constraint: (1) (H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))=H(x136, x137, x138, cons_new_map(Zero, Zero)) ==> new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x133, x132)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x133, x132)=cons_new_map(Zero, Zero) which results in the following new constraints: (3) (new_new_map(x222, x221)=cons_new_map(Zero, Zero) & (\/x223,x224:new_new_map(x222, x221)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x223), x224)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x224, new_new_map(x222, x221))) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x225))=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(Succ(x225)))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x225)))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Succ(x225)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x223,x224:new_new_map(x222, x221)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x223), x224)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x224, new_new_map(x222, x221))) with sigma = [x223 / x134, x224 / x135] which results in the following new constraint: (6) (new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x135, new_new_map(x222, x221)) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142) -> H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139)), H(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), x145, cons_new_map(Zero, Succ(x146))) -> new_map(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), Zero, Succ(x146), x145) which results in the following constraint: (1) (H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))=H(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), x145, cons_new_map(Zero, Succ(x146))) ==> new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x140, x139)=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x140, x139)=cons_new_map(Zero, Succ(x146)) which results in the following new constraints: (3) (new_new_map(x227, x226)=cons_new_map(Zero, Succ(x146)) & (\/x228,x229,x230:new_new_map(x227, x226)=cons_new_map(Zero, Succ(x228)) ==> new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x229), x230)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x230, new_new_map(x227, x226))) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x231))=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x228,x229,x230:new_new_map(x227, x226)=cons_new_map(Zero, Succ(x228)) ==> new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x229), x230)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x230, new_new_map(x227, x226))) with sigma = [x228 / x146, x229 / x141, x230 / x142] which results in the following new constraint: (6) (new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x142, new_new_map(x227, x226)) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (7) (new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) For Pair new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) the following chains were created: *We consider the chain new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189) -> H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188))), H(Succ(Succ(Succ(x190))), Succ(Succ(Zero)), x191, cons_new_map(Zero, Succ(x190))) -> new_map(Succ(Succ(Succ(x190))), Succ(Succ(Zero)), Zero, Succ(x190), x191) which results in the following constraint: (1) (H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))=H(Succ(Succ(Succ(x190))), Succ(Succ(Zero)), x191, cons_new_map(Zero, Succ(x190))) ==> new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) For Pair H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) the following chains were created: *We consider the chain H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200))) -> new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201), new_map(Succ(Succ(Succ(x202))), Succ(Succ(x203)), Zero, Succ(x204), x205) -> H(Succ(Succ(Succ(x202))), Succ(Succ(Succ(x203))), x205, new_new_map(x203, x202)) which results in the following constraint: (1) (new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)=new_map(Succ(Succ(Succ(x202))), Succ(Succ(x203)), Zero, Succ(x204), x205) ==> H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200)))_>=_new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200)))_>=_new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)) To summarize, we get the following constraints P__>=_ for the following pairs. *new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) *(new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) *(new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) *new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) *(new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x38)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x38, new_new_map(x213, x212)) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) *(new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) *(new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x44)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x44, new_new_map(x217, x216)) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) *(new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) *H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) *(H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) *H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) *(H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) *new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) *(new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x135, new_new_map(x222, x221)) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) *(new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) *(new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x142, new_new_map(x227, x226)) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) *(new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) *new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) *(new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) *H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) *(H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200)))_>=_new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (83) Obligation: Q DP problem: The TRS P consists of the following rules: new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (84) NonInfProof (EQUIVALENT) The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps: Note that final constraints are written in bold face. For Pair new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) the following chains were created: *We consider the chain new_map(x3, x4, Zero, Zero, x5) -> new_map0(x3, x4, x5), new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x8) -> H(Succ(Succ(Succ(x6))), Succ(Succ(Succ(x7))), x8, new_new_map(x7, x6)) which results in the following constraint: (1) (new_map0(x3, x4, x5)=new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x8) ==> new_map(x3, x4, Zero, Zero, x5)_>=_new_map0(x3, x4, x5)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) *We consider the chain new_map(x22, x23, Zero, Zero, x24) -> new_map0(x22, x23, x24), new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x26) -> H(Succ(Succ(Succ(x25))), Succ(Succ(Zero)), x26, cons_new_map(Zero, Succ(x25))) which results in the following constraint: (1) (new_map0(x22, x23, x24)=new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x26) ==> new_map(x22, x23, Zero, Zero, x24)_>=_new_map0(x22, x23, x24)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) For Pair new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) the following chains were created: *We consider the chain new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38) -> H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36)), H(x39, x40, x41, cons_new_map(Zero, Zero)) -> new_map(x39, x40, Zero, Zero, x41) which results in the following constraint: (1) (H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))=H(x39, x40, x41, cons_new_map(Zero, Zero)) ==> new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38)_>=_H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x37, x36)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38)_>=_H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x37, x36)=cons_new_map(Zero, Zero) which results in the following new constraints: (3) (new_new_map(x213, x212)=cons_new_map(Zero, Zero) & (\/x214:new_new_map(x213, x212)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x214)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x214, new_new_map(x213, x212))) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x215))=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(Succ(x215)))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Succ(x215)))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Succ(x215)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x214:new_new_map(x213, x212)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x214)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x214, new_new_map(x213, x212))) with sigma = [x214 / x38] which results in the following new constraint: (6) (new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x38)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x38, new_new_map(x213, x212)) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44) -> H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42)), H(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), x47, cons_new_map(Zero, Succ(x48))) -> new_map(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), Zero, Succ(x48), x47) which results in the following constraint: (1) (H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))=H(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), x47, cons_new_map(Zero, Succ(x48))) ==> new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44)_>=_H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x43, x42)=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44)_>=_H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x43, x42)=cons_new_map(Zero, Succ(x48)) which results in the following new constraints: (3) (new_new_map(x217, x216)=cons_new_map(Zero, Succ(x48)) & (\/x218,x219:new_new_map(x217, x216)=cons_new_map(Zero, Succ(x218)) ==> new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x219)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x219, new_new_map(x217, x216))) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x220))=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x218,x219:new_new_map(x217, x216)=cons_new_map(Zero, Succ(x218)) ==> new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x219)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x219, new_new_map(x217, x216))) with sigma = [x218 / x48, x219 / x44] which results in the following new constraint: (6) (new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x44)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x44, new_new_map(x217, x216)) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (7) (new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) For Pair H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) the following chains were created: *We consider the chain H(x61, x62, x63, cons_new_map(Zero, Zero)) -> new_map(x61, x62, Zero, Zero, x63), new_map(x64, x65, Zero, Zero, x66) -> new_map0(x64, x65, x66) which results in the following constraint: (1) (new_map(x61, x62, Zero, Zero, x63)=new_map(x64, x65, Zero, Zero, x66) ==> H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) For Pair H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) the following chains were created: *We consider the chain H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107))) -> new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106), new_map(Succ(Succ(Succ(x108))), Succ(Succ(x109)), Zero, Succ(x110), x111) -> H(Succ(Succ(Succ(x108))), Succ(Succ(Succ(x109))), x111, new_new_map(x109, x108)) which results in the following constraint: (1) (new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)=new_map(Succ(Succ(Succ(x108))), Succ(Succ(x109)), Zero, Succ(x110), x111) ==> H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) For Pair new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) the following chains were created: *We consider the chain new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135) -> H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132)), H(x136, x137, x138, cons_new_map(Zero, Zero)) -> new_map(x136, x137, Zero, Zero, x138) which results in the following constraint: (1) (H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))=H(x136, x137, x138, cons_new_map(Zero, Zero)) ==> new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x133, x132)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x133, x132)=cons_new_map(Zero, Zero) which results in the following new constraints: (3) (new_new_map(x222, x221)=cons_new_map(Zero, Zero) & (\/x223,x224:new_new_map(x222, x221)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x223), x224)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x224, new_new_map(x222, x221))) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x225))=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(Succ(x225)))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x225)))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Succ(x225)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x223,x224:new_new_map(x222, x221)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x223), x224)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x224, new_new_map(x222, x221))) with sigma = [x223 / x134, x224 / x135] which results in the following new constraint: (6) (new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x135, new_new_map(x222, x221)) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142) -> H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139)), H(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), x145, cons_new_map(Zero, Succ(x146))) -> new_map(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), Zero, Succ(x146), x145) which results in the following constraint: (1) (H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))=H(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), x145, cons_new_map(Zero, Succ(x146))) ==> new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x140, x139)=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x140, x139)=cons_new_map(Zero, Succ(x146)) which results in the following new constraints: (3) (new_new_map(x227, x226)=cons_new_map(Zero, Succ(x146)) & (\/x228,x229,x230:new_new_map(x227, x226)=cons_new_map(Zero, Succ(x228)) ==> new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x229), x230)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x230, new_new_map(x227, x226))) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x231))=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x228,x229,x230:new_new_map(x227, x226)=cons_new_map(Zero, Succ(x228)) ==> new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x229), x230)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x230, new_new_map(x227, x226))) with sigma = [x228 / x146, x229 / x141, x230 / x142] which results in the following new constraint: (6) (new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x142, new_new_map(x227, x226)) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (7) (new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) For Pair new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) the following chains were created: *We consider the chain new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189) -> H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188))), H(Succ(Succ(Succ(x190))), Succ(Succ(Zero)), x191, cons_new_map(Zero, Succ(x190))) -> new_map(Succ(Succ(Succ(x190))), Succ(Succ(Zero)), Zero, Succ(x190), x191) which results in the following constraint: (1) (H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))=H(Succ(Succ(Succ(x190))), Succ(Succ(Zero)), x191, cons_new_map(Zero, Succ(x190))) ==> new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) For Pair H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) the following chains were created: *We consider the chain H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200))) -> new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201), new_map(Succ(Succ(Succ(x202))), Succ(Succ(x203)), Zero, Succ(x204), x205) -> H(Succ(Succ(Succ(x202))), Succ(Succ(Succ(x203))), x205, new_new_map(x203, x202)) which results in the following constraint: (1) (new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)=new_map(Succ(Succ(Succ(x202))), Succ(Succ(x203)), Zero, Succ(x204), x205) ==> H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200)))_>=_new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200)))_>=_new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)) To summarize, we get the following constraints P__>=_ for the following pairs. *new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) *(new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) *(new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) *new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) *(new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x38)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x38, new_new_map(x213, x212)) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) *(new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) *(new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x44)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x44, new_new_map(x217, x216)) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) *(new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) *H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) *(H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) *H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) *(H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) *new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) *(new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x135, new_new_map(x222, x221)) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) *(new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) *(new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x142, new_new_map(x227, x226)) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) *(new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) *new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) *(new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) *H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) *(H(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), x201, cons_new_map(Zero, Succ(x200)))_>=_new_map(Succ(Succ(Succ(x200))), Succ(Succ(Zero)), Zero, Succ(x200), x201)) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. Using the following integer polynomial ordering the resulting constraints can be solved Polynomial interpretation [NONINF]: POL(H(x_1, x_2, x_3, x_4)) = -1 - x_2 + x_3 - x_4 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL(c) = -4 POL(cons_new_map(x_1, x_2)) = 0 POL(new_map(x_1, x_2, x_3, x_4, x_5)) = -1 - x_2 + x_3 + x_5 POL(new_map0(x_1, x_2, x_3)) = -1 - x_2 + x_3 POL(new_new_map(x_1, x_2)) = 0 The following pairs are in P_>: new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) The following pairs are in P_bound: new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) The following rules are usable: new_new_map(wv240, wv250) -> new_new_map(Succ(wv240), Succ(wv250)) cons_new_map(Zero, Zero) -> new_new_map(Zero, Zero) cons_new_map(Zero, Succ(wv250)) -> new_new_map(Zero, Succ(wv250)) ---------------------------------------- (85) Complex Obligation (AND) ---------------------------------------- (86) Obligation: Q DP problem: The TRS P consists of the following rules: new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) H(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), z1, cons_new_map(Zero, Succ(z0))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Zero)), Zero, Succ(z0), z1) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (87) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 4 less nodes. ---------------------------------------- (88) TRUE ---------------------------------------- (89) Obligation: Q DP problem: The TRS P consists of the following rules: new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (90) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) the following chains were created: *We consider the chain new_map(x3, x4, Zero, Zero, x5) -> new_map0(x3, x4, x5), new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x8) -> H(Succ(Succ(Succ(x6))), Succ(Succ(Succ(x7))), x8, new_new_map(x7, x6)) which results in the following constraint: (1) (new_map0(x3, x4, x5)=new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x8) ==> new_map(x3, x4, Zero, Zero, x5)_>=_new_map0(x3, x4, x5)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) For Pair new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) the following chains were created: *We consider the chain new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38) -> H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36)), H(x39, x40, x41, cons_new_map(Zero, Zero)) -> new_map(x39, x40, Zero, Zero, x41) which results in the following constraint: (1) (H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))=H(x39, x40, x41, cons_new_map(Zero, Zero)) ==> new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38)_>=_H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x37, x36)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38)_>=_H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x37, x36)=cons_new_map(Zero, Zero) which results in the following new constraints: (3) (new_new_map(x213, x212)=cons_new_map(Zero, Zero) & (\/x214:new_new_map(x213, x212)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x214)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x214, new_new_map(x213, x212))) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x215))=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(Succ(x215)))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Succ(x215)))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Succ(x215)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x214:new_new_map(x213, x212)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x214)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x214, new_new_map(x213, x212))) with sigma = [x214 / x38] which results in the following new constraint: (6) (new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x38)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x38, new_new_map(x213, x212)) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44) -> H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42)), H(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), x47, cons_new_map(Zero, Succ(x48))) -> new_map(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), Zero, Succ(x48), x47) which results in the following constraint: (1) (H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))=H(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), x47, cons_new_map(Zero, Succ(x48))) ==> new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44)_>=_H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x43, x42)=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44)_>=_H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x43, x42)=cons_new_map(Zero, Succ(x48)) which results in the following new constraints: (3) (new_new_map(x217, x216)=cons_new_map(Zero, Succ(x48)) & (\/x218,x219:new_new_map(x217, x216)=cons_new_map(Zero, Succ(x218)) ==> new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x219)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x219, new_new_map(x217, x216))) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x220))=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x218,x219:new_new_map(x217, x216)=cons_new_map(Zero, Succ(x218)) ==> new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x219)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x219, new_new_map(x217, x216))) with sigma = [x218 / x48, x219 / x44] which results in the following new constraint: (6) (new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x44)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x44, new_new_map(x217, x216)) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (7) (new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) For Pair H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) the following chains were created: *We consider the chain H(x61, x62, x63, cons_new_map(Zero, Zero)) -> new_map(x61, x62, Zero, Zero, x63), new_map(x64, x65, Zero, Zero, x66) -> new_map0(x64, x65, x66) which results in the following constraint: (1) (new_map(x61, x62, Zero, Zero, x63)=new_map(x64, x65, Zero, Zero, x66) ==> H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) For Pair H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) the following chains were created: *We consider the chain H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107))) -> new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106), new_map(Succ(Succ(Succ(x108))), Succ(Succ(x109)), Zero, Succ(x110), x111) -> H(Succ(Succ(Succ(x108))), Succ(Succ(Succ(x109))), x111, new_new_map(x109, x108)) which results in the following constraint: (1) (new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)=new_map(Succ(Succ(Succ(x108))), Succ(Succ(x109)), Zero, Succ(x110), x111) ==> H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) For Pair new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) the following chains were created: *We consider the chain new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135) -> H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132)), H(x136, x137, x138, cons_new_map(Zero, Zero)) -> new_map(x136, x137, Zero, Zero, x138) which results in the following constraint: (1) (H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))=H(x136, x137, x138, cons_new_map(Zero, Zero)) ==> new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x133, x132)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x133, x132)=cons_new_map(Zero, Zero) which results in the following new constraints: (3) (new_new_map(x222, x221)=cons_new_map(Zero, Zero) & (\/x223,x224:new_new_map(x222, x221)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x223), x224)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x224, new_new_map(x222, x221))) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x225))=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(Succ(x225)))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x225)))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Succ(x225)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x223,x224:new_new_map(x222, x221)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x223), x224)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x224, new_new_map(x222, x221))) with sigma = [x223 / x134, x224 / x135] which results in the following new constraint: (6) (new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x135, new_new_map(x222, x221)) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142) -> H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139)), H(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), x145, cons_new_map(Zero, Succ(x146))) -> new_map(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), Zero, Succ(x146), x145) which results in the following constraint: (1) (H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))=H(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), x145, cons_new_map(Zero, Succ(x146))) ==> new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x140, x139)=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x140, x139)=cons_new_map(Zero, Succ(x146)) which results in the following new constraints: (3) (new_new_map(x227, x226)=cons_new_map(Zero, Succ(x146)) & (\/x228,x229,x230:new_new_map(x227, x226)=cons_new_map(Zero, Succ(x228)) ==> new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x229), x230)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x230, new_new_map(x227, x226))) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x231))=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x228,x229,x230:new_new_map(x227, x226)=cons_new_map(Zero, Succ(x228)) ==> new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x229), x230)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x230, new_new_map(x227, x226))) with sigma = [x228 / x146, x229 / x141, x230 / x142] which results in the following new constraint: (6) (new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x142, new_new_map(x227, x226)) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (7) (new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) *(new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) *new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) *(new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x38)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x38, new_new_map(x213, x212)) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) *(new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) *(new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x44)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x44, new_new_map(x217, x216)) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) *(new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) *H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) *(H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) *H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) *(H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) *new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) *(new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x135, new_new_map(x222, x221)) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) *(new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) *(new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x142, new_new_map(x227, x226)) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) *(new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (91) Obligation: Q DP problem: The TRS P consists of the following rules: new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (92) NonInfProof (EQUIVALENT) The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps: Note that final constraints are written in bold face. For Pair new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) the following chains were created: *We consider the chain new_map(x3, x4, Zero, Zero, x5) -> new_map0(x3, x4, x5), new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x8) -> H(Succ(Succ(Succ(x6))), Succ(Succ(Succ(x7))), x8, new_new_map(x7, x6)) which results in the following constraint: (1) (new_map0(x3, x4, x5)=new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x8) ==> new_map(x3, x4, Zero, Zero, x5)_>=_new_map0(x3, x4, x5)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) For Pair new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) the following chains were created: *We consider the chain new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38) -> H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36)), H(x39, x40, x41, cons_new_map(Zero, Zero)) -> new_map(x39, x40, Zero, Zero, x41) which results in the following constraint: (1) (H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))=H(x39, x40, x41, cons_new_map(Zero, Zero)) ==> new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38)_>=_H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x37, x36)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x36))), Succ(Succ(x37)), x38)_>=_H(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x37))), x38, new_new_map(x37, x36))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x37, x36)=cons_new_map(Zero, Zero) which results in the following new constraints: (3) (new_new_map(x213, x212)=cons_new_map(Zero, Zero) & (\/x214:new_new_map(x213, x212)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x214)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x214, new_new_map(x213, x212))) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x215))=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(Succ(x215)))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Succ(x215)))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Succ(x215)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x214:new_new_map(x213, x212)=cons_new_map(Zero, Zero) ==> new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x214)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x214, new_new_map(x213, x212))) with sigma = [x214 / x38] which results in the following new constraint: (6) (new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x38)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x38, new_new_map(x213, x212)) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44) -> H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42)), H(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), x47, cons_new_map(Zero, Succ(x48))) -> new_map(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), Zero, Succ(x48), x47) which results in the following constraint: (1) (H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))=H(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x46))), x47, cons_new_map(Zero, Succ(x48))) ==> new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44)_>=_H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x43, x42)=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(x42))), Succ(Succ(x43)), x44)_>=_H(Succ(Succ(Succ(x42))), Succ(Succ(Succ(x43))), x44, new_new_map(x43, x42))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x43, x42)=cons_new_map(Zero, Succ(x48)) which results in the following new constraints: (3) (new_new_map(x217, x216)=cons_new_map(Zero, Succ(x48)) & (\/x218,x219:new_new_map(x217, x216)=cons_new_map(Zero, Succ(x218)) ==> new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x219)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x219, new_new_map(x217, x216))) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x220))=cons_new_map(Zero, Succ(x48)) ==> new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x218,x219:new_new_map(x217, x216)=cons_new_map(Zero, Succ(x218)) ==> new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x219)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x219, new_new_map(x217, x216))) with sigma = [x218 / x48, x219 / x44] which results in the following new constraint: (6) (new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x44)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x44, new_new_map(x217, x216)) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (7) (new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) For Pair H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) the following chains were created: *We consider the chain H(x61, x62, x63, cons_new_map(Zero, Zero)) -> new_map(x61, x62, Zero, Zero, x63), new_map(x64, x65, Zero, Zero, x66) -> new_map0(x64, x65, x66) which results in the following constraint: (1) (new_map(x61, x62, Zero, Zero, x63)=new_map(x64, x65, Zero, Zero, x66) ==> H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) For Pair H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) the following chains were created: *We consider the chain H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107))) -> new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106), new_map(Succ(Succ(Succ(x108))), Succ(Succ(x109)), Zero, Succ(x110), x111) -> H(Succ(Succ(Succ(x108))), Succ(Succ(Succ(x109))), x111, new_new_map(x109, x108)) which results in the following constraint: (1) (new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)=new_map(Succ(Succ(Succ(x108))), Succ(Succ(x109)), Zero, Succ(x110), x111) ==> H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) For Pair new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) the following chains were created: *We consider the chain new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135) -> H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132)), H(x136, x137, x138, cons_new_map(Zero, Zero)) -> new_map(x136, x137, Zero, Zero, x138) which results in the following constraint: (1) (H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))=H(x136, x137, x138, cons_new_map(Zero, Zero)) ==> new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x133, x132)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x132))), Succ(Succ(x133)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x132))), Succ(Succ(Succ(x133))), x135, new_new_map(x133, x132))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x133, x132)=cons_new_map(Zero, Zero) which results in the following new constraints: (3) (new_new_map(x222, x221)=cons_new_map(Zero, Zero) & (\/x223,x224:new_new_map(x222, x221)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x223), x224)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x224, new_new_map(x222, x221))) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x225))=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(Succ(x225)))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x225)))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Succ(x225)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x223,x224:new_new_map(x222, x221)=cons_new_map(Zero, Zero) ==> new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x223), x224)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x224, new_new_map(x222, x221))) with sigma = [x223 / x134, x224 / x135] which results in the following new constraint: (6) (new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x135, new_new_map(x222, x221)) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142) -> H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139)), H(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), x145, cons_new_map(Zero, Succ(x146))) -> new_map(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), Zero, Succ(x146), x145) which results in the following constraint: (1) (H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))=H(Succ(Succ(Succ(x143))), Succ(Succ(Succ(x144))), x145, cons_new_map(Zero, Succ(x146))) ==> new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_map(x140, x139)=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(x139))), Succ(Succ(x140)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x139))), Succ(Succ(Succ(x140))), x142, new_new_map(x140, x139))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_map(x140, x139)=cons_new_map(Zero, Succ(x146)) which results in the following new constraints: (3) (new_new_map(x227, x226)=cons_new_map(Zero, Succ(x146)) & (\/x228,x229,x230:new_new_map(x227, x226)=cons_new_map(Zero, Succ(x228)) ==> new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x229), x230)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x230, new_new_map(x227, x226))) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) (4) (cons_new_map(Zero, Zero)=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Zero))) (5) (cons_new_map(Zero, Succ(x231))=cons_new_map(Zero, Succ(x146)) ==> new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x228,x229,x230:new_new_map(x227, x226)=cons_new_map(Zero, Succ(x228)) ==> new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x229), x230)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x230, new_new_map(x227, x226))) with sigma = [x228 / x146, x229 / x141, x230 / x142] which results in the following new constraint: (6) (new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x142, new_new_map(x227, x226)) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (7) (new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) *(new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) *new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) *(new_map0(Succ(Succ(Succ(x212))), Succ(Succ(x213)), x38)_>=_H(Succ(Succ(Succ(x212))), Succ(Succ(Succ(x213))), x38, new_new_map(x213, x212)) ==> new_map0(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(x213))), x38)_>=_H(Succ(Succ(Succ(Succ(x212)))), Succ(Succ(Succ(Succ(x213)))), x38, new_new_map(Succ(x213), Succ(x212)))) *(new_map0(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), x38)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x38, new_new_map(Zero, Zero))) *(new_map0(Succ(Succ(Succ(x216))), Succ(Succ(x217)), x44)_>=_H(Succ(Succ(Succ(x216))), Succ(Succ(Succ(x217))), x44, new_new_map(x217, x216)) ==> new_map0(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(x217))), x44)_>=_H(Succ(Succ(Succ(Succ(x216)))), Succ(Succ(Succ(Succ(x217)))), x44, new_new_map(Succ(x217), Succ(x216)))) *(new_map0(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Zero)), x44)_>=_H(Succ(Succ(Succ(Succ(x220)))), Succ(Succ(Succ(Zero))), x44, new_new_map(Zero, Succ(x220)))) *H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) *(H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) *H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) *(H(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), x106, cons_new_map(Zero, Succ(x107)))_>=_new_map(Succ(Succ(Succ(x104))), Succ(Succ(Succ(x105))), Zero, Succ(x107), x106)) *new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) *(new_map(Succ(Succ(Succ(x221))), Succ(Succ(x222)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(x221))), Succ(Succ(Succ(x222))), x135, new_new_map(x222, x221)) ==> new_map(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(x222))), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Succ(x221)))), Succ(Succ(Succ(Succ(x222)))), x135, new_new_map(Succ(x222), Succ(x221)))) *(new_map(Succ(Succ(Succ(Zero))), Succ(Succ(Zero)), Zero, Succ(x134), x135)_>=_H(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), x135, new_new_map(Zero, Zero))) *(new_map(Succ(Succ(Succ(x226))), Succ(Succ(x227)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(x226))), Succ(Succ(Succ(x227))), x142, new_new_map(x227, x226)) ==> new_map(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(x227))), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x226)))), Succ(Succ(Succ(Succ(x227)))), x142, new_new_map(Succ(x227), Succ(x226)))) *(new_map(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Zero)), Zero, Succ(x141), x142)_>=_H(Succ(Succ(Succ(Succ(x231)))), Succ(Succ(Succ(Zero))), x142, new_new_map(Zero, Succ(x231)))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. Using the following integer polynomial ordering the resulting constraints can be solved Polynomial interpretation [NONINF]: POL(H(x_1, x_2, x_3, x_4)) = -1 + x_1 - x_2 + x_3 - x_4 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL(c) = -1 POL(cons_new_map(x_1, x_2)) = 0 POL(new_map(x_1, x_2, x_3, x_4, x_5)) = -1 + x_1 - x_2 + x_3 + x_5 POL(new_map0(x_1, x_2, x_3)) = -1 + x_1 - x_2 + x_3 POL(new_new_map(x_1, x_2)) = 0 The following pairs are in P_>: new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) The following pairs are in P_bound: new_map0(Succ(Succ(Succ(x1))), Succ(Succ(x0)), y2) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y2, new_new_map(x0, x1)) new_map(Succ(Succ(Succ(x1))), Succ(Succ(x0)), Zero, Succ(y2), y3) -> H(Succ(Succ(Succ(x1))), Succ(Succ(Succ(x0))), y3, new_new_map(x0, x1)) The following rules are usable: new_new_map(wv240, wv250) -> new_new_map(Succ(wv240), Succ(wv250)) cons_new_map(Zero, Zero) -> new_new_map(Zero, Zero) cons_new_map(Zero, Succ(wv250)) -> new_new_map(Zero, Succ(wv250)) ---------------------------------------- (93) Obligation: Q DP problem: The TRS P consists of the following rules: new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) H(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), z2, cons_new_map(Zero, Succ(x3))) -> new_map(Succ(Succ(Succ(z0))), Succ(Succ(Succ(z1))), Zero, Succ(x3), z2) The TRS R consists of the following rules: new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) The set Q consists of the following terms: new_new_map(Succ(x0), Succ(x1)) new_new_map(Zero, Zero) new_new_map(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (94) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (95) TRUE ---------------------------------------- (96) Obligation: Q DP problem: The TRS P consists of the following rules: new_map(wv22, wv23, Succ(wv240), Succ(wv250), h) -> new_map(wv22, wv23, wv240, wv250, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (97) 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_map(wv22, wv23, Succ(wv240), Succ(wv250), h) -> new_map(wv22, wv23, wv240, wv250, h) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4, 5 >= 5 ---------------------------------------- (98) YES