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