40.85/21.36 YES 42.75/21.89 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 42.75/21.89 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 42.75/21.89 42.75/21.89 42.75/21.89 H-Termination with start terms of the given HASKELL could be proven: 42.75/21.89 42.75/21.89 (0) HASKELL 42.75/21.89 (1) BR [EQUIVALENT, 0 ms] 42.75/21.89 (2) HASKELL 42.75/21.89 (3) COR [EQUIVALENT, 0 ms] 42.75/21.89 (4) HASKELL 42.75/21.89 (5) NumRed [SOUND, 0 ms] 42.75/21.89 (6) HASKELL 42.75/21.89 (7) Narrow [SOUND, 0 ms] 42.75/21.89 (8) QDP 42.75/21.89 (9) QDPPairToRuleProof [EQUIVALENT, 0 ms] 42.75/21.89 (10) AND 42.75/21.89 (11) QDP 42.75/21.89 (12) DependencyGraphProof [EQUIVALENT, 0 ms] 42.75/21.89 (13) QDP 42.75/21.89 (14) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (15) QDP 42.75/21.89 (16) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (17) QDP 42.75/21.89 (18) UsableRulesProof [EQUIVALENT, 0 ms] 42.75/21.89 (19) QDP 42.75/21.89 (20) QReductionProof [EQUIVALENT, 0 ms] 42.75/21.89 (21) QDP 42.75/21.89 (22) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (23) QDP 42.75/21.89 (24) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (25) QDP 42.75/21.89 (26) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (27) QDP 42.75/21.89 (28) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (29) QDP 42.75/21.89 (30) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (31) QDP 42.75/21.89 (32) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (33) QDP 42.75/21.89 (34) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (35) QDP 42.75/21.89 (36) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (37) QDP 42.75/21.89 (38) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (39) QDP 42.75/21.89 (40) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (41) QDP 42.75/21.89 (42) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (43) QDP 42.75/21.89 (44) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (45) QDP 42.75/21.89 (46) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (47) QDP 42.75/21.89 (48) UsableRulesProof [EQUIVALENT, 0 ms] 42.75/21.89 (49) QDP 42.75/21.89 (50) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (51) QDP 42.75/21.89 (52) UsableRulesProof [EQUIVALENT, 0 ms] 42.75/21.89 (53) QDP 42.75/21.89 (54) QReductionProof [EQUIVALENT, 0 ms] 42.75/21.89 (55) QDP 42.75/21.89 (56) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (57) QDP 42.75/21.89 (58) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (59) QDP 42.75/21.89 (60) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (61) QDP 42.75/21.89 (62) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (63) QDP 42.75/21.89 (64) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (65) QDP 42.75/21.89 (66) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (67) QDP 42.75/21.89 (68) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (69) QDP 42.75/21.89 (70) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (71) QDP 42.75/21.89 (72) QDPOrderProof [EQUIVALENT, 0 ms] 42.75/21.89 (73) QDP 42.75/21.89 (74) TransformationProof [EQUIVALENT, 0 ms] 42.75/21.89 (75) QDP 42.75/21.89 (76) DependencyGraphProof [EQUIVALENT, 0 ms] 42.75/21.89 (77) QDP 42.75/21.89 (78) InductionCalculusProof [EQUIVALENT, 0 ms] 42.75/21.89 (79) QDP 42.75/21.89 (80) NonInfProof [EQUIVALENT, 130 ms] 42.75/21.89 (81) QDP 42.75/21.89 (82) InductionCalculusProof [EQUIVALENT, 0 ms] 42.75/21.89 (83) QDP 42.75/21.89 (84) NonInfProof [EQUIVALENT, 40 ms] 42.75/21.89 (85) AND 42.75/21.89 (86) QDP 42.75/21.89 (87) DependencyGraphProof [EQUIVALENT, 0 ms] 42.75/21.89 (88) TRUE 42.75/21.89 (89) QDP 42.75/21.89 (90) InductionCalculusProof [EQUIVALENT, 0 ms] 42.75/21.89 (91) QDP 42.75/21.89 (92) NonInfProof [EQUIVALENT, 38 ms] 42.75/21.89 (93) QDP 42.75/21.89 (94) DependencyGraphProof [EQUIVALENT, 0 ms] 42.75/21.89 (95) TRUE 42.75/21.89 (96) QDP 42.75/21.89 (97) QDPSizeChangeProof [EQUIVALENT, 0 ms] 42.75/21.89 (98) YES 42.75/21.89 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (0) 42.75/21.89 Obligation: 42.75/21.89 mainModule Main 42.75/21.89 module Main where { 42.75/21.89 import qualified Prelude; 42.75/21.89 } 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (1) BR (EQUIVALENT) 42.75/21.89 Replaced joker patterns by fresh variables and removed binding patterns. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (2) 42.75/21.89 Obligation: 42.75/21.89 mainModule Main 42.75/21.89 module Main where { 42.75/21.89 import qualified Prelude; 42.75/21.89 } 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (3) COR (EQUIVALENT) 42.75/21.89 Cond Reductions: 42.75/21.89 The following Function with conditions 42.75/21.89 "takeWhile p [] = []; 42.75/21.89 takeWhile p (x : xs)|p xx : takeWhile p xs|otherwise[]; 42.75/21.89 " 42.75/21.89 is transformed to 42.75/21.89 "takeWhile p [] = takeWhile3 p []; 42.75/21.89 takeWhile p (x : xs) = takeWhile2 p (x : xs); 42.75/21.89 " 42.75/21.89 "takeWhile1 p x xs True = x : takeWhile p xs; 42.75/21.89 takeWhile1 p x xs False = takeWhile0 p x xs otherwise; 42.75/21.89 " 42.75/21.89 "takeWhile0 p x xs True = []; 42.75/21.89 " 42.75/21.89 "takeWhile2 p (x : xs) = takeWhile1 p x xs (p x); 42.75/21.89 " 42.75/21.89 "takeWhile3 p [] = []; 42.75/21.89 takeWhile3 vz wu = takeWhile2 vz wu; 42.75/21.89 " 42.75/21.89 The following Function with conditions 42.75/21.89 "undefined |Falseundefined; 42.75/21.89 " 42.75/21.89 is transformed to 42.75/21.89 "undefined = undefined1; 42.75/21.89 " 42.75/21.89 "undefined0 True = undefined; 42.75/21.89 " 42.75/21.89 "undefined1 = undefined0 False; 42.75/21.89 " 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (4) 42.75/21.89 Obligation: 42.75/21.89 mainModule Main 42.75/21.89 module Main where { 42.75/21.89 import qualified Prelude; 42.75/21.89 } 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (5) NumRed (SOUND) 42.75/21.89 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (6) 42.75/21.89 Obligation: 42.75/21.89 mainModule Main 42.75/21.89 module Main where { 42.75/21.89 import qualified Prelude; 42.75/21.89 } 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (7) Narrow (SOUND) 42.75/21.89 Haskell To QDPs 42.75/21.89 42.75/21.89 digraph dp_graph { 42.75/21.89 node [outthreshold=100, inthreshold=100];1[label="enumFromTo",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 42.75/21.89 3[label="enumFromTo wv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 42.75/21.89 4[label="enumFromTo wv3 wv4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 42.75/21.89 5[label="map toEnum (enumFromTo (fromEnum wv3) (fromEnum wv4))",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 42.75/21.89 6[label="map toEnum (numericEnumFromTo (fromEnum wv3) (fromEnum wv4))",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 559 -> 16[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 560 -> 18[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 561[label="wv30/Zero",fontsize=10,color="white",style="solid",shape="box"];17 -> 561[label="",style="solid", color="burlywood", weight=9]; 42.75/21.89 561 -> 19[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 562 -> 22[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 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]; 42.75/21.89 563 -> 23[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 564 -> 27[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 565[label="wv40/Zero",fontsize=10,color="white",style="solid",shape="box"];25 -> 565[label="",style="solid", color="burlywood", weight=9]; 42.75/21.89 565 -> 28[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 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]; 42.75/21.89 566 -> 29[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 567[label="wv40/Zero",fontsize=10,color="white",style="solid",shape="box"];26 -> 567[label="",style="solid", color="burlywood", weight=9]; 42.75/21.89 567 -> 30[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 33 -> 450[label="",style="dashed", color="red", weight=0]; 42.75/21.89 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]; 42.75/21.89 33 -> 452[label="",style="dashed", color="magenta", weight=3]; 42.75/21.89 33 -> 453[label="",style="dashed", color="magenta", weight=3]; 42.75/21.89 33 -> 454[label="",style="dashed", color="magenta", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 568 -> 491[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 569[label="wv24/Zero",fontsize=10,color="white",style="solid",shape="box"];450 -> 569[label="",style="solid", color="burlywood", weight=9]; 42.75/21.89 569 -> 492[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 570 -> 493[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 571[label="wv25/Zero",fontsize=10,color="white",style="solid",shape="box"];491 -> 571[label="",style="solid", color="burlywood", weight=9]; 42.75/21.89 571 -> 494[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 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]; 42.75/21.89 572 -> 495[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 573[label="wv25/Zero",fontsize=10,color="white",style="solid",shape="box"];492 -> 573[label="",style="solid", color="burlywood", weight=9]; 42.75/21.89 573 -> 496[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 55 -> 64[label="",style="dashed", color="green", weight=3]; 42.75/21.89 497 -> 450[label="",style="dashed", color="red", weight=0]; 42.75/21.89 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]; 42.75/21.89 497 -> 502[label="",style="dashed", color="magenta", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 62 -> 74[label="",style="dashed", color="green", weight=3]; 42.75/21.89 63[label="toEnum (Pos Zero)",fontsize=16,color="black",shape="triangle"];63 -> 75[label="",style="solid", color="black", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 505 -> 504[label="",style="dashed", color="red", weight=0]; 42.75/21.89 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]; 42.75/21.89 73 -> 63[label="",style="dashed", color="red", weight=0]; 42.75/21.89 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]; 42.75/21.89 75[label="primIntToChar (Pos Zero)",fontsize=16,color="black",shape="box"];75 -> 86[label="",style="solid", color="black", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 511 -> 514[label="",style="dashed", color="green", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 512[label="map toEnum []",fontsize=16,color="black",shape="box"];512 -> 515[label="",style="solid", color="black", weight=3]; 42.75/21.89 513[label="toEnum (Pos (Succ wv23))",fontsize=16,color="blue",shape="box"];574[label="toEnum :: Int -> Char",fontsize=10,color="white",style="solid",shape="box"];513 -> 574[label="",style="solid", color="blue", weight=9]; 42.75/21.89 574 -> 516[label="",style="solid", color="blue", weight=3]; 42.75/21.89 575[label="toEnum :: Int -> ()",fontsize=10,color="white",style="solid",shape="box"];513 -> 575[label="",style="solid", color="blue", weight=9]; 42.75/21.89 575 -> 517[label="",style="solid", color="blue", weight=3]; 42.75/21.89 576[label="toEnum :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];513 -> 576[label="",style="solid", color="blue", weight=9]; 42.75/21.89 576 -> 518[label="",style="solid", color="blue", weight=3]; 42.75/21.89 577[label="toEnum :: Int -> Float",fontsize=10,color="white",style="solid",shape="box"];513 -> 577[label="",style="solid", color="blue", weight=9]; 42.75/21.89 577 -> 519[label="",style="solid", color="blue", weight=3]; 42.75/21.89 578[label="toEnum :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];513 -> 578[label="",style="solid", color="blue", weight=9]; 42.75/21.89 578 -> 520[label="",style="solid", color="blue", weight=3]; 42.75/21.89 579[label="toEnum :: Int -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];513 -> 579[label="",style="solid", color="blue", weight=9]; 42.75/21.89 579 -> 521[label="",style="solid", color="blue", weight=3]; 42.75/21.89 580[label="toEnum :: Int -> Ordering",fontsize=10,color="white",style="solid",shape="box"];513 -> 580[label="",style="solid", color="blue", weight=9]; 42.75/21.89 580 -> 522[label="",style="solid", color="blue", weight=3]; 42.75/21.89 581[label="toEnum :: Int -> Double",fontsize=10,color="white",style="solid",shape="box"];513 -> 581[label="",style="solid", color="blue", weight=9]; 42.75/21.89 581 -> 523[label="",style="solid", color="blue", weight=3]; 42.75/21.89 582[label="toEnum :: Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];513 -> 582[label="",style="solid", color="blue", weight=9]; 42.75/21.89 582 -> 524[label="",style="solid", color="blue", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 517[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];517 -> 527[label="",style="solid", color="black", weight=3]; 42.75/21.89 518[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];518 -> 528[label="",style="solid", color="black", weight=3]; 42.75/21.89 519[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];519 -> 529[label="",style="solid", color="black", weight=3]; 42.75/21.89 520[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];520 -> 530[label="",style="solid", color="black", weight=3]; 42.75/21.89 521[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];521 -> 531[label="",style="solid", color="black", weight=3]; 42.75/21.89 522[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];522 -> 532[label="",style="solid", color="black", weight=3]; 42.75/21.89 523[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];523 -> 533[label="",style="solid", color="black", weight=3]; 42.75/21.89 524[label="toEnum (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];524 -> 534[label="",style="solid", color="black", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 526[label="primIntToChar (Pos (Succ wv23))",fontsize=16,color="black",shape="box"];526 -> 536[label="",style="solid", color="black", weight=3]; 42.75/21.89 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="error []",fontsize=16,color="red",shape="box"];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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 271 -> 24[label="",style="dashed", color="red", weight=0]; 42.75/21.89 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]; 42.75/21.89 271 -> 290[label="",style="dashed", color="magenta", weight=3]; 42.75/21.89 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]; 42.75/21.89 288 -> 24[label="",style="dashed", color="red", weight=0]; 42.75/21.89 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]; 42.75/21.89 288 -> 311[label="",style="dashed", color="magenta", weight=3]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 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]; 42.75/21.89 549 -> 450[label="",style="dashed", color="red", weight=0]; 42.75/21.89 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]; 42.75/21.89 549 -> 551[label="",style="dashed", color="magenta", weight=3]; 42.75/21.89 549 -> 552[label="",style="dashed", color="magenta", weight=3]; 42.75/21.89 550[label="Succ (primPlusNat wv23 Zero)",fontsize=16,color="green",shape="box"];550 -> 553[label="",style="dashed", color="green", weight=3]; 42.75/21.89 551[label="Succ (Succ (primPlusNat wv23 Zero))",fontsize=16,color="green",shape="box"];551 -> 554[label="",style="dashed", color="green", weight=3]; 42.75/21.89 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]; 42.75/21.89 583 -> 555[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 584[label="wv23/Zero",fontsize=10,color="white",style="solid",shape="box"];553 -> 584[label="",style="solid", color="burlywood", weight=9]; 42.75/21.89 584 -> 556[label="",style="solid", color="burlywood", weight=3]; 42.75/21.89 554 -> 553[label="",style="dashed", color="red", weight=0]; 42.75/21.89 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]; 42.75/21.89 556[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];556 -> 558[label="",style="solid", color="black", weight=3]; 42.75/21.89 557[label="Succ wv230",fontsize=16,color="green",shape="box"];558[label="Zero",fontsize=16,color="green",shape="box"];} 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (8) 42.75/21.89 Obligation: 42.75/21.89 Q DP problem: 42.75/21.89 The TRS P consists of the following rules: 42.75/21.89 42.75/21.89 new_map0(wv22, wv23, h) -> new_map(wv22, Succ(new_primPlusNat(wv23)), Succ(Succ(new_primPlusNat(wv23))), Succ(wv22), h) 42.75/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 42.75/21.89 new_map(wv22, wv23, Zero, Succ(wv250), h) -> new_map(wv22, Succ(new_primPlusNat(wv23)), Succ(Succ(new_primPlusNat(wv23))), Succ(wv22), h) 42.75/21.89 new_map(wv22, wv23, Succ(wv240), Succ(wv250), h) -> new_map(wv22, wv23, wv240, wv250, h) 42.75/21.89 42.75/21.89 The TRS R consists of the following rules: 42.75/21.89 42.75/21.89 new_primPlusNat(Zero) -> Zero 42.75/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 42.75/21.89 42.75/21.89 The set Q consists of the following terms: 42.75/21.89 42.75/21.89 new_primPlusNat(Succ(x0)) 42.75/21.89 new_primPlusNat(Zero) 42.75/21.89 42.75/21.89 We have to consider all minimal (P,Q,R)-chains. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (9) QDPPairToRuleProof (EQUIVALENT) 42.75/21.89 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: 42.75/21.89 anew_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 42.75/21.89 42.75/21.89 the following new pairs maintain the fan-in: 42.75/21.89 new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, anew_new_map(Succ(Succ(new_primPlusNat(wv23))), Succ(wv22))) 42.75/21.89 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))) 42.75/21.89 42.75/21.89 the following new pairs maintain the fan-out: 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (10) 42.75/21.89 Complex Obligation (AND) 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (11) 42.75/21.89 Obligation: 42.75/21.89 Q DP problem: 42.75/21.89 The TRS P consists of the following rules: 42.75/21.89 42.75/21.89 new_map0(wv22, wv23, h) -> new_map(wv22, Succ(new_primPlusNat(wv23)), Succ(Succ(new_primPlusNat(wv23))), Succ(wv22), h) 42.75/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 42.75/21.89 new_map(wv22, wv23, Zero, Succ(wv250), h) -> new_map(wv22, Succ(new_primPlusNat(wv23)), Succ(Succ(new_primPlusNat(wv23))), Succ(wv22), h) 42.75/21.89 new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, anew_new_map(Succ(Succ(new_primPlusNat(wv23))), Succ(wv22))) 42.75/21.89 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))) 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 42.75/21.89 42.75/21.89 The TRS R consists of the following rules: 42.75/21.89 42.75/21.89 new_primPlusNat(Zero) -> Zero 42.75/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 42.75/21.89 anew_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 42.75/21.89 42.75/21.89 The set Q consists of the following terms: 42.75/21.89 42.75/21.89 new_primPlusNat(Succ(x0)) 42.75/21.89 new_primPlusNat(Zero) 42.75/21.89 new_new_map(Succ(x0), Succ(x1)) 42.75/21.89 anew_new_map(Succ(x0), Succ(x1)) 42.75/21.89 new_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(x0)) 42.75/21.89 42.75/21.89 We have to consider all minimal (P,Q,R)-chains. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (12) DependencyGraphProof (EQUIVALENT) 42.75/21.89 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (13) 42.75/21.89 Obligation: 42.75/21.89 Q DP problem: 42.75/21.89 The TRS P consists of the following rules: 42.75/21.89 42.75/21.89 new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, anew_new_map(Succ(Succ(new_primPlusNat(wv23))), Succ(wv22))) 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 42.75/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 42.75/21.89 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))) 42.75/21.89 42.75/21.89 The TRS R consists of the following rules: 42.75/21.89 42.75/21.89 new_primPlusNat(Zero) -> Zero 42.75/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 42.75/21.89 anew_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 42.75/21.89 42.75/21.89 The set Q consists of the following terms: 42.75/21.89 42.75/21.89 new_primPlusNat(Succ(x0)) 42.75/21.89 new_primPlusNat(Zero) 42.75/21.89 new_new_map(Succ(x0), Succ(x1)) 42.75/21.89 anew_new_map(Succ(x0), Succ(x1)) 42.75/21.89 new_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(x0)) 42.75/21.89 42.75/21.89 We have to consider all minimal (P,Q,R)-chains. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (14) TransformationProof (EQUIVALENT) 42.75/21.89 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]: 42.75/21.89 42.75/21.89 (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))) 42.75/21.89 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (15) 42.75/21.89 Obligation: 42.75/21.89 Q DP problem: 42.75/21.89 The TRS P consists of the following rules: 42.75/21.89 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 42.75/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 42.75/21.89 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))) 42.75/21.89 new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) 42.75/21.89 42.75/21.89 The TRS R consists of the following rules: 42.75/21.89 42.75/21.89 new_primPlusNat(Zero) -> Zero 42.75/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 42.75/21.89 anew_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 42.75/21.89 42.75/21.89 The set Q consists of the following terms: 42.75/21.89 42.75/21.89 new_primPlusNat(Succ(x0)) 42.75/21.89 new_primPlusNat(Zero) 42.75/21.89 new_new_map(Succ(x0), Succ(x1)) 42.75/21.89 anew_new_map(Succ(x0), Succ(x1)) 42.75/21.89 new_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(x0)) 42.75/21.89 42.75/21.89 We have to consider all minimal (P,Q,R)-chains. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (16) TransformationProof (EQUIVALENT) 42.75/21.89 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]: 42.75/21.89 42.75/21.89 (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))) 42.75/21.89 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (17) 42.75/21.89 Obligation: 42.75/21.89 Q DP problem: 42.75/21.89 The TRS P consists of the following rules: 42.75/21.89 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 42.75/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 42.75/21.89 new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) 42.75/21.89 new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) 42.75/21.89 42.75/21.89 The TRS R consists of the following rules: 42.75/21.89 42.75/21.89 new_primPlusNat(Zero) -> Zero 42.75/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 42.75/21.89 anew_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 42.75/21.89 42.75/21.89 The set Q consists of the following terms: 42.75/21.89 42.75/21.89 new_primPlusNat(Succ(x0)) 42.75/21.89 new_primPlusNat(Zero) 42.75/21.89 new_new_map(Succ(x0), Succ(x1)) 42.75/21.89 anew_new_map(Succ(x0), Succ(x1)) 42.75/21.89 new_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(x0)) 42.75/21.89 42.75/21.89 We have to consider all minimal (P,Q,R)-chains. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (18) UsableRulesProof (EQUIVALENT) 42.75/21.89 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. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (19) 42.75/21.89 Obligation: 42.75/21.89 Q DP problem: 42.75/21.89 The TRS P consists of the following rules: 42.75/21.89 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 42.75/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 42.75/21.89 new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) 42.75/21.89 new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) 42.75/21.89 42.75/21.89 The TRS R consists of the following rules: 42.75/21.89 42.75/21.89 new_primPlusNat(Zero) -> Zero 42.75/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 42.75/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 42.75/21.89 42.75/21.89 The set Q consists of the following terms: 42.75/21.89 42.75/21.89 new_primPlusNat(Succ(x0)) 42.75/21.89 new_primPlusNat(Zero) 42.75/21.89 new_new_map(Succ(x0), Succ(x1)) 42.75/21.89 anew_new_map(Succ(x0), Succ(x1)) 42.75/21.89 new_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(x0)) 42.75/21.89 42.75/21.89 We have to consider all minimal (P,Q,R)-chains. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (20) QReductionProof (EQUIVALENT) 42.75/21.89 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 42.75/21.89 42.75/21.89 anew_new_map(Succ(x0), Succ(x1)) 42.75/21.89 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (21) 42.75/21.89 Obligation: 42.75/21.89 Q DP problem: 42.75/21.89 The TRS P consists of the following rules: 42.75/21.89 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 42.75/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 42.75/21.89 new_map0(wv22, wv23, h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) 42.75/21.89 new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) 42.75/21.89 42.75/21.89 The TRS R consists of the following rules: 42.75/21.89 42.75/21.89 new_primPlusNat(Zero) -> Zero 42.75/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 42.75/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 42.75/21.89 42.75/21.89 The set Q consists of the following terms: 42.75/21.89 42.75/21.89 new_primPlusNat(Succ(x0)) 42.75/21.89 new_primPlusNat(Zero) 42.75/21.89 new_new_map(Succ(x0), Succ(x1)) 42.75/21.89 new_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(x0)) 42.75/21.89 42.75/21.89 We have to consider all minimal (P,Q,R)-chains. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (22) TransformationProof (EQUIVALENT) 42.75/21.89 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]: 42.75/21.89 42.75/21.89 (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))) 42.75/21.89 (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))) 42.75/21.89 (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))) 42.75/21.89 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (23) 42.75/21.89 Obligation: 42.75/21.89 Q DP problem: 42.75/21.89 The TRS P consists of the following rules: 42.75/21.89 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 42.75/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 42.75/21.89 new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) 42.75/21.89 new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)) 42.75/21.89 new_map0(y0, Zero, y2) -> H(y0, Succ(new_primPlusNat(Zero)), y2, new_new_map(Succ(Zero), y0)) 42.75/21.89 new_map0(y0, Succ(x0), y2) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(Succ(x0)), y0)) 42.75/21.89 42.75/21.89 The TRS R consists of the following rules: 42.75/21.89 42.75/21.89 new_primPlusNat(Zero) -> Zero 42.75/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 42.75/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 42.75/21.89 42.75/21.89 The set Q consists of the following terms: 42.75/21.89 42.75/21.89 new_primPlusNat(Succ(x0)) 42.75/21.89 new_primPlusNat(Zero) 42.75/21.89 new_new_map(Succ(x0), Succ(x1)) 42.75/21.89 new_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(x0)) 42.75/21.89 42.75/21.89 We have to consider all minimal (P,Q,R)-chains. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (24) TransformationProof (EQUIVALENT) 42.75/21.89 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]: 42.75/21.89 42.75/21.89 (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))) 42.75/21.89 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (25) 42.75/21.89 Obligation: 42.75/21.89 Q DP problem: 42.75/21.89 The TRS P consists of the following rules: 42.75/21.89 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 42.75/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 42.75/21.89 new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) 42.75/21.89 new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)) 42.75/21.89 new_map0(y0, Succ(x0), y2) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(Succ(x0)), y0)) 42.75/21.89 new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) 42.75/21.89 42.75/21.89 The TRS R consists of the following rules: 42.75/21.89 42.75/21.89 new_primPlusNat(Zero) -> Zero 42.75/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 42.75/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 42.75/21.89 42.75/21.89 The set Q consists of the following terms: 42.75/21.89 42.75/21.89 new_primPlusNat(Succ(x0)) 42.75/21.89 new_primPlusNat(Zero) 42.75/21.89 new_new_map(Succ(x0), Succ(x1)) 42.75/21.89 new_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(x0)) 42.75/21.89 42.75/21.89 We have to consider all minimal (P,Q,R)-chains. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (26) TransformationProof (EQUIVALENT) 42.75/21.89 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]: 42.75/21.89 42.75/21.89 (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))) 42.75/21.89 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (27) 42.75/21.89 Obligation: 42.75/21.89 Q DP problem: 42.75/21.89 The TRS P consists of the following rules: 42.75/21.89 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 42.75/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 42.75/21.89 new_map(wv22, wv23, Zero, Succ(wv250), h) -> H(wv22, Succ(new_primPlusNat(wv23)), h, new_new_map(Succ(new_primPlusNat(wv23)), wv22)) 42.75/21.89 new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)) 42.75/21.89 new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) 42.75/21.89 new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) 42.75/21.89 42.75/21.89 The TRS R consists of the following rules: 42.75/21.89 42.75/21.89 new_primPlusNat(Zero) -> Zero 42.75/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 42.75/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 42.75/21.89 42.75/21.89 The set Q consists of the following terms: 42.75/21.89 42.75/21.89 new_primPlusNat(Succ(x0)) 42.75/21.89 new_primPlusNat(Zero) 42.75/21.89 new_new_map(Succ(x0), Succ(x1)) 42.75/21.89 new_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(x0)) 42.75/21.89 42.75/21.89 We have to consider all minimal (P,Q,R)-chains. 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (28) TransformationProof (EQUIVALENT) 42.75/21.89 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]: 42.75/21.89 42.75/21.89 (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))) 42.75/21.89 (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))) 42.75/21.89 (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))) 42.75/21.89 42.75/21.89 42.75/21.89 ---------------------------------------- 42.75/21.89 42.75/21.89 (29) 42.75/21.89 Obligation: 42.75/21.89 Q DP problem: 42.75/21.89 The TRS P consists of the following rules: 42.75/21.89 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 42.75/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 42.75/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 42.75/21.89 new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)) 42.75/21.89 new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) 42.75/21.89 new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) 42.75/21.89 new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) 42.75/21.89 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(new_primPlusNat(Zero)), y3, new_new_map(Succ(Zero), y0)) 42.75/21.89 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y3, new_new_map(Succ(Succ(x0)), y0)) 42.75/21.89 42.75/21.89 The TRS R consists of the following rules: 42.75/21.89 42.75/21.89 new_primPlusNat(Zero) -> Zero 42.75/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 42.75/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 42.75/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 42.75/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 42.75/21.89 42.75/21.89 The set Q consists of the following terms: 42.75/21.89 42.75/21.89 new_primPlusNat(Succ(x0)) 42.75/21.89 new_primPlusNat(Zero) 42.75/21.89 new_new_map(Succ(x0), Succ(x1)) 42.75/21.89 new_new_map(Zero, Zero) 43.03/21.89 new_new_map(Zero, Succ(x0)) 43.03/21.89 43.03/21.89 We have to consider all minimal (P,Q,R)-chains. 43.03/21.89 ---------------------------------------- 43.03/21.89 43.03/21.89 (30) TransformationProof (EQUIVALENT) 43.03/21.89 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]: 43.03/21.89 43.03/21.89 (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))) 43.03/21.89 43.03/21.89 43.03/21.89 ---------------------------------------- 43.03/21.89 43.03/21.89 (31) 43.03/21.89 Obligation: 43.03/21.89 Q DP problem: 43.03/21.89 The TRS P consists of the following rules: 43.03/21.89 43.03/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.89 new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)) 43.03/21.89 new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) 43.03/21.89 new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.89 new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) 43.03/21.89 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(new_primPlusNat(Succ(x0))), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.89 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) 43.03/21.89 43.03/21.89 The TRS R consists of the following rules: 43.03/21.89 43.03/21.89 new_primPlusNat(Zero) -> Zero 43.03/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 43.03/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.89 43.03/21.89 The set Q consists of the following terms: 43.03/21.89 43.03/21.89 new_primPlusNat(Succ(x0)) 43.03/21.89 new_primPlusNat(Zero) 43.03/21.89 new_new_map(Succ(x0), Succ(x1)) 43.03/21.89 new_new_map(Zero, Zero) 43.03/21.89 new_new_map(Zero, Succ(x0)) 43.03/21.89 43.03/21.89 We have to consider all minimal (P,Q,R)-chains. 43.03/21.89 ---------------------------------------- 43.03/21.89 43.03/21.89 (32) TransformationProof (EQUIVALENT) 43.03/21.89 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]: 43.03/21.89 43.03/21.89 (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))) 43.03/21.89 43.03/21.89 43.03/21.89 ---------------------------------------- 43.03/21.89 43.03/21.89 (33) 43.03/21.89 Obligation: 43.03/21.89 Q DP problem: 43.03/21.89 The TRS P consists of the following rules: 43.03/21.89 43.03/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.89 new_map0(Succ(x1), y1, y2) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y2, new_new_map(new_primPlusNat(y1), x1)) 43.03/21.89 new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) 43.03/21.89 new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.89 new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) 43.03/21.89 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) 43.03/21.89 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.89 43.03/21.89 The TRS R consists of the following rules: 43.03/21.89 43.03/21.89 new_primPlusNat(Zero) -> Zero 43.03/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 43.03/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.89 43.03/21.89 The set Q consists of the following terms: 43.03/21.89 43.03/21.89 new_primPlusNat(Succ(x0)) 43.03/21.89 new_primPlusNat(Zero) 43.03/21.89 new_new_map(Succ(x0), Succ(x1)) 43.03/21.89 new_new_map(Zero, Zero) 43.03/21.89 new_new_map(Zero, Succ(x0)) 43.03/21.89 43.03/21.89 We have to consider all minimal (P,Q,R)-chains. 43.03/21.89 ---------------------------------------- 43.03/21.89 43.03/21.89 (34) TransformationProof (EQUIVALENT) 43.03/21.89 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]: 43.03/21.89 43.03/21.89 (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))) 43.03/21.89 (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))) 43.03/21.89 43.03/21.89 43.03/21.89 ---------------------------------------- 43.03/21.89 43.03/21.89 (35) 43.03/21.89 Obligation: 43.03/21.89 Q DP problem: 43.03/21.89 The TRS P consists of the following rules: 43.03/21.89 43.03/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.89 new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) 43.03/21.89 new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.89 new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) 43.03/21.89 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) 43.03/21.89 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.89 new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(new_primPlusNat(Zero)), y2, new_new_map(Zero, y0)) 43.03/21.89 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(x0), y0)) 43.03/21.89 43.03/21.89 The TRS R consists of the following rules: 43.03/21.89 43.03/21.89 new_primPlusNat(Zero) -> Zero 43.03/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 43.03/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.89 43.03/21.89 The set Q consists of the following terms: 43.03/21.89 43.03/21.89 new_primPlusNat(Succ(x0)) 43.03/21.89 new_primPlusNat(Zero) 43.03/21.89 new_new_map(Succ(x0), Succ(x1)) 43.03/21.89 new_new_map(Zero, Zero) 43.03/21.89 new_new_map(Zero, Succ(x0)) 43.03/21.89 43.03/21.89 We have to consider all minimal (P,Q,R)-chains. 43.03/21.89 ---------------------------------------- 43.03/21.89 43.03/21.89 (36) TransformationProof (EQUIVALENT) 43.03/21.89 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]: 43.03/21.89 43.03/21.89 (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))) 43.03/21.89 43.03/21.89 43.03/21.89 ---------------------------------------- 43.03/21.89 43.03/21.89 (37) 43.03/21.89 Obligation: 43.03/21.89 Q DP problem: 43.03/21.89 The TRS P consists of the following rules: 43.03/21.89 43.03/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.89 new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) 43.03/21.89 new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.89 new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) 43.03/21.89 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) 43.03/21.89 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.89 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(new_primPlusNat(Succ(x0))), y2, new_new_map(Succ(x0), y0)) 43.03/21.89 new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) 43.03/21.89 43.03/21.89 The TRS R consists of the following rules: 43.03/21.89 43.03/21.89 new_primPlusNat(Zero) -> Zero 43.03/21.89 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 43.03/21.89 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.89 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.89 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.89 43.03/21.89 The set Q consists of the following terms: 43.03/21.89 43.03/21.89 new_primPlusNat(Succ(x0)) 43.03/21.89 new_primPlusNat(Zero) 43.03/21.89 new_new_map(Succ(x0), Succ(x1)) 43.03/21.89 new_new_map(Zero, Zero) 43.03/21.89 new_new_map(Zero, Succ(x0)) 43.03/21.89 43.03/21.89 We have to consider all minimal (P,Q,R)-chains. 43.03/21.89 ---------------------------------------- 43.03/21.89 43.03/21.89 (38) TransformationProof (EQUIVALENT) 43.03/21.89 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]: 43.03/21.89 43.03/21.89 (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))) 43.03/21.89 43.03/21.89 43.03/21.89 ---------------------------------------- 43.03/21.89 43.03/21.89 (39) 43.03/21.89 Obligation: 43.03/21.89 Q DP problem: 43.03/21.89 The TRS P consists of the following rules: 43.03/21.89 43.03/21.89 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.89 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.89 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.89 new_map0(y0, Zero, y2) -> H(y0, Succ(Zero), y2, new_new_map(Succ(Zero), y0)) 43.03/21.89 new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.89 new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) 43.03/21.89 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) 43.03/21.89 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.89 new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) 43.03/21.89 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) 43.03/21.89 43.03/21.89 The TRS R consists of the following rules: 43.03/21.89 43.03/21.89 new_primPlusNat(Zero) -> Zero 43.03/21.90 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_primPlusNat(Succ(x0)) 43.03/21.90 new_primPlusNat(Zero) 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (40) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (41) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map0(y0, Succ(x0), y2) -> H(y0, Succ(Succ(x0)), y2, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.90 new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) 43.03/21.90 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) 43.03/21.90 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.90 new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) 43.03/21.90 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_primPlusNat(Zero) -> Zero 43.03/21.90 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_primPlusNat(Succ(x0)) 43.03/21.90 new_primPlusNat(Zero) 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (42) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (43) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map(Succ(x1), y1, Zero, Succ(y2), y3) -> H(Succ(x1), Succ(new_primPlusNat(y1)), y3, new_new_map(new_primPlusNat(y1), x1)) 43.03/21.90 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) 43.03/21.90 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.90 new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) 43.03/21.90 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_primPlusNat(Zero) -> Zero 43.03/21.90 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_primPlusNat(Succ(x0)) 43.03/21.90 new_primPlusNat(Zero) 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (44) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (45) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) 43.03/21.90 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.90 new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) 43.03/21.90 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) 43.03/21.90 new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(new_primPlusNat(Zero)), y3, new_new_map(Zero, y0)) 43.03/21.90 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)) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_primPlusNat(Zero) -> Zero 43.03/21.90 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_primPlusNat(Succ(x0)) 43.03/21.90 new_primPlusNat(Zero) 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (46) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (47) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) 43.03/21.90 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.90 new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) 43.03/21.90 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) 43.03/21.90 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)) 43.03/21.90 new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_primPlusNat(Zero) -> Zero 43.03/21.90 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_primPlusNat(Succ(x0)) 43.03/21.90 new_primPlusNat(Zero) 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (48) UsableRulesProof (EQUIVALENT) 43.03/21.90 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. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (49) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) 43.03/21.90 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.90 new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) 43.03/21.90 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) 43.03/21.90 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)) 43.03/21.90 new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_primPlusNat(Succ(x0)) 43.03/21.90 new_primPlusNat(Zero) 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (50) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (51) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) 43.03/21.90 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.90 new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) 43.03/21.90 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) 43.03/21.90 new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) 43.03/21.90 new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 new_primPlusNat(Succ(wv230)) -> Succ(wv230) 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_primPlusNat(Succ(x0)) 43.03/21.90 new_primPlusNat(Zero) 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (52) UsableRulesProof (EQUIVALENT) 43.03/21.90 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. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (53) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) 43.03/21.90 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.90 new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) 43.03/21.90 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) 43.03/21.90 new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) 43.03/21.90 new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_primPlusNat(Succ(x0)) 43.03/21.90 new_primPlusNat(Zero) 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (54) QReductionProof (EQUIVALENT) 43.03/21.90 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 43.03/21.90 43.03/21.90 new_primPlusNat(Succ(x0)) 43.03/21.90 new_primPlusNat(Zero) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (55) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map(y0, Zero, Zero, Succ(y2), y3) -> H(y0, Succ(Zero), y3, new_new_map(Succ(Zero), y0)) 43.03/21.90 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.90 new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) 43.03/21.90 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) 43.03/21.90 new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) 43.03/21.90 new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (56) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (57) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map(y0, Succ(x0), Zero, Succ(y2), y3) -> H(y0, Succ(Succ(x0)), y3, new_new_map(Succ(Succ(x0)), y0)) 43.03/21.90 new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) 43.03/21.90 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) 43.03/21.90 new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) 43.03/21.90 new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (58) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (59) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map0(Succ(y0), Zero, y2) -> H(Succ(y0), Succ(Zero), y2, new_new_map(Zero, y0)) 43.03/21.90 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) 43.03/21.90 new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) 43.03/21.90 new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (60) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (61) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map0(Succ(y0), Succ(x0), y2) -> H(Succ(y0), Succ(Succ(x0)), y2, new_new_map(Succ(x0), y0)) 43.03/21.90 new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) 43.03/21.90 new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) 43.03/21.90 new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (62) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (63) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map(Succ(y0), Zero, Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Zero), y3, new_new_map(Zero, y0)) 43.03/21.90 new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) 43.03/21.90 new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) 43.03/21.90 new_map0(Succ(Succ(x1)), Succ(x0), y2) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y2, new_new_map(x0, x1)) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (64) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (65) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map(Succ(y0), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(y0), Succ(Succ(x0)), y3, new_new_map(Succ(x0), y0)) 43.03/21.90 new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) 43.03/21.90 new_map0(Succ(Succ(x1)), Succ(x0), y2) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y2, new_new_map(x0, x1)) 43.03/21.90 new_map(Succ(Zero), Zero, Zero, Succ(y1), y2) -> H(Succ(Zero), Succ(Zero), y2, cons_new_map(Zero, Zero)) 43.03/21.90 new_map(Succ(Succ(x0)), Zero, Zero, Succ(y1), y2) -> H(Succ(Succ(x0)), Succ(Zero), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (66) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (67) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) 43.03/21.90 new_map0(Succ(Succ(x1)), Succ(x0), y2) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y2, new_new_map(x0, x1)) 43.03/21.90 new_map(Succ(Zero), Zero, Zero, Succ(y1), y2) -> H(Succ(Zero), Succ(Zero), y2, cons_new_map(Zero, Zero)) 43.03/21.90 new_map(Succ(Succ(x0)), Zero, Zero, Succ(y1), y2) -> H(Succ(Succ(x0)), Succ(Zero), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 new_map(Succ(Succ(x1)), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y3, new_new_map(x0, x1)) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (68) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 (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))) 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (69) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) 43.03/21.90 new_map(Succ(Zero), Zero, Zero, Succ(y1), y2) -> H(Succ(Zero), Succ(Zero), y2, cons_new_map(Zero, Zero)) 43.03/21.90 new_map(Succ(Succ(x0)), Zero, Zero, Succ(y1), y2) -> H(Succ(Succ(x0)), Succ(Zero), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 new_map(Succ(Succ(x1)), Succ(x0), Zero, Succ(y2), y3) -> H(Succ(Succ(x1)), Succ(Succ(x0)), y3, new_new_map(x0, x1)) 43.03/21.90 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)) 43.03/21.90 new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (70) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 (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))) 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (71) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) 43.03/21.90 new_map(Succ(Zero), Zero, Zero, Succ(y1), y2) -> H(Succ(Zero), Succ(Zero), y2, cons_new_map(Zero, Zero)) 43.03/21.90 new_map(Succ(Succ(x0)), Zero, Zero, Succ(y1), y2) -> H(Succ(Succ(x0)), Succ(Zero), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 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)) 43.03/21.90 new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 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)) 43.03/21.90 new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Succ(y2), y3) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y3, cons_new_map(Zero, Zero)) 43.03/21.90 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))) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (72) QDPOrderProof (EQUIVALENT) 43.03/21.90 We use the reduction pair processor [LPAR04,JAR06]. 43.03/21.90 43.03/21.90 43.03/21.90 The following pairs can be oriented strictly and are deleted. 43.03/21.90 43.03/21.90 new_map0(Succ(Zero), Zero, y1) -> H(Succ(Zero), Succ(Zero), y1, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(x0)), Zero, y1) -> H(Succ(Succ(x0)), Succ(Zero), y1, cons_new_map(Zero, Succ(x0))) 43.03/21.90 new_map(Succ(Zero), Zero, Zero, Succ(y1), y2) -> H(Succ(Zero), Succ(Zero), y2, cons_new_map(Zero, Zero)) 43.03/21.90 new_map(Succ(Succ(x0)), Zero, Zero, Succ(y1), y2) -> H(Succ(Succ(x0)), Succ(Zero), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 The remaining pairs can at least be oriented weakly. 43.03/21.90 Used ordering: Polynomial interpretation [POLO]: 43.03/21.90 43.03/21.90 POL(H(x_1, x_2, x_3, x_4)) = x_2 43.03/21.90 POL(Succ(x_1)) = 0 43.03/21.90 POL(Zero) = 1 43.03/21.90 POL(cons_new_map(x_1, x_2)) = 0 43.03/21.90 POL(new_map(x_1, x_2, x_3, x_4, x_5)) = x_2 43.03/21.90 POL(new_map0(x_1, x_2, x_3)) = x_2 43.03/21.90 POL(new_new_map(x_1, x_2)) = 0 43.03/21.90 43.03/21.90 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 43.03/21.90 none 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (73) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Succ(wv250))) -> new_map(wv22, wv23, Zero, Succ(wv250), h) 43.03/21.90 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)) 43.03/21.90 new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 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)) 43.03/21.90 new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Succ(y2), y3) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y3, cons_new_map(Zero, Zero)) 43.03/21.90 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))) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (74) TransformationProof (EQUIVALENT) 43.03/21.90 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]: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (75) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 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)) 43.03/21.90 new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 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)) 43.03/21.90 new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Succ(y2), y3) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y3, cons_new_map(Zero, Zero)) 43.03/21.90 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))) 43.03/21.90 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) 43.03/21.90 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) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (76) DependencyGraphProof (EQUIVALENT) 43.03/21.90 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (77) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 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)) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 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) 43.03/21.90 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)) 43.03/21.90 new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 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) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (78) InductionCalculusProof (EQUIVALENT) 43.03/21.90 Note that final constraints are written in bold face. 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 For Pair new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) the following chains were created: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Zero, x20)_>=_new_map0(Succ(Succ(Zero)), Succ(Zero), x20)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We solved constraint (5) using rules (I), (II). 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 For Pair H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) the following chains were created: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We solved constraint (5) using rules (I), (II). 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (new_map0(Succ(Succ(Zero)), Succ(Zero), x165)_>=_H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 To summarize, we get the following constraints P__>=_ for the following pairs. 43.03/21.90 43.03/21.90 *new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 43.03/21.90 *(new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) 43.03/21.90 43.03/21.90 43.03/21.90 *(new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Zero, x20)_>=_new_map0(Succ(Succ(Zero)), Succ(Zero), x20)) 43.03/21.90 43.03/21.90 43.03/21.90 *(new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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)) 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 43.03/21.90 *(H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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) 43.03/21.90 43.03/21.90 *(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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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)) 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) 43.03/21.90 43.03/21.90 *(new_map0(Succ(Succ(Zero)), Succ(Zero), x165)_>=_H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 43.03/21.90 *(new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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) 43.03/21.90 43.03/21.90 *(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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (79) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 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)) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 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) 43.03/21.90 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)) 43.03/21.90 new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 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) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (80) NonInfProof (EQUIVALENT) 43.03/21.90 The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps: 43.03/21.90 43.03/21.90 Note that final constraints are written in bold face. 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 For Pair new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) the following chains were created: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Zero, x20)_>=_new_map0(Succ(Succ(Zero)), Succ(Zero), x20)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We solved constraint (5) using rules (I), (II). 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 For Pair H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) the following chains were created: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We solved constraint (5) using rules (I), (II). 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (new_map0(Succ(Succ(Zero)), Succ(Zero), x165)_>=_H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 To summarize, we get the following constraints P__>=_ for the following pairs. 43.03/21.90 43.03/21.90 *new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 43.03/21.90 *(new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) 43.03/21.90 43.03/21.90 43.03/21.90 *(new_map(Succ(Succ(Zero)), Succ(Zero), Zero, Zero, x20)_>=_new_map0(Succ(Succ(Zero)), Succ(Zero), x20)) 43.03/21.90 43.03/21.90 43.03/21.90 *(new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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)) 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 43.03/21.90 *(H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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) 43.03/21.90 43.03/21.90 *(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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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)) 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) 43.03/21.90 43.03/21.90 *(new_map0(Succ(Succ(Zero)), Succ(Zero), x165)_>=_H(Succ(Succ(Zero)), Succ(Succ(Zero)), x165, cons_new_map(Zero, Zero))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 43.03/21.90 *(new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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) 43.03/21.90 43.03/21.90 *(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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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. 43.03/21.90 43.03/21.90 Using the following integer polynomial ordering the resulting constraints can be solved 43.03/21.90 43.03/21.90 Polynomial interpretation [NONINF]: 43.03/21.90 43.03/21.90 POL(H(x_1, x_2, x_3, x_4)) = -1 - x_1 - x_2 + x_3 - x_4 43.03/21.90 POL(Succ(x_1)) = 1 + x_1 43.03/21.90 POL(Zero) = 0 43.03/21.90 POL(c) = -7 43.03/21.90 POL(cons_new_map(x_1, x_2)) = 0 43.03/21.90 POL(new_map(x_1, x_2, x_3, x_4, x_5)) = -1 - x_1 - x_2 + x_3 + x_5 43.03/21.90 POL(new_map0(x_1, x_2, x_3)) = -1 - x_1 - x_2 + x_3 43.03/21.90 POL(new_new_map(x_1, x_2)) = 0 43.03/21.90 43.03/21.90 43.03/21.90 The following pairs are in P_>: 43.03/21.90 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)) 43.03/21.90 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)) 43.03/21.90 new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) 43.03/21.90 new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 The following pairs are in P_bound: 43.03/21.90 new_map0(Succ(Succ(Zero)), Succ(Zero), y2) -> H(Succ(Succ(Zero)), Succ(Succ(Zero)), y2, cons_new_map(Zero, Zero)) 43.03/21.90 The following rules are usable: 43.03/21.90 new_new_map(wv240, wv250) -> new_new_map(Succ(wv240), Succ(wv250)) 43.03/21.90 cons_new_map(Zero, Zero) -> new_new_map(Zero, Zero) 43.03/21.90 cons_new_map(Zero, Succ(wv250)) -> new_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (81) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 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)) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 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) 43.03/21.90 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)) 43.03/21.90 new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 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) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (82) InductionCalculusProof (EQUIVALENT) 43.03/21.90 Note that final constraints are written in bold face. 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 For Pair new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) the following chains were created: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We solved constraint (5) using rules (I), (II). 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 For Pair H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) the following chains were created: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We solved constraint (5) using rules (I), (II). 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 To summarize, we get the following constraints P__>=_ for the following pairs. 43.03/21.90 43.03/21.90 *new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 43.03/21.90 *(new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) 43.03/21.90 43.03/21.90 43.03/21.90 *(new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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)) 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 43.03/21.90 *(H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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) 43.03/21.90 43.03/21.90 *(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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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)) 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 *(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)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 43.03/21.90 *(new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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) 43.03/21.90 43.03/21.90 *(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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (83) 43.03/21.90 Obligation: 43.03/21.90 Q DP problem: 43.03/21.90 The TRS P consists of the following rules: 43.03/21.90 43.03/21.90 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.90 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)) 43.03/21.90 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.90 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) 43.03/21.90 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)) 43.03/21.90 new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.90 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) 43.03/21.90 43.03/21.90 The TRS R consists of the following rules: 43.03/21.90 43.03/21.90 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.90 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.90 43.03/21.90 The set Q consists of the following terms: 43.03/21.90 43.03/21.90 new_new_map(Succ(x0), Succ(x1)) 43.03/21.90 new_new_map(Zero, Zero) 43.03/21.90 new_new_map(Zero, Succ(x0)) 43.03/21.90 43.03/21.90 We have to consider all minimal (P,Q,R)-chains. 43.03/21.90 ---------------------------------------- 43.03/21.90 43.03/21.90 (84) NonInfProof (EQUIVALENT) 43.03/21.90 The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps: 43.03/21.90 43.03/21.90 Note that final constraints are written in bold face. 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 For Pair new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) the following chains were created: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (2) (new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 *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: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.90 43.03/21.90 (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))) 43.03/21.90 43.03/21.90 43.03/21.90 43.03/21.90 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: 43.03/21.90 43.03/21.90 (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)))) 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We solved constraint (5) using rules (I), (II). 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 For Pair H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) the following chains were created: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (2) (H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We solved constraint (5) using rules (I), (II). 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 To summarize, we get the following constraints P__>=_ for the following pairs. 43.03/21.91 43.03/21.91 *new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.91 43.03/21.91 *(new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) 43.03/21.91 43.03/21.91 43.03/21.91 *(new_map(Succ(Succ(Succ(x25))), Succ(Zero), Zero, Zero, x24)_>=_new_map0(Succ(Succ(Succ(x25))), Succ(Zero), x24)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *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)) 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.91 43.03/21.91 *(H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *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) 43.03/21.91 43.03/21.91 *(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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *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)) 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.91 43.03/21.91 *(new_map0(Succ(Succ(Succ(x188))), Succ(Zero), x189)_>=_H(Succ(Succ(Succ(x188))), Succ(Succ(Zero)), x189, cons_new_map(Zero, Succ(x188)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *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) 43.03/21.91 43.03/21.91 *(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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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. 43.03/21.91 43.03/21.91 Using the following integer polynomial ordering the resulting constraints can be solved 43.03/21.91 43.03/21.91 Polynomial interpretation [NONINF]: 43.03/21.91 43.03/21.91 POL(H(x_1, x_2, x_3, x_4)) = -1 - x_2 + x_3 - x_4 43.03/21.91 POL(Succ(x_1)) = 1 + x_1 43.03/21.91 POL(Zero) = 0 43.03/21.91 POL(c) = -4 43.03/21.91 POL(cons_new_map(x_1, x_2)) = 0 43.03/21.91 POL(new_map(x_1, x_2, x_3, x_4, x_5)) = -1 - x_2 + x_3 + x_5 43.03/21.91 POL(new_map0(x_1, x_2, x_3)) = -1 - x_2 + x_3 43.03/21.91 POL(new_new_map(x_1, x_2)) = 0 43.03/21.91 43.03/21.91 43.03/21.91 The following pairs are in P_>: 43.03/21.91 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)) 43.03/21.91 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)) 43.03/21.91 new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.91 The following pairs are in P_bound: 43.03/21.91 new_map0(Succ(Succ(Succ(x0))), Succ(Zero), y2) -> H(Succ(Succ(Succ(x0))), Succ(Succ(Zero)), y2, cons_new_map(Zero, Succ(x0))) 43.03/21.91 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) 43.03/21.91 The following rules are usable: 43.03/21.91 new_new_map(wv240, wv250) -> new_new_map(Succ(wv240), Succ(wv250)) 43.03/21.91 cons_new_map(Zero, Zero) -> new_new_map(Zero, Zero) 43.03/21.91 cons_new_map(Zero, Succ(wv250)) -> new_new_map(Zero, Succ(wv250)) 43.03/21.91 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (85) 43.03/21.91 Complex Obligation (AND) 43.03/21.91 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (86) 43.03/21.91 Obligation: 43.03/21.91 Q DP problem: 43.03/21.91 The TRS P consists of the following rules: 43.03/21.91 43.03/21.91 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.91 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.91 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) 43.03/21.91 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) 43.03/21.91 43.03/21.91 The TRS R consists of the following rules: 43.03/21.91 43.03/21.91 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.91 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.91 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.91 43.03/21.91 The set Q consists of the following terms: 43.03/21.91 43.03/21.91 new_new_map(Succ(x0), Succ(x1)) 43.03/21.91 new_new_map(Zero, Zero) 43.03/21.91 new_new_map(Zero, Succ(x0)) 43.03/21.91 43.03/21.91 We have to consider all minimal (P,Q,R)-chains. 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (87) DependencyGraphProof (EQUIVALENT) 43.03/21.91 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 4 less nodes. 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (88) 43.03/21.91 TRUE 43.03/21.91 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (89) 43.03/21.91 Obligation: 43.03/21.91 Q DP problem: 43.03/21.91 The TRS P consists of the following rules: 43.03/21.91 43.03/21.91 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.91 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)) 43.03/21.91 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.91 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) 43.03/21.91 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)) 43.03/21.91 43.03/21.91 The TRS R consists of the following rules: 43.03/21.91 43.03/21.91 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.91 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.91 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.91 43.03/21.91 The set Q consists of the following terms: 43.03/21.91 43.03/21.91 new_new_map(Succ(x0), Succ(x1)) 43.03/21.91 new_new_map(Zero, Zero) 43.03/21.91 new_new_map(Zero, Succ(x0)) 43.03/21.91 43.03/21.91 We have to consider all minimal (P,Q,R)-chains. 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (90) InductionCalculusProof (EQUIVALENT) 43.03/21.91 Note that final constraints are written in bold face. 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 For Pair new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) the following chains were created: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (2) (new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We solved constraint (5) using rules (I), (II). 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 For Pair H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) the following chains were created: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (2) (H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We solved constraint (5) using rules (I), (II). 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 To summarize, we get the following constraints P__>=_ for the following pairs. 43.03/21.91 43.03/21.91 *new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.91 43.03/21.91 *(new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *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)) 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.91 43.03/21.91 *(H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *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) 43.03/21.91 43.03/21.91 *(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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *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)) 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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. 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (91) 43.03/21.91 Obligation: 43.03/21.91 Q DP problem: 43.03/21.91 The TRS P consists of the following rules: 43.03/21.91 43.03/21.91 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.91 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)) 43.03/21.91 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.91 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) 43.03/21.91 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)) 43.03/21.91 43.03/21.91 The TRS R consists of the following rules: 43.03/21.91 43.03/21.91 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.91 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.91 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.91 43.03/21.91 The set Q consists of the following terms: 43.03/21.91 43.03/21.91 new_new_map(Succ(x0), Succ(x1)) 43.03/21.91 new_new_map(Zero, Zero) 43.03/21.91 new_new_map(Zero, Succ(x0)) 43.03/21.91 43.03/21.91 We have to consider all minimal (P,Q,R)-chains. 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (92) NonInfProof (EQUIVALENT) 43.03/21.91 The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps: 43.03/21.91 43.03/21.91 Note that final constraints are written in bold face. 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 For Pair new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) the following chains were created: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (2) (new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We solved constraint (5) using rules (I), (II). 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 For Pair H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) the following chains were created: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (2) (H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We solved constraint (5) using rules (I), (II). 43.03/21.91 *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: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 (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))) 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: 43.03/21.91 43.03/21.91 (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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 To summarize, we get the following constraints P__>=_ for the following pairs. 43.03/21.91 43.03/21.91 *new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.91 43.03/21.91 *(new_map(Succ(Succ(Succ(x6))), Succ(Succ(x7)), Zero, Zero, x5)_>=_new_map0(Succ(Succ(Succ(x6))), Succ(Succ(x7)), x5)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *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)) 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.91 43.03/21.91 *(H(x61, x62, x63, cons_new_map(Zero, Zero))_>=_new_map(x61, x62, Zero, Zero, x63)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *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) 43.03/21.91 43.03/21.91 *(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)) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 *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)) 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 *(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)))) 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 43.03/21.91 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. 43.03/21.91 43.03/21.91 Using the following integer polynomial ordering the resulting constraints can be solved 43.03/21.91 43.03/21.91 Polynomial interpretation [NONINF]: 43.03/21.91 43.03/21.91 POL(H(x_1, x_2, x_3, x_4)) = -1 + x_1 - x_2 + x_3 - x_4 43.03/21.91 POL(Succ(x_1)) = 1 + x_1 43.03/21.91 POL(Zero) = 0 43.03/21.91 POL(c) = -1 43.03/21.91 POL(cons_new_map(x_1, x_2)) = 0 43.03/21.91 POL(new_map(x_1, x_2, x_3, x_4, x_5)) = -1 + x_1 - x_2 + x_3 + x_5 43.03/21.91 POL(new_map0(x_1, x_2, x_3)) = -1 + x_1 - x_2 + x_3 43.03/21.91 POL(new_new_map(x_1, x_2)) = 0 43.03/21.91 43.03/21.91 43.03/21.91 The following pairs are in P_>: 43.03/21.91 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)) 43.03/21.91 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)) 43.03/21.91 The following pairs are in P_bound: 43.03/21.91 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)) 43.03/21.91 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)) 43.03/21.91 The following rules are usable: 43.03/21.91 new_new_map(wv240, wv250) -> new_new_map(Succ(wv240), Succ(wv250)) 43.03/21.91 cons_new_map(Zero, Zero) -> new_new_map(Zero, Zero) 43.03/21.91 cons_new_map(Zero, Succ(wv250)) -> new_new_map(Zero, Succ(wv250)) 43.03/21.91 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (93) 43.03/21.91 Obligation: 43.03/21.91 Q DP problem: 43.03/21.91 The TRS P consists of the following rules: 43.03/21.91 43.03/21.91 new_map(wv22, wv23, Zero, Zero, h) -> new_map0(wv22, wv23, h) 43.03/21.91 H(wv22, wv23, h, cons_new_map(Zero, Zero)) -> new_map(wv22, wv23, Zero, Zero, h) 43.03/21.91 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) 43.03/21.91 43.03/21.91 The TRS R consists of the following rules: 43.03/21.91 43.03/21.91 new_new_map(Succ(wv240), Succ(wv250)) -> new_new_map(wv240, wv250) 43.03/21.91 new_new_map(Zero, Zero) -> cons_new_map(Zero, Zero) 43.03/21.91 new_new_map(Zero, Succ(wv250)) -> cons_new_map(Zero, Succ(wv250)) 43.03/21.91 43.03/21.91 The set Q consists of the following terms: 43.03/21.91 43.03/21.91 new_new_map(Succ(x0), Succ(x1)) 43.03/21.91 new_new_map(Zero, Zero) 43.03/21.91 new_new_map(Zero, Succ(x0)) 43.03/21.91 43.03/21.91 We have to consider all minimal (P,Q,R)-chains. 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (94) DependencyGraphProof (EQUIVALENT) 43.03/21.91 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (95) 43.03/21.91 TRUE 43.03/21.91 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (96) 43.03/21.91 Obligation: 43.03/21.91 Q DP problem: 43.03/21.91 The TRS P consists of the following rules: 43.03/21.91 43.03/21.91 new_map(wv22, wv23, Succ(wv240), Succ(wv250), h) -> new_map(wv22, wv23, wv240, wv250, h) 43.03/21.91 43.03/21.91 R is empty. 43.03/21.91 Q is empty. 43.03/21.91 We have to consider all minimal (P,Q,R)-chains. 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (97) QDPSizeChangeProof (EQUIVALENT) 43.03/21.91 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 43.03/21.91 43.03/21.91 From the DPs we obtained the following set of size-change graphs: 43.03/21.91 *new_map(wv22, wv23, Succ(wv240), Succ(wv250), h) -> new_map(wv22, wv23, wv240, wv250, h) 43.03/21.91 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4, 5 >= 5 43.03/21.91 43.03/21.91 43.03/21.91 ---------------------------------------- 43.03/21.91 43.03/21.91 (98) 43.03/21.91 YES 43.03/21.94 EOF